Skip to content

feat(dashboard): Add open-tabs picker into AddLinkForm#2

Open
KanoCifer wants to merge 6 commits intoHarryHello:mainfrom
KanoCifer:feature/add-links-from-opentabs
Open

feat(dashboard): Add open-tabs picker into AddLinkForm#2
KanoCifer wants to merge 6 commits intoHarryHello:mainfrom
KanoCifer:feature/add-links-from-opentabs

Conversation

@KanoCifer
Copy link
Copy Markdown

Change

  • 合并 AddLinkByOpenTabs 组件,支持 manual/tabs 两种模式切换
  • 新增 favicon 缺失时的 Google logo SVG 回退
  • 主题选择器改用 SunIcon/MoonIcon 替换色圆
  • 分组导航增加高亮闪烁动画
  • 调整搜索框 focus 样式、active-bg 透明度

预览

截屏2026-05-07 18 23 43

- 合并 AddLinkByOpenTabs 组件,支持 manual/tabs 两种模式切换
- 新增 favicon 缺失时的 Google logo SVG 回退
- 主题选择器改用 SunIcon/MoonIcon 替换色圆
- 分组导航增加高亮闪烁动画
- 调整搜索框 focus 样式、active-bg 透明度
Copilot AI review requested due to automatic review settings May 7, 2026 10:24
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the dashboard UI by integrating the “open tabs” picker into AddLinkForm (manual vs. tabs modes) and polishing several visual details (theme selector icons, active background color, group navigation highlight animation, and focus/hover styling).

Changes:

  • Merged open-tabs selection into AddLinkForm with a manual/tabs mode switch and animated tabs list UI.
  • Added visual refinements: theme selector uses Sun/Moon icons, group navigation triggers a highlight animation, adjusted focus/active styles.
  • Introduced new icon components and updated favicon fallbacks in tab chips/cards.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/stores/theme.ts Tweaks light theme active background color to a semi-transparent accent.
src/components/tabs/PageChip.vue Adds favicon fallback SVG and minor chip styling tweaks.
src/components/tabs/MissionCard.vue Adds favicon fallback SVG and defines highlight animation class.
src/components/settings/SettingsPanel.vue Replaces theme preview color dots with Sun/Moon icons.
src/components/layout/GroupNav.vue Adds “scroll-to + highlight” behavior when clicking a group.
src/components/layout/Footer.vue Leaves commented-out positioning CSS in the footer styles.
src/components/icons/SunIcon.vue Adds SunIcon component.
src/components/icons/MoonIcon.vue Adds MoonIcon component.
src/components/icons/index.ts Exports the new Sun/Moon icons.
src/components/drawer/SearchInput.vue Adjusts focused styling (border width + slight scale).
src/components/dashboard/QuickLinkFrame.vue Imports and uses MoreIcon, and rotates it.
src/components/dashboard/AddLinkForm.vue Main feature: integrates open-tabs picker into the add-link flow.
src/assets/animations.scss Adds group-highlight-fade keyframes.
.gitignore Ignores Claude-related local files/folders.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +24 to +27
const openTabs = ref<OpenTab[]>([]);
const loadingTabs = ref(false);
const transitioning = ref(false);

