Commit Graph

171 Commits

Author SHA1 Message Date
Estrella Pan
8694434269 fix(webui): destructure non-reactive steps from setup store directly
`steps` is a plain array in the store, not a ref. Using `storeToRefs`
returned undefined, causing "Cannot read properties of undefined
(reading 'length')" at runtime.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-24 08:22:54 +01:00
Estrella Pan
5382aec8dc feat: add first-run setup wizard with guided configuration
Add a multi-step setup wizard that guides new users through initial
configuration on first run. The wizard covers account credentials,
download client connection (with test), RSS source, media paths,
and optional notification setup.

Backend: new /api/v1/setup/ endpoints with sentinel file mechanism.
Frontend: 7-step wizard with validation and i18n (en/zh-CN).

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-24 08:16:41 +01:00
Estrella Pan
3ff0a64e89 feat(webui): mobile-first responsive redesign with 3-tier breakpoints
Implement a comprehensive mobile-first UI redesign with touch-friendly
navigation, responsive data display, and proper device adaptation.

Key changes:
- Add 3-tier breakpoint system: mobile (<640px), tablet (640-1023px), desktop (1024px+)
- Create core mobile components: bottom-sheet, pull-refresh, swipe-container, data-list, adaptive-modal
- Redesign navigation: bottom nav with labels on mobile, mini sidebar on tablet
- Mobile-first layout with dvh units, safe area insets, and column-reverse flex
- Forms stack labels vertically on mobile, inputs go full-width
- Popups render as bottom sheets on mobile devices
- Bangumi grid uses CSS Grid with responsive minmax columns
- RSS page uses card-based data-list on mobile instead of NDataTable
- Config actions get safe area padding and full-width buttons on mobile/tablet
- Touch targets enforced at 44px minimum throughout
- Add sheet/overlay/swipe CSS transitions
- Topbar search visible on tablet (previously desktop-only)

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-24 07:37:50 +01:00
Estrella Pan
2a3a53449c feat(webui): redesign LLM settings section
- Rename "Experimental Setting" to "LLM Settings" with cleaner labels
- Replace jarring yellow warning banner with subtle themed notice
- Only show config fields when LLM is enabled (slide-fade transition)
- Add gpt-4o and gpt-4o-mini to model options
- Use scoped CSS instead of UnoCSS utility classes for the section
- Update i18n labels for both en and zh-CN

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:26:06 +01:00
Estrella Pan
a98a162500 feat: fix search, poster serving, and add hover overlay UI for cards
- Fix search store exports to match component expectations (inputValue,
  bangumiList, onSearch) and transform data to SearchResult format
