feat(updates): titlebar update indicator + dev injectors for the update flow
- light up the Phokus iris's focal point (pulsing amber) in the titlebar when an update is pending; click goes straight to install, with a fast custom tooltip (native title delay was too slow) - PhokusMark gains an optional dotClassName to render the central focal point - DemoPanel: inject every updater state (available/downloading/installing/ error/up-to-date), which is otherwise unreachable without a remote latest.json
This commit is contained in:
@@ -3,9 +3,18 @@
|
||||
// <PhokusMark className="h-4 w-4 text-gray-300" />
|
||||
// The full app-icon tile (filled iris on a dark rounded square) lives in
|
||||
// branding/phokus-aperture.svg and feeds `pnpm tauri icon`.
|
||||
//
|
||||
// Pass dotClassName (e.g. "fill-amber-400") to light up the central focal point —
|
||||
// used in the titlebar as the "update available" indicator.
|
||||
const BLADE = "M0,-4.18 A10,10 0 0 1 6.43,-7.66";
|
||||
|
||||
export function PhokusMark({ className }: { className?: string }) {
|
||||
export function PhokusMark({
|
||||
className,
|
||||
dotClassName,
|
||||
}: {
|
||||
className?: string;
|
||||
dotClassName?: string;
|
||||
}) {
|
||||
return (
|
||||
<svg viewBox="0 0 24 24" fill="none" className={className}>
|
||||
<g
|
||||
@@ -24,6 +33,7 @@ export function PhokusMark({ className }: { className?: string }) {
|
||||
<path d={BLADE} transform="rotate(240)" />
|
||||
<path d={BLADE} transform="rotate(300)" />
|
||||
</g>
|
||||
{dotClassName ? <circle cx="12" cy="12" r="2.6" stroke="none" className={dotClassName} /> : null}
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user