68 Commits

Author SHA1 Message Date
Ivan Kara
30bc84ebc9 feat(web): torrent list virtualization (#7674)
* add clusterize

* fix include clusterize css

* fix scroll jumping on very large list

* fix rapid fire of rpc calls when inspector is visible

* ensure detailed torrent data is fetched on selection changes too

* stop dispatching selection changed event on refilter

* remove duplicate event listener for torrent row clicks

* fix scroll into view and remove unnecessary stuff

* fix missing context menu

* fix missing row click

* set last torrent clicked id on right click

* remove unused variable

* Reduce clusterize row render count

* Remove excessive context_menu

* Tidy up a bit

* Restore unnecessary changes

* Apply prettier fix
2026-02-15 01:17:01 -06:00
Ivan Kara
eac1f24f0b feat(web): add webseeds list (#8421)
* Add webseeds list to web ui

* Better webseed url column title

* Apply suggestions

* Follow existing table row creation style

* Fix webseed table speed-down column

* Fix empty class error

* Add webseeds_ex to rpc changelogs

* Apply suggestions from CI

* Fix webseeds_ex rpc spec
2026-02-13 09:16:35 -06:00
Rukario
cc66625fd2 feat: new window "Appearance settings" for web app (#7318)
* feat: new window "Appearance settings" for web app

* feat: new window "Appearance settings" for web app
2026-02-05 08:49:17 -06:00
Rukario
2fa0b9ef6b feat: update & move turtle to own button on status bar of web app (#6940) 2025-11-13 20:24:29 -06:00
Rukario
26aba40529 feat: rename or copy name of individual file in web app (#7389) 2025-11-12 18:17:40 -06:00
Rukario
65d8dc69f1 feat: label mainwin buttons (#6985)
* feat: label mainwin buttons

* fix: trash icon semi-transparent lines overlap
2025-11-08 18:25:30 -06:00
Rukario
c35af04606 feat: revamped search bar for web client (#6948) 2025-11-05 14:21:50 -06:00
Rukario
90268076b8 refactor: clean up Flexbox style rules in CSS (#7358) 2025-11-03 12:26:37 -06:00
Rukario
7be9808ccd Privacy and error filter for web client (#6977)
Squashed all commits + co-authoring previous works

Co-authored-by: Derek Reiff <d@derekr.net>
Co-authored-by: Will Da Silva <will@willdasilva.xyz>
Co-authored-by: Yat Ho <46261767+tearfur@users.noreply.github.com>
2025-11-03 12:24:07 -06:00
Rukario
afdbfdbcda feat: viewport neutral layout and style for small viewports in web app (#7328)
* Update transmission-app.scss

* Update transmission-app.scss
2025-11-02 11:58:15 -06:00
Rukario
50e0ffb910 feat: tweak font size for web app (#7329) 2025-11-02 11:52:54 -06:00
Rukario
78c50747cc refactor: offload icons from HTMLdoc to JavaScript for icon deployment (#7277)
* Update index.html

* Update utils.js

* Update torrent-row.js

* Update transmission-app.scss

* Update transmission.js

* Freezing object with `Object.freeze`

Co-Authored-By: Yat Ho <lagoho7@gmail.com>

* Update torrent-row.js

* Update utils.js

* Prefers destructuring assignment over bracket notation accessor

Co-authored-by: Yat Ho <lagoho7@gmail.com>

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
2025-11-02 11:52:22 -06:00
Rukario
1d0db31ae7 feat: submenu to group away context menu items (#7263)
* Update context-menu.js

* Update transmission-app.scss

* Update transmission-app.scss

* Update transmission-app.scss

* Update context-menu.js

* Update transmission-app.scss

* Update context-menu.js

* Update transmission-app.scss

* Update context-menu.js

* Update transmission-app.scss

* Update context-menu.js

* Update action-manager.js

* Update context-menu.js

* Update context-menu.js

* Update action-manager.js

* Update context-menu.js

* Update context-menu.js

* Update context-menu.js

* Update context-menu.js
2025-10-30 18:19:48 -05:00
Yat Ho
d31e77a494 chore: update transmission-web package (#7003)
* chore: update minor versions

* chore: bump to `style-loader@4`

major version change

* refactor: combine `#mainwin-toolbar:nth-last-child(2)` rule

* refactor: cleanup scss definitions

Notes: `.single-file` is no longer used in code

* chore: bump `esbuild-sass-plugin@3` `esbuild@0.25`

* chore: uninstall unused `stylelint-config-standard`

In fact, it was never used since added to `package.json`.

* chore: bump `stylelint@16` `stylelint-config-sass-guidelines@12`

* chore: bump `eslint@9` `eslint-plugin-sonarjs@1` `eslint-plugin-unicorn@61`

* chore: enable prettier for whole `transmission-web` package

* chore: bump `@primer/stylelint-config@13`

* chore: update minor versions

* build: remove lint config files from CMake dependency

* chore: bump minor versions

* chore: bump `eslint-plugin-sonarjs@3`

* ci: use `actions/setup-node@v4` to install Node.js

So that there's no risk of the OS package manager's Node.js version being too low.

Except in Alpine, which does not work with `actions/setup-node@v4`. Ref: https://github.com/actions/setup-node/issues/387

* chore: replace `lodash.isEqual` with `fast-deep-equal`

* chore: bump minor versions

* chore: re-generate package-lock.json

* chore: fix lint errors
2025-10-25 12:09:36 -05:00
Rukario
c885646d65 fix: also share grid-area: icon; across full-compact modes (#7356) 2025-10-15 19:19:15 -05:00
Rukario
b5a447eecd refactor: centralize checkbox creation in overflow-menu.js (#7369)
`overflow-menu.js` also sees a favor of using `htmlFor = id` over `setAttribute('for', id)` for binding label to element id.

Update transmission-app.scss
2025-10-15 18:45:35 -05:00
Rukario
d083ca1130 fix: display icon correctly for multi-file torrents in compact view (#7352)
* fix: display icon correctly for multi-file torrents in compact view

* refactor: clean up unused codes
2025-10-15 14:19:25 -05:00
Rukario
3fdbeea2b6 feat: update color for priority buttons in web app (#7651) 2025-10-14 12:21:32 -05:00
Rukario
43577e3df2 refactor: drop className .full in favor of :not(.compact) (#7354) 2025-03-04 08:21:23 -06:00
Rukario
4f88a660a2 fix: use grid CSS to resolve the inflating rows by long torrent names in compact view (#7336) 2024-12-30 11:59:41 -06:00
Rukario
c3b48882b8 feat: remove per-torrent start/pause button from web client (#7292) 2024-12-25 13:08:20 -06:00
Rukario
713a96ffa1 feat: contract main area for inspector for large viewports (#7051) 2024-12-23 12:18:47 -06:00
Rukario
57e4849cde refactor: softcode/consolidate strings in torrent-row.js, normal appendChild order for compact mode (#7285) 2024-12-12 15:17:30 -06:00
Rukario
100e88826c fix: utilize gigabyte per second to conserve space and upload arrow clipping fix (#7279)
* Update transmission-app.scss

* Update formatter.js

* Update formatter.js
2024-12-08 21:44:18 -06:00
Rukario
e45fbade2e feat: more gray for grayed out objects 2024-11-17 17:33:16 -06:00
Rukario
dce515f37c feat: display percent in progress bar for web client (#5937)
* Update transmission-app.scss

* Update torrent-row.js

* Update transmission-app.scss

* Update transmission-app.scss

* Update transmission-app.scss

* Update transmission-app.scss

Co-authored-by: Yat Ho <lagoho7@gmail.com>

* Update file-row.js

Co-authored-by: Yat Ho <lagoho7@gmail.com>

* Update formatter.js

Co-authored-by: Yat Ho <lagoho7@gmail.com>

* Update inspector.js

Co-authored-by: Yat Ho <lagoho7@gmail.com>

* Update torrent-row.js

Co-authored-by: Yat Ho <lagoho7@gmail.com>

* Update torrent.js

Co-authored-by: Yat Ho <lagoho7@gmail.com>

* Update transmission-app.scss

* Update transmission-app.scss

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
2024-10-30 09:19:01 -05:00
Rukario
10333d23b2 fix: make name and hash readable (#7014) 2024-08-22 18:04:45 -05:00
Yat Ho
381c17e0bb webui: fixed width for speed info (#6739)
* webui: fixed width for speed info

* fix: match download icon-text gap with upload

* webui: move speed arrow to the right of the text
2024-05-25 13:32:01 -05:00
Gary Elshaw
45d3c678bc feat: webui use monochrome icons for play/pause buttons (#5868) 2024-03-15 00:15:01 -05:00
Gary Elshaw
ecb58e2966 feat: widen progressbar and increase font size in compact mode 2024-01-06 15:54:52 -06:00
Yat Ho
38aa28a831 fixup! chore: webui scss cleanup (#6471) (#6490) 2024-01-06 11:46:10 -06:00
Yat Ho
61ed621f55 chore: webui scss cleanup (#6471)
* chore: rename some colours to more accurate names

* chore: sort colour definitions

* chore: housekeeping

* fix: remove invalid css properties
2024-01-01 17:22:18 -06:00
Yat Ho
964bd31a2b fix: WebUI torrent title color when paused and highlighted in Light Mode (#6462) 2023-12-31 15:55:46 -06:00
Charles Kerr
036725df42 refactor: prefer css vars over sass (#6287)
* chore: prefer calc() over sass math module

* chore: remove unused mixins

* refactor: use css variables for symbolic color names

* refactor: use range syntax for media queries

* refactor: use css variables for symbolic dimensions, units

* refactor: use css variables for symbolic url names

* refactor: use css variables for mime icon urls

* fixup! refactor: use css variables for symbolic dimensions, units

* refactor: replace mime-icon mixin with css variables

* ci: run apt-update before apt-install
2023-11-24 11:01:00 -06:00
Rukario
ccce37ba6c refactor: unified shadow properties for web client (#5840) 2023-10-30 12:22:32 -04:00
Rukario
72a86bdf45 fix: fixed graying out buttons in dark mode (#5921) 2023-10-25 14:16:11 -04:00
Yat Ho
94797dfb6e feat: WebUI torrent tracker list style improvements (#6008) 2023-10-02 19:47:52 -05:00
Rukario
6cee75547c feat: add touchscreen support for context menu (#5928) 2023-09-27 10:48:16 -05:00
Rukario
b751b11918 feat: improved overflow menu for web client (#5895) 2023-09-25 20:37:49 -05:00
Derek Reiff
0e0c6b8e2b Add seed progress percentage to compact rows (#6034)
Fixes #6009

TorrentRendererFull actually uses the class `full` to add seeding progress. We can get seeding progress functionality in compact mode if we just apply the same progress indication to the compact rows, too. (Put simply: don't rely on the `full` class to apply progress percentage.)
2023-09-25 08:53:48 -05:00
Rukario
f0009a8373 feat: updated colors and label/button styles (#5897) 2023-09-04 22:05:16 -05:00
Rukario
29550f73b0 feat: improve responsiveness of UI 2023-09-01 17:52:17 -05:00
Rukario
45d9e37b2b feat: Improved filterbar for narrowed viewports (#5828) 2023-09-01 16:28:16 -05:00
Rukario
c5f5911fb9 fix: overflow-menu and context-menu positioning for small viewports (#5827) 2023-08-20 21:34:05 -05:00
Gary Elshaw
916534a687 ui: make web ui's progressbar colors closer to macOS client 2023-08-14 16:02:24 -05:00
Rukario
629f7cb86f fix: greying out of inspector in webui (#5893) 2023-08-13 20:53:58 -05:00
Derek Reiff
e5b43991bc Add readme with light setup instructions; minor UI tweaks (#5814)
* Add readme with light setup instructions; tweak ui

These are very minor changes that cover a few issues:

- WebUI Peer list too narrow #4209

On very small screens (for-phone-only), we modify width on some fields for less overlap. But we also truncate using `text-overflow: ellipsis` and `overflow-x: hidden`.

- properly style up/down speed icons

Moved SVG contents into index.html so we can make these style changes based on the `prefers-color-scheme` media query.

I also set a min-width, text-align: right on the download/upload label so they aren't shifting when going from 1 kB/s to 800 Mb/s.

- Add README for `web` directory

It made sense to add some super simple getting-started instructions for the directory.

- Limit input width in Add dialog of Web #5639

Add a width to the open-torrent file input, but also increase the modal dialog container size.

* Add bookmarklet for anonymizing screenshots

I see a lot of blurring going on in screenshots for issues and PRs, so this is a quick little bookmarklet trick to add lorem ipsum text to torrent-names.
2023-07-28 12:50:45 -05:00
Charles Kerr
1acfca9c3a build: bump web client dev-dependencies (#5789) 2023-07-14 19:26:48 -05:00
Gary Elshaw
b0e2f52784 fix: web ui start/pause button icon size (#5771) 2023-07-12 22:43:47 -05:00
Charles Kerr
0ef58c2a20 chore: improve lossless compression of png files (#5586) 2023-06-05 17:03:11 -05:00