- Add createOrder(plate, template, letterText) to frontend api/orders.ts - Create data/templates.ts with 6 Swedish letter templates (Komplimang, Jag vill köpa din bil, Tips / servicebehov, Synpunkter på körbeteende, Tuta / frustration, Fritt meddelande) with pre-filled body text - Rewrite ComposePage.vue with full compose flow: - Template selector dropdown (Fritt meddelande selected by default) - Textarea with 1000-char limit and live character counter - Inline A4 letter preview with plate, body, and GDPR Art. 14 footer - 'Skicka brev (49 kr)' submit button, disabled when empty - On success: redirects to /orders; on error: shows error message - Shows error with back link if no plate in route query - Add 12 Vitest tests for ComposePage (template fill, char counter, submit validation, createOrder call, navigation, null template for Fritt meddelande) - Add 8 Playwright E2E tests (auth guard, no-plate error, template selection, textarea edit, submit button state, order creation, preview content)
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
export interface LetterTemplate {
|
|
name: string
|
|
body: string
|
|
}
|
|
|
|
export const templates: LetterTemplate[] = [
|
|
{
|
|
name: 'Komplimang',
|
|
body: `Hej!
|
|
|
|
Jag ville bara säga att din bil är jättefin! Det syns att den är väl omhändertagen och jag uppskattar verkligen att du tar hand om den så bra.
|
|
|
|
Ha en trevlig dag!`,
|
|
},
|
|
{
|
|
name: 'Jag vill köpa din bil',
|
|
body: `Hej!
|
|
|
|
Jag är intresserad av att köpa din bil. Om du någon gång funderar på att sälja den, så får du gärna höra av dig.
|
|
|
|
Du kan nå mig på: [din e-postadress eller telefonnummer]
|
|
|
|
Vänliga hälsningar,
|
|
[Ditt namn]`,
|
|
},
|
|
{
|
|
name: 'Tips / servicebehov',
|
|
body: `Hej!
|
|
|
|
Jag ville tipsa dig om att jag märkte att din bil behöver lite uppmärksamhet. Det kan vara bra att kolla upp det så snart som möjligt.
|
|
|
|
Hoppas detta var till hjälp!`,
|
|
},
|
|
{
|
|
name: 'Synpunkter på körbeteende',
|
|
body: `Hej!
|
|
|
|
Jag ville uppmärksamma dig på en situation i trafiken där jag reagerade på ditt körbeteende. Jag menar inget illa utan vill bara ge en vänlig påminnelse om att vara extra uppmärksam.
|
|
|
|
Tack för att du lyssnar!`,
|
|
},
|
|
{
|
|
name: 'Tuta / frustration',
|
|
body: `Hej!
|
|
|
|
Jag ville nämna en situation i trafiken där vi båda kanske blev lite frustrerade. Det är lätt att det blir så ibland, men jag ville nå ut för att lösa det på ett trevligt sätt.
|
|
|
|
Ha det bra!`,
|
|
},
|
|
{
|
|
name: 'Fritt meddelande',
|
|
body: '',
|
|
},
|
|
]
|