mirror of
https://github.com/Smile-QWQ/SubTracker.git
synced 2026-06-04 08:32:36 +08:00
## 中文 - 接入 shared locale-core、i18n 导出与 /api/v1/app/locale,让 lite 支持中英文切换与请求级语言透传。 - 为 App 壳子、登录页、设置页和离散消息接入本地化文案,并恢复 lite 的品牌与 Worker 提示语境。 - 同步通知模板、Apprise/Bark/NotifyX、Telegram MarkdownV2 与通知渠道设置面,保留 Worker 下仅支持 Resend、Webhook/Gotify 禁用忽略 SSL 的边界。 ## English - Add shared locale-core exports, i18n helpers, and /api/v1/app/locale so lite can switch locales and send request-scoped locale headers. - Localize the app shell, login page, settings page, and discrete messages while restoring lite branding and Worker-specific wording. - Sync notification templates, Apprise/Bark/NotifyX, Telegram MarkdownV2, and notification settings surfaces while keeping the Worker-only Resend and ignore-SSL restrictions.
37 lines
1.7 KiB
TypeScript
37 lines
1.7 KiB
TypeScript
import { readFileSync } from 'node:fs'
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
describe('app layout sidebar behavior', () => {
|
|
it('keeps desktop sidebar fixed and menu independently scrollable', () => {
|
|
const source = readFileSync('src/App.vue', 'utf8')
|
|
const globalStyle = readFileSync('src/style.css', 'utf8')
|
|
|
|
expect(source).toContain('content-style="overflow: visible;"')
|
|
expect(source).toContain('class="desktop-sider"')
|
|
expect(source).toContain('position: sticky;')
|
|
expect(source).toContain('height: 100vh;')
|
|
expect(source).toContain('overflow: visible;')
|
|
expect(source).toContain('align-self: flex-start;')
|
|
expect(source).toContain('overflow-y: auto;')
|
|
expect(source).toContain('class="main-content"')
|
|
expect(source).not.toContain('height: calc(100vh - 64px);')
|
|
expect(source).not.toContain('.main-content :deep(.n-layout-scroll-container)')
|
|
expect(globalStyle).toContain(":root[data-theme='dark']")
|
|
expect(globalStyle).toContain('background: #111827;')
|
|
expect(globalStyle).toContain('#app {')
|
|
expect(globalStyle).toContain('background: var(--app-bg);')
|
|
expect(source).toContain('brandLogoUrl')
|
|
expect(source).toContain('versionUpdateModalVisible')
|
|
expect(source).toContain('useVersionUpdateQuery')
|
|
expect(source).toContain('openVersionUpdatePanel')
|
|
expect(source).toContain('logo__update-dot')
|
|
expect(source).toContain("const appDisplayName = 'SubTracker'")
|
|
expect(source).toContain("const appVariant = 'Lite'")
|
|
expect(source).toContain('logo__variant')
|
|
expect(source).toContain("t('app.versionUpdates')")
|
|
expect(source).not.toContain('/budgets')
|
|
expect(source).not.toContain('预算统计')
|
|
expect(source).not.toContain('enableTagBudgets')
|
|
})
|
|
})
|