added a flag to hide settings (#5263)

Added an optional flag in settings.yml to hide the settings button in no
login servers. When hidden, users can no longer:

- Open the Settings modal at all (gear button is hidden)
- Change General preferences (tool picker mode, hide unavailable
tools/conversions, auto‑unzip and file limit)
- Configure keyboard shortcuts (Hotkeys / Keyboard Shortcuts section)
- Use the in‑app update checker UI (see current/latest version, check
for updates, view update details)
- Note: When enableLogin === true, the flag is ignored and the Settings
button remains visible.

---------

Co-authored-by: Anthony Stirling <[email protected]>
Co-authored-by: Reece Browne <[email protected]>
This commit is contained in:
EthanHealy01
2025-12-24 20:56:22 +00:00
committed by GitHub
co-authored by Anthony Stirling Reece Browne
parent 69b035c6e1
commit 1b0a1e938e
6 changed files with 17 additions and 5 deletions
@@ -173,6 +173,12 @@ const QuickAccessBar = forwardRef<HTMLDivElement>((_, ref) => {
// onClick: () => setActiveButton('activity')
//},
// Determine if settings button should be hidden
// Hide when login is disabled AND showSettingsWhenNoLogin is false
const shouldHideSettingsButton =
config?.enableLogin === false &&
config?.showSettingsWhenNoLogin === false;
const bottomButtons: ButtonConfig[] = [
{
id: 'help',
@@ -185,17 +191,17 @@ const QuickAccessBar = forwardRef<HTMLDivElement>((_, ref) => {
// This will be overridden by the wrapper logic
},
},
{
...(shouldHideSettingsButton ? [] : [{
id: 'config',
name: t("quickAccess.settings", "Settings"),
icon: <LocalIcon icon="settings-rounded" width="1.25rem" height="1.25rem" />,
size: 'md',
type: 'modal',
size: 'md' as const,
type: 'modal' as const,
onClick: () => {
navigate('/settings/overview');
setConfigModalOpen(true);
}
}
} as ButtonConfig])
];
return (