diff --git a/src/pages/SettingsPage.tsx b/src/pages/SettingsPage.tsx
index 7849207..99a14ed 100644
--- a/src/pages/SettingsPage.tsx
+++ b/src/pages/SettingsPage.tsx
@@ -5,7 +5,16 @@ import { Input } from "@/components/ui/input";
import { Card, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge";
import { Separator } from "@/components/ui/separator";
-import { Save, Eye, EyeOff, CloudUpload, CheckCircle2, XCircle, RefreshCw } from "lucide-react";
+import {
+ Settings as SettingsIcon,
+ Save,
+ Eye,
+ EyeOff,
+ CloudUpload,
+ CheckCircle2,
+ XCircle,
+ RefreshCw,
+} from "lucide-react";
export function SettingsPage() {
const { settings, loading, saving, save, testConnection, testResult, triggerSync, syncing } =
@@ -13,7 +22,7 @@ export function SettingsPage() {
if (loading || !settings) {
return (
-
Loading settings...
+ Loading settings...
);
}
@@ -80,154 +89,169 @@ function SettingsForm({
};
return (
-
-
Settings
-
- {/* Pocket API Key */}
-
-
+
+
+ {/* Header */}
+
-
Pocket API Key
-
- Required to sync recordings.{" "}
-
- Get your key
-
+
+
+ Settings
+
+
+ Configure your Pocket API key and optional S3 backup
-
-
{
- markDirty(setApiKey)(e.target.value);
- setApiKeyEdited(true);
- }}
- placeholder="pk_your_api_key_here"
- className="font-mono text-sm"
- />
+
+ {saved && Saved}
-
-
+
- {/* S3 Backup */}
-
-
-
-
S3 Backup
+ {/* Pocket API Key */}
+
+
Pocket API Key
+
+
+
+ Required to sync recordings.{" "}
+
+ Get your key
+
+
+
+ {
+ markDirty(setApiKey)(e.target.value);
+ setApiKeyEdited(true);
+ }}
+ placeholder="pk_your_api_key_here"
+ className="font-mono text-sm"
+ />
+
+
+
+
+
+
+ {/* S3 Backup */}
+
+
+
S3 Backup
Optional
-
- Automatically sync your data to an S3 bucket after every change. Works with any
- S3-compatible store (AWS, MinIO, R2, etc.).
-
-
-
-
-
-
-
- markDirty(setBucket)(e.target.value)}
- placeholder="my-seam-backup"
- className="mt-1"
- />
-
-
-
-
markDirty(setPrefix)(e.target.value)}
- placeholder="seam/"
- className="mt-1"
- />
-
- Key prefix for all objects (e.g. "seam/")
-
-
-
-
-
markDirty(setProfile)(e.target.value)}
- placeholder="default"
- className="mt-1"
- />
-
- For SSO or named profile users. Leave blank for default credential chain.
+
+
+
+ Automatically sync your data to an S3 bucket after every change. Works with any
+ S3-compatible store (AWS, MinIO, R2, etc.).
-
-
-
+
-
-
-
- {testResult && !testResult.ok && testResult.error && (
- {testResult.error}
- )}
-
-
-
+
+
+
+ markDirty(setBucket)(e.target.value)}
+ placeholder="my-seam-backup"
+ />
+
+
+
+
markDirty(setPrefix)(e.target.value)}
+ placeholder="seam/"
+ />
+
+ Key prefix for all objects (e.g. "seam/")
+
+
+
+
+
markDirty(setProfile)(e.target.value)}
+ placeholder="default"
+ />
+
+ For SSO or named profile users. Leave blank for default credential chain.
+
+
+
+
+
- {/* Save */}
-
-
- {saved &&
Settings saved}
+
+
+
+ {testResult && !testResult.ok && testResult.error && (
+ {testResult.error}
+ )}
+
+
+
+
);