feat: add max_articles_per_source setting to frontend

Add max_articles_per_source field to UserSettings interface and DEFAULT_SETTINGS,
expose it as a number input on the Settings page, and add the French i18n label.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
master
oabrivard 3 months ago
parent 6819c7193c
commit da05965dde

@ -123,6 +123,7 @@ const fr = {
"Le sujet principal pour la recherche d'actualites (ex: Intelligence Artificielle, Cybersecurite, etc.).", "Le sujet principal pour la recherche d'actualites (ex: Intelligence Artificielle, Cybersecurite, etc.).",
'settings.maxAgeDays': 'Anciennete maximum (jours)', 'settings.maxAgeDays': 'Anciennete maximum (jours)',
'settings.maxItems': 'Actualites max par categorie', 'settings.maxItems': 'Actualites max par categorie',
'settings.maxArticlesPerSource': 'Articles max par source',
'settings.searchBehavior': "Comportement de l'agent de recherche", 'settings.searchBehavior': "Comportement de l'agent de recherche",
'settings.searchBehaviorHelp': 'settings.searchBehaviorHelp':
"Personnalisez les instructions donnees a l'IA concernant sa methode de recherche.", "Personnalisez les instructions donnees a l'IA concernant sa methode de recherche.",

@ -400,6 +400,32 @@ const Settings: Component = () => {
/> />
</div> </div>
</div> </div>
<div>
<label
for="maxArticlesPerSource"
class="block text-sm font-medium text-gray-700"
>
{t('settings.maxArticlesPerSource')}
</label>
<div class="mt-1">
<input
type="number"
id="maxArticlesPerSource"
min="1"
max="10"
class="shadow-sm focus:ring-indigo-500 focus:border-indigo-500 block w-full sm:text-sm border-gray-300 rounded-md py-2 px-3 border"
value={settings().max_articles_per_source}
onInput={(e) =>
setSettings((prev) => ({
...prev,
max_articles_per_source:
parseInt(e.currentTarget.value) || 3,
}))
}
/>
</div>
</div>
</div> </div>
{/* Search agent behavior */} {/* Search agent behavior */}

@ -43,6 +43,7 @@ export interface UserSettings {
theme: string; theme: string;
max_age_days: number; max_age_days: number;
max_items_per_category: number; max_items_per_category: number;
max_articles_per_source: number;
search_agent_behavior: string; search_agent_behavior: string;
ai_model: string; ai_model: string;
ai_model_writing: string; ai_model_writing: string;
@ -56,6 +57,7 @@ export const DEFAULT_SETTINGS: UserSettings = {
theme: 'Intelligence Artificielle', theme: 'Intelligence Artificielle',
max_age_days: 7, max_age_days: 7,
max_items_per_category: 4, max_items_per_category: 4,
max_articles_per_source: 3,
search_agent_behavior: search_agent_behavior:
"Tu peux egalement utiliser d'autres sources pertinentes trouvees via la recherche Google.", "Tu peux egalement utiliser d'autres sources pertinentes trouvees via la recherche Google.",
ai_model: '', ai_model: '',

Loading…
Cancel
Save