fix: show about settings only on mobile

Hides About from desktop settings navigation and command palette
Keeps About available in mobile settings
This commit is contained in:
Bohdan Triapitsyn
2026-06-13 01:59:33 +03:00
parent ca87428216
commit b8dc25c7c8
5 changed files with 37 additions and 9 deletions
@@ -265,8 +265,8 @@ export const CommandPalette: React.FC = () => {
// ---------------------------------------------------------------------------
const settingsRuntimeCtx = React.useMemo<SettingsRuntimeContext>(() => {
const isDesktop = isDesktopShell();
return { isVSCode: isVSCodeRuntime(), isWeb: !isDesktop && isWebRuntime(), isDesktop };
}, []);
return { isVSCode: isVSCodeRuntime(), isWeb: !isDesktop && isWebRuntime(), isDesktop, isMobile };
}, [isMobile]);
const settingsEntries = React.useMemo<CommandEntry[]>(() => {
return SETTINGS_PAGE_METADATA
@@ -109,10 +109,10 @@ const pageOrder: SettingsPageSlug[] = [
const SNIPPETS_SETTINGS_ICON = { icon: 'chat-thread' } as const;
const ADD_PROVIDER_SETTINGS_ID = '__add_provider__';
function buildRuntimeContext(isDesktop: boolean): SettingsRuntimeContext {
function buildRuntimeContext(isDesktop: boolean, isMobile: boolean): SettingsRuntimeContext {
const isVSCode = isVSCodeRuntime();
const isWeb = !isDesktop && isWebRuntime();
return { isVSCode, isWeb, isDesktop };
return { isVSCode, isWeb, isDesktop, isMobile };
}
function isPageAvailable(page: SettingsPageMeta, ctx: SettingsRuntimeContext): boolean {
@@ -333,7 +333,7 @@ export const SettingsView: React.FC<SettingsViewProps> = ({ onClose, forceMobile
// keep platform check available for future window chrome tweaks
const runtimeCtx = React.useMemo(() => buildRuntimeContext(isDesktopApp), [isDesktopApp]);
const runtimeCtx = React.useMemo(() => buildRuntimeContext(isDesktopApp, isMobile), [isDesktopApp, isMobile]);
const visiblePages = React.useMemo(() => {
const allowedPages = visiblePageSlugs ? new Set<SettingsPageSlug>(visiblePageSlugs) : null;
@@ -532,12 +532,12 @@ export const SettingsView: React.FC<SettingsViewProps> = ({ onClose, forceMobile
const settingsSearchResults = React.useMemo(() => {
return buildSettingsSearchResults({
query: settingsSearchQuery,
runtimeCtx: { ...runtimeCtx, isMobile, isDesktopLocalOrigin },
runtimeCtx: { ...runtimeCtx, isDesktopLocalOrigin },
visiblePageSlugs,
t,
getPageTitle,
});
}, [getPageTitle, isDesktopLocalOrigin, isMobile, runtimeCtx, settingsSearchQuery, t, visiblePageSlugs]);
}, [getPageTitle, isDesktopLocalOrigin, runtimeCtx, settingsSearchQuery, t, visiblePageSlugs]);
const prepareSettingsSearchTarget = React.useCallback((result: SettingsSearchResult): string => {
if (result.id.startsWith('agents.')) {