Comment on lines +177 to +185
<img
v-if="tab.favIconUrl"
:src="tab.favIconUrl"
alt=""
width="18"
height="18"
@error="(e: Event) => (e.target as HTMLImageElement).style.display = 'none'"
/>
<span v-else class="tab-item__initial">{{ tab.title.charAt(0).toUpperCase() }}</span>
<button type="submit" class="modal-btn modal-btn--save" @click="handleSubmit">
<button
v-if="mode === 'manual'"
type="submit"
Comment on lines 40 to +47
function scrollToGroup(domain: string) {
const el = document.getElementById(`group-${domain}`);
if (el) {
el.scrollIntoView({ behavior: 'smooth', block: 'start' });
el.classList.add('group-highlight');
setTimeout(() => {
el.classList.remove('group-highlight');
}, 2000);
Comment thread src/components/tabs/MissionCard.vue Outdated
Comment on lines +94 to +97
</style>

<style lang="scss">
.group-highlight {
Comment thread src/components/tabs/PageChip.vue Outdated
Comment on lines +49 to +51
<svg
v-else
t="1778148840309" class="page-chip-favicon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3645" width="200" height="200"><path d="M214.101333 512c0-32.512 5.546667-63.701333 15.36-92.928L57.173333 290.218667A491.861333 491.861333 0 0 0 4.693333 512c0 79.701333 18.858667 154.88 52.394667 221.610667l172.202667-129.066667A290.56 290.56 0 0 1 214.101333 512" fill="#FBBC05" p-id="3646"></path><path d="M516.693333 216.192c72.106667 0 137.258667 25.002667 188.458667 65.962667L854.101333 136.533333C763.349333 59.178667 646.997333 11.392 516.693333 11.392c-202.325333 0-376.234667 113.28-459.52 278.826667l172.373334 128.853333c39.68-118.016 152.832-202.88 287.146666-202.88" fill="#EA4335" p-id="3647"></path><path d="M516.693333 807.808c-134.357333 0-247.509333-84.864-287.232-202.88l-172.288 128.853333c83.242667 165.546667 257.152 278.826667 459.52 278.826667 124.842667 0 244.053333-43.392 333.568-124.757333l-163.584-123.818667c-46.122667 28.458667-104.234667 43.776-170.026666 43.776" fill="#34A853" p-id="3648"></path><path d="M1005.397333 512c0-29.568-4.693333-61.44-11.648-91.008H516.650667V614.4h274.602666c-13.696 65.962667-51.072 116.650667-104.533333 149.632l163.541333 123.818667c93.994667-85.418667 155.136-212.650667 155.136-375.850667" fill="#4285F4" p-id="3649"></path></svg>
Comment thread src/components/layout/Footer.vue Outdated
Comment on lines +31 to +34
// position: fixed;
// bottom: 0;
// left: 0;
// right: 0;
Comment thread src/components/tabs/MissionCard.vue Outdated
Comment on lines +28 to +36
/>
<svg
v-else
t="1778148840309" class="mission-card-favicon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3645" width="200" height="200"><path d="M214.101333 512c0-32.512 5.546667-63.701333 15.36-92.928L57.173333 290.218667A491.861333 491.861333 0 0 0 4.693333 512c0 79.701333 18.858667 154.88 52.394667 221.610667l172.202667-129.066667A290.56 290.56 0 0 1 214.101333 512" fill="#FBBC05" p-id="3646"></path><path d="M516.693333 216.192c72.106667 0 137.258667 25.002667 188.458667 65.962667L854.101333 136.533333C763.349333 59.178667 646.997333 11.392 516.693333 11.392c-202.325333 0-376.234667 113.28-459.52 278.826667l172.373334 128.853333c39.68-118.016 152.832-202.88 287.146666-202.88" fill="#EA4335" p-id="3647"></path><path d="M516.693333 807.808c-134.357333 0-247.509333-84.864-287.232-202.88l-172.288 128.853333c83.242667 165.546667 257.152 278.826667 459.52 278.826667 124.842667 0 244.053333-43.392 333.568-124.757333l-163.584-123.818667c-46.122667 28.458667-104.234667 43.776-170.026666 43.776" fill="#34A853" p-id="3648"></path><path d="M1005.397333 512c0-29.568-4.693333-61.44-11.648-91.008H516.650667V614.4h274.602666c-13.696 65.962667-51.072 116.650667-104.533333 149.632l163.541333 123.818667c93.994667-85.418667 155.136-212.650667 155.136-375.850667" fill="#4285F4" p-id="3649"></path></svg>
KanoCifer added 3 commits May 7, 2026 19:34
…d code

-修复copilot review的提出的问题
- Replace onCreated listener with onUpdated dedup logic for index.html
- Add closeDuplicateNewTabs to close extra blank/new-tab pages on load
- Register background service worker and default_popup in manifest
- Remove dead onUpdated log listener and stale comments
- Normalize imports, semicolons, lang/title in index.html
@KanoCifer KanoCifer changed the title feat(dashboard): merge open-tabs picker into AddLinkForm feat(dashboard): Add open-tabs picker into AddLinkForm May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants