puerto 0.13.0

Puerto — Rust full-stack DDD framework CLI. Scaffolds Clean Architecture projects with auto-wired DI, SQLx support, and zero manual wiring. Formerly puerto-framework.
// AUTO-GENERATED by puerto. Edit puerto.toml, then run `puerto generate bootstrap`.

import { Route, Switch } from "wouter";
{% for e in entities -%}
import { {{ e.pascal }}DetailContainer } from "../../features/{{ e.kebab }}/containers/{{ e.kebab }}-detail-container";
import { {{ e.pascal }}FormContainer } from "../../features/{{ e.kebab }}/containers/{{ e.kebab }}-form-container";
import { {{ e.pascal }}ListContainer } from "../../features/{{ e.kebab }}/containers/{{ e.kebab }}-list-container";
{% endfor -%}
import { HomePage } from "../../pages/home";
import { NotFoundPage } from "../../pages/not-found";
import type { NavEntry } from "../../shared/ui/layout";

export const navEntries: NavEntry[] = [
{%- if nav_inline %}
{%- for e in entities %}{ label: "{{ e.label_plural }}", href: "/{{ e.plural }}" }{% endfor -%}
{%- else %}
{%- for e in entities %}
  { label: "{{ e.label_plural }}", href: "/{{ e.plural }}" },
{%- endfor %}
{% endif %}];

export function AppRoutes() {
  return (
    <Switch>
      <Route path="/">
        <HomePage entries={navEntries} />
      </Route>
{%- for e in entities %}
      <Route path="/{{ e.plural }}">
        <{{ e.pascal }}ListContainer />
      </Route>
      <Route path="/{{ e.plural }}/new">
        <{{ e.pascal }}FormContainer />
      </Route>
{%- if e.edit_route_inline %}
      <Route path="/{{ e.plural }}/:id/edit">{(params) => <{{ e.pascal }}FormContainer id={params.id} />}</Route>
{%- else %}
      <Route path="/{{ e.plural }}/:id/edit">
        {(params) => <{{ e.pascal }}FormContainer id={params.id} />}
      </Route>
{%- endif %}
{%- if e.detail_route_inline %}
      <Route path="/{{ e.plural }}/:id">{(params) => <{{ e.pascal }}DetailContainer id={params.id} />}</Route>
{%- else %}
      <Route path="/{{ e.plural }}/:id">
        {(params) => <{{ e.pascal }}DetailContainer id={params.id} />}
      </Route>
{%- endif %}
{%- endfor %}
      <Route>
        <NotFoundPage />
      </Route>
    </Switch>
  );
}