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 Ellipse particles 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 control
-
ExtractionArc: arc-based time display with sweet-spot highlighting
-
GrindSelector: dynamic particle Canvas rendering for size-based selection
-
EspressoCard: selectable product cards with volume badges + checkmark overlays
-
BrewingScreen: coffee cup fill animation + pulse effects
-
Elegant branded header/footer with dual-color accent bars
-
DependencyProperty patterns throughout all custom controls