From 2edd6d003d525f09f44fc6a469920b9f0101ae71 Mon Sep 17 00:00:00 2001 From: Nils-Johan Gynther Date: Wed, 22 Apr 2026 21:55:24 +0200 Subject: [PATCH] feat(import): store and manage image URL in session storage during recipe import --- frontend/app/import/ImportTabsClient.tsx | 10 ++++++++++ frontend/app/recipes/import/ImportFilePage.tsx | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/frontend/app/import/ImportTabsClient.tsx b/frontend/app/import/ImportTabsClient.tsx index b2b09165..fa44767d 100644 --- a/frontend/app/import/ImportTabsClient.tsx +++ b/frontend/app/import/ImportTabsClient.tsx @@ -84,6 +84,11 @@ function ReceptImport() { if (!res.ok) throw new Error(await parseErrorResponse(res)); const data = await res.json(); sessionStorage.setItem('prefilled_markdown', data.markdown ?? ''); + if (data.imageUrl) { + sessionStorage.setItem('prefilled_image_url', data.imageUrl); + } else { + sessionStorage.removeItem('prefilled_image_url'); + } router.push('/recipes/write'); } catch (err) { setError(err instanceof Error ? err.message : 'Importen misslyckades.'); @@ -106,6 +111,11 @@ function ReceptImport() { if (!res.ok) throw new Error(await parseErrorResponse(res)); const data = await res.json(); sessionStorage.setItem('prefilled_markdown', data.markdown ?? ''); + if (data.imageUrl) { + sessionStorage.setItem('prefilled_image_url', data.imageUrl); + } else { + sessionStorage.removeItem('prefilled_image_url'); + } router.push('/recipes/write'); } catch (err) { setError(err instanceof Error ? err.message : 'Importen misslyckades.'); diff --git a/frontend/app/recipes/import/ImportFilePage.tsx b/frontend/app/recipes/import/ImportFilePage.tsx index aae846a3..8c806fdd 100644 --- a/frontend/app/recipes/import/ImportFilePage.tsx +++ b/frontend/app/recipes/import/ImportFilePage.tsx @@ -40,6 +40,11 @@ export default function ImportFilePage() { const data = await res.json(); sessionStorage.setItem('prefilled_markdown', data.markdown ?? ''); + if (data.imageUrl) { + sessionStorage.setItem('prefilled_image_url', data.imageUrl); + } else { + sessionStorage.removeItem('prefilled_image_url'); + } router.push('/recipes/write'); } catch (err) { setError(err instanceof Error ? err.message : 'Importen misslyckades.'); @@ -73,6 +78,11 @@ export default function ImportFilePage() { const data = await res.json(); sessionStorage.setItem('prefilled_markdown', data.markdown ?? ''); + if (data.imageUrl) { + sessionStorage.setItem('prefilled_image_url', data.imageUrl); + } else { + sessionStorage.removeItem('prefilled_image_url'); + } router.push('/recipes/write'); } catch (err) { setError(err instanceof Error ? err.message : 'Importen misslyckades.');