www.safezone-fpv.com

Station S - MyCityHall · Extraits

Ce complément montre le workflow mairie décrit dans la page MyCityHall : brouillon ? vote ? publication, accès lecture seule, etc.

1. Dossiers & étapes

assets/station_s/
+- include/app/ui/mycityhall/
¦  +- obb_mch_workflow.h
+- src/app/ui/mycityhall/
   +- obb_mch_workflow.cpp
enum class Step : uint8_t {
  kDraft,
  kDeliberation,
  kVote,
  kPublication,
  kArchived,
};

Les états correspondent mot pour mot au texte conceptuel.

2. Objet Dossier

struct Dossier {
  std::string id;
  std::string title;
  std::string author;
  Step step = Step::kDraft;
  uint32_t created_at = 0;
  uint32_t updated_at = 0;
  bool citizen_readonly = false;
};

Le flag citizen_readonly sert pour laccès lecture seule demandé.

3. Passage détape

void advance_step(const std::string &id) {
  auto it = std::find_if(s_dossiers.begin(), s_dossiers.end(),
                         [&](const Dossier &d) { return d.id == id; });
  if (it == s_dossiers.end()) return;
  it->step = next_step(it->step);
}

La fonction est appelée via la tuile MyCityHall (joystick ou clavier). Dès que létape atteint kArchived, la tuile passe en lecture seule.

Timeline MyCityHall placeholder

Placeholder : timeline signée (brouillon ? vote ? publication).