feat: compare limit 9, format-aware import placeholder, help links
- Raise compare limit from 8 to 9 (server + client, toast on overflow) - Make import textarea placeholder match selected format (CSV/JSON/YAML/auto) - Add GuideHelp links to admin create/edit user dialogs and tool import dialog
This commit is contained in:
@@ -7,6 +7,7 @@ import { Textarea } from "@/components/ui/textarea";
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { GuideHelp } from "@/components/guide-help";
|
||||
import { Upload, FileUp, CheckCircle2, AlertCircle } from "lucide-react";
|
||||
|
||||
type Format = "auto" | "csv" | "json" | "yaml";
|
||||
@@ -62,14 +63,24 @@ export function ToolImportDialog({
|
||||
|
||||
const canSubmit = data.trim().length > 0 && !importTools.isPending;
|
||||
|
||||
const placeholder =
|
||||
format === "csv"
|
||||
? t("adminTools.importTextareaPlaceholderCsv")
|
||||
: format === "json"
|
||||
? t("adminTools.importTextareaPlaceholderJson")
|
||||
: format === "yaml"
|
||||
? t("adminTools.importTextareaPlaceholderYaml")
|
||||
: t("adminTools.importTextareaPlaceholderAuto");
|
||||
|
||||
return (
|
||||
<Dialog open={open} onOpenChange={handleClose}>
|
||||
<DialogContent className="sm:max-w-2xl">
|
||||
<DialogHeader>
|
||||
<DialogHeader className="flex flex-row items-center justify-between gap-2">
|
||||
<DialogTitle className="flex items-center gap-2">
|
||||
<Upload className="w-4 h-4" />
|
||||
{t("adminTools.importTitle")}
|
||||
</DialogTitle>
|
||||
<GuideHelp guide="administration" label={t("adminTools.importTitle")} />
|
||||
</DialogHeader>
|
||||
|
||||
<div className="space-y-4 py-2">
|
||||
@@ -131,7 +142,7 @@ export function ToolImportDialog({
|
||||
<Textarea
|
||||
value={data}
|
||||
onChange={(e) => setData(e.target.value)}
|
||||
placeholder={t("adminTools.importTextareaPlaceholder")}
|
||||
placeholder={placeholder}
|
||||
className="min-h-[220px] font-mono text-sm"
|
||||
data-testid="input-tool-import-data"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user