From 263165b495658aaa4a475fda8348c13dd10147d7 Mon Sep 17 00:00:00 2001 From: Patrick Mulligan Date: Sun, 1 Mar 2026 12:12:09 -0500 Subject: [PATCH] feat(machine): redesign idle screen with circular touch zones Full-canvas layout: brand zone with logo/badges/balance at top, two circular touch zones (Buy=bitcoin orange, Sell=green) with zone-glow animation. Show per-flow commission rates (Buy/Sell). Move light/dark toggle to App.vue for omnipresence. Co-Authored-By: Claude Opus 4.6 --- apps/machine/src/views/IdleView.vue | 133 +++++++++++++--------------- 1 file changed, 63 insertions(+), 70 deletions(-) diff --git a/apps/machine/src/views/IdleView.vue b/apps/machine/src/views/IdleView.vue index 2a305be..25d963c 100644 --- a/apps/machine/src/views/IdleView.vue +++ b/apps/machine/src/views/IdleView.vue @@ -3,16 +3,14 @@ import { ref, computed, watch } from 'vue' import { useRouter } from 'vue-router' import { nip19 } from 'nostr-tools' import { useAtmStore } from '@/stores/atm' -import { useTheme } from '@/composables/useTheme' +import { initialContext } from '@lamassu/state-machine' import { Button } from '@/components/ui/button' -import { Card, CardContent } from '@/components/ui/card' import { Badge } from '@/components/ui/badge' import BitcoinIcon from '@/components/BitcoinIcon.vue' import QRCode from '@/components/QRCode.vue' const router = useRouter() const atmStore = useAtmStore() -const { colorMode } = useTheme() const lndconnectUrl = import.meta.env.VITE_LNDCONNECT_URL || '' const showZeusQR = ref(false) const showLpQR = ref(false) @@ -61,75 +59,82 @@ function handleCashOut() {