diff --git a/apps/frontend/src/app/components/theme-toggle.tsx b/apps/frontend/src/app/components/theme-toggle.tsx new file mode 100644 index 0000000..babafee --- /dev/null +++ b/apps/frontend/src/app/components/theme-toggle.tsx @@ -0,0 +1,39 @@ +'use client'; + +import { useTheme } from 'next-themes'; +import { Moon, Sun } from 'lucide-react'; +import { useEffect, useState } from 'react'; + +export function ThemeToggle() { + const { theme, setTheme } = useTheme(); + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + }, []); + + if (!mounted) { + return ( + + ); + } + + const isDark = theme === 'dark'; + + return ( + + ); +} diff --git a/apps/frontend/src/app/dashboard/api-keys/loading.tsx b/apps/frontend/src/app/dashboard/api-keys/loading.tsx index c5b72cd..7d8d688 100644 --- a/apps/frontend/src/app/dashboard/api-keys/loading.tsx +++ b/apps/frontend/src/app/dashboard/api-keys/loading.tsx @@ -22,10 +22,10 @@ export default function ApiKeysLoading() { -
+
{Array.from({ length: 2 }).map((_, i) => ( -
+
diff --git a/apps/frontend/src/app/dashboard/api-keys/page.tsx b/apps/frontend/src/app/dashboard/api-keys/page.tsx index 343ed87..a863b80 100644 --- a/apps/frontend/src/app/dashboard/api-keys/page.tsx +++ b/apps/frontend/src/app/dashboard/api-keys/page.tsx @@ -32,7 +32,7 @@ export default function ApiKeysPage() { > API Keys -

Manage authentication credentials for API access

+

Manage authentication credentials for API access

Keep your keys secure
-
+
Never share your API keys in publicly accessible areas such as GitHub, client-side code, or logging systems.
@@ -56,14 +56,14 @@ export default function ApiKeysPage() { initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }} > - (
{key.name}
- {key.permissions} + {key.permissions}
-
+
{visibleKeys.has(key.id) ? key.id : "sk_" + "•".repeat(20)}
-
+
- Created: {key.created} + Created: {key.created}
- Last used: {key.lastUsed} + Last used: {key.lastUsed}
-