This commit is contained in:
legop3
2026-05-19 21:22:07 -04:00
parent daa8942a29
commit 3ce9ea2cdc
5 changed files with 13 additions and 28 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -11,8 +11,8 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Roomba Rover" /> <meta name="apple-mobile-web-app-title" content="Roomba Rover" />
<title>Roomba Rover</title> <title>Roomba Rover</title>
<script type="module" crossorigin src="/assets/index-DqLb03wK.js"></script> <script type="module" crossorigin src="/assets/index-CDTzF5I8.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CE66iX-R.css"> <link rel="stylesheet" crossorigin href="/assets/index-BylJ4KaG.css">
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
@@ -3,7 +3,6 @@ import { useSettingsNamespace } from '../../settings/index.js';
export default function OverseerPreferencePanel() { export default function OverseerPreferencePanel() {
const { identifySession } = useSessionActions(); const { identifySession } = useSessionActions();
const sessionIdentity = useSessionSelector((state) => state.session?.identity || null);
const vote = useSessionSelector((state) => state.session?.overseerVote || null); const vote = useSessionSelector((state) => state.session?.overseerVote || null);
const { value: profile } = useSettingsNamespace('profile', { nickname: '' }); const { value: profile } = useSettingsNamespace('profile', { nickname: '' });
const { value: identity } = useSettingsNamespace('identity', { cookieUserId: '' }); const { value: identity } = useSettingsNamespace('identity', { cookieUserId: '' });
@@ -22,30 +21,16 @@ export default function OverseerPreferencePanel() {
}; };
return ( return (
<section className="surface p-1.5 text-xs text-slate-200"> <section className="surface p-1 text-xs text-slate-200">
<div className="space-y-1"> <label className="flex items-center gap-1.5">
<div className="text-[0.65rem] font-semibold uppercase tracking-wide text-slate-400">Overseer Vote</div>
<label className="flex items-center gap-2 rounded border border-slate-700/70 bg-slate-900/60 px-2 py-1.5">
<input type="checkbox" checked={enabled} onChange={onToggle} /> <input type="checkbox" checked={enabled} onChange={onToggle} />
<span className="text-slate-100">Enable Overseer for me</span> <span>Enable Overseer LLM</span>
</label> </label>
<div className="mt-0.5 text-slate-400">
Yes?: {Number(vote?.yesCount || 0)}, No!: {Number(vote?.noCount || 0)}
</div> </div>
<div className="mt-0.5 text-slate-300">
<div className="mt-1.5 grid grid-cols-2 gap-1"> {running ? 'running' : 'stopped'}, {running ? 'yes' : 'no'}
<div className="rounded border border-slate-700/70 bg-slate-900/50 px-2 py-1">
<div className="text-[0.6rem] uppercase tracking-wide text-slate-500">Running</div>
<div className={running ? 'font-semibold text-emerald-300' : 'font-semibold text-slate-300'}>
{running ? 'YES' : 'NO'}
</div>
</div>
<div className="rounded border border-slate-700/70 bg-slate-900/50 px-2 py-1">
<div className="text-[0.6rem] uppercase tracking-wide text-slate-500">Your vote</div>
<div className="font-semibold text-slate-200">{(sessionIdentity?.overseerEnabled ?? enabled) ? 'YES' : 'NO'}</div>
</div>
</div>
<div className="mt-1.5 rounded border border-slate-700/70 bg-slate-900/50 px-2 py-1 text-[0.65rem] text-slate-400">
yes {Number(vote?.yesCount || 0)} / no {Number(vote?.noCount || 0)} / online {Number(vote?.eligibleCount || vote?.onlineCount || 0)}
</div> </div>
</section> </section>
); );