import { Icon } from "./Icon"; import { useBackup } from "../store/useBackup"; import { formatBackupTime } from "../backup"; export function BackupButton() { const connected = useBackup((s) => s.connected); const pending = useBackup((s) => s.pending); const phase = useBackup((s) => s.phase); const lastBackup = useBackup((s) => s.lastBackup); const openSettings = useBackup((s) => s.openSettings); const busy = phase === "working" || phase === "connecting"; const error = phase === "error"; const state = busy ? "working" : error ? "error" : !connected ? "off" : pending ? "pending" : "synced"; const title = phase === "connecting" ? "Waiting for Google authorization…" : state === "working" ? "Backing up…" : state === "error" ? "Backup needs attention" : state === "off" ? "Connect Google Drive" : state === "pending" ? "Changes not backed up" : formatBackupTime(lastBackup); const onClick = () => { openSettings(); }; return ( ); }