mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
docs: add VitePress documentation site with GitHub Pages deployment
Rewrites all documentation with accurate project details (Fastify, port 1349, single-container Docker, all 33+ tools, full database schema). Adds getting started guide and configuration reference. Updates help and settings dialogs to link to the docs site.
This commit is contained in:
@@ -67,7 +67,7 @@ export function SettingsDialog({ open, onClose }: SettingsDialogProps) {
|
||||
/>
|
||||
|
||||
{/* Dialog */}
|
||||
<div className="relative bg-background border border-border rounded-xl shadow-2xl w-full max-w-3xl max-h-[85vh] flex overflow-hidden">
|
||||
<div className="relative bg-background border border-border rounded-xl shadow-2xl w-full max-w-3xl h-[85vh] flex overflow-hidden">
|
||||
{/* Sidebar nav */}
|
||||
<div className="w-48 border-r border-border bg-muted/30 p-3 space-y-1 shrink-0">
|
||||
<div className="flex items-center justify-between mb-4 px-2">
|
||||
@@ -216,8 +216,8 @@ function SystemSection() {
|
||||
const [saveMsg, setSaveMsg] = useState<string | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
apiGet<Record<string, string>>("/v1/settings")
|
||||
.then((data) => setSettings(data))
|
||||
apiGet<{ settings: Record<string, string> }>("/v1/settings")
|
||||
.then((data) => setSettings(data.settings))
|
||||
.catch(() => {
|
||||
// Fallback defaults if endpoint not ready
|
||||
setSettings({
|
||||
@@ -645,8 +645,8 @@ function ApiKeysSection() {
|
||||
|
||||
const loadKeys = useCallback(async () => {
|
||||
try {
|
||||
const data = await apiGet<{ keys: ApiKeyEntry[] }>("/v1/api-keys");
|
||||
setKeys(data.keys);
|
||||
const data = await apiGet<{ apiKeys: ApiKeyEntry[] }>("/v1/api-keys");
|
||||
setKeys(data.apiKeys);
|
||||
} catch {
|
||||
setKeys([]);
|
||||
} finally {
|
||||
@@ -823,13 +823,21 @@ function AboutSection() {
|
||||
>
|
||||
GitHub Repository
|
||||
</a>
|
||||
<a
|
||||
href="https://siddharthksah.github.io/Stirling-Image/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-sm text-primary hover:underline"
|
||||
>
|
||||
Documentation
|
||||
</a>
|
||||
<a
|
||||
href="/api/docs"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-sm text-primary hover:underline"
|
||||
>
|
||||
API Documentation
|
||||
API Reference (Swagger)
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user