Initial commit: SejeteralO water tarification platform
Full-stack app for participatory water pricing using Bezier curves. - Backend: FastAPI + SQLAlchemy + SQLite with JWT auth - Frontend: Nuxt 4 + TypeScript with interactive SVG editor - Math engine: cubic Bezier tarification with Cardano solver - Admin: commune management, household import, vote monitoring, CMS - Citizen: interactive curve editor, vote submission - Docker-compose deployment ready Includes fixes for: - Impact table snake_case/camelCase property mismatch - CMS content backend API + frontend editor (was stub) - Admin route protection middleware - Public content display on commune page - Vote confirmation page link fix Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
24
frontend/app/pages/commune/[slug]/vote.vue
Normal file
24
frontend/app/pages/commune/[slug]/vote.vue
Normal file
@@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div style="max-width: 600px; margin: 2rem auto; text-align: center;">
|
||||
<div class="card">
|
||||
<h2 style="margin-bottom: 1rem;">Vote enregistré</h2>
|
||||
<p style="margin-bottom: 1.5rem;">
|
||||
Votre vote a été soumis avec succès. Vous pouvez revenir à l'éditeur pour modifier votre choix
|
||||
à tout moment (seul votre dernier vote sera pris en compte).
|
||||
</p>
|
||||
<div style="display: flex; gap: 1rem; justify-content: center;">
|
||||
<NuxtLink :to="`/commune/${slug}`" class="btn btn-primary">
|
||||
Modifier mon vote
|
||||
</NuxtLink>
|
||||
<NuxtLink to="/" class="btn btn-secondary">
|
||||
Retour à l'accueil
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const route = useRoute()
|
||||
const slug = route.params.slug as string
|
||||
</script>
|
||||
Reference in New Issue
Block a user