From 6b69588c036783e1563827c3d50002971eb0bb75 Mon Sep 17 00:00:00 2001
From: syuilo <4439005+syuilo@users.noreply.github.com>
Date: Thu, 13 Mar 2025 09:24:15 +0900
Subject: [PATCH] enhance(frontend): improve deck setting page

---
 packages/frontend/src/pages/settings/deck.vue | 39 +++++++++++++++----
 .../utility/autogen/settings-search-index.ts  | 22 +++++++++++
 2 files changed, 53 insertions(+), 8 deletions(-)

diff --git a/packages/frontend/src/pages/settings/deck.vue b/packages/frontend/src/pages/settings/deck.vue
index 2c4ec01344..03c0cb16f8 100644
--- a/packages/frontend/src/pages/settings/deck.vue
+++ b/packages/frontend/src/pages/settings/deck.vue
@@ -8,17 +8,39 @@ SPDX-License-Identifier: AGPL-3.0-only
 	<div class="_gaps_m">
 		<MkSwitch :modelValue="profilesSyncEnabled" @update:modelValue="changeProfilesSyncEnabled">{{ i18n.ts._deck.enableSyncBetweenDevicesForProfiles }}</MkSwitch>
 
-		<MkSwitch v-model="useSimpleUiForNonRootPages">{{ i18n.ts._deck.useSimpleUiForNonRootPages }}</MkSwitch>
+		<SearchMarker :keywords="['ui', 'root', 'page']">
+			<MkPreferenceContainer k="deck.useSimpleUiForNonRootPages">
+				<MkSwitch v-model="useSimpleUiForNonRootPages">
+					<template #label><SearchLabel>{{ i18n.ts._deck.useSimpleUiForNonRootPages }}</SearchLabel></template>
+				</MkSwitch>
+			</MkPreferenceContainer>
+		</SearchMarker>
 
-		<MkSwitch v-model="navWindow">{{ i18n.ts.defaultNavigationBehaviour }}: {{ i18n.ts.openInWindow }}</MkSwitch>
+		<SearchMarker :keywords="['default', 'navigation', 'behaviour', 'window']">
+			<MkPreferenceContainer k="deck.navWindow">
+				<MkSwitch v-model="navWindow">
+					<template #label><SearchLabel>{{ i18n.ts.defaultNavigationBehaviour }}</SearchLabel>: {{ i18n.ts.openInWindow }}</template>
+				</MkSwitch>
+			</MkPreferenceContainer>
+		</SearchMarker>
 
-		<MkSwitch v-model="alwaysShowMainColumn">{{ i18n.ts._deck.alwaysShowMainColumn }}</MkSwitch>
+		<SearchMarker :keywords="['always', 'show', 'main', 'column']">
+			<MkPreferenceContainer k="deck.alwaysShowMainColumn">
+				<MkSwitch v-model="alwaysShowMainColumn">
+					<template #label><SearchLabel>{{ i18n.ts._deck.alwaysShowMainColumn }}</SearchLabel></template>
+				</MkSwitch>
+			</MkPreferenceContainer>
+		</SearchMarker>
 
-		<MkRadios v-model="columnAlign">
-			<template #label>{{ i18n.ts._deck.columnAlign }}</template>
-			<option value="left">{{ i18n.ts.left }}</option>
-			<option value="center">{{ i18n.ts.center }}</option>
-		</MkRadios>
+		<SearchMarker :keywords="['column', 'align']">
+			<MkPreferenceContainer k="deck.columnAlign">
+				<MkRadios v-model="columnAlign">
+					<template #label>{{ i18n.ts._deck.columnAlign }}</template>
+					<option value="left">{{ i18n.ts.left }}</option>
+					<option value="center">{{ i18n.ts.center }}</option>
+				</MkRadios>
+			</MkPreferenceContainer>
+		</SearchMarker>
 	</div>
 </SearchMarker>
 </template>
@@ -30,6 +52,7 @@ import MkRadios from '@/components/MkRadios.vue';
 import { i18n } from '@/i18n.js';
 import { definePage } from '@/page.js';
 import { prefer } from '@/preferences.js';
+import MkPreferenceContainer from '@/components/MkPreferenceContainer.vue';
 
 const navWindow = prefer.model('deck.navWindow');
 const useSimpleUiForNonRootPages = prefer.model('deck.useSimpleUiForNonRootPages');
diff --git a/packages/frontend/src/utility/autogen/settings-search-index.ts b/packages/frontend/src/utility/autogen/settings-search-index.ts
index d0bce9a522..f5a72a8d63 100644
--- a/packages/frontend/src/utility/autogen/settings-search-index.ts
+++ b/packages/frontend/src/utility/autogen/settings-search-index.ts
@@ -606,6 +606,28 @@ export const searchIndexes: SearchIndexItem[] = [
 	},
 	{
 		id: 'FfZdOs8y',
+		children: [
+			{
+				id: 'lVlkdP4zN',
+				label: i18n.ts._deck.useSimpleUiForNonRootPages,
+				keywords: ['ui', 'root', 'page'],
+			},
+			{
+				id: 'avgxEYgsi',
+				label: i18n.ts.defaultNavigationBehaviour,
+				keywords: ['default', 'navigation', 'behaviour', 'window'],
+			},
+			{
+				id: 'ma7OSw5JK',
+				label: i18n.ts._deck.alwaysShowMainColumn,
+				keywords: ['always', 'show', 'main', 'column'],
+			},
+			{
+				id: 'jjTlUDhJH',
+				label: 'Unnamed marker',
+				keywords: ['column', 'align'],
+			},
+		],
 		label: i18n.ts.deck,
 		keywords: ['deck', 'ui'],
 		path: '/settings/deck',