mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-11-01 05:06:58 +08:00
fix(webui): 手机端评审修正——插件市场分类下划线与焦点框不再被裁、通知抽屉去嵌套滚动并补无障碍名称、WebKit 隐藏 summary 原生箭头、仅 Windows 路径按反斜杠分组
This commit is contained in:
@@ -181,6 +181,7 @@ function onClearClick() {
|
||||
<ab-bottom-sheet
|
||||
v-if="isMobile"
|
||||
class="notification-sheet"
|
||||
:aria-label="$t('notifications.title')"
|
||||
:show="panelOpen"
|
||||
:show-close="false"
|
||||
@update:show="onShowChange"
|
||||
@@ -245,10 +246,18 @@ function onClearClick() {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.notification-sheet .ab-bottom-sheet__content {
|
||||
// 根元素同时带 .notification-sheet 与 .ab-bottom-sheet:比 ab-bottom-sheet 的
|
||||
// scoped 规则多一个类,不依赖样式表顺序。
|
||||
.notification-sheet.ab-bottom-sheet .ab-bottom-sheet__content {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
// 抽屉内容区已可滚动,去掉列表自身的高度上限,避免嵌套滚动
|
||||
.notification-sheet .notification-list {
|
||||
max-height: none;
|
||||
overflow-y: visible;
|
||||
}
|
||||
|
||||
.notification-panel {
|
||||
width: min(340px, calc(100vw - 24px));
|
||||
border-radius: var(--radius-md);
|
||||
|
||||
@@ -381,6 +381,7 @@ onActivated(async () => {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
list-style: none;
|
||||
min-height: var(--touch-target);
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
@@ -389,6 +390,10 @@ onActivated(async () => {
|
||||
flex-shrink: 0;
|
||||
transition: transform var(--transition-normal);
|
||||
}
|
||||
|
||||
&::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.plugin__options[open] > summary {
|
||||
|
||||
@@ -507,6 +507,14 @@ function permissionLabel(id: string) {
|
||||
max-width: 100%;
|
||||
overflow-x: auto;
|
||||
scrollbar-width: none;
|
||||
// overflow-x 让 overflow-y 也成了 auto,裁剪到 padding 盒:盒外的边框盖不到
|
||||
// 选中下划线(margin-bottom:-1px),焦点框也被裁。上下留 4px 并用背景线画边框,
|
||||
// 负 margin 抵消留白,布局与边线位置不变。
|
||||
padding-block: 4px;
|
||||
margin-block: -4px -3px;
|
||||
border-bottom: none;
|
||||
background: linear-gradient(var(--color-border), var(--color-border))
|
||||
left bottom 3px / 100% 1px no-repeat;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
display: none;
|
||||
|
||||
@@ -153,6 +153,7 @@ describe('downloader store', () => {
|
||||
it.each([
|
||||
['/downloads/Bangumi/Frieren/Season 1/', 'Frieren / Season 1'],
|
||||
['D:\\Downloads\\Bangumi\\Frieren\\Season 1\\', 'Frieren / Season 1'],
|
||||
['/downloads/Fate\\Zero/Season 1/', 'Fate\\Zero / Season 1'],
|
||||
])(
|
||||
'should label the group with the last folders when save_path is %s',
|
||||
(savePath, expected) => {
|
||||
|
||||
@@ -44,7 +44,9 @@ export const useDownloaderStore = defineStore('downloader', () => {
|
||||
const seasonOnlyRegex = /^(Season\s*\d+|S\d+|第\d+季)$/i;
|
||||
|
||||
for (const [savePath, items] of map) {
|
||||
const parts = savePath.split(/[\\/]/).filter(Boolean);
|
||||
// 仅 Windows 路径(盘符或 UNC)按反斜杠分割;POSIX 文件夹名可含反斜杠
|
||||
const isWindows = /^([a-z]:|\\\\)/i.test(savePath);
|
||||
const parts = savePath.split(isWindows ? /[\\/]/ : '/').filter(Boolean);
|
||||
let name = parts[parts.length - 1] || savePath;
|
||||
// If the last part is just a season folder, include the parent folder too
|
||||
if (parts.length >= 2 && seasonOnlyRegex.test(name)) {
|
||||
|
||||
Reference in New Issue
Block a user