feat(fullstack): Replace TITLE_BODY element with rich text editor
This commit is contained in:
@@ -99,7 +99,7 @@ Application Form
|
||||
└── Form Elements (FormElement)
|
||||
├── id (UUID - generated by backend)
|
||||
├── reference (string - custom key like "art_der_massnahme")
|
||||
├── type (SELECT, CHECKBOX, RADIOBUTTON, TEXTFIELD, TEXTAREA, SWITCH, TITLE_BODY_TEXTFIELDS, DATE)
|
||||
├── type (SELECT, CHECKBOX, RADIOBUTTON, TEXTFIELD, TEXTAREA, SWITCH, RICH_TEXT, DATE)
|
||||
├── title, description
|
||||
├── options (FormOption[])
|
||||
│ ├── value, label
|
||||
@@ -743,7 +743,7 @@ act -n
|
||||
- `GET /application-forms/{id}/html`
|
||||
- `GET /application-forms/{id}/pdf`
|
||||
- Verify these render correctly (with saved values):
|
||||
- `TEXTFIELD`, `TEXTAREA`, `DATE`, `TITLE_BODY_TEXTFIELDS`
|
||||
- `TEXTFIELD`, `TEXTAREA`, `DATE`, `RICH_TEXT`
|
||||
- `SELECT`, `RADIOBUTTON`, `CHECKBOX`, `SWITCH`
|
||||
- If you changed backend filtering or templating, ensure:
|
||||
- Template sections (`isTemplate=true`) remain excluded from export
|
||||
@@ -757,6 +757,9 @@ act -n
|
||||
11. **Clean Code: order functions by abstraction (top-down, like a book)**
|
||||
- Put the highest-level, most readable entry points first (public API / primary flows), then progressively lower-level helpers below.
|
||||
- Keep functions at the same level of abstraction grouped together; details should live “later” (below) so the file reads top-to-bottom without jumping around.
|
||||
12. **No hardcoded UI strings** (i18n)
|
||||
- Never hardcode user-facing text in Vue components/composables.
|
||||
- Always add UI strings to `legalconsenthub/i18n/locales/de.json` and `legalconsenthub/i18n/locales/en.json` and reference them via `$t()` / `useI18n()`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user