feat: Implement quick import feature for recipes

- Added QuickImportController and QuickImportService to handle recipe imports from URLs and file paths.
- Created QuickImportModule to encapsulate the quick import functionality.
- Developed frontend ImportFilePage for users to upload files or enter URLs for recipe import.
- Integrated API proxy to communicate with the backend for quick import requests.
- Implemented WriteRecipePage for users to manually input recipes with Markdown support.
- Added page routing for the new import and write recipe functionalities.
This commit is contained in:
Nils-Johan Gynther
2026-04-12 07:41:18 +02:00
parent ea971c2f63
commit 4f183df711
12 changed files with 1379 additions and 61 deletions
+50 -9
View File
@@ -77,13 +77,43 @@ curl http://localhost:8080/health/db
---
## Importera recept från Markdown
## Lägga till recept
### Steg 1: Gå till receptsidan
Navigera till **Recept** och välj **Lägg till nytt recept → Importera från Markdown**
### Snabbimport
På sidan "Lägg till nytt recept" finns ett **snabbimportfält** längst upp:
```
Snabbimport: Klistra in länk eller fil
[https://www.ica.se/recept/...] [→]
```
Klistra in:
- **ICA-receptlänk** — systemet skrapar automatiskt receptet och importerar det
- En länk omdirigeras till "Skriv in recept" med förifylld Markdown
**Stödda webbplatser:**
- ICA.se — Recept skrapas automatiskt
- (PDF-import under utveckling)
**Felmeddelandena vägleder dig:**
- "Länken är inte från ICA.se" — Endast ICA stöds för närvarande
- "Kunde inte hämta recept från ICA: ..." — Länken är bruten eller receptet kunde inte parsas
- "Du måste ange en URL eller filsökväg" — Fältet var tomt
### Välja mellan alternativen
Klicka på **Lägg till nytt recept** i receptmenyn. Du får ett val mellan:
1. **Skriv in recept** — Skriv receptet i Markdown-format med ingredienser och instruktioner
2. **Importera från fil** — Ladda upp PDF, länk eller annan receptkälla (under utveckling)
### Skriv in recept (Markdown)
Navigera till **Lägg till nytt recept → Skriv in recept**
**Steg 1: Skriv receptet**
Använd detta format:
### Steg 2: Klistra in receptet
Använd följande format:
```markdown
# Köttfärssås
@@ -101,20 +131,31 @@ En klassisk köttfärssås med massa smak.
Hacka löken och stek den mjuk i lite olja. Tillsätt köttfärsen och bräsera tills den är genomstekt. Tillsätt tomatpuré och låt det småkoka ett par minuter innan du tillsätter grädde. Smaka av med salt och peppar.
```
### Steg 3: Granska
**Steg 2: Granska**
Systemet:
- Tolkar receptnamn, beskrivning och instruktioner
- Försöker matcha varje ingrediens mot databasen (Levenshtein-likhet)
- Visar förslag för varje ingrediens i prioriteringsordning
Du kan:
- Redigera nombres, beskrivning och instruktioner
- Redigera Namnet, beskrivning och instruktioner
- Välj rätt produkt från förslagen för varje ingrediens
- Ta bort ingredienser som inte behövs
- Ändra kvantiteter och enheter
### Steg 4: Spara
Klicka "Spara recept" — basrecepet sparas med dina valida ingredienser
**Steg 3: Spara**
Klicka "Spara recept" — receptet sparas med dina valida ingredienser
### Importera från fil eller länk
Navigera till **Lägg till nytt recept → Importera från fil**
I denna sektion kan du:
- Ladda upp PDF eller andra receptfiler
- Ange URL till en receptsida eller blogg
- Systemet tolkar filen/länken och föreslår ingredienser
> **Notering:** Fil- och länk-import är under utveckling. För närvarande kan du använda "Skriv in recept" för att mata in receptet manuellt.
### Receptformat — regler