feat(ui): modernize frontend layout and mobile experience - #683
Conversation
a107413 to
5dcd0b0
Compare
5dcd0b0 to
6a29c62
Compare
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.
|
Hi @deusyu, thank you very much for the time and effort you put into this PR. I reviewed the changes carefully, and there are many thoughtful improvements here—especially the responsive navigation, download workflow, task actions, bug fixes, and log panel. These ideas have been genuinely helpful. However, this PR also includes a broad visual redesign that replaces MediaGo’s existing app/PWA icons, brand colors, typography, and overall interface style. I would like to keep the project’s current visual identity, so unfortunately I’m not able to merge this PR as-is. This is not a negative assessment of the quality of your work. I’m planning to adapt several of the functional improvements and fixes separately while keeping them consistent with MediaGo’s existing design system. For future contributions, smaller PRs focused on an individual bug or feature—while preserving the existing brand assets and visual style—would be much easier to review and merge. Thank you again for the substantial contribution and for sharing these ideas with the project! |
Summary
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/tsdowninpackages/shared/commonAPP_TARGET=server NODE_ENV=production ./node_modules/.bin/vite buildinapps/uiAPP_TARGET=electron NODE_ENV=production ./node_modules/.bin/vite buildinapps/uioxlint --fix/oxfmt --writecompleted during commitNotes