Auto generate Icon URL

This commit is contained in:
headlessdev 2025-04-14 15:46:28 +02:00
parent 75ca05454d
commit 5d352c2d1f

View File

@ -24,6 +24,7 @@ import {
LayoutGrid, LayoutGrid,
List, List,
Pencil, Pencil,
Zap,
} from "lucide-react"; } from "lucide-react";
import { import {
Card, Card,
@ -241,6 +242,13 @@ export default function Dashboard() {
return () => clearTimeout(delayDebounce); return () => clearTimeout(delayDebounce);
}, [searchTerm]); }, [searchTerm]);
const generateIconURL = async () => {
setIcon("https://cdn.jsdelivr.net/gh/selfhst/icons/png/" + name.toLowerCase() + ".png")
}
const generateEditIconURL = async () => {
setEditIcon("https://cdn.jsdelivr.net/gh/selfhst/icons/png/" + editName.toLowerCase() + ".png")
}
return ( return (
<SidebarProvider> <SidebarProvider>
@ -344,10 +352,16 @@ export default function Dashboard() {
Icon URL{" "} Icon URL{" "}
<span className="text-stone-600">(optional)</span> <span className="text-stone-600">(optional)</span>
</Label> </Label>
<Input <div className="flex gap-2">
placeholder="https://example.com/icon.png" <Input
onChange={(e) => setIcon(e.target.value)} value={icon}
/> placeholder="https://example.com/icon.png"
onChange={(e) => setIcon(e.target.value)}
/>
<Button variant="outline" size="icon" onClick={generateIconURL}>
<Zap />
</Button>
</div>
</div> </div>
<div className="grid w-full items-center gap-1.5"> <div className="grid w-full items-center gap-1.5">
<Label>Public URL</Label> <Label>Public URL</Label>
@ -560,13 +574,18 @@ export default function Dashboard() {
(optional) (optional)
</span> </span>
</Label> </Label>
<Input <div className="flex gap-2">
placeholder="https://example.com/icon.png" <Input
value={editIcon} placeholder="https://example.com/icon.png"
onChange={(e) => value={editIcon}
setEditIcon(e.target.value) onChange={(e) =>
} setEditIcon(e.target.value)
/> }
/>
<Button variant="outline" size="icon" onClick={generateEditIconURL}>
<Zap />
</Button>
</div>
</div> </div>
<div className="grid w-full items-center gap-1.5"> <div className="grid w-full items-center gap-1.5">
<Label>Public URL</Label> <Label>Public URL</Label>