+
+
+
+
+ {{ t('settings.page_size_title') }}
+
+
{{ t('settings.page_size_desc') }}
+
+
-
+
-
-
-
- {{ t('settings.pagination_title') }}
-
-
{{ t('settings.pagination_desc') }}
-
+
+
+
+ {{ t('settings.pagination_title') }}
+
+
{{ t('settings.pagination_desc') }}
+
+
+
+
+
+
+
+
+
+ {{ t('settings.paragraph_numbers_title') }}
+
+
{{ t('settings.paragraph_numbers_desc') }}
+
+
+
diff --git a/app/stores/settings.ts b/app/stores/settings.ts
index 8d3c9f3..94d662c 100644
--- a/app/stores/settings.ts
+++ b/app/stores/settings.ts
@@ -11,11 +11,13 @@ const STORAGE_KEY = 'lgcc:settings:v1'
interface SettingsData {
pageSize: PageSizeOption
paginationType: PaginationType
+ showParagraphNumbers: boolean
}
const DEFAULTS: SettingsData = {
pageSize: 10,
- paginationType: 'infinite_scroll'
+ paginationType: 'infinite_scroll',
+ showParagraphNumbers: true
}
function readStorage(): SettingsData {
@@ -31,7 +33,10 @@ function readStorage(): SettingsData {
paginationType:
parsed.paginationType === 'numbered' || parsed.paginationType === 'infinite_scroll'
? parsed.paginationType
- : DEFAULTS.paginationType
+ : DEFAULTS.paginationType,
+ showParagraphNumbers: typeof parsed.showParagraphNumbers === 'boolean'
+ ? parsed.showParagraphNumbers
+ : DEFAULTS.showParagraphNumbers
}
} catch {
return { ...DEFAULTS }
@@ -50,6 +55,7 @@ function writeStorage(data: SettingsData) {
export const useSettingsStore = defineStore('settings', () => {
const pageSize = ref
(DEFAULTS.pageSize)
const paginationType = ref(DEFAULTS.paginationType)
+ const showParagraphNumbers = ref(DEFAULTS.showParagraphNumbers)
const ready = ref(false)
let hydrated = false
@@ -59,20 +65,22 @@ export const useSettingsStore = defineStore('settings', () => {
const data = readStorage()
pageSize.value = data.pageSize
paginationType.value = data.paginationType
+ showParagraphNumbers.value = data.showParagraphNumbers
ready.value = true
hydrated = true
}
if (typeof window !== 'undefined') {
- watch([pageSize, paginationType], () => {
+ watch([pageSize, paginationType, showParagraphNumbers], () => {
if (!hydrated) return
- writeStorage({ pageSize: pageSize.value, paginationType: paginationType.value })
+ writeStorage({ pageSize: pageSize.value, paginationType: paginationType.value, showParagraphNumbers: showParagraphNumbers.value })
})
}
return {
pageSize,
paginationType,
+ showParagraphNumbers,
ready,
hydrate
}
diff --git a/lang/en.json b/lang/en.json
index 374c8fa..98d2955 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -41,6 +41,8 @@
"infinite_scroll": "Infinite scroll",
"infinite_scroll_desc": "Results load automatically when you reach the end of the list.",
"numbered": "Numbered pages",
- "numbered_desc": "Navigate between pages with pagination controls."
+ "numbered_desc": "Navigate between pages with pagination controls.",
+ "paragraph_numbers_title": "Paragraph numbers",
+ "paragraph_numbers_desc": "Show the paragraph number next to each paragraph in the document detail."
}
}
diff --git a/lang/es.json b/lang/es.json
index 0f54540..8042a1a 100644
--- a/lang/es.json
+++ b/lang/es.json
@@ -46,6 +46,8 @@
"infinite_scroll": "Scroll infinito",
"infinite_scroll_desc": "Los resultados se cargan automáticamente al llegar al final de la lista.",
"numbered": "Páginas numeradas",
- "numbered_desc": "Navega entre páginas con controles de paginación."
+ "numbered_desc": "Navega entre páginas con controles de paginación.",
+ "paragraph_numbers_title": "Números de párrafo",
+ "paragraph_numbers_desc": "Muestra el número de párrafo al lado de cada párrafo en el detalle del documento."
}
}
diff --git a/lang/fr.json b/lang/fr.json
index 983b6b3..1e2f22b 100644
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -29,6 +29,8 @@
"infinite_scroll": "Défilement infini",
"infinite_scroll_desc": "Les résultats se chargent automatiquement en fin de liste.",
"numbered": "Pages numérotées",
- "numbered_desc": "Naviguez entre les pages avec des contrôles de pagination."
+ "numbered_desc": "Naviguez entre les pages avec des contrôles de pagination.",
+ "paragraph_numbers_title": "Numéros de paragraphe",
+ "paragraph_numbers_desc": "Affiche le numéro de paragraphe à côté de chaque paragraphe dans le détail du document."
}
}
diff --git a/lang/pt.json b/lang/pt.json
index 14cd15e..3d3c606 100644
--- a/lang/pt.json
+++ b/lang/pt.json
@@ -39,6 +39,8 @@
"infinite_scroll": "Rolagem infinita",
"infinite_scroll_desc": "Os resultados carregam automaticamente ao chegar ao final da lista.",
"numbered": "Páginas numeradas",
- "numbered_desc": "Navegue entre páginas com controles de paginação."
+ "numbered_desc": "Navegue entre páginas com controles de paginação.",
+ "paragraph_numbers_title": "Números de parágrafo",
+ "paragraph_numbers_desc": "Exibe o número do parágrafo ao lado de cada parágrafo no detalhe do documento."
}
}