feat(08-04): LinkWidget implementation + page.tsx wiring (GREEN)

- LinkWidget: single-link widget reusing FavoriteLink backend (D-06)
- Single-link enforcement: add form hidden when link exists
- List (row) and tile (grid) view modes, switchable in edit mode
- Inline add/edit/delete forms in edit mode
- Letter fallback span + icon with onError hide (T-08-11)
- Links with target="_blank" rel="noreferrer" (T-08-12)
- i18n keys added to de.json + en.json (link.*)
- wireLinkWidget(LinkWidget) added to portal page.tsx
- All 7 link-widget tests pass (GREEN); tsc --noEmit clean
This commit is contained in:
2026-07-01 10:48:58 +02:00
parent 4657e50494
commit e9914f61cb
4 changed files with 410 additions and 3 deletions
+13 -1
View File
@@ -215,7 +215,19 @@
},
"link": {
"name": "Link",
"description": "Single quick-access link"
"description": "Single quick-access link",
"loading": "Loading link...",
"empty": "No link set yet.",
"addTitle": "Title",
"addUrl": "URL",
"addButton": "Add",
"listView": "List",
"gridView": "Tile",
"editButton": "Edit link",
"deleteButton": "Delete link",
"saveButton": "Save",
"cancelButton": "Cancel",
"error": "Error loading link"
},
"stopwatch": {
"name": "Stopwatch",