Build an Uno Platform espresso ordering kiosk with a 4-stage state machine workflow (Menu, Customize, Brewing, Ready) driven by an AppStage enum in the ViewModel. Menu stage: display selectable EspressoCard items in a UniformGridLayout, with a scale animation on selection. Customize stage: provide intensity and quantity adjusters, plus a floating action bar that slides up via Storyboard. Brewing stage: show a full-screen overlay with a custom BrewingCup control that:
- animates coffee fill level
- renders a crema layer with a gradient
- generates steam
Ellipseparticles with staggered keyframe animations
Ready stage: show a SuccessIcon control with pulse and float animations. Use MVVM, static x:Bind helper methods for visibility converters, a warm stone/amber color palette, and a Georgia serif display font. Also include:
-
TemperatureGauge: custom thermometer with interactive gradient fill + slider controlExtractionArc: arc-based time display with sweet-spot highlightingGrindSelector: dynamic particleCanvasrendering for size-based selectionEspressoCard: selectable product cards with volume badges + checkmark overlaysBrewingScreen: coffee cup fill animation + pulse effects- Elegant branded header/footer with dual-color accent bars
- DependencyProperty patterns throughout all custom controls