- Fix poster endpoint path check that incorrectly blocked all requests
- Add resolvePosterUrl utility to handle both external URLs and local paths
- Move tags into hover overlay on homepage cards and calendar cards
- Show title and tags on poster hover with dark semi-transparent styling
- Add downloader API, store, and page
- Update backend to async patterns and uv migration changes
- Remove .claude/settings.local.json from tracking

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:20:12 +01:00
EstrellaXD
5a1a1ccfcf feat(webui): update settings, downloader, player, and log page styles
Restyle config components (ab-container, ab-fold-panel, ab-label,
ab-setting) and all config-* setting panels to use the new design
system. Add empty state guides with setup steps for downloader and
player pages. Simplify log page layout.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:52:13 +01:00
EstrellaXD
2a757e8f2c feat: add calendar view with Bangumi.tv schedule integration
Add weekly broadcast schedule page showing subscribed anime grouped by
day-of-week. Backend fetches air_weekday from Bangumi.tv calendar API
and matches titles. Frontend displays responsive grid (desktop) and
vertical list (mobile). Edit popup moved to parent layout to fix
KeepAlive conflicts, and restyled with purple theme.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:51:19 +01:00
EstrellaXD
29e4c16b40 fix(webui): improve passkey UI and error handling
- Add secondary button type to ab-button with proper styling
- Fix small button sizing (min-width instead of fixed width)
- Add btn-content wrapper for icon+text alignment in buttons
- Add config-passkey panel to settings page
- Improve WebAuthn error messages with DOMException handling
- Prevent duplicate error messages from axios interceptor
- Fix Vite proxy to preserve Origin header for WebAuthn

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:49:42 +01:00
EstrellaXD
41397bd676 Merge branch 'feature/passkey-login' into feature/ui-redesign
# Conflicts:
#	webui/src/components/ab-bangumi-card.vue
#	webui/src/components/ab-container.vue
#	webui/src/components/ab-fold-panel.vue
#	webui/src/components/ab-search-bar.vue
#	webui/src/components/basic/ab-search.vue
#	webui/src/components/basic/ab-tag.vue
#	webui/src/components/layout/ab-topbar.vue
#	webui/src/pages/index.vue
#	webui/src/pages/index/bangumi.vue
#	webui/src/pages/index/config.vue
#	webui/src/pages/index/player.vue
#	webui/src/pages/login.vue
#	webui/types/dts/auto-imports.d.ts
#	webui/vite.config.ts
2026-01-23 15:08:16 +01:00
EstrellaXD
d2cfd9b150 feat: add WebAuthn passkey authentication support
- Add passkey login as alternative authentication method
- Support multiple passkeys per user with custom names
- Backend: WebAuthn service, auth strategy pattern, API endpoints
- Frontend: passkey management UI in settings, login option
- Fix: convert downloader check from sync requests to async httpx
  to prevent blocking the event loop when downloader unavailable

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 14:57:00 +01:00
EstrellaXD
72679cca59 feat(webui): complete UI redesign with design system, dark mode, and accessibility
Implement a comprehensive UI overhaul using CSS custom properties for theming,
scoped SCSS for all components and pages, dark/light mode toggle with flash
prevention, page transitions, ARIA accessibility attributes, and responsive
layout fixes. Fix VueUse auto-import configuration and dev proxy target.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 14:54:26 +01:00
Rewrite0
94329ae544 fix: #855 2024-09-24 19:08:50 +08:00
Rewrite0
8972373cb7 fix: vue-tsc error 2024-09-23 16:53:02 +08:00
Rewrite0
cee640d9af fix: type error 2024-09-23 16:38:02 +08:00
Rewrite0
ec2856bf5a refactor: refactor search logic & remove rxjs 2024-09-23 16:07:48 +08:00
Rewrite0
a2eb8d3537 fix: type error 2024-09-23 16:04:31 +08:00
Rewrite0
fcdcde07ed feat: update deps 2024-09-23 15:49:52 +08:00
Rewrite0
4e7bcd743a fix: type error 2024-09-23 12:37:54 +08:00
Rewrite0
9aadcfd122 feat: added mobile search styles 2024-09-23 11:55:50 +08:00
Rewrite0
5092c7f093 feat: optimize mobile Bangumi list styles 2024-09-23 11:55:50 +08:00
Rewrite0
fa3d5a158a feat: add image component with adjustable aspect ratio 2024-09-23 11:55:50 +08:00
Rewrite0
bbbe66cfa0 fix: mobile end unable to display full screen 2024-09-23 11:55:50 +08:00
Rewrite0
7913061f45 ci: modify process 2024-05-31 16:37:22 +08:00
Rewrite0
b0eef9e8d2 fix: ci pnpm version 2024-05-31 16:05:52 +08:00
Rewrite0
ae43989bc8 feat: 移动端响应式布局 2024-05-29 15:25:10 +08:00
Rewrite0
104a6c5332 feat: hidden offset 2024-05-29 11:51:05 +08:00
Rewrite0
7a69789739 fix: 500 错误处理 2024-04-23 10:55:07 +08:00
Rewrite0
31631214bd feat: lodash 更换为 radash 2024-04-23 10:46:44 +08:00
EstrellaXD
004b1cefeb fix: error in build webui 2024-04-10 15:58:53 +08:00
EstrellaXD
006b5190f9 Merge remote-tracking branch 'origin/3.1-dev' into 3.1-dev
# Conflicts:
#	webui/src/components/ab-add-rss.vue
2024-04-10 15:28:45 +08:00
Rewrite0
72798304a9 fix: 重回log页log没有置底的问题 2024-03-08 11:45:33 +08:00
Rewrite0
13cca7915e feat: bangumi-card 增加字幕组信息 2024-03-08 11:22:05 +08:00
Rewrite0
4194a67117 fix: setConfig 2024-03-08 11:10:16 +08:00
Rewrite0
6a0ffa4411 feat: 日志着色 & 日志更新时间更改为 10s & 增加立即更新日志按钮 2024-03-08 11:05:08 +08:00
Rewrite0
b3f6255768 feat: 修改RSS条目样式 2024-03-08 09:01:49 +08:00
Rewrite0
c95fe89d5d refactor: 整理unocss,重构useApi,完善通知i18n,调整了一些代码写法,调整了一些样式,清理了一些无用依赖和代码 2024-03-07 15:58:33 +08:00
Rewrite0
c20369fb95 feat: Enable Vue JSX support 2024-03-05 10:38:22 +08:00
Rewrite0
4499dc1d4e feat: default hidden downloader page 2024-03-05 10:04:02 +08:00
KotaHv
2149182a54 fix: rss.parser set to default value when subscribe Bangumi 2024-01-24 21:09:25 +08:00
Rewrite0
ff8b858592 feat: Remove possible downloader host prefixes 2023-12-21 09:43:32 +08:00
Estrella Pan
b9474dc13b Merge pull request #611 from EstrellaXD/3.1-dev
3.1.11
2023-10-31 21:29:26 +08:00
Rewrite0
abd946b0f2 feat: add qb iframe page 2023-10-24 13:26:46 +08:00
Rewrite0
7cf8cd5010 fix: determine 2023-10-16 16:09:00 +08:00
Rewrite0
361eb1a5ca fix: determine 2023-10-16 16:06:29 +08:00
Rewrite0
454b77c6d6 fix: determine 2023-10-16 16:03:46 +08:00
Maikiwi
66eb5147c0 pr requested changes 2023-10-16 00:45:27 -07:00
Maikiwi
6964ac9b97 修了一些feature 2023-10-15 04:13:50 -07:00
Maikiwi
d1bcce05dc condense to isloggedin 2023-10-15 03:59:45 -07:00
Maikiwi
fa595b965f emove token from Window.localStorage​ 2023-10-15 03:00:51 -07:00
Rewrite0
25538558fe fix: return returnUserLangText 2023-10-15 13:07:57 +08:00