🔗 feat: More Accessible Link Behaviors and Minor UI Improvements (#11549)
Some checks are pending
Docker Dev Images Build / build (Dockerfile, librechat-dev, node) (push) Waiting to run
Docker Dev Images Build / build (Dockerfile.multi, librechat-dev-api, api-build) (push) Waiting to run
Sync Locize Translations & Create Translation PR / Sync Translation Keys with Locize (push) Waiting to run
Sync Locize Translations & Create Translation PR / Create Translation PR on Version Published (push) Blocked by required conditions

* fix: accessibility issues with links and link descriptions + minor ui tweaks

* fix: link accessibility in archived chats table

* fix: remove open in new tab behavior for other footer links

* chore: remove unused translation string

* style: formatting

* refactor: rename searchState to searchStore for clarity

* chore: Reorganize imports and state variables in SharedLinks

* chore: re-organize imports/hooks

---------

Co-authored-by: Danny Avila <danacordially@gmail.com>
Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
Dustin Healy 2026-01-28 09:15:43 -08:00 committed by GitHub
parent 95a234fb83
commit 13cea97c9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 129 additions and 105 deletions

View file

@ -13,30 +13,14 @@ export default function Footer({ className }: { className?: string }) {
const termsOfService = config?.interface?.termsOfService;
const privacyPolicyRender = privacyPolicy?.externalUrl != null && (
<a
className="text-text-secondary underline"
href={privacyPolicy.externalUrl}
target={privacyPolicy.openNewTab === true ? '_blank' : undefined}
rel="noreferrer"
>
<a className="text-text-secondary underline" href={privacyPolicy.externalUrl} rel="noreferrer">
{localize('com_ui_privacy_policy')}
{privacyPolicy.openNewTab === true && (
<span className="sr-only">{' ' + localize('com_ui_opens_new_tab')}</span>
)}
</a>
);
const termsOfServiceRender = termsOfService?.externalUrl != null && (
<a
className="text-text-secondary underline"
href={termsOfService.externalUrl}
target={termsOfService.openNewTab === true ? '_blank' : undefined}
rel="noreferrer"
>
<a className="text-text-secondary underline" href={termsOfService.externalUrl} rel="noreferrer">
{localize('com_ui_terms_of_service')}
{termsOfService.openNewTab === true && (
<span className="sr-only">{' ' + localize('com_ui_opens_new_tab')}</span>
)}
</a>
);
@ -67,12 +51,10 @@ export default function Footer({ className }: { className?: string }) {
<a
className="text-text-secondary underline"
href={href}
target="_blank"
rel="noreferrer"
{...otherProps}
>
{children}
<span className="sr-only">{' ' + localize('com_ui_opens_new_tab')}</span>
</a>
);
},