mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-05-03 12:56:21 +00:00
Update notification-settings.tsx
This commit is contained in:
@@ -1698,32 +1698,7 @@ export function NotificationSettings() {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Language selector */}
|
|
||||||
<div className="space-y-2">
|
|
||||||
<div className="flex items-center gap-2">
|
|
||||||
<Globe className="h-4 w-4 text-green-400" />
|
|
||||||
<Label className="text-xs sm:text-sm text-foreground/80">Language</Label>
|
|
||||||
</div>
|
|
||||||
<Select
|
|
||||||
value={config.ai_language || "en"}
|
|
||||||
onValueChange={v => updateConfig(p => ({ ...p, ai_language: v }))}
|
|
||||||
disabled={!editMode}
|
|
||||||
>
|
|
||||||
<SelectTrigger className="h-9 text-sm">
|
|
||||||
<SelectValue placeholder="Select language">
|
|
||||||
{AI_LANGUAGES.find(l => l.value === (config.ai_language || "en"))?.label || "English"}
|
|
||||||
</SelectValue>
|
|
||||||
</SelectTrigger>
|
|
||||||
<SelectContent>
|
|
||||||
{AI_LANGUAGES.map(l => (
|
|
||||||
<SelectItem key={l.value} value={l.value}>{l.label}</SelectItem>
|
|
||||||
))}
|
|
||||||
</SelectContent>
|
|
||||||
</Select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Prompt Mode section */}
|
{/* Prompt Mode section */}
|
||||||
<div className="space-y-3 pt-3 border-t border-border/50">
|
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<MessageSquareText className="h-4 w-4 text-amber-400" />
|
<MessageSquareText className="h-4 w-4 text-amber-400" />
|
||||||
@@ -1750,8 +1725,34 @@ export function NotificationSettings() {
|
|||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Default mode: Detail Level per Channel */}
|
{/* Default mode options: Language and Detail Level per Channel */}
|
||||||
{(config.ai_prompt_mode || "default") === "default" && (
|
{(config.ai_prompt_mode || "default") === "default" && (
|
||||||
|
<div className="space-y-3 pt-3 border-t border-border/50">
|
||||||
|
{/* Language selector - only for default mode */}
|
||||||
|
<div className="space-y-2">
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<Globe className="h-4 w-4 text-green-400" />
|
||||||
|
<Label className="text-xs sm:text-sm text-foreground/80">Language</Label>
|
||||||
|
</div>
|
||||||
|
<Select
|
||||||
|
value={config.ai_language || "en"}
|
||||||
|
onValueChange={v => updateConfig(p => ({ ...p, ai_language: v }))}
|
||||||
|
disabled={!editMode}
|
||||||
|
>
|
||||||
|
<SelectTrigger className="h-9 text-sm">
|
||||||
|
<SelectValue placeholder="Select language">
|
||||||
|
{AI_LANGUAGES.find(l => l.value === (config.ai_language || "en"))?.label || "English"}
|
||||||
|
</SelectValue>
|
||||||
|
</SelectTrigger>
|
||||||
|
<SelectContent>
|
||||||
|
{AI_LANGUAGES.map(l => (
|
||||||
|
<SelectItem key={l.value} value={l.value}>{l.label}</SelectItem>
|
||||||
|
))}
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Detail Level per Channel */}
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<Label className="text-xs sm:text-sm text-foreground/80">Detail Level per Channel</Label>
|
<Label className="text-xs sm:text-sm text-foreground/80">Detail Level per Channel</Label>
|
||||||
<div className="grid grid-cols-2 gap-3">
|
<div className="grid grid-cols-2 gap-3">
|
||||||
@@ -1791,7 +1792,7 @@ export function NotificationSettings() {
|
|||||||
|
|
||||||
{/* Custom mode: Editable prompt textarea */}
|
{/* Custom mode: Editable prompt textarea */}
|
||||||
{config.ai_prompt_mode === "custom" && (
|
{config.ai_prompt_mode === "custom" && (
|
||||||
<div className="space-y-3">
|
<div className="space-y-3 pt-3 border-t border-border/50">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<Label className="text-xs sm:text-sm text-foreground/80">Custom Prompt</Label>
|
<Label className="text-xs sm:text-sm text-foreground/80">Custom Prompt</Label>
|
||||||
@@ -1898,7 +1899,6 @@ export function NotificationSettings() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Test Connection button - moved to end */}
|
{/* Test Connection button - moved to end */}
|
||||||
<div className="space-y-3 pt-3 border-t border-border/50">
|
<div className="space-y-3 pt-3 border-t border-border/50">
|
||||||
@@ -2136,6 +2136,10 @@ export function NotificationSettings() {
|
|||||||
<span className="text-purple-400 mt-0.5">3.</span>
|
<span className="text-purple-400 mt-0.5">3.</span>
|
||||||
<span>The prompt receives raw Proxmox event data as input</span>
|
<span>The prompt receives raw Proxmox event data as input</span>
|
||||||
</li>
|
</li>
|
||||||
|
<li className="flex items-start gap-2">
|
||||||
|
<span className="text-purple-400 mt-0.5">4.</span>
|
||||||
|
<span>Define the output language in your prompt (the Language selector only applies to Default mode)</span>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user