feat(dashboard): Add open-tabs picker into AddLinkForm#2
Open
KanoCifer wants to merge 6 commits intoHarryHello:mainfrom
Open
feat(dashboard): Add open-tabs picker into AddLinkForm#2KanoCifer wants to merge 6 commits intoHarryHello:mainfrom
KanoCifer wants to merge 6 commits intoHarryHello:mainfrom
Conversation
- 合并 AddLinkByOpenTabs 组件,支持 manual/tabs 两种模式切换 - 新增 favicon 缺失时的 Google logo SVG 回退 - 主题选择器改用 SunIcon/MoonIcon 替换色圆 - 分组导航增加高亮闪烁动画 - 调整搜索框 focus 样式、active-bg 透明度
There was a problem hiding this comment.
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
AddLinkFormwith 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 on lines
+94
to
+97
| </style> | ||
|
|
||
| <style lang="scss"> | ||
| .group-highlight { |
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 on lines
+31
to
+34
| // position: fixed; | ||
| // bottom: 0; | ||
| // left: 0; | ||
| // right: 0; |
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> |
…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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change
预览