@@ -3,6 +3,8 @@ import { Menu, MenuButton, MenuItems, MenuItem } from "@headlessui/vue"
33import {
44 EllipsisHorizontalIcon ,
55 ArrowsRightLeftIcon ,
6+ ArrowTopRightOnSquareIcon ,
7+ HomeModernIcon ,
68} from " @heroicons/vue/20/solid"
79import { useStorage } from " @vueuse/core"
810
@@ -13,6 +15,11 @@ function isMatchCategoryOption(key: string): boolean {
1315function turnToCategory(key : " angels" | " skills" | " items" ) {
1416 category .value = key
1517}
18+
19+ const alwaysTargetNewWindow = useStorage (" roco-new-window-target" , false )
20+ function toggleTargetMode() {
21+ alwaysTargetNewWindow .value = ! alwaysTargetNewWindow .value
22+ }
1623 </script >
1724
1825<template >
@@ -86,16 +93,27 @@ function turnToCategory(key: "angels" | "skills" | "items") {
8693 >
8794 </MenuItem >
8895 </div >
89- <MenuItem as =" div" class =" menu-item" v-slot =" { disabled, active }" >
90- <ArrowsRightLeftIcon class =" icon" />
96+ <MenuItem
97+ as =" div"
98+ class =" menu-item"
99+ v-slot =" { disabled, active }"
100+ @click =" toggleTargetMode()"
101+ >
102+ <ArrowTopRightOnSquareIcon
103+ v-show =" !alwaysTargetNewWindow"
104+ class =" icon"
105+ />
106+ <HomeModernIcon v-show =" alwaysTargetNewWindow" class =" icon" />
91107 <span
92108 :class =" [
93109 'text',
94110 disabled ? 'disabled' : null,
95111 active ? 'active' : null,
96112 ]"
97113 title =" 切换浏览模式"
98- >总是打开新页面</span
114+ >{{
115+ alwaysTargetNewWindow ? "总在当前页面" : "总是打开新页面"
116+ }}</span
99117 >
100118 </MenuItem >
101119 </MenuItems >
@@ -111,7 +129,7 @@ function turnToCategory(key: "angels" | "skills" | "items") {
111129
112130.menu-button {
113131 @apply py-1 px-1.5
114- bg-slate-200 dark :bg-slate-600
132+ bg-slate-200 dark :bg-slate-600 text-slate-500 dark:text-slate-300
115133 focus :ring-2 ring-green-400 dark:ring-green-500
116134 rounded transition-all outline-none shadow-md;
117135}
0 commit comments