Skip to content

feat(ui): modernize frontend layout and mobile experience#683

Open
deusyu wants to merge 4 commits into
mediago-dev:masterfrom
deusyu:feature/modern-ui-mobile
Open

feat(ui): modernize frontend layout and mobile experience#683
deusyu wants to merge 4 commits into
mediago-dev:masterfrom
deusyu:feature/modern-ui-mobile

Conversation

@deusyu

@deusyu deusyu commented Jun 21, 2026

Copy link
Copy Markdown

Summary

  • Modernize the shared React UI with a refreshed app shell, theme tokens, reusable UI primitives, and responsive desktop/tablet/mobile navigation.
  • Refresh the download list, completed downloads, new/edit download modal, task context menu, and log panel while keeping the existing data hooks and backend API flow.
  • Reskin settings, sign-in, source extraction, and converter pages for a more consistent cross-device experience.
  • Replace app/PWA icon assets and align the web manifest theme colors with the refreshed visual style.
  • Add the new user-facing strings to zh/en/it i18n resources.

This is intentionally a larger UI modernization pass. I am happy to split or adjust the scope if that is preferred by maintainers.

Verification

  • ./node_modules/.bin/tsdown in packages/shared/common
  • APP_TARGET=server NODE_ENV=production ./node_modules/.bin/vite build in apps/ui
  • APP_TARGET=electron NODE_ENV=production ./node_modules/.bin/vite build in apps/ui
  • Pre-commit oxlint --fix / oxfmt --write completed during commit

Notes

  • This PR contains only generic MediaGo frontend changes.
  • LazyCat packaging, app-store metadata, and microserver-specific integration work are intentionally not included.

@deusyu deusyu force-pushed the feature/modern-ui-mobile branch from a107413 to 5dcd0b0 Compare June 21, 2026 17:10
@deusyu deusyu force-pushed the feature/modern-ui-mobile branch from 5dcd0b0 to 6a29c62 Compare June 21, 2026 17:24
deusyu added 3 commits June 22, 2026 15:22
normalizePercent treated values <=1 as a 0-1 ratio and multiplied by 100,
so a real 1% became 100% and Math.max() then pinned it at 100 for the rest
of the download. Clamp to [0,100] instead.
The folder field defaulted to the absolute local download dir and submitted it
as the task folder. The Go core does filepath.Join(localDir, folder), so an
absolute folder double-nests the save path (localDir/localDir/file). Default
folder to empty (= download-dir root); show the dir as a placeholder hint only.
/share?url=<link>&name=&type=&folder= opens the prefilled New Download modal,
then redirects to the list. Auto-guesses the source type (bilibili/youtube/
m3u8/direct) from the URL. Enables one-tap 'share a link into MediaGo' from a
bookmarklet/extension, and (where the host can route a system share to an app
URL) the mobile share sheet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant