@sigit / siti / commits / 1d2be77

Update settings

paydii committed Jul 25, 2026 at 18:31 UTC 1d2be77b18ba0dc6e712735d0f67e846c097ea28
2 files changed +41
src/App.css
+9
@@ -451,6 +451,15 @@ html, body {
451 color: var(--text-secondary);
452 }
453
454 +.row-link {
455 + text-decoration: none;
456 +}
457 +
458 +.row-link:hover,
459 +.row-link:active {
460 + color: var(--text-primary);
461 +}
462 +
463 .select-wrap {
464 position: relative;
465 display: flex;
src/Settings.tsx
+32
@@ -1,6 +1,7 @@
1 import { useEffect, useMemo, useState } from "react";
2 import type { ChatStatus, ModelInfo } from "./api";
3 import { formatSize, getAppVersion, getBuildVersion } from "./api";
4 +import { openUrl } from "@tauri-apps/plugin-opener";
5
6 interface SettingsProps {
7 open: boolean;
@@ -41,6 +42,11 @@ export default function Settings({
42 const busy = status === "loading";
43 const line = statusLine(status, statusError);
44
45 + const handleOpenUrl = (url: string) => (e: React.MouseEvent) => {
46 + e.preventDefault();
47 + void openUrl(url);
48 + };
49 +
50 // Real app version (CFBundleShortVersionString) and build number
51 // (CFBundleVersion), read from the bundle rather than hardcoded.
52 const [appVersion, setAppVersion] = useState("");
@@ -134,6 +140,32 @@ export default function Settings({
140 <span className="row-value">On-device · private</span>
141 </div>
142 </div>
143 + </section>
144 +
145 + <section className="settings-section">
146 + <p className="section-label">Contact</p>
147 + <div className="settings-card about">
148 + <div className="settings-row">
149 + <span className="row-label">GitHub</span>
150 + <a
151 + className="row-value row-link"
152 + href="https://github.com/ondeinference/sitiai"
153 + onClick={handleOpenUrl("https://github.com/ondeinference/sitiai")}
154 + >
155 + ondeinference/sitiai
156 + </a>
157 + </div>
158 + <div className="settings-row">
159 + <span className="row-label">Website</span>
160 + <a
161 + className="row-value row-link"
162 + href="https://getsiti.5mb.app"
163 + onClick={handleOpenUrl("https://getsiti.5mb.app")}
164 + >
165 + https://getsiti.5mb.app
166 + </a>
167 + </div>
168 + </div>
169 <p className="settings-note">Profoundly personal. Entirely private.</p>
170 </section>
171 </div>