From 2d17ca71e38247862dd17a95f8496dba8db49cd1 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Thu, 2 Apr 2026 17:29:00 +0200 Subject: [PATCH] fix: replace random ID generation with generateUUID() --- components/layout/sidebar-apps-modal.tsx | 4 ++-- components/settings/sidebar-apps-settings.tsx | 4 ++-- stores/toast-store.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/components/layout/sidebar-apps-modal.tsx b/components/layout/sidebar-apps-modal.tsx index c0b28aff..362d408c 100644 --- a/components/layout/sidebar-apps-modal.tsx +++ b/components/layout/sidebar-apps-modal.tsx @@ -4,7 +4,7 @@ import { useState, useCallback } from 'react'; import { useTranslations } from 'next-intl'; import { X, Plus, Pencil, Trash2, ExternalLink, PanelRight } from 'lucide-react'; import { icons as lucideIcons, type LucideIcon } from 'lucide-react'; -import { cn } from '@/lib/utils'; +import { cn, generateUUID } from '@/lib/utils'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { IconPicker } from './icon-picker'; @@ -207,7 +207,7 @@ export function SidebarAppsModal({ isOpen, onClose }: SidebarAppsModalProps) { }); const handleCreate = useCallback((data: SidebarAppFormData) => { - const id = `app-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`; + const id = `app-${generateUUID()}`; addSidebarApp({ id, ...data }); setIsCreating(false); }, [addSidebarApp]); diff --git a/components/settings/sidebar-apps-settings.tsx b/components/settings/sidebar-apps-settings.tsx index 4045a211..9f2d5676 100644 --- a/components/settings/sidebar-apps-settings.tsx +++ b/components/settings/sidebar-apps-settings.tsx @@ -11,7 +11,7 @@ import { IconPicker } from "@/components/layout/icon-picker"; import { useSettingsStore, type SidebarApp } from "@/stores/settings-store"; import { useConfirmDialog } from "@/hooks/use-confirm-dialog"; import { ConfirmDialog } from "@/components/ui/confirm-dialog"; -import { cn } from "@/lib/utils"; +import { cn, generateUUID } from "@/lib/utils"; interface SidebarAppFormData { name: string; @@ -188,7 +188,7 @@ export function SidebarAppsSettings() { const draggedIndexRef = useRef(null); const handleAdd = useCallback((data: SidebarAppFormData) => { - const id = `app-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`; + const id = `app-${generateUUID()}`; addSidebarApp({ id, ...data }); setShowAddForm(false); }, [addSidebarApp]); diff --git a/stores/toast-store.ts b/stores/toast-store.ts index 61796830..35e3e4aa 100644 --- a/stores/toast-store.ts +++ b/stores/toast-store.ts @@ -12,7 +12,7 @@ export const useToastStore = create((set) => ({ toasts: [], addToast: (toast) => { - const id = Math.random().toString(36).substring(2, 11); + const id = crypto.randomUUID(); const newToast: Toast = { ...toast, id,