From 0c80f515ec9e20c70b69380031886ccc0e4bc06d Mon Sep 17 00:00:00 2001
From: Mohamed Bassem <me@mbassem.com>
Date: Sat, 15 Nov 2025 16:47:20 +0000
Subject: feat: import from mymind (#2138)

* feat: add mymind importer support

This commit adds support for importing bookmarks from mymind CSV exports.

Changes:
- Added mymind to ImportSource type in parsers.ts
- Implemented parseMymindBookmarkFile() to parse mymind CSV format
- Added mymind case to parseImportFile() switch statement
- Added mymind import card to ImportExport UI component
- Added English translation for mymind import description
- Added comprehensive test for mymind CSV parsing

The mymind CSV format includes:
- WebPages (URLs with optional notes)
- Notes (text content without URLs)
- Tags (comma-separated)
- Created timestamps (ISO format)

Fixes #654

* format

* use zod for parsing

---------

Co-authored-by: Claude <noreply@anthropic.com>
---
 apps/web/components/settings/ImportExport.tsx | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'apps/web/components/settings/ImportExport.tsx')

diff --git a/apps/web/components/settings/ImportExport.tsx b/apps/web/components/settings/ImportExport.tsx
index ee220342..7d127443 100644
--- a/apps/web/components/settings/ImportExport.tsx
+++ b/apps/web/components/settings/ImportExport.tsx
@@ -227,6 +227,23 @@ export function ImportExportRow() {
             <p>Import</p>
           </FilePickerButton>
         </ImportCard>
+        <ImportCard
+          text="mymind"
+          description={t("settings.import.import_bookmarks_from_mymind_export")}
+        >
+          <FilePickerButton
+            size={"sm"}
+            loading={false}
+            accept=".csv"
+            multiple={false}
+            className="flex items-center gap-2"
+            onFileSelect={(file) =>
+              runUploadBookmarkFile({ file, source: "mymind" })
+            }
+          >
+            <p>Import</p>
+          </FilePickerButton>
+        </ImportCard>
         <ImportCard
           text="Karakeep"
           description={t(
-- 
cgit v1.2.3-70-g09d2

