diff --git a/src/pages/settings/index.tsx b/src/pages/settings/index.tsx
index 32f8541..164f1bd 100644
--- a/src/pages/settings/index.tsx
+++ b/src/pages/settings/index.tsx
@@ -1,14 +1,11 @@
import PageLayout from "@/components/layouts/PageLayout";
import Header from "@/components/shared/Header";
-import { deleteApiKey, getApiKeys, regenerateApiKey } from "@/handlers/api/settings.handler";
-import { AlertDialog } from "@/components/ui/alert-dialog";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
-import { Label } from "@/components/ui/label";
import {
- RefreshCw, Trash2, Save, Eye, EyeOff, ExternalLink,
- Key, Workflow, Shield, CheckCircle, XCircle, Server, Globe, Download, Wand2,
+ Save, Eye, EyeOff, ExternalLink,
+ Workflow, Shield, CheckCircle, XCircle, Server, Globe, Download, Wand2,
} from "lucide-react";
import { useEffect, useState } from "react";
import toast from "react-hot-toast";
@@ -16,13 +13,6 @@ import API from "@/lib/api";
import { useConfig } from "@/contexts/ConfigContext";
import Link from "next/link";
-interface ApiKey {
- id: string;
- purpose: string;
- keyName: string;
- createdAt: string;
-}
-
function ConnectionStatus({ label, url, icon: Icon }: { label: string; url: string; icon: any }) {
return (
@@ -47,11 +37,6 @@ function ConnectionStatus({ label, url, icon: Icon }: { label: string; url: stri
export default function SettingsPage() {
const { exImmichUrl, immichURL, version, aiEnabled } = useConfig();
- const [keys, setKeys] = useState
([]);
- const [loading, setLoading] = useState(true);
- const [deleting, setDeleting] = useState(null);
- const [regenerating, setRegenerating] = useState(null);
-
const [workflowApiKey, setWorkflowApiKey] = useState("");
const [workflowApiKeyLoading, setWorkflowApiKeyLoading] = useState(false);
const [showWorkflowApiKey, setShowWorkflowApiKey] = useState(false);
@@ -151,45 +136,11 @@ export default function SettingsPage() {
setWorkflowApiKeyLoading(false);
};
- const fetchKeys = async () => {
- setLoading(true);
- try {
- const data = await getApiKeys();
- setKeys(data);
- } catch {}
- setLoading(false);
- };
-
useEffect(() => {
- fetchKeys();
fetchWorkflowApiKey();
fetchImportApiKey();
}, []);
- const handleDelete = async (purpose: string) => {
- setDeleting(purpose);
- try {
- await deleteApiKey(purpose);
- setKeys((prev) => prev.filter((k) => k.purpose !== purpose));
- toast.success("API key deleted");
- } catch (err: any) {
- toast.error(err.message ?? "Failed to delete API key");
- }
- setDeleting(null);
- };
-
- const handleRegenerate = async (purpose: string) => {
- setRegenerating(purpose);
- try {
- await regenerateApiKey(purpose);
- await fetchKeys();
- toast.success("API key regenerated");
- } catch (err: any) {
- toast.error(err.message ?? "Failed to regenerate API key");
- }
- setRegenerating(null);
- };
-
return (
@@ -374,78 +325,6 @@ export default function SettingsPage() {
- {/* Managed API Keys */}
-
-
-
-
Managed API Keys
- {keys.length} key{keys.length !== 1 ? "s" : ""}
-
-
- {loading ? (
-
- ) : keys.length === 0 ? (
-
-
-
No managed API keys yet.
-
Keys are created automatically when needed (e.g. share links).
-
- ) : (
-
- {keys.map((key) => (
- -
-
-
-
-
-
-
- {key.keyName}
- {key.purpose}
-
-
- Created {new Date(key.createdAt).toLocaleDateString()}
-
-
-
-
-
handleRegenerate(key.purpose)}
- >
-
-
-
handleDelete(key.purpose)}
- >
-
-
-
-
- ))}
-
- )}
-
-
);