Extract BackLink component into App layout

Move back navigation (chevron + "fete" brand) from per-view
definitions into a shared BackLink component rendered in App.vue.
Shown on all pages except home. Hero overlay gets pointer-events:
none so the link stays clickable on the event detail page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 23:06:03 +01:00
parent 13b01dfba8
commit f972a41e45
5 changed files with 56 additions and 56 deletions

View File

@@ -65,7 +65,7 @@ test.describe('US1: Watch event from detail page', () => {
await expect(bookmark).toHaveAttribute('aria-label', 'Stop watching this event')
// Navigate to event list via back link
await page.locator('.detail__back').click()
await page.getByLabel('Back to home').click()
// Event appears with "Watching" label
await expect(page.getByText('Summer BBQ')).toBeVisible()
@@ -89,7 +89,7 @@ test.describe('US2: Un-watch event from detail page', () => {
await expect(bookmark).toHaveAttribute('aria-label', 'Watch this event')
// Navigate to event list via back link (avoid page.goto re-running addInitScript)
await page.locator('.detail__back').click()
await page.getByLabel('Back to home').click()
// Event is gone
await expect(page.getByText('Summer BBQ')).not.toBeVisible()
@@ -109,7 +109,7 @@ test.describe('US3: Bookmark reflects attending status', () => {
await expect(bookmark).not.toBeVisible()
// Navigate to list via back link
await page.locator('.detail__back').click()
await page.getByLabel('Back to home').click()
await expect(page.getByText('Attending')).toBeVisible()
await expect(page.getByText('Watching')).not.toBeVisible()
})
@@ -137,7 +137,7 @@ test.describe('US4: RSVP cancellation preserves watch status', () => {
await expect(bookmark).toHaveAttribute('aria-label', 'Stop watching this event')
// Navigate to list via back link
await page.locator('.detail__back').click()
await page.getByLabel('Back to home').click()
await expect(page.getByText('Watching')).toBeVisible()
await expect(page.getByText('Attending')).not.toBeVisible()
})
@@ -211,7 +211,7 @@ test.describe('US7: Watcher upgrades to attendee', () => {
await expect(bookmark).not.toBeVisible()
// Navigate to list via back link
await page.locator('.detail__back').click()
await page.getByLabel('Back to home').click()
await expect(page.getByText('Attending')).toBeVisible()
await expect(page.getByText('Watching')).not.toBeVisible()
})