import { X, Settings, Keyboard, Monitor, Shield, HardDrive, Info, } from "lucide-react"; import { useAppStore } from "../store"; import { useState } from "react"; type Tab = | "general" | "appearance" | "shortcuts" | "storage" | "privacy" | "about"; export const SettingsPanel = () => { const { isSettingsOpen, setIsSettingsOpen } = useAppStore(); const [activeTab, setActiveTab] = useState("general"); const tabs: { id: Tab; label: string; icon: React.ReactNode }[] = [ { id: "general", label: "General", icon: }, { id: "appearance", label: "Appearance", icon: }, { id: "shortcuts", label: "Keyboard Shortcuts", icon: , }, { id: "storage", label: "Storage & Data", icon: }, { id: "privacy", label: "Privacy & Security", icon: }, { id: "about", label: "About", icon: }, ]; return (

Settings

{/* Sidebar */}
{tabs.map((tab) => ( ))}
{/* Content */}
{activeTab === "general" && (

Startup & Behavior

)} {activeTab === "appearance" && (

Theme

Dark (Default)
Light

Canvas

)} {activeTab === "shortcuts" && (

Global Shortcuts

{[ { action: "Toggle Browser Panel", key: "B" }, { action: "Toggle Library Panel", key: "L" }, { action: "Open Settings", key: "Ctrl + ," }, { action: "Pan Canvas", key: "Space + Drag" }, { action: "Zoom Canvas", key: "Mouse Scroll" }, { action: "Undo", key: "Ctrl + Z" }, { action: "Redo", key: "Ctrl + Shift + Z" }, ].map((kb) => (
{kb.action} {kb.key}
))}
Custom shortcuts are planned for a future update.
)} {activeTab === "storage" && (

Local Library

Image Storage Mode
Embedded

Images are copied into the .refstudio save archive. Makes boards easier to share but increases file size.

Danger Zone

Reset All Application Data
This will permanently delete all local boards, settings, and library tags. This action cannot be undone.
)} {activeTab === "privacy" && (

Privacy Preferences

Refstudio is designed to be local-first. We believe your references belong to you. We do not track your usage, collect telemetry, or analyze your boards.

)} {activeTab === "about" && (

Refstudio

Version 1.0.0-beta

The zero-friction reference board for visual artists. Local-first, private by default, and uncompromisingly fast.
)}
); };