aboutsummaryrefslogtreecommitdiff
path: root/apps/browser-extension/entrypoints
diff options
context:
space:
mode:
authorMaheshtheDev <[email protected]>2026-01-02 19:41:40 +0000
committerMaheshtheDev <[email protected]>2026-01-02 19:41:40 +0000
commitda582ccd71e0b21cff31905de2b4d0ea87b41379 (patch)
treef738a7d9c8d4ec7f980c372aa928042af213162f /apps/browser-extension/entrypoints
parentchore: update readme and gitignore (#640) (diff)
downloadsupermemory-da582ccd71e0b21cff31905de2b4d0ea87b41379.tar.xz
supermemory-da582ccd71e0b21cff31905de2b4d0ea87b41379.zip
chore(browser-extension): twitter import modal & package dependencies (#643)01-01-chore_browser-extension_fixed_package_dependencies
- twitter import for all bookmarks - fixed chrome extension package dependencies issues with monorepo
Diffstat (limited to 'apps/browser-extension/entrypoints')
-rw-r--r--apps/browser-extension/entrypoints/content/twitter.ts62
1 files changed, 58 insertions, 4 deletions
diff --git a/apps/browser-extension/entrypoints/content/twitter.ts b/apps/browser-extension/entrypoints/content/twitter.ts
index bfcc44c0..d5328245 100644
--- a/apps/browser-extension/entrypoints/content/twitter.ts
+++ b/apps/browser-extension/entrypoints/content/twitter.ts
@@ -8,6 +8,7 @@ import { trackEvent } from "../../utils/posthog"
import {
createTwitterImportButton,
createProjectSelectionModal,
+ createSaveTweetElement,
DOMUtils,
} from "../../utils/ui-components"
@@ -56,18 +57,71 @@ function addTwitterImportButton() {
const button = createTwitterImportButton(async () => {
try {
+ await handleAllBookmarksImportClick()
+ } catch (error) {
+ console.error("Error starting import:", error)
+ }
+ })
+
+ document.body.appendChild(button)
+}
+
+async function handleAllBookmarksImportClick() {
+ try {
+ const response = await browser.runtime.sendMessage({
+ action: MESSAGE_TYPES.FETCH_PROJECTS,
+ })
+
+ const projects = response.success && response.data ? response.data : []
+
+ if (projects.length === 0) {
await browser.runtime.sendMessage({
type: MESSAGE_TYPES.BATCH_IMPORT_ALL,
})
await trackEvent(POSTHOG_EVENT_KEY.TWITTER_IMPORT_STARTED, {
source: `${POSTHOG_EVENT_KEY.SOURCE}_content_script`,
})
- } catch (error) {
- console.error("Error starting import:", error)
+ } else {
+ await showAllBookmarksProjectModal(projects)
}
- })
+ } catch (error) {
+ console.error("Error handling all bookmarks import:", error)
+ await browser.runtime.sendMessage({
+ type: MESSAGE_TYPES.BATCH_IMPORT_ALL,
+ })
+ }
+}
- document.body.appendChild(button)
+
+async function showAllBookmarksProjectModal(
+ projects: Array<{ id: string; name: string; containerTag: string }>,
+) {
+ await loadSpaceGroteskFonts()
+
+ const modal = createProjectSelectionModal(
+ projects,
+ async (selectedProject) => {
+ modal.remove()
+
+ try {
+ await browser.runtime.sendMessage({
+ type: MESSAGE_TYPES.BATCH_IMPORT_ALL,
+ selectedProject: selectedProject,
+ })
+ await trackEvent(POSTHOG_EVENT_KEY.TWITTER_IMPORT_STARTED, {
+ source: `${POSTHOG_EVENT_KEY.SOURCE}_content_script`,
+ project_selected: true,
+ })
+ } catch (error) {
+ console.error("Error importing all bookmarks:", error)
+ }
+ },
+ () => {
+ modal.remove()
+ },
+ )
+
+ document.body.appendChild(modal)
}
function addTwitterImportButtonForFolders() {