Adriano
004f794c75
fix: Alpine.js JSON parsing error in x-data HTML attributes
...
Add tojson_attr Jinja2 filter that escapes double quotes to "
for safe embedding in HTML attributes. The browser decodes entities
before Alpine.js evaluates, so JSON parses correctly.
Replaces |tojson with |tojson_attr in x-data attributes (select_recipe,
recipe_list, base flash messages). Script tag usages are unaffected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 19:31:49 +01:00
Adriano
e1f4ee73d0
feat: FASE 4 - Editor Maker (Fabric.js) con annotazioni, task editor, preview e storico versioni
...
- recipe_list.html: lista ricette con filtri, paginazione, cards Alpine.js
- recipe_editor.html: form metadati, upload drag-and-drop, canvas Fabric.js per annotazioni
- annotation-editor.js: editor annotazioni Fabric.js (marker, frecce, rettangoli, zoom, pan)
- task_editor.html: editor task/subtask inline con drag-and-drop reorder e tolleranze
- recipe_preview.html: anteprima ricetta come MeasurementTec
- version_history.html: timeline versioni con conteggio misurazioni AJAX
- maker.py: 6 route pagina + 13 proxy AJAX, gestione sicura risposte lista API
- i18n: 170+ stringhe tradotte IT/EN per tutti i template Maker
Architect review: 3 CRITICO + 5 MEDIO + 3 NEW risolti, 2 BASSO differiti
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 13:15:24 +01:00
Adriano
dbdbb77daf
feat: FASE 0 - Setup progetto TieMeasureFlow
...
Struttura monorepo completa con server FastAPI e client Flask:
- Server: FastAPI + SQLAlchemy 2.0 async + Alembic migrations
- Client: Flask + blueprints (auth, measure, maker, statistics)
- Database: docker-compose MySQL 8.0 + Alembic async config
- Config: pydantic-settings, TailwindCSS, Flask-Babel i18n
- Piano implementazione completo (18 sezioni, 1600 righe)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 00:16:54 +01:00