diff --git a/apps/extension/extension-dist.zip b/apps/extension/extension-dist.zip index 8f6b94e..9feb56d 100644 Binary files a/apps/extension/extension-dist.zip and b/apps/extension/extension-dist.zip differ diff --git a/apps/extension/package.json b/apps/extension/package.json index 495b582..16fa839 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -1,7 +1,7 @@ { "name": "extension", "private": true, - "version": "1.0.3", + "version": "1.0.5", "type": "module", "scripts": { "dev": "vite", diff --git a/apps/extension/public/manifest.json b/apps/extension/public/manifest.json index 982d352..07ccc76 100644 --- a/apps/extension/public/manifest.json +++ b/apps/extension/public/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "BrowserBookmark", - "version": "1.0.3", + "version": "1.0.5", "action": { "default_title": "Bookmarks", "default_popup": "popup.html" diff --git a/apps/extension/src/components/BbConfirmModal.vue b/apps/extension/src/components/BbConfirmModal.vue index 2f533bd..7135b5b 100644 --- a/apps/extension/src/components/BbConfirmModal.vue +++ b/apps/extension/src/components/BbConfirmModal.vue @@ -70,7 +70,7 @@ onBeforeUnmount(() => { .bb-modalBackdrop { position: absolute; inset: 0; - background: rgba(15, 23, 42, 0.38); + background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(8px); } @@ -80,9 +80,9 @@ onBeforeUnmount(() => { max-height: min(84vh, 860px); overflow: auto; border-radius: 18px; - border: 1px solid rgba(255, 255, 255, 0.7); - background: rgba(255, 255, 255, 0.82); - box-shadow: 0 18px 60px rgba(15, 23, 42, 0.22); + border: 1px solid var(--bb-border); + background: var(--bb-panel); + box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55); color: var(--bb-text); } @@ -92,7 +92,7 @@ onBeforeUnmount(() => { justify-content: space-between; gap: 10px; padding: 12px 14px; - border-bottom: 1px solid rgba(15, 23, 42, 0.1); + border-bottom: 1px solid rgba(148,163,184,0.18); } .bb-modalTitle { @@ -103,28 +103,21 @@ onBeforeUnmount(() => { width: 34px; height: 34px; border-radius: 12px; - border: 1px solid rgba(255, 255, 255, 0.6); - background: rgba(255, 255, 255, 0.5); + border: 1px solid var(--bb-border); + background: var(--bb-panel-hover); cursor: pointer; font-size: 20px; line-height: 1; - color: rgba(15, 23, 42, 0.75); + color: var(--bb-text); } -.bb-modalClose:hover { - background: rgba(255, 255, 255, 0.78); -} +.bb-modalClose:hover { background: var(--bb-panel); } .bb-modalBody { padding: 14px; } -.bb-modalMessage { - color: rgba(15, 23, 42, 0.78); - font-size: 13px; - line-height: 1.6; - white-space: pre-wrap; -} +.bb-modalMessage { color: var(--bb-muted); font-size: 13px; line-height: 1.6; white-space: pre-wrap; } .bb-modalActions { margin-top: 14px; @@ -143,7 +136,7 @@ onBeforeUnmount(() => { } .bb-btn--secondary { - background: rgba(255, 255, 255, 0.55); + background: var(--bb-panel-hover); color: var(--bb-text); border-color: var(--bb-border); } diff --git a/apps/extension/src/content/main.js b/apps/extension/src/content/main.js index 895173b..4c9b99d 100644 --- a/apps/extension/src/content/main.js +++ b/apps/extension/src/content/main.js @@ -55,11 +55,11 @@ function ensureStyles() { const style = document.createElement("style"); style.id = "bb-cred-style"; style.textContent = ` - .bb-cred-selector{position:fixed;z-index:2147483646;background:#fff;border:1px solid rgba(0,0,0,0.12);box-shadow:0 10px 24px rgba(0,0,0,0.15);border-radius:10px;padding:6px;min-width:240px;max-width:320px;} + .bb-cred-selector{position:fixed;z-index:2147483646;background:#2E2E2E;border:1px solid rgba(148,163,184,0.32);box-shadow:0 10px 28px rgba(0,0,0,0.55);border-radius:10px;padding:6px;min-width:240px;max-width:320px;color:#e2e8f0;} .bb-cred-item{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:8px;cursor:pointer;} - .bb-cred-item:hover{background:rgba(13,148,136,0.08);} - .bb-cred-site{font-size:12px;color:#64748b;} - .bb-cred-user{font-weight:700;color:#0f172a;} + .bb-cred-item:hover{background:rgba(34,197,94,0.16);} + .bb-cred-site{font-size:12px;color:rgba(226,232,240,0.72);} + .bb-cred-user{font-weight:700;color:#e2e8f0;} `; document.head.appendChild(style); } diff --git a/apps/extension/src/options/OptionsApp.vue b/apps/extension/src/options/OptionsApp.vue index 48ce335..421ba5c 100644 --- a/apps/extension/src/options/OptionsApp.vue +++ b/apps/extension/src/options/OptionsApp.vue @@ -21,16 +21,17 @@ body { margin: 0; } .nav { position: sticky; top: 0; - background: rgba(248, 250, 252, 0.82); + background: var(--bb-panel); border-bottom: 1px solid var(--bb-border); backdrop-filter: blur(10px); display: flex; justify-content: flex-start; padding: 10px 14px; gap: 10px; + color: var(--bb-text); } .brand { font-weight: 800; } -.content { max-width: 1100px; margin: 0 auto; padding: 14px; } +.content { max-width: 1100px; margin: 0 auto; padding: 14px; color: var(--bb-text); } a:focus-visible, button:focus-visible, diff --git a/apps/extension/src/options/pages/ImportExportPage.vue b/apps/extension/src/options/pages/ImportExportPage.vue index 53ea8d9..91cfc13 100644 --- a/apps/extension/src/options/pages/ImportExportPage.vue +++ b/apps/extension/src/options/pages/ImportExportPage.vue @@ -128,8 +128,8 @@ async function exportLocal() { diff --git a/apps/extension/src/options/pages/LoginPage.vue b/apps/extension/src/options/pages/LoginPage.vue index 5191cad..6a67155 100644 --- a/apps/extension/src/options/pages/LoginPage.vue +++ b/apps/extension/src/options/pages/LoginPage.vue @@ -66,12 +66,12 @@ async function submit() { diff --git a/apps/extension/src/options/pages/MorePage.vue b/apps/extension/src/options/pages/MorePage.vue index 8648f76..09ec975 100644 --- a/apps/extension/src/options/pages/MorePage.vue +++ b/apps/extension/src/options/pages/MorePage.vue @@ -79,8 +79,8 @@ onMounted(refresh); .h1 { margin: 0 0 10px; font-size: 18px; } .card { max-width: 560px; - border: 1px solid rgba(255,255,255,0.65); - background: var(--bb-card); + border: 1px solid var(--bb-border); + background: var(--bb-panel); border-radius: 18px; padding: 12px; display: grid; @@ -95,10 +95,10 @@ onMounted(refresh); cursor: pointer; } .btn--secondary { - background: rgba(255,255,255,0.55); + background: var(--bb-panel-hover); color: var(--bb-text); border-color: var(--bb-border); } -.muted { color: rgba(19, 78, 74, 0.72); font-size: 12px; } -.hint { color: rgba(19, 78, 74, 0.72); font-size: 12px; margin: 0; } +.muted { color: var(--bb-muted); font-size: 12px; } +.hint { color: var(--bb-muted); font-size: 12px; margin: 0; } diff --git a/apps/extension/src/options/pages/MyPage.vue b/apps/extension/src/options/pages/MyPage.vue index 7a96ac3..7977334 100644 --- a/apps/extension/src/options/pages/MyPage.vue +++ b/apps/extension/src/options/pages/MyPage.vue @@ -111,15 +111,15 @@ onMounted(load); diff --git a/apps/extension/src/options/pages/PublicPage.vue b/apps/extension/src/options/pages/PublicPage.vue index d67bb6b..9c88914 100644 --- a/apps/extension/src/options/pages/PublicPage.vue +++ b/apps/extension/src/options/pages/PublicPage.vue @@ -59,7 +59,7 @@ onMounted(load); diff --git a/apps/extension/src/popup/PopupApp.vue b/apps/extension/src/popup/PopupApp.vue index 4df6f95..8c90e7a 100644 --- a/apps/extension/src/popup/PopupApp.vue +++ b/apps/extension/src/popup/PopupApp.vue @@ -404,10 +404,11 @@ watch( diff --git a/apps/extension/src/style.css b/apps/extension/src/style.css index cf8e857..1ecc034 100644 --- a/apps/extension/src/style.css +++ b/apps/extension/src/style.css @@ -1,13 +1,16 @@ :root { - --bb-bg: #f8fafc; - --bb-text: #0f172a; - --bb-muted: rgba(15, 23, 42, 0.70); - --bb-primary: #2563eb; - --bb-primary-weak: rgba(37, 99, 235, 0.12); - --bb-cta: #f97316; - --bb-border: rgba(15, 23, 42, 0.14); - --bb-card: rgba(255, 255, 255, 0.88); - --bb-card-solid: #ffffff; + --bb-bg: #000000; + --bb-text: #e2e8f0; + --bb-muted: rgba(226, 232, 240, 0.82); + --bb-primary: #22c55e; + --bb-primary-weak: rgba(34, 197, 94, 0.25); + --bb-cta: #38bdf8; + --bb-border: rgba(148, 163, 184, 0.28); + --bb-panel: #2E2E2E; + --bb-panel-strong: #2E2E2E; + --bb-panel-hover: #3a3a3a; + --bb-card: #2E2E2E; + --bb-card-solid: #2E2E2E; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial; line-height: 1.5; @@ -27,34 +30,27 @@ html, body { } body { - background: - radial-gradient(900px 520px at 10% 0%, rgba(37, 99, 235, 0.12), rgba(0,0,0,0) 60%), - radial-gradient(900px 520px at 90% 0%, rgba(249, 115, 22, 0.12), rgba(0,0,0,0) 60%), - var(--bb-bg); + background: linear-gradient(180deg, #000000 0%, #050910 55%, #000000 100%); color: var(--bb-text); } -a { color: var(--bb-primary); text-decoration: none; } -a:hover { color: #1d4ed8; } +a { color: var(--bb-cta); text-decoration: none; } +a:hover { color: var(--bb-primary); } button, input, select, textarea { font: inherit; color: inherit; } -select, input, textarea { - background: rgba(255,255,255,0.92); -} +select, input, textarea { background: var(--bb-panel); border: 1px solid var(--bb-border); color: var(--bb-text); } -::placeholder { - color: rgba(15, 23, 42, 0.45); -} +::placeholder { color: rgba(226, 232, 240, 0.55); } a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { - outline: 2px solid rgba(37, 99, 235, 0.55); + outline: 2px solid rgba(34, 197, 94, 0.55); outline-offset: 2px; } diff --git a/apps/web/package.json b/apps/web/package.json index e54cda6..2c172d6 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,7 +1,7 @@ { "name": "web", "private": true, - "version": "0.0.0", + "version": "1.0.4", "type": "module", "scripts": { "dev": "vite", diff --git a/apps/web/src/App.vue b/apps/web/src/App.vue index f562cd8..eaae91f 100644 --- a/apps/web/src/App.vue +++ b/apps/web/src/App.vue @@ -10,6 +10,24 @@ const isAdmin = computed(() => userRef.value?.role === "admin"); const menuOpen = ref(false); +// theme: light | dark +const theme = ref( + (typeof localStorage !== "undefined" && localStorage.getItem("bb_theme")) || + (typeof window !== "undefined" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light") +); + +function applyTheme(next) { + const isDark = (next || theme.value) === "dark"; + const root = document.documentElement; + root.classList.toggle("theme-dark", isDark); +} + +function toggleTheme() { + theme.value = theme.value === "dark" ? "light" : "dark"; +} + function toggleMenu() { menuOpen.value = !menuOpen.value; } @@ -62,6 +80,7 @@ function onDocPointerDown(e) { onMounted(() => { document.addEventListener("pointerdown", onDocPointerDown); + applyTheme(); }); watch( @@ -77,6 +96,15 @@ onMounted(() => { if (loggedIn.value) ensureMe(); }); +watch( + () => theme.value, + (next) => { + try { localStorage.setItem("bb_theme", next); } catch {} + applyTheme(next); + }, + { immediate: false } +); + onBeforeUnmount(() => { document.removeEventListener("pointerdown", onDocPointerDown); }); @@ -107,12 +135,15 @@ router.afterEach(() => { @@ -138,13 +169,13 @@ router.afterEach(() => { diff --git a/apps/web/src/pages/AdminPage.vue b/apps/web/src/pages/AdminPage.vue index 05574a9..fe9cb42 100644 --- a/apps/web/src/pages/AdminPage.vue +++ b/apps/web/src/pages/AdminPage.vue @@ -418,18 +418,19 @@ onMounted(async () => { text-align: left; padding: 10px 12px; border-radius: 16px; - border: 1px solid rgba(255,255,255,0.45); - background: rgba(255,255,255,0.35); + border: 1px solid var(--bb-border); + background: var(--bb-folder-bg); cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; } -.bb-adminFolderHeader:hover { background: rgba(255,255,255,0.6); } +.bb-adminFolderHeader:hover { background: var(--bb-folder-hover); } .bb-adminFolderHeader .name { font-weight: 900; color: var(--bb-text); } -.bb-adminFolderHeader .meta { font-size: 12px; color: rgba(19, 78, 74, 0.72); } +.bb-adminFolderHeader .meta { font-size: 12px; color: var(--bb-muted); } .bb-adminFolderBody { margin-top: 10px; } .bb-adminFolderDel { white-space: nowrap; } .bb-adminActions { display: flex; gap: 8px; flex-wrap: wrap; } + diff --git a/apps/web/src/pages/MyPage.vue b/apps/web/src/pages/MyPage.vue index aaf3c9a..915432c 100644 --- a/apps/web/src/pages/MyPage.vue +++ b/apps/web/src/pages/MyPage.vue @@ -859,17 +859,17 @@ onBeforeUnmount(() => { text-align: left; padding: 8px 10px; border-radius: 16px; - border: 1px solid rgba(255,255,255,0.45); - background: rgba(255,255,255,0.35); + border: 1px solid var(--bb-border); + background: var(--bb-folder-bg); cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; } -.bb-myFolderHeader:hover { background: rgba(255,255,255,0.6); } +.bb-myFolderHeader:hover { background: var(--bb-folder-hover); } .bb-myFolderHeader .name { font-weight: 900; color: var(--bb-text); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } -.bb-myFolderHeader .meta { font-size: 12px; color: rgba(19, 78, 74, 0.72); } +.bb-myFolderHeader .meta { font-size: 12px; color: var(--bb-muted); } .bb-myFolderBody { margin-top: 10px; } /* Sticky open folder header (keeps the row visible while scrolling long lists) */ @@ -879,9 +879,9 @@ onBeforeUnmount(() => { z-index: 30; padding: 4px; border-radius: 18px; - background: rgba(255,255,255,0.72); + background: var(--bb-folder-bg); backdrop-filter: blur(12px); - border: 1px solid rgba(255,255,255,0.55); + border: 1px solid var(--bb-border); } .bb-folderDelete{ @@ -910,4 +910,14 @@ onBeforeUnmount(() => { .bb-dragHint:active { cursor: grabbing; } .bb-modalForm { display: grid; gap: 10px; } + +:global(.theme-dark) .bb-myFolder.is-open > .bb-myFolderHeaderRow { + background: var(--bb-dark-panel); + border-color: rgba(148,163,184,0.32); +} +:global(.theme-dark) .bb-dragHint { + background: #3a3a3a; + border-color: rgba(148,163,184,0.32); + color: #ffffff; +} diff --git a/apps/web/src/router.js b/apps/web/src/router.js index 34a0b20..5e2766d 100644 --- a/apps/web/src/router.js +++ b/apps/web/src/router.js @@ -22,9 +22,6 @@ export const router = createRouter({ router.beforeEach(async (to) => { const loggedIn = Boolean(tokenRef.value); - // 已登录访问首页时,跳转到个人页 - if (to.path === "/" && loggedIn) return { path: "/my" }; - // 已登录访问登录页:直接去“我的” if (to.path === "/login" && loggedIn) return { path: "/my" }; diff --git a/apps/web/src/style.css b/apps/web/src/style.css index 1245ab7..162125c 100644 --- a/apps/web/src/style.css +++ b/apps/web/src/style.css @@ -4,11 +4,23 @@ /* Educational-platform claymorphism palette (vibrant + friendly) */ --bb-bg: #f0fdfa; --bb-text: #134e4a; + --bb-muted: rgba(19, 78, 74, 0.72); --bb-primary: #0d9488; --bb-primary-weak: #2dd4bf; --bb-cta: #ea580c; --bb-border: rgba(19, 78, 74, 0.12); --bb-border-strong: rgba(19, 78, 74, 0.20); + --bb-panel: rgba(255,255,255,0.55); + --bb-panel-strong: rgba(255,255,255,0.82); + --bb-panel-hover: rgba(255,255,255,0.75); + --bb-menu-bg: rgba(255,255,255,0.72); + --bb-menu-item-bg: rgba(255,255,255,0.35); + --bb-menu-item-hover: rgba(255,255,255,0.6); + --bb-nav-bg: rgba(255,255,255,0.55); + --bb-modal-bg: rgba(255,255,255,0.82); + --bb-modal-border: rgba(255,255,255,0.65); + --bb-folder-bg: rgba(255,255,255,0.35); + --bb-folder-hover: rgba(255,255,255,0.6); --bb-font-heading: "Baloo 2", Inter, ui-sans-serif, system-ui; @@ -105,7 +117,7 @@ input:focus-visible { } .bb-muted { - color: rgba(19, 78, 74, 0.72); + color: var(--bb-muted); font-size: 12px; } @@ -983,3 +995,119 @@ input:focus-visible { .bb-card--interactive:hover { animation: bb-float 2.8s ease-in-out infinite; } + +/* --- Dark theme overrides --- */ +.theme-dark { + --bb-text: #e2e8f0; + --bb-muted: rgba(226,232,240,0.82); + --bb-border: rgba(148, 163, 184, 0.28); + --bb-border-strong: rgba(148, 163, 184, 0.45); + --bb-primary: #22c55e; + --bb-primary-weak: rgba(34, 197, 94, 0.25); + --bb-cta: #38bdf8; + --bb-dark-panel: #2E2E2E; + --bb-panel: #2E2E2E; + --bb-panel-strong: #2E2E2E; + --bb-panel-hover: #3a3a3a; + --bb-menu-bg: #2E2E2E; + --bb-menu-item-bg: #3a3a3a; + --bb-menu-item-hover: #444444; + --bb-nav-bg: #2E2E2E; + --bb-modal-bg: #2E2E2E; + --bb-modal-border: rgba(148,163,184,0.32); + --bb-folder-bg: #2E2E2E; + --bb-folder-hover: #3a3a3a; + --bb-gradient: linear-gradient(180deg, #000000 0%, #050910 55%, #000000 100%); + --bb-clay: linear-gradient(145deg, rgba(46, 46, 46, 0.95), rgba(36, 36, 36, 0.92)); + --bb-shadow-clay: 0 22px 60px rgba(0, 0, 0, 0.55), 0 2px 0 rgba(255,255,255,0.06) inset, 0 -2px 0 rgba(0,0,0,0.35) inset; +} + +.theme-dark body { + background: var(--bb-gradient); + color: var(--bb-text); +} + +.theme-dark a { color: #38bdf8; } +.theme-dark a:hover { color: #22c55e; } + +/* Navigation */ +.theme-dark .nav { background: var(--bb-nav-bg); border-bottom: 1px solid rgba(148,163,184,0.35); } +.theme-dark .link { background: var(--bb-dark-panel); border: 1px solid rgba(148,163,184,0.28); color: var(--bb-text); } +.theme-dark .link.router-link-active { box-shadow: 0 12px 30px rgba(0,0,0,0.55); } +.theme-dark .brandMark { background: var(--bb-dark-panel); border-color: rgba(148,163,184,0.35); } + +/* Menu */ +.theme-dark .menu { background: var(--bb-menu-bg); border: 1px solid rgba(148,163,184,0.28); box-shadow: 0 24px 80px rgba(0,0,0,0.65); } +.theme-dark .menuItem { background: var(--bb-menu-item-bg); border: 1px solid rgba(148,163,184,0.28); color: var(--bb-text); } +.theme-dark .menuItem:hover { background: var(--bb-menu-item-hover); } +.theme-dark .menuItem.danger { color: #fecaca; background: rgba(185, 28, 28, 0.35); border-color: rgba(248, 113, 113, 0.45); } + +/* Inputs / selects */ +.theme-dark .bb-input, +.theme-dark .bb-select, +.theme-dark .bb-fileName, +.theme-dark .bb-selectTrigger { background: var(--bb-dark-panel); border-color: rgba(148,163,184,0.32); color: var(--bb-text); } +.theme-dark .bb-selectMenu { background: var(--bb-dark-panel); border-color: rgba(148,163,184,0.32); box-shadow: 0 22px 60px rgba(0,0,0,0.65); } +.theme-dark .bb-selectOption { color: var(--bb-text); } +.theme-dark .bb-selectOption:hover { background: rgba(34, 197, 94, 0.16); } +.theme-dark .bb-selectPlaceholder { color: rgba(226,232,240,0.72); } + +/* Buttons */ +.theme-dark .bb-btn--secondary { background: #3a3a3a; color: #ffffff; border-color: rgba(148,163,184,0.32); } +.theme-dark .bb-btn--danger { background: #3b0a0a; color: #ffffff; border-color: rgba(248,113,113,0.55); } + +/* Cards / panels */ +.theme-dark .bb-card, +.theme-dark .bb-pill, +.theme-dark .bb-miniStat, +.theme-dark .bb-iconBubble, +.theme-dark .bb-footerInner, +.theme-dark .bb-ctaGhost, +.theme-dark .bb-stat, +.theme-dark .bb-empty { + background: var(--bb-dark-panel); + border-color: rgba(148,163,184,0.32); + color: var(--bb-text); +} + +.theme-dark .bb-alert { background: rgba(56,189,248,0.16); border-color: rgba(56,189,248,0.45); color: #e0f2fe; } +.theme-dark .bb-alert--ok { background: rgba(34,197,94,0.16); border-color: rgba(34,197,94,0.45); color: #d1fae5; } +.theme-dark .bb-alert--error { background: rgba(239,68,68,0.16); border-color: rgba(239,68,68,0.45); color: #fecaca; } + +.theme-dark .bb-muted, +.theme-dark .bb-label, +.theme-dark .bb-footerCol a, +.theme-dark .bb-heroSub { color: rgba(226,232,240,0.82); } + +.theme-dark ::placeholder { color: rgba(226,232,240,0.55); } +.theme-dark .bb-searchClear { background: #3a3a3a; border-color: rgba(148,163,184,0.32); color: rgba(226,232,240,0.82); } +.theme-dark .bb-searchClear:hover { background: #444444; } + +/* Folder headers + drag hints */ +.theme-dark .bb-myFolderHeader { background: var(--bb-folder-bg); border-color: rgba(148,163,184,0.32); color: var(--bb-text); } +.theme-dark .bb-myFolderHeader:hover { background: var(--bb-folder-hover); } +.theme-dark .bb-myFolderHeader .meta { color: var(--bb-muted); } +.theme-dark .bb-myFolder.is-open > .bb-myFolderHeaderRow { + background: var(--bb-dark-panel); + border-color: rgba(148,163,184,0.32); +} +.theme-dark .bb-dragHint { + background: #3a3a3a; + border-color: rgba(148,163,184,0.32); + color: #ffffff; +} + +/* Modal dark */ +.theme-dark .bb-modalBackdrop { background: rgba(0, 0, 0, 0.75); } +.theme-dark .bb-modalPanel { + background: var(--bb-modal-bg); + border-color: var(--bb-modal-border); + box-shadow: 0 18px 60px rgba(0,0,0,0.55); +} +.theme-dark .bb-modalHeader { border-bottom: 1px solid rgba(148,163,184,0.18); } +.theme-dark .bb-modalClose { + background: #3a3a3a; + border-color: rgba(148,163,184,0.32); + color: #ffffff; +} +.theme-dark .bb-modalClose:hover { background: #444444; } diff --git a/package-lock.json b/package-lock.json index 8227caa..48d7d35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ } }, "apps/extension": { - "version": "1.0.3", + "version": "1.0.5", "dependencies": { "@browser-bookmark/shared": "file:../../packages/shared", "vue": "^3.5.24", @@ -52,7 +52,7 @@ } }, "apps/web": { - "version": "0.0.0", + "version": "1.0.4", "dependencies": { "@browser-bookmark/shared": "file:../../packages/shared", "sortablejs": "^1.15.6",