# Smaage Frontend Prototype
## Install Requirements
```bash
uv sync
```
## Run
```bash
uv run -m frontend
```
## Navigation
```mermaid
stateDiagram-v2
[*] --> Main
state "Main View
(timer + weight)" as Main
state "Recipe Selection
(carousel)" as RecipeSelection
state "Do Recipe
(step-by-step)" as DoRecipe
state "Edit Recipe
(step list)" as EditRecipe
state "Edit Recipe – Move Mode
(reorder steps)" as MoveMode
state "Edit Step – Type Selection
(list view)" as TypeSelect
state "Edit Step – Value Entry
(morse input)" as ValueEntry
state "Edit Step – Goal Time Entry
(morse input)" as GoalTime
Main --> RecipeSelection : right long press
RecipeSelection --> Main : left long press
RecipeSelection --> DoRecipe : right long press [on recipe → run]
RecipeSelection --> EditRecipe : both long press [on recipe → edit]
or right long press [on + → add]
DoRecipe --> Main : left long press [back]
or right press [last step → done]
EditRecipe --> RecipeSelection : left long press [back]
or right long press [on save]
EditRecipe --> TypeSelect : right long press [on step]
or right long press [on + → add step]
EditRecipe --> ValueEntry : right long press [on name]
EditRecipe --> MoveMode : both long press [on step]
MoveMode --> EditRecipe : both long press [confirm]
or left long press [cancel]
TypeSelect --> ValueEntry : right long press [type with value]
TypeSelect --> EditRecipe : right long press [type w/o value → saved]
or right long press [delete → deleted]
or left long press [back]
ValueEntry --> EditRecipe : left long press [save]
or left press [cancel]
ValueEntry --> GoalTime : left long press [WEIGH_WITH_TIMER]
GoalTime --> EditRecipe : left long press [save]
or left press [cancel]
```