feat: Add settings to Show/Hide fields in mobile torrent card (#687) @Larsluph

This commit is contained in:
Rémi Marseault 2023-03-04 10:36:53 +01:00 committed by GitHub
parent a822702e69
commit 88bc9317c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 1035 additions and 599 deletions

View file

@ -2,299 +2,477 @@
## [1.4.0](https://github.com/WDaan/VueTorrent/compare/v1.3.2...v1.4.0) (2023-02-28)
### Features
* Add import / export settings button ([#659](https://github.com/WDaan/VueTorrent/issues/659)) @Larsluph ([7caa19a](https://github.com/WDaan/VueTorrent/commit/7caa19ab889464d00d58630f93a84e98fbb82eca))
* Add tracker host in Dashboard ([#679](https://github.com/WDaan/VueTorrent/issues/679)) [@flashlab](https://github.com/flashlab) ([bf9484b](https://github.com/WDaan/VueTorrent/commit/bf9484b1426ad8de166b725745b409c898cc56e5))
- Add import / export settings button ([#659](https://github.com/WDaan/VueTorrent/issues/659)) @Larsluph
([7caa19a](https://github.com/WDaan/VueTorrent/commit/7caa19ab889464d00d58630f93a84e98fbb82eca))
- Add tracker host in Dashboard ([#679](https://github.com/WDaan/VueTorrent/issues/679)) [@flashlab](https://github.com/flashlab)
([bf9484b](https://github.com/WDaan/VueTorrent/commit/bf9484b1426ad8de166b725745b409c898cc56e5))
### Bug Fixes
* 400 when adding trackers ([#674](https://github.com/WDaan/VueTorrent/issues/674)) @Larsluph ([9d31ff4](https://github.com/WDaan/VueTorrent/commit/9d31ff4360997b03273751b7aa45c143b6ac0cf8))
* Drag-and-Drop not working ([#669](https://github.com/WDaan/VueTorrent/issues/669)) @Larsluph ([141318a](https://github.com/WDaan/VueTorrent/commit/141318affc5e26e98abcd8d292e75e0636b7a3db))
* Fix JSON validation not working ([#682](https://github.com/WDaan/VueTorrent/issues/682)) ([2784ab9](https://github.com/WDaan/VueTorrent/commit/2784ab97cf67f019ab259471eda2b957ed81f6a2))
* Handle Windows path separators ([#675](https://github.com/WDaan/VueTorrent/issues/675)) @Larsluph ([f4646e2](https://github.com/WDaan/VueTorrent/commit/f4646e2e669191e51f06f1abeb0d37bf1aa7663c))
* incorrect enum values for MaxRatioAction ([#673](https://github.com/WDaan/VueTorrent/issues/673)) @Larsluph ([afa9f0e](https://github.com/WDaan/VueTorrent/commit/afa9f0ef3065702c0d55f1a7ca5a78066610264c))
- 400 when adding trackers ([#674](https://github.com/WDaan/VueTorrent/issues/674)) @Larsluph
([9d31ff4](https://github.com/WDaan/VueTorrent/commit/9d31ff4360997b03273751b7aa45c143b6ac0cf8))
- Drag-and-Drop not working ([#669](https://github.com/WDaan/VueTorrent/issues/669)) @Larsluph
([141318a](https://github.com/WDaan/VueTorrent/commit/141318affc5e26e98abcd8d292e75e0636b7a3db))
- Fix JSON validation not working ([#682](https://github.com/WDaan/VueTorrent/issues/682))
([2784ab9](https://github.com/WDaan/VueTorrent/commit/2784ab97cf67f019ab259471eda2b957ed81f6a2))
- Handle Windows path separators ([#675](https://github.com/WDaan/VueTorrent/issues/675)) @Larsluph
([f4646e2](https://github.com/WDaan/VueTorrent/commit/f4646e2e669191e51f06f1abeb0d37bf1aa7663c))
- incorrect enum values for MaxRatioAction ([#673](https://github.com/WDaan/VueTorrent/issues/673)) @Larsluph
([afa9f0e](https://github.com/WDaan/VueTorrent/commit/afa9f0ef3065702c0d55f1a7ca5a78066610264c))
### Improvements
* Rework toast msg for clipboard API ([#677](https://github.com/WDaan/VueTorrent/issues/677)) ([3e2466a](https://github.com/WDaan/VueTorrent/commit/3e2466ac8fb383efb735845c74c89b3adf314045))
* Sort tags alphabetically ([#683](https://github.com/WDaan/VueTorrent/issues/683)) @Larsluph ([3d1415d](https://github.com/WDaan/VueTorrent/commit/3d1415deab5a90ebca718e086bc8bfc13dca88cc))
- Rework toast msg for clipboard API ([#677](https://github.com/WDaan/VueTorrent/issues/677))
([3e2466a](https://github.com/WDaan/VueTorrent/commit/3e2466ac8fb383efb735845c74c89b3adf314045))
- Sort tags alphabetically ([#683](https://github.com/WDaan/VueTorrent/issues/683)) @Larsluph
([3d1415d](https://github.com/WDaan/VueTorrent/commit/3d1415deab5a90ebca718e086bc8bfc13dca88cc))
### [1.3.2](https://github.com/WDaan/VueTorrent/compare/v1.3.1...v1.3.2) (2023-02-19)
### Bug Fixes
* dark theme color [#662](https://github.com/WDaan/VueTorrent/issues/662) ([2921cca](https://github.com/WDaan/VueTorrent/commit/2921cca79cb50280c4f6fbc84dc4aebb48aa0c39))
* peers not showing up ([#660](https://github.com/WDaan/VueTorrent/issues/660)) ([d8ca97d](https://github.com/WDaan/VueTorrent/commit/d8ca97d92821eaf455079a4248d7af95d643fe34))
* phone check shutdown modal ([ff9f159](https://github.com/WDaan/VueTorrent/commit/ff9f1594cdebb73aa2daf97f83e6520d77dbcd4b))
* Replace root_folder param with contentLayout & stopCondition ([#665](https://github.com/WDaan/VueTorrent/issues/665)) @Larsluph ([f0ddc60](https://github.com/WDaan/VueTorrent/commit/f0ddc603bdab2c5ee155e2289d573818407cf4d9))
* Unwanted torrent selection during search ([#664](https://github.com/WDaan/VueTorrent/issues/664)) @MBR-0001 ([a56aa63](https://github.com/WDaan/VueTorrent/commit/a56aa63ab9988a689b9fb40a34e345d8e239bafa))
- dark theme color [#662](https://github.com/WDaan/VueTorrent/issues/662) ([2921cca](https://github.com/WDaan/VueTorrent/commit/2921cca79cb50280c4f6fbc84dc4aebb48aa0c39))
- peers not showing up ([#660](https://github.com/WDaan/VueTorrent/issues/660)) ([d8ca97d](https://github.com/WDaan/VueTorrent/commit/d8ca97d92821eaf455079a4248d7af95d643fe34))
- phone check shutdown modal ([ff9f159](https://github.com/WDaan/VueTorrent/commit/ff9f1594cdebb73aa2daf97f83e6520d77dbcd4b))
- Replace root_folder param with contentLayout & stopCondition ([#665](https://github.com/WDaan/VueTorrent/issues/665)) @Larsluph
([f0ddc60](https://github.com/WDaan/VueTorrent/commit/f0ddc603bdab2c5ee155e2289d573818407cf4d9))
- Unwanted torrent selection during search ([#664](https://github.com/WDaan/VueTorrent/issues/664)) @MBR-0001
([a56aa63](https://github.com/WDaan/VueTorrent/commit/a56aa63ab9988a689b9fb40a34e345d8e239bafa))
### Improvements
* Add RSS unread filter ([#657](https://github.com/WDaan/VueTorrent/issues/657)) @Larsluph ([bc5695b](https://github.com/WDaan/VueTorrent/commit/bc5695b8703704c5a540c515fa754f6b53428fcb))
- Add RSS unread filter ([#657](https://github.com/WDaan/VueTorrent/issues/657)) @Larsluph
([bc5695b](https://github.com/WDaan/VueTorrent/commit/bc5695b8703704c5a540c515fa754f6b53428fcb))
## [2.0.0](https://github.com/lyaschuchenko/VueTorrent/compare/v1.3.1...v2.0.0) (2023-02-15)
### ⚠ BREAKING CHANGES
* move to vite + typescript => BREAKS PWA, please re-install! (#352)
- move to vite + typescript => BREAKS PWA, please re-install! (#352)
### Features
* 1st torrent progress in title [#166](https://github.com/lyaschuchenko/VueTorrent/issues/166) ([5faa248](https://github.com/lyaschuchenko/VueTorrent/commit/5faa248395e6edd4e892717fcd0ce41ae27efe08))
* Add Batch change location ([#574](https://github.com/lyaschuchenko/VueTorrent/issues/574)) ([060c3c3](https://github.com/lyaschuchenko/VueTorrent/commit/060c3c3a1c463e988014fe1ae52569921a68d545))
* add completed on [#571](https://github.com/lyaschuchenko/VueTorrent/issues/571) ([e242bad](https://github.com/lyaschuchenko/VueTorrent/commit/e242bad1af2c4a2f7824b2d0018e28a3e3ac580b))
* add dialog missing options [#418](https://github.com/lyaschuchenko/VueTorrent/issues/418) ([68223f5](https://github.com/lyaschuchenko/VueTorrent/commit/68223f5f45da3a4819b43398707fed1e172468e8))
* add directory to dashboard and sort [#538](https://github.com/lyaschuchenko/VueTorrent/issues/538) ([f474709](https://github.com/lyaschuchenko/VueTorrent/commit/f474709d4f28b20fe4c0ef92f56de76b924f5d0b))
* Add globalSpeed and globalVolume computed values to torrent properties ([#599](https://github.com/lyaschuchenko/VueTorrent/issues/599)) @Larsluph ([3e1d341](https://github.com/lyaschuchenko/VueTorrent/commit/3e1d3411b7158ec7b8665f2d677b62eca8846d66))
* add max_ratio_act handling ([#523](https://github.com/lyaschuchenko/VueTorrent/issues/523)) [@giacomocerquone](https://github.com/giacomocerquone) ([b05dcd0](https://github.com/lyaschuchenko/VueTorrent/commit/b05dcd0569e526f66420c9e2d30ef5f4e9fc864b))
* add pending pieces color to canvas ([#592](https://github.com/lyaschuchenko/VueTorrent/issues/592)) @Larsluph ([5132d4d](https://github.com/lyaschuchenko/VueTorrent/commit/5132d4decf207d508e91f8b65ced31d50dc3f838))
* Add shutdown button in TopActions ([#633](https://github.com/lyaschuchenko/VueTorrent/issues/633)) @Larsluph ([ab75f32](https://github.com/lyaschuchenko/VueTorrent/commit/ab75f32c5f6225fb9b2615f2880b2ef40037820a))
* Add support for "autorun on torrent added" option ([#580](https://github.com/lyaschuchenko/VueTorrent/issues/580)) @Larsluph ([19bf989](https://github.com/lyaschuchenko/VueTorrent/commit/19bf989c7ea8d8f3ed16ab35416575bfcdc3c21c))
* add support for setting global speed limits ([#406](https://github.com/lyaschuchenko/VueTorrent/issues/406)) ([23fee41](https://github.com/lyaschuchenko/VueTorrent/commit/23fee419fd1561f440f88e4b354ac3745ed813cd))
* Add tag support in Dashboard, TorrentDetail and Add Modal ([#570](https://github.com/lyaschuchenko/VueTorrent/issues/570)) ([0a175cc](https://github.com/lyaschuchenko/VueTorrent/commit/0a175ccb437f9ad5609b85482a63dfbc2e6f0e9a))
* add uploaded property ([#145](https://github.com/lyaschuchenko/VueTorrent/issues/145)) ([0a58d98](https://github.com/lyaschuchenko/VueTorrent/commit/0a58d98b9f50affee99f05fb4f93d9b37d38ac76))
* Add/Ban peers support ([#598](https://github.com/lyaschuchenko/VueTorrent/issues/598)) @Larsluph ([59b47db](https://github.com/lyaschuchenko/VueTorrent/commit/59b47dbc8d28675d78892651be79536db3df9b33))
* additional connection settings [#317](https://github.com/lyaschuchenko/VueTorrent/issues/317) ([54b3456](https://github.com/lyaschuchenko/VueTorrent/commit/54b345682f18b45fc6f6fe5d7a732bb87932f664))
* auto install search plugins when none installed ([abc5457](https://github.com/lyaschuchenko/VueTorrent/commit/abc5457882892ce4840ae0eef7a438e5ea4c7c90))
* auto refresh peers ([dfd10be](https://github.com/lyaschuchenko/VueTorrent/commit/dfd10beeab4c757ff1ac0c3eecbdc4e740573a75))
* auto releasing ci ([#146](https://github.com/lyaschuchenko/VueTorrent/issues/146)) ([d217627](https://github.com/lyaschuchenko/VueTorrent/commit/d217627d9ad15535bfe67116790a78414c44c673))
* basic fake torrent generator [#518](https://github.com/lyaschuchenko/VueTorrent/issues/518) ([d3cda1a](https://github.com/lyaschuchenko/VueTorrent/commit/d3cda1a6499fcc2a7c4a548862b9c1e4fa338c23))
* basic limit share ratio [#308](https://github.com/lyaschuchenko/VueTorrent/issues/308) ([2c1fc34](https://github.com/lyaschuchenko/VueTorrent/commit/2c1fc34ebdc6f096628d23a6072ea1970764b267))
* basic multilang support ([#320](https://github.com/lyaschuchenko/VueTorrent/issues/320)) ([a7cc03c](https://github.com/lyaschuchenko/VueTorrent/commit/a7cc03c3ba60f7dbc2d18fff78a0b5f5c6db4b1a))
* basic proxy support [#261](https://github.com/lyaschuchenko/VueTorrent/issues/261) ([71a09fc](https://github.com/lyaschuchenko/VueTorrent/commit/71a09fc58a9c29037cfc87fa6c6f0cfdb645233e))
* Basic rss interface ([#447](https://github.com/lyaschuchenko/VueTorrent/issues/447)) ([732e519](https://github.com/lyaschuchenko/VueTorrent/commit/732e5193ec76d521249ac6fb73c4a6e975091476))
* bypass authentication ([#310](https://github.com/lyaschuchenko/VueTorrent/issues/310)) ([b069ce4](https://github.com/lyaschuchenko/VueTorrent/commit/b069ce490e74baf003c9c92cd780c51414702c13))
* checkbox + button with color feedback for TorrentDeleteModal ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
* copy name/hash/magnet [#277](https://github.com/lyaschuchenko/VueTorrent/issues/277) ([42afd92](https://github.com/lyaschuchenko/VueTorrent/commit/42afd921274c0be3fc122a4d5b8d2aeae5fe0c13))
* create nightly build ([1cdbb95](https://github.com/lyaschuchenko/VueTorrent/commit/1cdbb95f8ca258430f85eb7d3385dc134d5c3b48))
* custom date format support [#340](https://github.com/lyaschuchenko/VueTorrent/issues/340) ([e08a445](https://github.com/lyaschuchenko/VueTorrent/commit/e08a4456ee3ce76af3c3a47c7a15cbb5141a4663))
* drawer on right side [#276](https://github.com/lyaschuchenko/VueTorrent/issues/276) ([a18bded](https://github.com/lyaschuchenko/VueTorrent/commit/a18bded9cb9792b3301008cc717b52053191c8f9))
* fullscreen toggle on torrent info modal (desktop) ([1de9e64](https://github.com/lyaschuchenko/VueTorrent/commit/1de9e6459657c386332d146352c3ed765f70fa3c))
* improved per-torrent speed limits modal ([#172](https://github.com/lyaschuchenko/VueTorrent/issues/172)) ([7bed9ee](https://github.com/lyaschuchenko/VueTorrent/commit/7bed9eef12321e06bb143d96f02326d967e6f739))
* Last Activity support [#217](https://github.com/lyaschuchenko/VueTorrent/issues/217) ([1d9279a](https://github.com/lyaschuchenko/VueTorrent/commit/1d9279a3764578fbc25ded4c0b035be855d04163))
* Links in torrent details view are now clickable ([#506](https://github.com/lyaschuchenko/VueTorrent/issues/506)) ([f1536cb](https://github.com/lyaschuchenko/VueTorrent/commit/f1536cb010e2ebc8d7d026a62be491e8a3a04cfa))
* move to vite + typescript => BREAKS PWA, please re-install! ([#352](https://github.com/lyaschuchenko/VueTorrent/issues/352)) ([5aa83fa](https://github.com/lyaschuchenko/VueTorrent/commit/5aa83fa95e0c072822b1c13910455b18f7a6bbb8))
* New Logo ([b2858a4](https://github.com/lyaschuchenko/VueTorrent/commit/b2858a4f68238867996cfe5e61e0947dae3af022))
* New select mode color ([8f8d3db](https://github.com/lyaschuchenko/VueTorrent/commit/8f8d3dbb765d950baa9c5e7654a356e2d300ed28))
* open addmodal when dragging a file into the dashboard ([5807db5](https://github.com/lyaschuchenko/VueTorrent/commit/5807db5e99ac84436261e9d0e2b9a6767d851ba2))
* optional top pagination [#539](https://github.com/lyaschuchenko/VueTorrent/issues/539) ([8a59d10](https://github.com/lyaschuchenko/VueTorrent/commit/8a59d10483e351ae95a8c32e878189411ce50ec1))
* piece states progress bar ([#426](https://github.com/lyaschuchenko/VueTorrent/issues/426)) ([1722a14](https://github.com/lyaschuchenko/VueTorrent/commit/1722a14dba74dafca3b373d50c6dcd94814ab074))
* PWA splash & bar color ([dfbed5c](https://github.com/lyaschuchenko/VueTorrent/commit/dfbed5cb05c0b6974c09c86c6e82e1478f1100d6))
* remember delete with files preference [#291](https://github.com/lyaschuchenko/VueTorrent/issues/291) ([684bbec](https://github.com/lyaschuchenko/VueTorrent/commit/684bbecff0f7fe239f0ee05dfb5392b4a6401069))
* remove torrent files with checkbox [#199](https://github.com/lyaschuchenko/VueTorrent/issues/199) ([0eddf64](https://github.com/lyaschuchenko/VueTorrent/commit/0eddf6458ea3b72ce19282fbcd07e19ff96fd3f8))
* render "active time" in torrent info tab ([#537](https://github.com/lyaschuchenko/VueTorrent/issues/537)) [@invakid404](https://github.com/invakid404) ([d3cf4d5](https://github.com/lyaschuchenko/VueTorrent/commit/d3cf4d5795b1a62a8bc1e5a4645408657c4956cd))
* run external program on torrent completion [#258](https://github.com/lyaschuchenko/VueTorrent/issues/258) ([99fa1c4](https://github.com/lyaschuchenko/VueTorrent/commit/99fa1c419d47516a1e265e753c127fedf370ffec))
* Show connection status at the bottom of Navbar ([#255](https://github.com/lyaschuchenko/VueTorrent/issues/255)) ([204d74c](https://github.com/lyaschuchenko/VueTorrent/commit/204d74c4e84df5404819796e9e5078c01106990a))
* show created by info [#279](https://github.com/lyaschuchenko/VueTorrent/issues/279) ([7a7562e](https://github.com/lyaschuchenko/VueTorrent/commit/7a7562e54e66aebbf782baefa89b1f17e5119afa))
* sidebar on launch option [#182](https://github.com/lyaschuchenko/VueTorrent/issues/182) ([fca51c5](https://github.com/lyaschuchenko/VueTorrent/commit/fca51c536fe8cb96c878501c386efcb4ee868ff6))
* Speed cards as pills with icon in first column and speed on top of the unit in second column ([#169](https://github.com/lyaschuchenko/VueTorrent/issues/169)) ([354fe4f](https://github.com/lyaschuchenko/VueTorrent/commit/354fe4f5f870bb48613ef390341c4c1971e2936e))
* support for renaming folders ([#500](https://github.com/lyaschuchenko/VueTorrent/issues/500)) ([cf8f43a](https://github.com/lyaschuchenko/VueTorrent/commit/cf8f43aac3c235cf616bed4c1ce1ceda0fad8fe4))
* torrent detail infinity sign for unlimited speeds ([#173](https://github.com/lyaschuchenko/VueTorrent/issues/173)) ([6f9a5d5](https://github.com/lyaschuchenko/VueTorrent/commit/6f9a5d5fefd9c0a2622ce62588ee717f762b7eee))
* use confirmation modal when deleting from context menu [#191](https://github.com/lyaschuchenko/VueTorrent/issues/191) ([53c548b](https://github.com/lyaschuchenko/VueTorrent/commit/53c548b502bacc95bab59026b836eb2bb2b785ec))
- 1st torrent progress in title [#166](https://github.com/lyaschuchenko/VueTorrent/issues/166)
([5faa248](https://github.com/lyaschuchenko/VueTorrent/commit/5faa248395e6edd4e892717fcd0ce41ae27efe08))
- Add Batch change location ([#574](https://github.com/lyaschuchenko/VueTorrent/issues/574))
([060c3c3](https://github.com/lyaschuchenko/VueTorrent/commit/060c3c3a1c463e988014fe1ae52569921a68d545))
- add completed on [#571](https://github.com/lyaschuchenko/VueTorrent/issues/571)
([e242bad](https://github.com/lyaschuchenko/VueTorrent/commit/e242bad1af2c4a2f7824b2d0018e28a3e3ac580b))
- add dialog missing options [#418](https://github.com/lyaschuchenko/VueTorrent/issues/418)
([68223f5](https://github.com/lyaschuchenko/VueTorrent/commit/68223f5f45da3a4819b43398707fed1e172468e8))
- add directory to dashboard and sort [#538](https://github.com/lyaschuchenko/VueTorrent/issues/538)
([f474709](https://github.com/lyaschuchenko/VueTorrent/commit/f474709d4f28b20fe4c0ef92f56de76b924f5d0b))
- Add globalSpeed and globalVolume computed values to torrent properties ([#599](https://github.com/lyaschuchenko/VueTorrent/issues/599)) @Larsluph
([3e1d341](https://github.com/lyaschuchenko/VueTorrent/commit/3e1d3411b7158ec7b8665f2d677b62eca8846d66))
- add max_ratio_act handling ([#523](https://github.com/lyaschuchenko/VueTorrent/issues/523)) [@giacomocerquone](https://github.com/giacomocerquone)
([b05dcd0](https://github.com/lyaschuchenko/VueTorrent/commit/b05dcd0569e526f66420c9e2d30ef5f4e9fc864b))
- add pending pieces color to canvas ([#592](https://github.com/lyaschuchenko/VueTorrent/issues/592)) @Larsluph
([5132d4d](https://github.com/lyaschuchenko/VueTorrent/commit/5132d4decf207d508e91f8b65ced31d50dc3f838))
- Add shutdown button in TopActions ([#633](https://github.com/lyaschuchenko/VueTorrent/issues/633)) @Larsluph
([ab75f32](https://github.com/lyaschuchenko/VueTorrent/commit/ab75f32c5f6225fb9b2615f2880b2ef40037820a))
- Add support for "autorun on torrent added" option ([#580](https://github.com/lyaschuchenko/VueTorrent/issues/580)) @Larsluph
([19bf989](https://github.com/lyaschuchenko/VueTorrent/commit/19bf989c7ea8d8f3ed16ab35416575bfcdc3c21c))
- add support for setting global speed limits ([#406](https://github.com/lyaschuchenko/VueTorrent/issues/406))
([23fee41](https://github.com/lyaschuchenko/VueTorrent/commit/23fee419fd1561f440f88e4b354ac3745ed813cd))
- Add tag support in Dashboard, TorrentDetail and Add Modal ([#570](https://github.com/lyaschuchenko/VueTorrent/issues/570))
([0a175cc](https://github.com/lyaschuchenko/VueTorrent/commit/0a175ccb437f9ad5609b85482a63dfbc2e6f0e9a))
- add uploaded property ([#145](https://github.com/lyaschuchenko/VueTorrent/issues/145))
([0a58d98](https://github.com/lyaschuchenko/VueTorrent/commit/0a58d98b9f50affee99f05fb4f93d9b37d38ac76))
- Add/Ban peers support ([#598](https://github.com/lyaschuchenko/VueTorrent/issues/598)) @Larsluph
([59b47db](https://github.com/lyaschuchenko/VueTorrent/commit/59b47dbc8d28675d78892651be79536db3df9b33))
- additional connection settings [#317](https://github.com/lyaschuchenko/VueTorrent/issues/317)
([54b3456](https://github.com/lyaschuchenko/VueTorrent/commit/54b345682f18b45fc6f6fe5d7a732bb87932f664))
- auto install search plugins when none installed ([abc5457](https://github.com/lyaschuchenko/VueTorrent/commit/abc5457882892ce4840ae0eef7a438e5ea4c7c90))
- auto refresh peers ([dfd10be](https://github.com/lyaschuchenko/VueTorrent/commit/dfd10beeab4c757ff1ac0c3eecbdc4e740573a75))
- auto releasing ci ([#146](https://github.com/lyaschuchenko/VueTorrent/issues/146))
([d217627](https://github.com/lyaschuchenko/VueTorrent/commit/d217627d9ad15535bfe67116790a78414c44c673))
- basic fake torrent generator [#518](https://github.com/lyaschuchenko/VueTorrent/issues/518)
([d3cda1a](https://github.com/lyaschuchenko/VueTorrent/commit/d3cda1a6499fcc2a7c4a548862b9c1e4fa338c23))
- basic limit share ratio [#308](https://github.com/lyaschuchenko/VueTorrent/issues/308)
([2c1fc34](https://github.com/lyaschuchenko/VueTorrent/commit/2c1fc34ebdc6f096628d23a6072ea1970764b267))
- basic multilang support ([#320](https://github.com/lyaschuchenko/VueTorrent/issues/320))
([a7cc03c](https://github.com/lyaschuchenko/VueTorrent/commit/a7cc03c3ba60f7dbc2d18fff78a0b5f5c6db4b1a))
- basic proxy support [#261](https://github.com/lyaschuchenko/VueTorrent/issues/261)
([71a09fc](https://github.com/lyaschuchenko/VueTorrent/commit/71a09fc58a9c29037cfc87fa6c6f0cfdb645233e))
- Basic rss interface ([#447](https://github.com/lyaschuchenko/VueTorrent/issues/447))
([732e519](https://github.com/lyaschuchenko/VueTorrent/commit/732e5193ec76d521249ac6fb73c4a6e975091476))
- bypass authentication ([#310](https://github.com/lyaschuchenko/VueTorrent/issues/310))
([b069ce4](https://github.com/lyaschuchenko/VueTorrent/commit/b069ce490e74baf003c9c92cd780c51414702c13))
- checkbox + button with color feedback for TorrentDeleteModal ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
- copy name/hash/magnet [#277](https://github.com/lyaschuchenko/VueTorrent/issues/277)
([42afd92](https://github.com/lyaschuchenko/VueTorrent/commit/42afd921274c0be3fc122a4d5b8d2aeae5fe0c13))
- create nightly build ([1cdbb95](https://github.com/lyaschuchenko/VueTorrent/commit/1cdbb95f8ca258430f85eb7d3385dc134d5c3b48))
- custom date format support [#340](https://github.com/lyaschuchenko/VueTorrent/issues/340)
([e08a445](https://github.com/lyaschuchenko/VueTorrent/commit/e08a4456ee3ce76af3c3a47c7a15cbb5141a4663))
- drawer on right side [#276](https://github.com/lyaschuchenko/VueTorrent/issues/276)
([a18bded](https://github.com/lyaschuchenko/VueTorrent/commit/a18bded9cb9792b3301008cc717b52053191c8f9))
- fullscreen toggle on torrent info modal (desktop) ([1de9e64](https://github.com/lyaschuchenko/VueTorrent/commit/1de9e6459657c386332d146352c3ed765f70fa3c))
- improved per-torrent speed limits modal ([#172](https://github.com/lyaschuchenko/VueTorrent/issues/172))
([7bed9ee](https://github.com/lyaschuchenko/VueTorrent/commit/7bed9eef12321e06bb143d96f02326d967e6f739))
- Last Activity support [#217](https://github.com/lyaschuchenko/VueTorrent/issues/217)
([1d9279a](https://github.com/lyaschuchenko/VueTorrent/commit/1d9279a3764578fbc25ded4c0b035be855d04163))
- Links in torrent details view are now clickable ([#506](https://github.com/lyaschuchenko/VueTorrent/issues/506))
([f1536cb](https://github.com/lyaschuchenko/VueTorrent/commit/f1536cb010e2ebc8d7d026a62be491e8a3a04cfa))
- move to vite + typescript => BREAKS PWA, please re-install! ([#352](https://github.com/lyaschuchenko/VueTorrent/issues/352))
([5aa83fa](https://github.com/lyaschuchenko/VueTorrent/commit/5aa83fa95e0c072822b1c13910455b18f7a6bbb8))
- New Logo ([b2858a4](https://github.com/lyaschuchenko/VueTorrent/commit/b2858a4f68238867996cfe5e61e0947dae3af022))
- New select mode color ([8f8d3db](https://github.com/lyaschuchenko/VueTorrent/commit/8f8d3dbb765d950baa9c5e7654a356e2d300ed28))
- open addmodal when dragging a file into the dashboard ([5807db5](https://github.com/lyaschuchenko/VueTorrent/commit/5807db5e99ac84436261e9d0e2b9a6767d851ba2))
- optional top pagination [#539](https://github.com/lyaschuchenko/VueTorrent/issues/539)
([8a59d10](https://github.com/lyaschuchenko/VueTorrent/commit/8a59d10483e351ae95a8c32e878189411ce50ec1))
- piece states progress bar ([#426](https://github.com/lyaschuchenko/VueTorrent/issues/426))
([1722a14](https://github.com/lyaschuchenko/VueTorrent/commit/1722a14dba74dafca3b373d50c6dcd94814ab074))
- PWA splash & bar color ([dfbed5c](https://github.com/lyaschuchenko/VueTorrent/commit/dfbed5cb05c0b6974c09c86c6e82e1478f1100d6))
- remember delete with files preference [#291](https://github.com/lyaschuchenko/VueTorrent/issues/291)
([684bbec](https://github.com/lyaschuchenko/VueTorrent/commit/684bbecff0f7fe239f0ee05dfb5392b4a6401069))
- remove torrent files with checkbox [#199](https://github.com/lyaschuchenko/VueTorrent/issues/199)
([0eddf64](https://github.com/lyaschuchenko/VueTorrent/commit/0eddf6458ea3b72ce19282fbcd07e19ff96fd3f8))
- render "active time" in torrent info tab ([#537](https://github.com/lyaschuchenko/VueTorrent/issues/537)) [@invakid404](https://github.com/invakid404)
([d3cf4d5](https://github.com/lyaschuchenko/VueTorrent/commit/d3cf4d5795b1a62a8bc1e5a4645408657c4956cd))
- run external program on torrent completion [#258](https://github.com/lyaschuchenko/VueTorrent/issues/258)
([99fa1c4](https://github.com/lyaschuchenko/VueTorrent/commit/99fa1c419d47516a1e265e753c127fedf370ffec))
- Show connection status at the bottom of Navbar ([#255](https://github.com/lyaschuchenko/VueTorrent/issues/255))
([204d74c](https://github.com/lyaschuchenko/VueTorrent/commit/204d74c4e84df5404819796e9e5078c01106990a))
- show created by info [#279](https://github.com/lyaschuchenko/VueTorrent/issues/279)
([7a7562e](https://github.com/lyaschuchenko/VueTorrent/commit/7a7562e54e66aebbf782baefa89b1f17e5119afa))
- sidebar on launch option [#182](https://github.com/lyaschuchenko/VueTorrent/issues/182)
([fca51c5](https://github.com/lyaschuchenko/VueTorrent/commit/fca51c536fe8cb96c878501c386efcb4ee868ff6))
- Speed cards as pills with icon in first column and speed on top of the unit in second column ([#169](https://github.com/lyaschuchenko/VueTorrent/issues/169))
([354fe4f](https://github.com/lyaschuchenko/VueTorrent/commit/354fe4f5f870bb48613ef390341c4c1971e2936e))
- support for renaming folders ([#500](https://github.com/lyaschuchenko/VueTorrent/issues/500))
([cf8f43a](https://github.com/lyaschuchenko/VueTorrent/commit/cf8f43aac3c235cf616bed4c1ce1ceda0fad8fe4))
- torrent detail infinity sign for unlimited speeds ([#173](https://github.com/lyaschuchenko/VueTorrent/issues/173))
([6f9a5d5](https://github.com/lyaschuchenko/VueTorrent/commit/6f9a5d5fefd9c0a2622ce62588ee717f762b7eee))
- use confirmation modal when deleting from context menu [#191](https://github.com/lyaschuchenko/VueTorrent/issues/191)
([53c548b](https://github.com/lyaschuchenko/VueTorrent/commit/53c548b502bacc95bab59026b836eb2bb2b785ec))
### Bug Fixes
* "405 Method Not Allowed" when renaming torrent ([#551](https://github.com/lyaschuchenko/VueTorrent/issues/551)) ([66dc741](https://github.com/lyaschuchenko/VueTorrent/commit/66dc74182545705003e3bcb4460224a18a57e830))
* "409 Conflict" on file/folder rename ([#597](https://github.com/lyaschuchenko/VueTorrent/issues/597)) ([004c8f5](https://github.com/lyaschuchenko/VueTorrent/commit/004c8f57d2db1da9032848e783497bcc3c239df2))
* 0 speed when no speed data returned ([a7b8ed9](https://github.com/lyaschuchenko/VueTorrent/commit/a7b8ed9da3dbca8d2f3be0665880d3cda5f5a50b))
* Add caret color to dark theme ([#564](https://github.com/lyaschuchenko/VueTorrent/issues/564)) ([45c65ae](https://github.com/lyaschuchenko/VueTorrent/commit/45c65ae394db6fc722afa13408ba74b4a55bf240))
* add progress border + percentage [#430](https://github.com/lyaschuchenko/VueTorrent/issues/430) ([acc0733](https://github.com/lyaschuchenko/VueTorrent/commit/acc07335d31b027cd7ca989959c6d450a957010e))
* add tracker dialog bug [#187](https://github.com/lyaschuchenko/VueTorrent/issues/187) ([7c7e40d](https://github.com/lyaschuchenko/VueTorrent/commit/7c7e40d4a5105ce3e0e9422551ad6cd2673da932))
* allow native context menu in input elements ([#428](https://github.com/lyaschuchenko/VueTorrent/issues/428)) ([b8ad965](https://github.com/lyaschuchenko/VueTorrent/commit/b8ad965763fd647b230f7fcbd9798d182cefd762))
* altspeed value ([aadb3f2](https://github.com/lyaschuchenko/VueTorrent/commit/aadb3f2171d38d5a94f9ca9847c50137669055b3))
* always fetch full data (more reliable) ([89cf6ba](https://github.com/lyaschuchenko/VueTorrent/commit/89cf6ba32c7a4b24cd0ea4d358e56e1d859d4665))
* anonymous mode [#362](https://github.com/lyaschuchenko/VueTorrent/issues/362) ([27a0717](https://github.com/lyaschuchenko/VueTorrent/commit/27a07179f08225292e2e26fb57bbfa6f846b272b))
* application version getter ([#222](https://github.com/lyaschuchenko/VueTorrent/issues/222)) ([6535ac5](https://github.com/lyaschuchenko/VueTorrent/commit/6535ac56265d3062c877f35fa5e44b9635e26fcd))
* broken build [#453](https://github.com/lyaschuchenko/VueTorrent/issues/453) ([8f1a12d](https://github.com/lyaschuchenko/VueTorrent/commit/8f1a12d15fa438e55194a9c807bbdc0115a3deda))
* category create validation ([#552](https://github.com/lyaschuchenko/VueTorrent/issues/552)) ([edc0330](https://github.com/lyaschuchenko/VueTorrent/commit/edc0330bafdedc98e2e5f7df6bc2894bbcf5a281))
* category download folder [#435](https://github.com/lyaschuchenko/VueTorrent/issues/435) ([5a0ec26](https://github.com/lyaschuchenko/VueTorrent/commit/5a0ec26ddb7b9c7fc1a03102684fd2268b2ae33f))
* category download folder not showing correctly ([#448](https://github.com/lyaschuchenko/VueTorrent/issues/448)) ([06579c8](https://github.com/lyaschuchenko/VueTorrent/commit/06579c8bbee5f991f195df596054da8751d0ea72))
* change rss-unread color from white to #ccc ([#643](https://github.com/lyaschuchenko/VueTorrent/issues/643)) [@hqwuzhaoyi](https://github.com/hqwuzhaoyi) ([dd02cdb](https://github.com/lyaschuchenko/VueTorrent/commit/dd02cdb564803495af0ea60a61c65562b3fe8ea5))
* chart flickering ([#644](https://github.com/lyaschuchenko/VueTorrent/issues/644)) @Hans1208 ([5e3d6b7](https://github.com/lyaschuchenko/VueTorrent/commit/5e3d6b778892fc6b157ba533f288e77ceed091c7))
* connection password type [#456](https://github.com/lyaschuchenko/VueTorrent/issues/456) ([a8616cc](https://github.com/lyaschuchenko/VueTorrent/commit/a8616cce545ed579e39db9e64c0005a74eee63d5))
* connection status [#482](https://github.com/lyaschuchenko/VueTorrent/issues/482) ([e047467](https://github.com/lyaschuchenko/VueTorrent/commit/e0474671042dc7b1c4f2490018c5484e4730ccf1))
* Context menu placement ([ed08c91](https://github.com/lyaschuchenko/VueTorrent/commit/ed08c914ebde9fba53e8b24f58c0a80918569b26))
* Cookies not sent with request for Web App manifest.json ([#504](https://github.com/lyaschuchenko/VueTorrent/issues/504)) ([2efe73a](https://github.com/lyaschuchenko/VueTorrent/commit/2efe73ad7e51c7b45ad65827503d4c3fcebd58a4))
* copy to clipboard on non secure context (no SSL) [#521](https://github.com/lyaschuchenko/VueTorrent/issues/521) ([058766f](https://github.com/lyaschuchenko/VueTorrent/commit/058766f617e39f57bd56d68557b32797d70d4947))
* dark theme glitch ([2b913d5](https://github.com/lyaschuchenko/VueTorrent/commit/2b913d5064d6c5135ed19c720cdccaaaf792fe4c))
* Dashboard items not using $store.state reference ([#601](https://github.com/lyaschuchenko/VueTorrent/issues/601)) ([add11c9](https://github.com/lyaschuchenko/VueTorrent/commit/add11c9548472396a7c4e2c483128de25380b616))
* Default change location not prefilling ([#583](https://github.com/lyaschuchenko/VueTorrent/issues/583)) @Larsluph ([b53c331](https://github.com/lyaschuchenko/VueTorrent/commit/b53c331d4c98635f38945d9898ab72358bb7bf34))
* disabling plugins [#443](https://github.com/lyaschuchenko/VueTorrent/issues/443) ([3b98949](https://github.com/lyaschuchenko/VueTorrent/commit/3b989499b867f00618a0a567831c9a1dcdc65418))
* double click opens info [#287](https://github.com/lyaschuchenko/VueTorrent/issues/287) ([c8ffce5](https://github.com/lyaschuchenko/VueTorrent/commit/c8ffce59b1ebb7b72575f8797d35942bdfe62ef4))
* Duplicate reference in dashboard settings ([#618](https://github.com/lyaschuchenko/VueTorrent/issues/618)) @Larsluph ([ea7e68c](https://github.com/lyaschuchenko/VueTorrent/commit/ea7e68ca2a48b19292d9b9b5388bcba8664d04bb))
* Establish Service WalkerRules ([#227](https://github.com/lyaschuchenko/VueTorrent/issues/227)) ([04971dc](https://github.com/lyaschuchenko/VueTorrent/commit/04971dcf874c2f952f57c3abef94d8d92337e488))
* favicon [#441](https://github.com/lyaschuchenko/VueTorrent/issues/441) ([745376c](https://github.com/lyaschuchenko/VueTorrent/commit/745376c02be7a1d9398feb5181bebe9026d22638))
* favicon [#441](https://github.com/lyaschuchenko/VueTorrent/issues/441) ([b7e7de1](https://github.com/lyaschuchenko/VueTorrent/commit/b7e7de1e9095228d9207845201c0ceff814623a4))
* font-size difference in right click menu ([#505](https://github.com/lyaschuchenko/VueTorrent/issues/505)) ([a8f28dd](https://github.com/lyaschuchenko/VueTorrent/commit/a8f28dd5b468924f7dcf09d101e438a15e1269ba))
* Forced state not present in MobileCard ([#632](https://github.com/lyaschuchenko/VueTorrent/issues/632)) @Larsluph ([7114ce1](https://github.com/lyaschuchenko/VueTorrent/commit/7114ce12df6bf7a0992406245277093c52d16002))
* free space toggle [#541](https://github.com/lyaschuchenko/VueTorrent/issues/541) ([f8c3b7d](https://github.com/lyaschuchenko/VueTorrent/commit/f8c3b7dc38ff1a7a52a130982f86d82cc4fb61c4))
* general fixes and README update ([#562](https://github.com/lyaschuchenko/VueTorrent/issues/562)) ([8b6caf0](https://github.com/lyaschuchenko/VueTorrent/commit/8b6caf03359128581077471ce1d80d1308f1a2b6))
* Global Speed Title (upload & download were switched) ([#218](https://github.com/lyaschuchenko/VueTorrent/issues/218)) ([906f6d5](https://github.com/lyaschuchenko/VueTorrent/commit/906f6d5f872b848fc7b3c5071c51a9696ce7c734))
* interrupted divider in torrenfinfo [#151](https://github.com/lyaschuchenko/VueTorrent/issues/151) ([d362aef](https://github.com/lyaschuchenko/VueTorrent/commit/d362aef27574bb6a60c3675eef52655f1a57bebe))
* Invalid deconstruct on qbit service ([#623](https://github.com/lyaschuchenko/VueTorrent/issues/623)) ([5a2ed4e](https://github.com/lyaschuchenko/VueTorrent/commit/5a2ed4ea99a81f5566e3276acb8faae42adcc035))
* invisble close button on modal [#314](https://github.com/lyaschuchenko/VueTorrent/issues/314) [#297](https://github.com/lyaschuchenko/VueTorrent/issues/297) ([8001dc9](https://github.com/lyaschuchenko/VueTorrent/commit/8001dc91c738e4b9bfa9dd8a6b6b52249e727f5a))
* issue where 'torrent details' modal does not work properly on iOS ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
* layout issues + remove vue-perfect-scrollbar + refactor context menu ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
* load default folder [#417](https://github.com/lyaschuchenko/VueTorrent/issues/417) ([c63d0a4](https://github.com/lyaschuchenko/VueTorrent/commit/c63d0a403939c99a442a10563789cb8753d67771))
* load missing filters at startup ([#567](https://github.com/lyaschuchenko/VueTorrent/issues/567)) ([87de795](https://github.com/lyaschuchenko/VueTorrent/commit/87de79555b5aad8827fd5f15dbf53239cdea10c9))
* login autocomplete render issue [#474](https://github.com/lyaschuchenko/VueTorrent/issues/474) ([ef64c38](https://github.com/lyaschuchenko/VueTorrent/commit/ef64c38f099fca1be5db45741c60afc04fff3065))
* login console error on refresh ([254d7c8](https://github.com/lyaschuchenko/VueTorrent/commit/254d7c8562e3fec5a16b4f65a4de0382ef7662c1))
* login prompt being displayed when whitelisted ([#511](https://github.com/lyaschuchenko/VueTorrent/issues/511)) ([077cf54](https://github.com/lyaschuchenko/VueTorrent/commit/077cf54c6bb5ccc7e5ccf9b94731ec468bd17ecd))
* logout [#286](https://github.com/lyaschuchenko/VueTorrent/issues/286) ([9121230](https://github.com/lyaschuchenko/VueTorrent/commit/912123098e5fca6193ebb6f66ad06c8442d07861))
* low visibility text in dark theme ([#390](https://github.com/lyaschuchenko/VueTorrent/issues/390)) ([84750af](https://github.com/lyaschuchenko/VueTorrent/commit/84750af3d4d584f5fc0fd8f3cbabd1b0ecfa2e9f))
* magnet text area max size [#413](https://github.com/lyaschuchenko/VueTorrent/issues/413) ([4dd81f7](https://github.com/lyaschuchenko/VueTorrent/commit/4dd81f7cd49ab807fddeb50ff2e871364fd955e5))
* margin when freespace card is disabled ([6be41e3](https://github.com/lyaschuchenko/VueTorrent/commit/6be41e33cfb0eb365df18e53c396cd4a36d4b8e5))
* mention QBittorent [#356](https://github.com/lyaschuchenko/VueTorrent/issues/356) ([bbc31fb](https://github.com/lyaschuchenko/VueTorrent/commit/bbc31fb8c5be1cc1189000e53f90ba7886e05ba8))
* mobile search [#156](https://github.com/lyaschuchenko/VueTorrent/issues/156) - maybe redesign in future ([463dabd](https://github.com/lyaschuchenko/VueTorrent/commit/463dabde00a34c495d238aff4fd82ea65acc9e54))
* mobile search [#156](https://github.com/lyaschuchenko/VueTorrent/issues/156) - maybe redesign in future ([0f62f4d](https://github.com/lyaschuchenko/VueTorrent/commit/0f62f4df6763e4449b1ceab946092f9b67b06411))
* no autocapitalize on login form [#489](https://github.com/lyaschuchenko/VueTorrent/issues/489) ([e352de0](https://github.com/lyaschuchenko/VueTorrent/commit/e352de0643dec66256f5565be6a686ee00f040e5))
* non-capital words ([#432](https://github.com/lyaschuchenko/VueTorrent/issues/432)) ([ce1e7c3](https://github.com/lyaschuchenko/VueTorrent/commit/ce1e7c3546c150243fede941bd8b4b724e4a5c27))
* Persistent add modal ([d517d9f](https://github.com/lyaschuchenko/VueTorrent/commit/d517d9f3341e59de572118922b43a9e1adb8c9ad))
* proper unit for up/dl speed in details ([#547](https://github.com/lyaschuchenko/VueTorrent/issues/547)) ([b2ceda2](https://github.com/lyaschuchenko/VueTorrent/commit/b2ceda28e548849f11f28503e27a081ad3818317))
* proper unit for up/dl speed in graph ([#548](https://github.com/lyaschuchenko/VueTorrent/issues/548)) ([a6dac31](https://github.com/lyaschuchenko/VueTorrent/commit/a6dac31fbc5b902e3df562c97497daab121abee3))
* push precompiled release in a public folder ([adfc6a0](https://github.com/lyaschuchenko/VueTorrent/commit/adfc6a00f2e0b2e09f7f4e67a2efc3dc1db50194))
* PWA manifest [#405](https://github.com/lyaschuchenko/VueTorrent/issues/405) ([94727a1](https://github.com/lyaschuchenko/VueTorrent/commit/94727a142a1822c533c665d558ad4af6c207d5b9))
* Qbittorrent title on tab ([05bcc9e](https://github.com/lyaschuchenko/VueTorrent/commit/05bcc9e58783e4de49d698cfd25c902fad7776de))
* refresh torrent detail data from store ([#509](https://github.com/lyaschuchenko/VueTorrent/issues/509)) ([5270619](https://github.com/lyaschuchenko/VueTorrent/commit/5270619a5d27eba380a33a8f12632c2c61611886))
* release build ([7a74275](https://github.com/lyaschuchenko/VueTorrent/commit/7a74275a4d15280205ec1e749415da1cb0cd7e41))
* remove black box on iOS PWA [#180](https://github.com/lyaschuchenko/VueTorrent/issues/180) ([f918ff5](https://github.com/lyaschuchenko/VueTorrent/commit/f918ff5ee5c0ddd1c288caa261bbd95e40de4d24))
* remove device darkmode because its unreliable [#285](https://github.com/lyaschuchenko/VueTorrent/issues/285) ([e6c0863](https://github.com/lyaschuchenko/VueTorrent/commit/e6c0863545c4a6a24ecc57158ff61421d17f9070))
* remove gesture feature on tabs (buggy anyway) ([0960962](https://github.com/lyaschuchenko/VueTorrent/commit/0960962441e424c28c8ad6014a79f733f495b881))
* remove search shortcut [#561](https://github.com/lyaschuchenko/VueTorrent/issues/561) ([0c6562e](https://github.com/lyaschuchenko/VueTorrent/commit/0c6562efb374a98b51749b7fba93a8be730c1169))
* remove vue-context import ([edcd825](https://github.com/lyaschuchenko/VueTorrent/commit/edcd825969f6876b1962dc8875be4b9447704820))
* replace v-html with conditional rendering in torrent details view ([#513](https://github.com/lyaschuchenko/VueTorrent/issues/513)) ([6d873e7](https://github.com/lyaschuchenko/VueTorrent/commit/6d873e76fc63544673bda673ff377c0b9b810706))
* Russian language ([#494](https://github.com/lyaschuchenko/VueTorrent/issues/494)) ([72548fa](https://github.com/lyaschuchenko/VueTorrent/commit/72548fac4ad7e5002a83b80c0b9cdb6b2d82e075))
* save path on category [#481](https://github.com/lyaschuchenko/VueTorrent/issues/481) ([954560e](https://github.com/lyaschuchenko/VueTorrent/commit/954560ee9675ce40f7131482fec83f87e7ef4296))
* scrollbar ([c460e29](https://github.com/lyaschuchenko/VueTorrent/commit/c460e29d95eb034266b3ae1006ebb57001f5aa83))
* search results not loading until stopped ([#391](https://github.com/lyaschuchenko/VueTorrent/issues/391)) ([8b126d8](https://github.com/lyaschuchenko/VueTorrent/commit/8b126d8df5607f1c31174fec81f86091f4ad47cf))
* searchmodal pagination layout ([a9a9aff](https://github.com/lyaschuchenko/VueTorrent/commit/a9a9aff74f1310df724b0661011c97f798cdfaf6))
* selection list not cleared when closing deletemodal without button press ([80573f4](https://github.com/lyaschuchenko/VueTorrent/commit/80573f436498def7edae86e161535ef378c538e7))
* Settings>VueTorrent>Dashboard layout & UX ([d93e540](https://github.com/lyaschuchenko/VueTorrent/commit/d93e540a71c72bb274da14f36ae5fd72404bc65d))
* show torrent comment [#292](https://github.com/lyaschuchenko/VueTorrent/issues/292) ([4c3c2d3](https://github.com/lyaschuchenko/VueTorrent/commit/4c3c2d36d713c5f5fda2393a4cfc14b68b09244f))
* speed limit dialog incorrect text display and zh-hant fix ([#425](https://github.com/lyaschuchenko/VueTorrent/issues/425)) ([45b244f](https://github.com/lyaschuchenko/VueTorrent/commit/45b244fbcf1ed63ebb2757a821343ed384a832f4))
* speedcard value cutoff [#141](https://github.com/lyaschuchenko/VueTorrent/issues/141) ([a81b1ea](https://github.com/lyaschuchenko/VueTorrent/commit/a81b1ea2e878b7e890b1c01037b54abba514f969))
* spelling mistake in README and "qBittorrent" casing ([#368](https://github.com/lyaschuchenko/VueTorrent/issues/368)) ([90d6623](https://github.com/lyaschuchenko/VueTorrent/commit/90d66237115f50828a38edec7b10caf817a55b66))
* temporarily disable render link feat for security ([#512](https://github.com/lyaschuchenko/VueTorrent/issues/512)) ([13e6584](https://github.com/lyaschuchenko/VueTorrent/commit/13e6584c5d9a541d01e770d901c9a6266e7c9b24))
* toggle in right-click menu not updating ([91fcfee](https://github.com/lyaschuchenko/VueTorrent/commit/91fcfeeba6b65c63fdb996d14d0a14c4b6319530))
* Torrent Detail modal with multiple tags shows only one tag selected [#167](https://github.com/lyaschuchenko/VueTorrent/issues/167) ([1973b5d](https://github.com/lyaschuchenko/VueTorrent/commit/1973b5dc520ed23682b7788a1ace3905d55c36d8))
* torrent done color to similar to seeding [#162](https://github.com/lyaschuchenko/VueTorrent/issues/162) ([bd71906](https://github.com/lyaschuchenko/VueTorrent/commit/bd7190685fd598d08ced9af9923e7cd3cfe50c5a))
* torrent progress color [#410](https://github.com/lyaschuchenko/VueTorrent/issues/410) ([886bc13](https://github.com/lyaschuchenko/VueTorrent/commit/886bc13f10d82b8973d6ea63fa051ae873b8aea2))
* torrent search ([#478](https://github.com/lyaschuchenko/VueTorrent/issues/478)) @Anteus ([baba4ac](https://github.com/lyaschuchenko/VueTorrent/commit/baba4acda4adcc2414d0a0cab6e7b13446152050))
* torrent search on enter [#149](https://github.com/lyaschuchenko/VueTorrent/issues/149) ([51fbec1](https://github.com/lyaschuchenko/VueTorrent/commit/51fbec13240f57dccd0177ee8e435f6aba290540))
* tweak search treshold [#250](https://github.com/lyaschuchenko/VueTorrent/issues/250) ([bdbc87b](https://github.com/lyaschuchenko/VueTorrent/commit/bdbc87b72423891a04a9c8c7a5de69e1d4ccd755))
* type errors Russian ([#495](https://github.com/lyaschuchenko/VueTorrent/issues/495)) ([83c572b](https://github.com/lyaschuchenko/VueTorrent/commit/83c572b81df5ecd5e1afed0943fa841041ae2b1c))
* Unable to delete / create tags and categories ([#628](https://github.com/lyaschuchenko/VueTorrent/issues/628)) ([4fa63ac](https://github.com/lyaschuchenko/VueTorrent/commit/4fa63ac1625d9858f70bfe6e51f71abe6030bd6a))
* Update Paramaters Sent to /torrents/renameFile ([#470](https://github.com/lyaschuchenko/VueTorrent/issues/470)) ([1ccdf08](https://github.com/lyaschuchenko/VueTorrent/commit/1ccdf08b606bfff9e9e016765c0d03ed0e2e7715))
* Update registerServiceWorker.js (delete all cache on when new version is released) ([d846c92](https://github.com/lyaschuchenko/VueTorrent/commit/d846c924937c99746cbf5a102b0de8ed27381a5d))
* viewport ([60ecfc5](https://github.com/lyaschuchenko/VueTorrent/commit/60ecfc547b594e5ccbeede1d4d99ef0faa854c80))
* white scrollbar [#433](https://github.com/lyaschuchenko/VueTorrent/issues/433) ([db86506](https://github.com/lyaschuchenko/VueTorrent/commit/db86506c5e493e2bb69e441e56d86d78667df54b))
* wrong tempPathEnabled state [#284](https://github.com/lyaschuchenko/VueTorrent/issues/284) ([d8e2610](https://github.com/lyaschuchenko/VueTorrent/commit/d8e26104196120fdbb3475b36f4976c3619ba464))
- "405 Method Not Allowed" when renaming torrent ([#551](https://github.com/lyaschuchenko/VueTorrent/issues/551))
([66dc741](https://github.com/lyaschuchenko/VueTorrent/commit/66dc74182545705003e3bcb4460224a18a57e830))
- "409 Conflict" on file/folder rename ([#597](https://github.com/lyaschuchenko/VueTorrent/issues/597))
([004c8f5](https://github.com/lyaschuchenko/VueTorrent/commit/004c8f57d2db1da9032848e783497bcc3c239df2))
- 0 speed when no speed data returned ([a7b8ed9](https://github.com/lyaschuchenko/VueTorrent/commit/a7b8ed9da3dbca8d2f3be0665880d3cda5f5a50b))
- Add caret color to dark theme ([#564](https://github.com/lyaschuchenko/VueTorrent/issues/564))
([45c65ae](https://github.com/lyaschuchenko/VueTorrent/commit/45c65ae394db6fc722afa13408ba74b4a55bf240))
- add progress border + percentage [#430](https://github.com/lyaschuchenko/VueTorrent/issues/430)
([acc0733](https://github.com/lyaschuchenko/VueTorrent/commit/acc07335d31b027cd7ca989959c6d450a957010e))
- add tracker dialog bug [#187](https://github.com/lyaschuchenko/VueTorrent/issues/187)
([7c7e40d](https://github.com/lyaschuchenko/VueTorrent/commit/7c7e40d4a5105ce3e0e9422551ad6cd2673da932))
- allow native context menu in input elements ([#428](https://github.com/lyaschuchenko/VueTorrent/issues/428))
([b8ad965](https://github.com/lyaschuchenko/VueTorrent/commit/b8ad965763fd647b230f7fcbd9798d182cefd762))
- altspeed value ([aadb3f2](https://github.com/lyaschuchenko/VueTorrent/commit/aadb3f2171d38d5a94f9ca9847c50137669055b3))
- always fetch full data (more reliable) ([89cf6ba](https://github.com/lyaschuchenko/VueTorrent/commit/89cf6ba32c7a4b24cd0ea4d358e56e1d859d4665))
- anonymous mode [#362](https://github.com/lyaschuchenko/VueTorrent/issues/362)
([27a0717](https://github.com/lyaschuchenko/VueTorrent/commit/27a07179f08225292e2e26fb57bbfa6f846b272b))
- application version getter ([#222](https://github.com/lyaschuchenko/VueTorrent/issues/222))
([6535ac5](https://github.com/lyaschuchenko/VueTorrent/commit/6535ac56265d3062c877f35fa5e44b9635e26fcd))
- broken build [#453](https://github.com/lyaschuchenko/VueTorrent/issues/453)
([8f1a12d](https://github.com/lyaschuchenko/VueTorrent/commit/8f1a12d15fa438e55194a9c807bbdc0115a3deda))
- category create validation ([#552](https://github.com/lyaschuchenko/VueTorrent/issues/552))
([edc0330](https://github.com/lyaschuchenko/VueTorrent/commit/edc0330bafdedc98e2e5f7df6bc2894bbcf5a281))
- category download folder [#435](https://github.com/lyaschuchenko/VueTorrent/issues/435)
([5a0ec26](https://github.com/lyaschuchenko/VueTorrent/commit/5a0ec26ddb7b9c7fc1a03102684fd2268b2ae33f))
- category download folder not showing correctly ([#448](https://github.com/lyaschuchenko/VueTorrent/issues/448))
([06579c8](https://github.com/lyaschuchenko/VueTorrent/commit/06579c8bbee5f991f195df596054da8751d0ea72))
- change rss-unread color from white to #ccc ([#643](https://github.com/lyaschuchenko/VueTorrent/issues/643)) [@hqwuzhaoyi](https://github.com/hqwuzhaoyi)
([dd02cdb](https://github.com/lyaschuchenko/VueTorrent/commit/dd02cdb564803495af0ea60a61c65562b3fe8ea5))
- chart flickering ([#644](https://github.com/lyaschuchenko/VueTorrent/issues/644)) @Hans1208
([5e3d6b7](https://github.com/lyaschuchenko/VueTorrent/commit/5e3d6b778892fc6b157ba533f288e77ceed091c7))
- connection password type [#456](https://github.com/lyaschuchenko/VueTorrent/issues/456)
([a8616cc](https://github.com/lyaschuchenko/VueTorrent/commit/a8616cce545ed579e39db9e64c0005a74eee63d5))
- connection status [#482](https://github.com/lyaschuchenko/VueTorrent/issues/482)
([e047467](https://github.com/lyaschuchenko/VueTorrent/commit/e0474671042dc7b1c4f2490018c5484e4730ccf1))
- Context menu placement ([ed08c91](https://github.com/lyaschuchenko/VueTorrent/commit/ed08c914ebde9fba53e8b24f58c0a80918569b26))
- Cookies not sent with request for Web App manifest.json ([#504](https://github.com/lyaschuchenko/VueTorrent/issues/504))
([2efe73a](https://github.com/lyaschuchenko/VueTorrent/commit/2efe73ad7e51c7b45ad65827503d4c3fcebd58a4))
- copy to clipboard on non secure context (no SSL) [#521](https://github.com/lyaschuchenko/VueTorrent/issues/521)
([058766f](https://github.com/lyaschuchenko/VueTorrent/commit/058766f617e39f57bd56d68557b32797d70d4947))
- dark theme glitch ([2b913d5](https://github.com/lyaschuchenko/VueTorrent/commit/2b913d5064d6c5135ed19c720cdccaaaf792fe4c))
- Dashboard items not using $store.state reference ([#601](https://github.com/lyaschuchenko/VueTorrent/issues/601))
([add11c9](https://github.com/lyaschuchenko/VueTorrent/commit/add11c9548472396a7c4e2c483128de25380b616))
- Default change location not prefilling ([#583](https://github.com/lyaschuchenko/VueTorrent/issues/583)) @Larsluph
([b53c331](https://github.com/lyaschuchenko/VueTorrent/commit/b53c331d4c98635f38945d9898ab72358bb7bf34))
- disabling plugins [#443](https://github.com/lyaschuchenko/VueTorrent/issues/443)
([3b98949](https://github.com/lyaschuchenko/VueTorrent/commit/3b989499b867f00618a0a567831c9a1dcdc65418))
- double click opens info [#287](https://github.com/lyaschuchenko/VueTorrent/issues/287)
([c8ffce5](https://github.com/lyaschuchenko/VueTorrent/commit/c8ffce59b1ebb7b72575f8797d35942bdfe62ef4))
- Duplicate reference in dashboard settings ([#618](https://github.com/lyaschuchenko/VueTorrent/issues/618)) @Larsluph
([ea7e68c](https://github.com/lyaschuchenko/VueTorrent/commit/ea7e68ca2a48b19292d9b9b5388bcba8664d04bb))
- Establish Service WalkerRules ([#227](https://github.com/lyaschuchenko/VueTorrent/issues/227))
([04971dc](https://github.com/lyaschuchenko/VueTorrent/commit/04971dcf874c2f952f57c3abef94d8d92337e488))
- favicon [#441](https://github.com/lyaschuchenko/VueTorrent/issues/441) ([745376c](https://github.com/lyaschuchenko/VueTorrent/commit/745376c02be7a1d9398feb5181bebe9026d22638))
- favicon [#441](https://github.com/lyaschuchenko/VueTorrent/issues/441) ([b7e7de1](https://github.com/lyaschuchenko/VueTorrent/commit/b7e7de1e9095228d9207845201c0ceff814623a4))
- font-size difference in right click menu ([#505](https://github.com/lyaschuchenko/VueTorrent/issues/505))
([a8f28dd](https://github.com/lyaschuchenko/VueTorrent/commit/a8f28dd5b468924f7dcf09d101e438a15e1269ba))
- Forced state not present in MobileCard ([#632](https://github.com/lyaschuchenko/VueTorrent/issues/632)) @Larsluph
([7114ce1](https://github.com/lyaschuchenko/VueTorrent/commit/7114ce12df6bf7a0992406245277093c52d16002))
- free space toggle [#541](https://github.com/lyaschuchenko/VueTorrent/issues/541)
([f8c3b7d](https://github.com/lyaschuchenko/VueTorrent/commit/f8c3b7dc38ff1a7a52a130982f86d82cc4fb61c4))
- general fixes and README update ([#562](https://github.com/lyaschuchenko/VueTorrent/issues/562))
([8b6caf0](https://github.com/lyaschuchenko/VueTorrent/commit/8b6caf03359128581077471ce1d80d1308f1a2b6))
- Global Speed Title (upload & download were switched) ([#218](https://github.com/lyaschuchenko/VueTorrent/issues/218))
([906f6d5](https://github.com/lyaschuchenko/VueTorrent/commit/906f6d5f872b848fc7b3c5071c51a9696ce7c734))
- interrupted divider in torrenfinfo [#151](https://github.com/lyaschuchenko/VueTorrent/issues/151)
([d362aef](https://github.com/lyaschuchenko/VueTorrent/commit/d362aef27574bb6a60c3675eef52655f1a57bebe))
- Invalid deconstruct on qbit service ([#623](https://github.com/lyaschuchenko/VueTorrent/issues/623))
([5a2ed4e](https://github.com/lyaschuchenko/VueTorrent/commit/5a2ed4ea99a81f5566e3276acb8faae42adcc035))
- invisble close button on modal [#314](https://github.com/lyaschuchenko/VueTorrent/issues/314) [#297](https://github.com/lyaschuchenko/VueTorrent/issues/297)
([8001dc9](https://github.com/lyaschuchenko/VueTorrent/commit/8001dc91c738e4b9bfa9dd8a6b6b52249e727f5a))
- issue where 'torrent details' modal does not work properly on iOS ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
- layout issues + remove vue-perfect-scrollbar + refactor context menu ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
- load default folder [#417](https://github.com/lyaschuchenko/VueTorrent/issues/417)
([c63d0a4](https://github.com/lyaschuchenko/VueTorrent/commit/c63d0a403939c99a442a10563789cb8753d67771))
- load missing filters at startup ([#567](https://github.com/lyaschuchenko/VueTorrent/issues/567))
([87de795](https://github.com/lyaschuchenko/VueTorrent/commit/87de79555b5aad8827fd5f15dbf53239cdea10c9))
- login autocomplete render issue [#474](https://github.com/lyaschuchenko/VueTorrent/issues/474)
([ef64c38](https://github.com/lyaschuchenko/VueTorrent/commit/ef64c38f099fca1be5db45741c60afc04fff3065))
- login console error on refresh ([254d7c8](https://github.com/lyaschuchenko/VueTorrent/commit/254d7c8562e3fec5a16b4f65a4de0382ef7662c1))
- login prompt being displayed when whitelisted ([#511](https://github.com/lyaschuchenko/VueTorrent/issues/511))
([077cf54](https://github.com/lyaschuchenko/VueTorrent/commit/077cf54c6bb5ccc7e5ccf9b94731ec468bd17ecd))
- logout [#286](https://github.com/lyaschuchenko/VueTorrent/issues/286) ([9121230](https://github.com/lyaschuchenko/VueTorrent/commit/912123098e5fca6193ebb6f66ad06c8442d07861))
- low visibility text in dark theme ([#390](https://github.com/lyaschuchenko/VueTorrent/issues/390))
([84750af](https://github.com/lyaschuchenko/VueTorrent/commit/84750af3d4d584f5fc0fd8f3cbabd1b0ecfa2e9f))
- magnet text area max size [#413](https://github.com/lyaschuchenko/VueTorrent/issues/413)
([4dd81f7](https://github.com/lyaschuchenko/VueTorrent/commit/4dd81f7cd49ab807fddeb50ff2e871364fd955e5))
- margin when freespace card is disabled ([6be41e3](https://github.com/lyaschuchenko/VueTorrent/commit/6be41e33cfb0eb365df18e53c396cd4a36d4b8e5))
- mention QBittorent [#356](https://github.com/lyaschuchenko/VueTorrent/issues/356)
([bbc31fb](https://github.com/lyaschuchenko/VueTorrent/commit/bbc31fb8c5be1cc1189000e53f90ba7886e05ba8))
- mobile search [#156](https://github.com/lyaschuchenko/VueTorrent/issues/156) - maybe redesign in future
([463dabd](https://github.com/lyaschuchenko/VueTorrent/commit/463dabde00a34c495d238aff4fd82ea65acc9e54))
- mobile search [#156](https://github.com/lyaschuchenko/VueTorrent/issues/156) - maybe redesign in future
([0f62f4d](https://github.com/lyaschuchenko/VueTorrent/commit/0f62f4df6763e4449b1ceab946092f9b67b06411))
- no autocapitalize on login form [#489](https://github.com/lyaschuchenko/VueTorrent/issues/489)
([e352de0](https://github.com/lyaschuchenko/VueTorrent/commit/e352de0643dec66256f5565be6a686ee00f040e5))
- non-capital words ([#432](https://github.com/lyaschuchenko/VueTorrent/issues/432))
([ce1e7c3](https://github.com/lyaschuchenko/VueTorrent/commit/ce1e7c3546c150243fede941bd8b4b724e4a5c27))
- Persistent add modal ([d517d9f](https://github.com/lyaschuchenko/VueTorrent/commit/d517d9f3341e59de572118922b43a9e1adb8c9ad))
- proper unit for up/dl speed in details ([#547](https://github.com/lyaschuchenko/VueTorrent/issues/547))
([b2ceda2](https://github.com/lyaschuchenko/VueTorrent/commit/b2ceda28e548849f11f28503e27a081ad3818317))
- proper unit for up/dl speed in graph ([#548](https://github.com/lyaschuchenko/VueTorrent/issues/548))
([a6dac31](https://github.com/lyaschuchenko/VueTorrent/commit/a6dac31fbc5b902e3df562c97497daab121abee3))
- push precompiled release in a public folder ([adfc6a0](https://github.com/lyaschuchenko/VueTorrent/commit/adfc6a00f2e0b2e09f7f4e67a2efc3dc1db50194))
- PWA manifest [#405](https://github.com/lyaschuchenko/VueTorrent/issues/405)
([94727a1](https://github.com/lyaschuchenko/VueTorrent/commit/94727a142a1822c533c665d558ad4af6c207d5b9))
- Qbittorrent title on tab ([05bcc9e](https://github.com/lyaschuchenko/VueTorrent/commit/05bcc9e58783e4de49d698cfd25c902fad7776de))
- refresh torrent detail data from store ([#509](https://github.com/lyaschuchenko/VueTorrent/issues/509))
([5270619](https://github.com/lyaschuchenko/VueTorrent/commit/5270619a5d27eba380a33a8f12632c2c61611886))
- release build ([7a74275](https://github.com/lyaschuchenko/VueTorrent/commit/7a74275a4d15280205ec1e749415da1cb0cd7e41))
- remove black box on iOS PWA [#180](https://github.com/lyaschuchenko/VueTorrent/issues/180)
([f918ff5](https://github.com/lyaschuchenko/VueTorrent/commit/f918ff5ee5c0ddd1c288caa261bbd95e40de4d24))
- remove device darkmode because its unreliable [#285](https://github.com/lyaschuchenko/VueTorrent/issues/285)
([e6c0863](https://github.com/lyaschuchenko/VueTorrent/commit/e6c0863545c4a6a24ecc57158ff61421d17f9070))
- remove gesture feature on tabs (buggy anyway) ([0960962](https://github.com/lyaschuchenko/VueTorrent/commit/0960962441e424c28c8ad6014a79f733f495b881))
- remove search shortcut [#561](https://github.com/lyaschuchenko/VueTorrent/issues/561)
([0c6562e](https://github.com/lyaschuchenko/VueTorrent/commit/0c6562efb374a98b51749b7fba93a8be730c1169))
- remove vue-context import ([edcd825](https://github.com/lyaschuchenko/VueTorrent/commit/edcd825969f6876b1962dc8875be4b9447704820))
- replace v-html with conditional rendering in torrent details view ([#513](https://github.com/lyaschuchenko/VueTorrent/issues/513))
([6d873e7](https://github.com/lyaschuchenko/VueTorrent/commit/6d873e76fc63544673bda673ff377c0b9b810706))
- Russian language ([#494](https://github.com/lyaschuchenko/VueTorrent/issues/494))
([72548fa](https://github.com/lyaschuchenko/VueTorrent/commit/72548fac4ad7e5002a83b80c0b9cdb6b2d82e075))
- save path on category [#481](https://github.com/lyaschuchenko/VueTorrent/issues/481)
([954560e](https://github.com/lyaschuchenko/VueTorrent/commit/954560ee9675ce40f7131482fec83f87e7ef4296))
- scrollbar ([c460e29](https://github.com/lyaschuchenko/VueTorrent/commit/c460e29d95eb034266b3ae1006ebb57001f5aa83))
- search results not loading until stopped ([#391](https://github.com/lyaschuchenko/VueTorrent/issues/391))
([8b126d8](https://github.com/lyaschuchenko/VueTorrent/commit/8b126d8df5607f1c31174fec81f86091f4ad47cf))
- searchmodal pagination layout ([a9a9aff](https://github.com/lyaschuchenko/VueTorrent/commit/a9a9aff74f1310df724b0661011c97f798cdfaf6))
- selection list not cleared when closing deletemodal without button press ([80573f4](https://github.com/lyaschuchenko/VueTorrent/commit/80573f436498def7edae86e161535ef378c538e7))
- Settings>VueTorrent>Dashboard layout & UX ([d93e540](https://github.com/lyaschuchenko/VueTorrent/commit/d93e540a71c72bb274da14f36ae5fd72404bc65d))
- show torrent comment [#292](https://github.com/lyaschuchenko/VueTorrent/issues/292)
([4c3c2d3](https://github.com/lyaschuchenko/VueTorrent/commit/4c3c2d36d713c5f5fda2393a4cfc14b68b09244f))
- speed limit dialog incorrect text display and zh-hant fix ([#425](https://github.com/lyaschuchenko/VueTorrent/issues/425))
([45b244f](https://github.com/lyaschuchenko/VueTorrent/commit/45b244fbcf1ed63ebb2757a821343ed384a832f4))
- speedcard value cutoff [#141](https://github.com/lyaschuchenko/VueTorrent/issues/141)
([a81b1ea](https://github.com/lyaschuchenko/VueTorrent/commit/a81b1ea2e878b7e890b1c01037b54abba514f969))
- spelling mistake in README and "qBittorrent" casing ([#368](https://github.com/lyaschuchenko/VueTorrent/issues/368))
([90d6623](https://github.com/lyaschuchenko/VueTorrent/commit/90d66237115f50828a38edec7b10caf817a55b66))
- temporarily disable render link feat for security ([#512](https://github.com/lyaschuchenko/VueTorrent/issues/512))
([13e6584](https://github.com/lyaschuchenko/VueTorrent/commit/13e6584c5d9a541d01e770d901c9a6266e7c9b24))
- toggle in right-click menu not updating ([91fcfee](https://github.com/lyaschuchenko/VueTorrent/commit/91fcfeeba6b65c63fdb996d14d0a14c4b6319530))
- Torrent Detail modal with multiple tags shows only one tag selected [#167](https://github.com/lyaschuchenko/VueTorrent/issues/167)
([1973b5d](https://github.com/lyaschuchenko/VueTorrent/commit/1973b5dc520ed23682b7788a1ace3905d55c36d8))
- torrent done color to similar to seeding [#162](https://github.com/lyaschuchenko/VueTorrent/issues/162)
([bd71906](https://github.com/lyaschuchenko/VueTorrent/commit/bd7190685fd598d08ced9af9923e7cd3cfe50c5a))
- torrent progress color [#410](https://github.com/lyaschuchenko/VueTorrent/issues/410)
([886bc13](https://github.com/lyaschuchenko/VueTorrent/commit/886bc13f10d82b8973d6ea63fa051ae873b8aea2))
- torrent search ([#478](https://github.com/lyaschuchenko/VueTorrent/issues/478)) @Anteus
([baba4ac](https://github.com/lyaschuchenko/VueTorrent/commit/baba4acda4adcc2414d0a0cab6e7b13446152050))
- torrent search on enter [#149](https://github.com/lyaschuchenko/VueTorrent/issues/149)
([51fbec1](https://github.com/lyaschuchenko/VueTorrent/commit/51fbec13240f57dccd0177ee8e435f6aba290540))
- tweak search treshold [#250](https://github.com/lyaschuchenko/VueTorrent/issues/250)
([bdbc87b](https://github.com/lyaschuchenko/VueTorrent/commit/bdbc87b72423891a04a9c8c7a5de69e1d4ccd755))
- type errors Russian ([#495](https://github.com/lyaschuchenko/VueTorrent/issues/495))
([83c572b](https://github.com/lyaschuchenko/VueTorrent/commit/83c572b81df5ecd5e1afed0943fa841041ae2b1c))
- Unable to delete / create tags and categories ([#628](https://github.com/lyaschuchenko/VueTorrent/issues/628))
([4fa63ac](https://github.com/lyaschuchenko/VueTorrent/commit/4fa63ac1625d9858f70bfe6e51f71abe6030bd6a))
- Update Paramaters Sent to /torrents/renameFile ([#470](https://github.com/lyaschuchenko/VueTorrent/issues/470))
([1ccdf08](https://github.com/lyaschuchenko/VueTorrent/commit/1ccdf08b606bfff9e9e016765c0d03ed0e2e7715))
- Update registerServiceWorker.js (delete all cache on when new version is released)
([d846c92](https://github.com/lyaschuchenko/VueTorrent/commit/d846c924937c99746cbf5a102b0de8ed27381a5d))
- viewport ([60ecfc5](https://github.com/lyaschuchenko/VueTorrent/commit/60ecfc547b594e5ccbeede1d4d99ef0faa854c80))
- white scrollbar [#433](https://github.com/lyaschuchenko/VueTorrent/issues/433)
([db86506](https://github.com/lyaschuchenko/VueTorrent/commit/db86506c5e493e2bb69e441e56d86d78667df54b))
- wrong tempPathEnabled state [#284](https://github.com/lyaschuchenko/VueTorrent/issues/284)
([d8e2610](https://github.com/lyaschuchenko/VueTorrent/commit/d8e26104196120fdbb3475b36f4976c3619ba464))
### Improvements
* 'Vue2-perfect-scrollbar' is no longer dependent ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
* Add "Completed On" to dashboard customization settings ([#578](https://github.com/lyaschuchenko/VueTorrent/issues/578)) ([02db288](https://github.com/lyaschuchenko/VueTorrent/commit/02db288db287a3d423a4c14e946cfb6a44cc2ed9))
* add all-time stats [#351](https://github.com/lyaschuchenko/VueTorrent/issues/351) ([a268e77](https://github.com/lyaschuchenko/VueTorrent/commit/a268e774def5875354129c06122898bad018d5ed))
* Add Enter / Escape keybinds to modals and views ([#608](https://github.com/lyaschuchenko/VueTorrent/issues/608)) @Larsluph ([ee9bbc1](https://github.com/lyaschuchenko/VueTorrent/commit/ee9bbc1245448768570547f37e3115ff7390b836))
* Add export torrent to trc menu ([#625](https://github.com/lyaschuchenko/VueTorrent/issues/625)) @Larsluph ([353e26d](https://github.com/lyaschuchenko/VueTorrent/commit/353e26d51df1d44df16b7ea297f2b89144942977))
* add French translations ([#337](https://github.com/lyaschuchenko/VueTorrent/issues/337)) ([30d5dc0](https://github.com/lyaschuchenko/VueTorrent/commit/30d5dc01c4349e0f52c5c58ec8f602ded16e706d))
* add Indonesian ([#361](https://github.com/lyaschuchenko/VueTorrent/issues/361)) ([908af5b](https://github.com/lyaschuchenko/VueTorrent/commit/908af5b3faaa07a327665df51f296a977ddef9e6))
* add Japanese language support ([#401](https://github.com/lyaschuchenko/VueTorrent/issues/401)) ([a178205](https://github.com/lyaschuchenko/VueTorrent/commit/a1782058c8417e6a8c06acd22ce56418b4fe9419))
* add mark as read behavior for rss articles ([#640](https://github.com/lyaschuchenko/VueTorrent/issues/640)) @Larsluph ([3cfc82f](https://github.com/lyaschuchenko/VueTorrent/commit/3cfc82f055bcc2a917e64e49c27137401d0a0810))
* add Portugese ([#350](https://github.com/lyaschuchenko/VueTorrent/issues/350)) ([abb4c5b](https://github.com/lyaschuchenko/VueTorrent/commit/abb4c5ba69a779b729d99bb404fd59d25afb8b72))
* add reset settings button [#326](https://github.com/lyaschuchenko/VueTorrent/issues/326) ([0ada50b](https://github.com/lyaschuchenko/VueTorrent/commit/0ada50ba4ab49cf2edc74ac410ae982d162dc7ae))
* Add RSS articles view ([#622](https://github.com/lyaschuchenko/VueTorrent/issues/622)) @Larsluph ([f8fcafa](https://github.com/lyaschuchenko/VueTorrent/commit/f8fcafa1b114da877430daa258087fed6382258b))
* add Russian translations ([#493](https://github.com/lyaschuchenko/VueTorrent/issues/493)) [@reysonk](https://github.com/reysonk) ([9b6deb9](https://github.com/lyaschuchenko/VueTorrent/commit/9b6deb90371ac4e56ac2691002bda578e25758ea))
* Add scroll support in TorrentRightClickMenu ([#589](https://github.com/lyaschuchenko/VueTorrent/issues/589)) @Larsluph ([cd2f764](https://github.com/lyaschuchenko/VueTorrent/commit/cd2f7647e6178805c7f276aeee1c2e35087a532a))
* add sort none option [#128](https://github.com/lyaschuchenko/VueTorrent/issues/128) ([bf406e5](https://github.com/lyaschuchenko/VueTorrent/commit/bf406e5cfdda039f09add706c121db049328e65e))
* add Spanish Language ([#385](https://github.com/lyaschuchenko/VueTorrent/issues/385)) ([d0f7055](https://github.com/lyaschuchenko/VueTorrent/commit/d0f7055148b6e88bb00c1c8cd58ec1fa123488e9))
* Add toast when renameFile and renameFolder returns 409 Conflict ([#588](https://github.com/lyaschuchenko/VueTorrent/issues/588)) @Larsluph ([e01d9a0](https://github.com/lyaschuchenko/VueTorrent/commit/e01d9a0b42886646a09cc3439e97efb16a5316ca))
* Add toasts for copy/paste success/error ([#620](https://github.com/lyaschuchenko/VueTorrent/issues/620)) ([6cabef1](https://github.com/lyaschuchenko/VueTorrent/commit/6cabef1b56598f3fb896f37c619dc4a8effa6858))
* add ukranian ([e063168](https://github.com/lyaschuchenko/VueTorrent/commit/e06316812134df15ac1f5fbb73034436eb7d519c))
* add Vietnamese ([#392](https://github.com/lyaschuchenko/VueTorrent/issues/392)) ([6019759](https://github.com/lyaschuchenko/VueTorrent/commit/6019759260d6561af29dbeb1a95497028b2b8b87))
* better authenticated check ([#411](https://github.com/lyaschuchenko/VueTorrent/issues/411)) ([ce698e3](https://github.com/lyaschuchenko/VueTorrent/commit/ce698e38a80fb7ba1dee01251451865df75f68d4))
* better share limit modal ([#316](https://github.com/lyaschuchenko/VueTorrent/issues/316)) ([9f2ca42](https://github.com/lyaschuchenko/VueTorrent/commit/9f2ca4230da46431965d6ed0777f465554926494))
* Chinese translations ([#363](https://github.com/lyaschuchenko/VueTorrent/issues/363)) ([6c7372b](https://github.com/lyaschuchenko/VueTorrent/commit/6c7372b41ef72387c7781e0dcfd51fb046fb7881))
* complete French translation ([#438](https://github.com/lyaschuchenko/VueTorrent/issues/438)) ([3a8ec90](https://github.com/lyaschuchenko/VueTorrent/commit/3a8ec90ca20dd20bf22d4af468031d347de7f686))
* Content tab for mobile users ([#602](https://github.com/lyaschuchenko/VueTorrent/issues/602)) @Larsluph ([fc371a2](https://github.com/lyaschuchenko/VueTorrent/commit/fc371a296cd8c2287b3fb45597f2d924d30c3847))
* Context (right click) menu refactor! Works way better on mobile ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
* Convert locale data to json ([#616](https://github.com/lyaschuchenko/VueTorrent/issues/616)) @Larsluph ([e990d34](https://github.com/lyaschuchenko/VueTorrent/commit/e990d344d2b6d779c66af294bb168da78788200c))
* debounce torrent search field ([#542](https://github.com/lyaschuchenko/VueTorrent/issues/542)) ([bb76c23](https://github.com/lyaschuchenko/VueTorrent/commit/bb76c23b98689c956ab1c068a155e9fb081081ea))
* Disable hide condition on page scroll ([#603](https://github.com/lyaschuchenko/VueTorrent/issues/603)) @Larsluph ([f175a6a](https://github.com/lyaschuchenko/VueTorrent/commit/f175a6af6521988c84357c761cddb1116e6f83e1))
* extra add button for mobile [#466](https://github.com/lyaschuchenko/VueTorrent/issues/466) ([e2dcb8e](https://github.com/lyaschuchenko/VueTorrent/commit/e2dcb8e6f08e9f75f00276c0529af97a873d7e5b))
* Fill data table width to whole page ([#626](https://github.com/lyaschuchenko/VueTorrent/issues/626)) ([d2c0817](https://github.com/lyaschuchenko/VueTorrent/commit/d2c0817bee904ac5a4dcda5079307b705f1ac7e7))
* full Typescript migration + restructure ([#612](https://github.com/lyaschuchenko/VueTorrent/issues/612)) @Larsluph ([e09e8a0](https://github.com/lyaschuchenko/VueTorrent/commit/e09e8a0300551b813432dfba5d867be3f6709694))
* improve russian translations ([#593](https://github.com/lyaschuchenko/VueTorrent/issues/593)) @Balya ([684690a](https://github.com/lyaschuchenko/VueTorrent/commit/684690ac7b7a443212e6aadc08aedfca91fc1dc4))
* Improved Ukrainian translation ([#457](https://github.com/lyaschuchenko/VueTorrent/issues/457)) ([b56a16f](https://github.com/lyaschuchenko/VueTorrent/commit/b56a16f7cebaf3b434f85c621b73e2d3e3385ba8))
* lazy load pages for smaller chunk sizes ([abe909e](https://github.com/lyaschuchenko/VueTorrent/commit/abe909e14d740f4a78267564d87e2d46ef3c08a8))
* more chinese translations ([65943ae](https://github.com/lyaschuchenko/VueTorrent/commit/65943aea02b1a349719a704492f2905b1f8f2f81))
* more translations ([4f8c697](https://github.com/lyaschuchenko/VueTorrent/commit/4f8c697757d818eeaf70d1c6970cd1f6000d6497))
* move notification banner to botton [#389](https://github.com/lyaschuchenko/VueTorrent/issues/389) ([4b90d56](https://github.com/lyaschuchenko/VueTorrent/commit/4b90d56df5a43bf466acafd3c7bb43a960bffab8))
* only update changed data + code cleanup ([664e4db](https://github.com/lyaschuchenko/VueTorrent/commit/664e4dbe2ff9bf04a2ef766fe2726d5f994b1228))
* paste button for magnet links [#307](https://github.com/lyaschuchenko/VueTorrent/issues/307) ([797ba8c](https://github.com/lyaschuchenko/VueTorrent/commit/797ba8c66687c3cfb654874189fc96808d4bbb34))
* persist searchfilter + page [#462](https://github.com/lyaschuchenko/VueTorrent/issues/462) ([67b1551](https://github.com/lyaschuchenko/VueTorrent/commit/67b1551b36c94849d46c0a0dd5dadfda181df589))
* Remove redundant dialog code, use Modal Mixin ([33cf62f](https://github.com/lyaschuchenko/VueTorrent/commit/33cf62ff9b6ea671dc1022e345a65705bd814640))
* reset pageNumber when changing filters to prevent value overflow ([#591](https://github.com/lyaschuchenko/VueTorrent/issues/591)) @Larsluph ([719c5e9](https://github.com/lyaschuchenko/VueTorrent/commit/719c5e9ebafff56cfe077b8836d55823ae78b947))
* Rework desktop cards ([#627](https://github.com/lyaschuchenko/VueTorrent/issues/627)) @Larsluph ([5aeb653](https://github.com/lyaschuchenko/VueTorrent/commit/5aeb65352fc9335112b7747641420579fcd55c47))
* softer red color [#155](https://github.com/lyaschuchenko/VueTorrent/issues/155) ([cbf845a](https://github.com/lyaschuchenko/VueTorrent/commit/cbf845a8a407895e8d6093c584ea96497c45cac0))
* sort dropdown in dashboard [#309](https://github.com/lyaschuchenko/VueTorrent/issues/309) ([b557db4](https://github.com/lyaschuchenko/VueTorrent/commit/b557db48e8ef33fb68fa802e35d9b77921c5a52d))
* support more translations + add Simplified Chinese translations ([#415](https://github.com/lyaschuchenko/VueTorrent/issues/415)) ([ddd28ae](https://github.com/lyaschuchenko/VueTorrent/commit/ddd28ae6192862928ef26c1e1135565f6303095b))
* topmenu tooltip delay [#399](https://github.com/lyaschuchenko/VueTorrent/issues/399) ([2d5ad9d](https://github.com/lyaschuchenko/VueTorrent/commit/2d5ad9d44227f2ffd3e180eff9740e82ba0281cb))
* translation fixes ([#419](https://github.com/lyaschuchenko/VueTorrent/issues/419)) ([521ac58](https://github.com/lyaschuchenko/VueTorrent/commit/521ac5804a622c68d788de1f5730b0c43f49f0a1))
* Update and realign locales ([#573](https://github.com/lyaschuchenko/VueTorrent/issues/573)) ([c45bf20](https://github.com/lyaschuchenko/VueTorrent/commit/c45bf208dedc72db108ee1b3115d338a0349f19e))
* Update Simplified Chinese translation. ([#454](https://github.com/lyaschuchenko/VueTorrent/issues/454)) ([20f4a67](https://github.com/lyaschuchenko/VueTorrent/commit/20f4a67f4988629d1bc74ec18226cd858e2469e1))
* update Traditional Chinese translations ([#422](https://github.com/lyaschuchenko/VueTorrent/issues/422)) ([964b145](https://github.com/lyaschuchenko/VueTorrent/commit/964b1451a1758522856fae2c730af9db66e351a1))
* updated japanese translate file ([#491](https://github.com/lyaschuchenko/VueTorrent/issues/491)) ([7e5cc48](https://github.com/lyaschuchenko/VueTorrent/commit/7e5cc4891a61d441429c155ec759d5a668c3498f))
* use pages instead of modals [#398](https://github.com/lyaschuchenko/VueTorrent/issues/398) ([#450](https://github.com/lyaschuchenko/VueTorrent/issues/450)) ([fcb0219](https://github.com/lyaschuchenko/VueTorrent/commit/fcb021972ae62ee36e91bbbf5cba0ee6dc87725a))
* use quick-score instead of fuse.js [#306](https://github.com/lyaschuchenko/VueTorrent/issues/306) ([f9434c3](https://github.com/lyaschuchenko/VueTorrent/commit/f9434c375663689f605e57e7749bd010fc87ad7a))
- 'Vue2-perfect-scrollbar' is no longer dependent ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
- Add "Completed On" to dashboard customization settings ([#578](https://github.com/lyaschuchenko/VueTorrent/issues/578))
([02db288](https://github.com/lyaschuchenko/VueTorrent/commit/02db288db287a3d423a4c14e946cfb6a44cc2ed9))
- add all-time stats [#351](https://github.com/lyaschuchenko/VueTorrent/issues/351)
([a268e77](https://github.com/lyaschuchenko/VueTorrent/commit/a268e774def5875354129c06122898bad018d5ed))
- Add Enter / Escape keybinds to modals and views ([#608](https://github.com/lyaschuchenko/VueTorrent/issues/608)) @Larsluph
([ee9bbc1](https://github.com/lyaschuchenko/VueTorrent/commit/ee9bbc1245448768570547f37e3115ff7390b836))
- Add export torrent to trc menu ([#625](https://github.com/lyaschuchenko/VueTorrent/issues/625)) @Larsluph
([353e26d](https://github.com/lyaschuchenko/VueTorrent/commit/353e26d51df1d44df16b7ea297f2b89144942977))
- add French translations ([#337](https://github.com/lyaschuchenko/VueTorrent/issues/337))
([30d5dc0](https://github.com/lyaschuchenko/VueTorrent/commit/30d5dc01c4349e0f52c5c58ec8f602ded16e706d))
- add Indonesian ([#361](https://github.com/lyaschuchenko/VueTorrent/issues/361))
([908af5b](https://github.com/lyaschuchenko/VueTorrent/commit/908af5b3faaa07a327665df51f296a977ddef9e6))
- add Japanese language support ([#401](https://github.com/lyaschuchenko/VueTorrent/issues/401))
([a178205](https://github.com/lyaschuchenko/VueTorrent/commit/a1782058c8417e6a8c06acd22ce56418b4fe9419))
- add mark as read behavior for rss articles ([#640](https://github.com/lyaschuchenko/VueTorrent/issues/640)) @Larsluph
([3cfc82f](https://github.com/lyaschuchenko/VueTorrent/commit/3cfc82f055bcc2a917e64e49c27137401d0a0810))
- add Portugese ([#350](https://github.com/lyaschuchenko/VueTorrent/issues/350))
([abb4c5b](https://github.com/lyaschuchenko/VueTorrent/commit/abb4c5ba69a779b729d99bb404fd59d25afb8b72))
- add reset settings button [#326](https://github.com/lyaschuchenko/VueTorrent/issues/326)
([0ada50b](https://github.com/lyaschuchenko/VueTorrent/commit/0ada50ba4ab49cf2edc74ac410ae982d162dc7ae))
- Add RSS articles view ([#622](https://github.com/lyaschuchenko/VueTorrent/issues/622)) @Larsluph
([f8fcafa](https://github.com/lyaschuchenko/VueTorrent/commit/f8fcafa1b114da877430daa258087fed6382258b))
- add Russian translations ([#493](https://github.com/lyaschuchenko/VueTorrent/issues/493)) [@reysonk](https://github.com/reysonk)
([9b6deb9](https://github.com/lyaschuchenko/VueTorrent/commit/9b6deb90371ac4e56ac2691002bda578e25758ea))
- Add scroll support in TorrentRightClickMenu ([#589](https://github.com/lyaschuchenko/VueTorrent/issues/589)) @Larsluph
([cd2f764](https://github.com/lyaschuchenko/VueTorrent/commit/cd2f7647e6178805c7f276aeee1c2e35087a532a))
- add sort none option [#128](https://github.com/lyaschuchenko/VueTorrent/issues/128)
([bf406e5](https://github.com/lyaschuchenko/VueTorrent/commit/bf406e5cfdda039f09add706c121db049328e65e))
- add Spanish Language ([#385](https://github.com/lyaschuchenko/VueTorrent/issues/385))
([d0f7055](https://github.com/lyaschuchenko/VueTorrent/commit/d0f7055148b6e88bb00c1c8cd58ec1fa123488e9))
- Add toast when renameFile and renameFolder returns 409 Conflict ([#588](https://github.com/lyaschuchenko/VueTorrent/issues/588)) @Larsluph
([e01d9a0](https://github.com/lyaschuchenko/VueTorrent/commit/e01d9a0b42886646a09cc3439e97efb16a5316ca))
- Add toasts for copy/paste success/error ([#620](https://github.com/lyaschuchenko/VueTorrent/issues/620))
([6cabef1](https://github.com/lyaschuchenko/VueTorrent/commit/6cabef1b56598f3fb896f37c619dc4a8effa6858))
- add ukranian ([e063168](https://github.com/lyaschuchenko/VueTorrent/commit/e06316812134df15ac1f5fbb73034436eb7d519c))
- add Vietnamese ([#392](https://github.com/lyaschuchenko/VueTorrent/issues/392))
([6019759](https://github.com/lyaschuchenko/VueTorrent/commit/6019759260d6561af29dbeb1a95497028b2b8b87))
- better authenticated check ([#411](https://github.com/lyaschuchenko/VueTorrent/issues/411))
([ce698e3](https://github.com/lyaschuchenko/VueTorrent/commit/ce698e38a80fb7ba1dee01251451865df75f68d4))
- better share limit modal ([#316](https://github.com/lyaschuchenko/VueTorrent/issues/316))
([9f2ca42](https://github.com/lyaschuchenko/VueTorrent/commit/9f2ca4230da46431965d6ed0777f465554926494))
- Chinese translations ([#363](https://github.com/lyaschuchenko/VueTorrent/issues/363))
([6c7372b](https://github.com/lyaschuchenko/VueTorrent/commit/6c7372b41ef72387c7781e0dcfd51fb046fb7881))
- complete French translation ([#438](https://github.com/lyaschuchenko/VueTorrent/issues/438))
([3a8ec90](https://github.com/lyaschuchenko/VueTorrent/commit/3a8ec90ca20dd20bf22d4af468031d347de7f686))
- Content tab for mobile users ([#602](https://github.com/lyaschuchenko/VueTorrent/issues/602)) @Larsluph
([fc371a2](https://github.com/lyaschuchenko/VueTorrent/commit/fc371a296cd8c2287b3fb45597f2d924d30c3847))
- Context (right click) menu refactor! Works way better on mobile ([a83ea14](https://github.com/lyaschuchenko/VueTorrent/commit/a83ea144cf1daac09fc76feff5d03347c8ea87ca))
- Convert locale data to json ([#616](https://github.com/lyaschuchenko/VueTorrent/issues/616)) @Larsluph
([e990d34](https://github.com/lyaschuchenko/VueTorrent/commit/e990d344d2b6d779c66af294bb168da78788200c))
- debounce torrent search field ([#542](https://github.com/lyaschuchenko/VueTorrent/issues/542))
([bb76c23](https://github.com/lyaschuchenko/VueTorrent/commit/bb76c23b98689c956ab1c068a155e9fb081081ea))
- Disable hide condition on page scroll ([#603](https://github.com/lyaschuchenko/VueTorrent/issues/603)) @Larsluph
([f175a6a](https://github.com/lyaschuchenko/VueTorrent/commit/f175a6af6521988c84357c761cddb1116e6f83e1))
- extra add button for mobile [#466](https://github.com/lyaschuchenko/VueTorrent/issues/466)
([e2dcb8e](https://github.com/lyaschuchenko/VueTorrent/commit/e2dcb8e6f08e9f75f00276c0529af97a873d7e5b))
- Fill data table width to whole page ([#626](https://github.com/lyaschuchenko/VueTorrent/issues/626))
([d2c0817](https://github.com/lyaschuchenko/VueTorrent/commit/d2c0817bee904ac5a4dcda5079307b705f1ac7e7))
- full Typescript migration + restructure ([#612](https://github.com/lyaschuchenko/VueTorrent/issues/612)) @Larsluph
([e09e8a0](https://github.com/lyaschuchenko/VueTorrent/commit/e09e8a0300551b813432dfba5d867be3f6709694))
- improve russian translations ([#593](https://github.com/lyaschuchenko/VueTorrent/issues/593)) @Balya
([684690a](https://github.com/lyaschuchenko/VueTorrent/commit/684690ac7b7a443212e6aadc08aedfca91fc1dc4))
- Improved Ukrainian translation ([#457](https://github.com/lyaschuchenko/VueTorrent/issues/457))
([b56a16f](https://github.com/lyaschuchenko/VueTorrent/commit/b56a16f7cebaf3b434f85c621b73e2d3e3385ba8))
- lazy load pages for smaller chunk sizes ([abe909e](https://github.com/lyaschuchenko/VueTorrent/commit/abe909e14d740f4a78267564d87e2d46ef3c08a8))
- more chinese translations ([65943ae](https://github.com/lyaschuchenko/VueTorrent/commit/65943aea02b1a349719a704492f2905b1f8f2f81))
- more translations ([4f8c697](https://github.com/lyaschuchenko/VueTorrent/commit/4f8c697757d818eeaf70d1c6970cd1f6000d6497))
- move notification banner to botton [#389](https://github.com/lyaschuchenko/VueTorrent/issues/389)
([4b90d56](https://github.com/lyaschuchenko/VueTorrent/commit/4b90d56df5a43bf466acafd3c7bb43a960bffab8))
- only update changed data + code cleanup ([664e4db](https://github.com/lyaschuchenko/VueTorrent/commit/664e4dbe2ff9bf04a2ef766fe2726d5f994b1228))
- paste button for magnet links [#307](https://github.com/lyaschuchenko/VueTorrent/issues/307)
([797ba8c](https://github.com/lyaschuchenko/VueTorrent/commit/797ba8c66687c3cfb654874189fc96808d4bbb34))
- persist searchfilter + page [#462](https://github.com/lyaschuchenko/VueTorrent/issues/462)
([67b1551](https://github.com/lyaschuchenko/VueTorrent/commit/67b1551b36c94849d46c0a0dd5dadfda181df589))
- Remove redundant dialog code, use Modal Mixin ([33cf62f](https://github.com/lyaschuchenko/VueTorrent/commit/33cf62ff9b6ea671dc1022e345a65705bd814640))
- reset pageNumber when changing filters to prevent value overflow ([#591](https://github.com/lyaschuchenko/VueTorrent/issues/591)) @Larsluph
([719c5e9](https://github.com/lyaschuchenko/VueTorrent/commit/719c5e9ebafff56cfe077b8836d55823ae78b947))
- Rework desktop cards ([#627](https://github.com/lyaschuchenko/VueTorrent/issues/627)) @Larsluph
([5aeb653](https://github.com/lyaschuchenko/VueTorrent/commit/5aeb65352fc9335112b7747641420579fcd55c47))
- softer red color [#155](https://github.com/lyaschuchenko/VueTorrent/issues/155)
([cbf845a](https://github.com/lyaschuchenko/VueTorrent/commit/cbf845a8a407895e8d6093c584ea96497c45cac0))
- sort dropdown in dashboard [#309](https://github.com/lyaschuchenko/VueTorrent/issues/309)
([b557db4](https://github.com/lyaschuchenko/VueTorrent/commit/b557db48e8ef33fb68fa802e35d9b77921c5a52d))
- support more translations + add Simplified Chinese translations ([#415](https://github.com/lyaschuchenko/VueTorrent/issues/415))
([ddd28ae](https://github.com/lyaschuchenko/VueTorrent/commit/ddd28ae6192862928ef26c1e1135565f6303095b))
- topmenu tooltip delay [#399](https://github.com/lyaschuchenko/VueTorrent/issues/399)
([2d5ad9d](https://github.com/lyaschuchenko/VueTorrent/commit/2d5ad9d44227f2ffd3e180eff9740e82ba0281cb))
- translation fixes ([#419](https://github.com/lyaschuchenko/VueTorrent/issues/419))
([521ac58](https://github.com/lyaschuchenko/VueTorrent/commit/521ac5804a622c68d788de1f5730b0c43f49f0a1))
- Update and realign locales ([#573](https://github.com/lyaschuchenko/VueTorrent/issues/573))
([c45bf20](https://github.com/lyaschuchenko/VueTorrent/commit/c45bf208dedc72db108ee1b3115d338a0349f19e))
- Update Simplified Chinese translation. ([#454](https://github.com/lyaschuchenko/VueTorrent/issues/454))
([20f4a67](https://github.com/lyaschuchenko/VueTorrent/commit/20f4a67f4988629d1bc74ec18226cd858e2469e1))
- update Traditional Chinese translations ([#422](https://github.com/lyaschuchenko/VueTorrent/issues/422))
([964b145](https://github.com/lyaschuchenko/VueTorrent/commit/964b1451a1758522856fae2c730af9db66e351a1))
- updated japanese translate file ([#491](https://github.com/lyaschuchenko/VueTorrent/issues/491))
([7e5cc48](https://github.com/lyaschuchenko/VueTorrent/commit/7e5cc4891a61d441429c155ec759d5a668c3498f))
- use pages instead of modals [#398](https://github.com/lyaschuchenko/VueTorrent/issues/398) ([#450](https://github.com/lyaschuchenko/VueTorrent/issues/450))
([fcb0219](https://github.com/lyaschuchenko/VueTorrent/commit/fcb021972ae62ee36e91bbbf5cba0ee6dc87725a))
- use quick-score instead of fuse.js [#306](https://github.com/lyaschuchenko/VueTorrent/issues/306)
([f9434c3](https://github.com/lyaschuchenko/VueTorrent/commit/f9434c375663689f605e57e7749bd010fc87ad7a))
### [1.3.1](https://github.com/WDaan/VueTorrent/compare/v1.3.0...v1.3.1) (2023-02-08)
### Bug Fixes
* change rss-unread color from white to #ccc ([#643](https://github.com/WDaan/VueTorrent/issues/643)) [@hqwuzhaoyi](https://github.com/hqwuzhaoyi) ([dd02cdb](https://github.com/WDaan/VueTorrent/commit/dd02cdb564803495af0ea60a61c65562b3fe8ea5))
* chart flickering ([#644](https://github.com/WDaan/VueTorrent/issues/644)) @Hans1208 ([5e3d6b7](https://github.com/WDaan/VueTorrent/commit/5e3d6b778892fc6b157ba533f288e77ceed091c7))
- change rss-unread color from white to #ccc ([#643](https://github.com/WDaan/VueTorrent/issues/643)) [@hqwuzhaoyi](https://github.com/hqwuzhaoyi)
([dd02cdb](https://github.com/WDaan/VueTorrent/commit/dd02cdb564803495af0ea60a61c65562b3fe8ea5))
- chart flickering ([#644](https://github.com/WDaan/VueTorrent/issues/644)) @Hans1208
([5e3d6b7](https://github.com/WDaan/VueTorrent/commit/5e3d6b778892fc6b157ba533f288e77ceed091c7))
## [1.3.0](https://github.com/WDaan/VueTorrent/compare/v1.2.0...v1.3.0) (2023-02-07)
### Features
* Add shutdown button in TopActions ([#633](https://github.com/WDaan/VueTorrent/issues/633)) @Larsluph ([ab75f32](https://github.com/WDaan/VueTorrent/commit/ab75f32c5f6225fb9b2615f2880b2ef40037820a))
- Add shutdown button in TopActions ([#633](https://github.com/WDaan/VueTorrent/issues/633)) @Larsluph
([ab75f32](https://github.com/WDaan/VueTorrent/commit/ab75f32c5f6225fb9b2615f2880b2ef40037820a))
### Bug Fixes
* Duplicate reference in dashboard settings ([#618](https://github.com/WDaan/VueTorrent/issues/618)) @Larsluph ([ea7e68c](https://github.com/WDaan/VueTorrent/commit/ea7e68ca2a48b19292d9b9b5388bcba8664d04bb))
* Forced state not present in MobileCard ([#632](https://github.com/WDaan/VueTorrent/issues/632)) @Larsluph ([7114ce1](https://github.com/WDaan/VueTorrent/commit/7114ce12df6bf7a0992406245277093c52d16002))
* Invalid deconstruct on qbit service ([#623](https://github.com/WDaan/VueTorrent/issues/623)) ([5a2ed4e](https://github.com/WDaan/VueTorrent/commit/5a2ed4ea99a81f5566e3276acb8faae42adcc035))
* Unable to delete / create tags and categories ([#628](https://github.com/WDaan/VueTorrent/issues/628)) ([4fa63ac](https://github.com/WDaan/VueTorrent/commit/4fa63ac1625d9858f70bfe6e51f71abe6030bd6a))
- Duplicate reference in dashboard settings ([#618](https://github.com/WDaan/VueTorrent/issues/618)) @Larsluph
([ea7e68c](https://github.com/WDaan/VueTorrent/commit/ea7e68ca2a48b19292d9b9b5388bcba8664d04bb))
- Forced state not present in MobileCard ([#632](https://github.com/WDaan/VueTorrent/issues/632)) @Larsluph
([7114ce1](https://github.com/WDaan/VueTorrent/commit/7114ce12df6bf7a0992406245277093c52d16002))
- Invalid deconstruct on qbit service ([#623](https://github.com/WDaan/VueTorrent/issues/623))
([5a2ed4e](https://github.com/WDaan/VueTorrent/commit/5a2ed4ea99a81f5566e3276acb8faae42adcc035))
- Unable to delete / create tags and categories ([#628](https://github.com/WDaan/VueTorrent/issues/628))
([4fa63ac](https://github.com/WDaan/VueTorrent/commit/4fa63ac1625d9858f70bfe6e51f71abe6030bd6a))
### Improvements
* Add Enter / Escape keybinds to modals and views ([#608](https://github.com/WDaan/VueTorrent/issues/608)) @Larsluph ([ee9bbc1](https://github.com/WDaan/VueTorrent/commit/ee9bbc1245448768570547f37e3115ff7390b836))
* Add export torrent to trc menu ([#625](https://github.com/WDaan/VueTorrent/issues/625)) @Larsluph ([353e26d](https://github.com/WDaan/VueTorrent/commit/353e26d51df1d44df16b7ea297f2b89144942977))
* add mark as read behavior for rss articles ([#640](https://github.com/WDaan/VueTorrent/issues/640)) @Larsluph ([3cfc82f](https://github.com/WDaan/VueTorrent/commit/3cfc82f055bcc2a917e64e49c27137401d0a0810))
* Add RSS articles view ([#622](https://github.com/WDaan/VueTorrent/issues/622)) @Larsluph ([f8fcafa](https://github.com/WDaan/VueTorrent/commit/f8fcafa1b114da877430daa258087fed6382258b))
* Add toasts for copy/paste success/error ([#620](https://github.com/WDaan/VueTorrent/issues/620)) ([6cabef1](https://github.com/WDaan/VueTorrent/commit/6cabef1b56598f3fb896f37c619dc4a8effa6858))
* Content tab for mobile users ([#602](https://github.com/WDaan/VueTorrent/issues/602)) @Larsluph ([fc371a2](https://github.com/WDaan/VueTorrent/commit/fc371a296cd8c2287b3fb45597f2d924d30c3847))
* Convert locale data to json ([#616](https://github.com/WDaan/VueTorrent/issues/616)) @Larsluph ([e990d34](https://github.com/WDaan/VueTorrent/commit/e990d344d2b6d779c66af294bb168da78788200c))
* Disable hide condition on page scroll ([#603](https://github.com/WDaan/VueTorrent/issues/603)) @Larsluph ([f175a6a](https://github.com/WDaan/VueTorrent/commit/f175a6af6521988c84357c761cddb1116e6f83e1))
* Fill data table width to whole page ([#626](https://github.com/WDaan/VueTorrent/issues/626)) ([d2c0817](https://github.com/WDaan/VueTorrent/commit/d2c0817bee904ac5a4dcda5079307b705f1ac7e7))
* full Typescript migration + restructure ([#612](https://github.com/WDaan/VueTorrent/issues/612)) @Larsluph ([e09e8a0](https://github.com/WDaan/VueTorrent/commit/e09e8a0300551b813432dfba5d867be3f6709694))
* Rework desktop cards ([#627](https://github.com/WDaan/VueTorrent/issues/627)) @Larsluph ([5aeb653](https://github.com/WDaan/VueTorrent/commit/5aeb65352fc9335112b7747641420579fcd55c47))
- Add Enter / Escape keybinds to modals and views ([#608](https://github.com/WDaan/VueTorrent/issues/608)) @Larsluph
([ee9bbc1](https://github.com/WDaan/VueTorrent/commit/ee9bbc1245448768570547f37e3115ff7390b836))
- Add export torrent to trc menu ([#625](https://github.com/WDaan/VueTorrent/issues/625)) @Larsluph
([353e26d](https://github.com/WDaan/VueTorrent/commit/353e26d51df1d44df16b7ea297f2b89144942977))
- add mark as read behavior for rss articles ([#640](https://github.com/WDaan/VueTorrent/issues/640)) @Larsluph
([3cfc82f](https://github.com/WDaan/VueTorrent/commit/3cfc82f055bcc2a917e64e49c27137401d0a0810))
- Add RSS articles view ([#622](https://github.com/WDaan/VueTorrent/issues/622)) @Larsluph
([f8fcafa](https://github.com/WDaan/VueTorrent/commit/f8fcafa1b114da877430daa258087fed6382258b))
- Add toasts for copy/paste success/error ([#620](https://github.com/WDaan/VueTorrent/issues/620))
([6cabef1](https://github.com/WDaan/VueTorrent/commit/6cabef1b56598f3fb896f37c619dc4a8effa6858))
- Content tab for mobile users ([#602](https://github.com/WDaan/VueTorrent/issues/602)) @Larsluph
([fc371a2](https://github.com/WDaan/VueTorrent/commit/fc371a296cd8c2287b3fb45597f2d924d30c3847))
- Convert locale data to json ([#616](https://github.com/WDaan/VueTorrent/issues/616)) @Larsluph
([e990d34](https://github.com/WDaan/VueTorrent/commit/e990d344d2b6d779c66af294bb168da78788200c))
- Disable hide condition on page scroll ([#603](https://github.com/WDaan/VueTorrent/issues/603)) @Larsluph
([f175a6a](https://github.com/WDaan/VueTorrent/commit/f175a6af6521988c84357c761cddb1116e6f83e1))
- Fill data table width to whole page ([#626](https://github.com/WDaan/VueTorrent/issues/626))
([d2c0817](https://github.com/WDaan/VueTorrent/commit/d2c0817bee904ac5a4dcda5079307b705f1ac7e7))
- full Typescript migration + restructure ([#612](https://github.com/WDaan/VueTorrent/issues/612)) @Larsluph
([e09e8a0](https://github.com/WDaan/VueTorrent/commit/e09e8a0300551b813432dfba5d867be3f6709694))
- Rework desktop cards ([#627](https://github.com/WDaan/VueTorrent/issues/627)) @Larsluph
([5aeb653](https://github.com/WDaan/VueTorrent/commit/5aeb65352fc9335112b7747641420579fcd55c47))
## [1.2.0](https://github.com/WDaan/VueTorrent/compare/v1.1.0...v1.2.0) (2023-01-11)

View file

@ -1,20 +1,20 @@
<template>
<v-dialog
v-model="dialog"
:transition="dTransition"
:content-class="phoneLayout ? 'rounded-0' : 'rounded-form'"
max-width="500px"
:fullscreen="phoneLayout"
persistent
@keydown.enter.prevent="$refs.addTorrent.click"
v-model="dialog"
:transition="dTransition"
:content-class="phoneLayout ? 'rounded-0' : 'rounded-form'"
max-width="500px"
:fullscreen="phoneLayout"
persistent
@keydown.enter.prevent="$refs.addTorrent.click"
>
<div
class="noselect"
style="position: fixed; left: 0; top: 0; width: 100%; height: 100%"
@drop.prevent="addDropFile"
@dragover.prevent="showWrapDrag = true"
@dragend.prevent="showWrapDrag = false"
@dragleave.prevent="DragLeave"
class="noselect"
style="position: fixed; left: 0; top: 0; width: 100%; height: 100%"
@drop.prevent="addDropFile"
@dragover.prevent="showWrapDrag = true"
@dragend.prevent="showWrapDrag = false"
@dragleave.prevent="DragLeave"
/>
<v-card :class="showWrapDrag ? 'wrap-drag' : ''" @drop.prevent="addDropFile" @dragover.prevent="showWrapDrag = true" @dragend.prevent="showWrapDrag = false">
<v-container :class="`pa-0 project done`">
@ -34,16 +34,16 @@
<v-row no-gutters>
<v-col ref="fileZone">
<v-file-input
v-if="urls.length === 0"
v-model="files"
color="deep-purple accent-4"
counter
:label="$t('modals.add.selectFiles')"
multiple
:prepend-icon="mdiPaperclip"
:rules="fileInputRules"
outlined
:show-size="1000"
v-if="urls.length === 0"
v-model="files"
color="deep-purple accent-4"
counter
:label="$t('modals.add.selectFiles')"
multiple
:prepend-icon="mdiPaperclip"
:rules="fileInputRules"
outlined
:show-size="1000"
>
<template #selection="{ index, text }">
<v-chip v-if="index < 2" color="deep-purple accent-4" dark label small>
@ -56,18 +56,18 @@
</template>
</v-file-input>
<v-textarea
v-if="files.length === 0"
v-model="urls"
style="max-height: 200px; overflow-x: hidden; overflow-y: auto"
:label="$t('url')"
:prepend-icon="mdiLink"
rows="1"
required
:autofocus="!phoneLayout"
auto-grow
clearable
:hint="$t('modals.add.urlHint')"
@click:prepend="paste"
v-if="files.length === 0"
v-model="urls"
style="max-height: 200px; overflow-x: hidden; overflow-y: auto"
:label="$t('url')"
:prepend-icon="mdiLink"
rows="1"
required
:autofocus="!phoneLayout"
auto-grow
clearable
:hint="$t('modals.add.urlHint')"
@click:prepend="paste"
/>
</v-col>
</v-row>
@ -76,29 +76,45 @@
<v-combobox v-model="category" :items="availableCategories" clearable :label="$t('category')" item-text="name" :prepend-icon="mdiLabel" @input="categoryChanged" />
<v-text-field
v-model="directory"
:disabled="autoTMM"
:label="$t('modals.add.downloadDirectory')"
:prepend-icon="mdiFolder"
autocomplete="download-directory"
name="download-directory"
v-model="directory"
:disabled="autoTMM"
:label="$t('modals.add.downloadDirectory')"
:prepend-icon="mdiFolder"
autocomplete="download-directory"
name="download-directory"
/>
<v-row no-gutters class="flex-gap">
<v-col>
<div class="d-flex flex-column align-center">
<p class="subtitle-1 mb-1">{{ $t('modals.add.contentLayout') }}</p>
<v-select v-model="contentLayout" :label="$t('modals.add.contentLayout')" flat solo dense
hide-details background-color="background" class="rounded-xl"
:items="contentLayoutOptions"/>
<v-select
v-model="contentLayout"
:label="$t('modals.add.contentLayout')"
flat
solo
dense
hide-details
background-color="background"
class="rounded-xl"
:items="contentLayoutOptions"
/>
</div>
</v-col>
<v-col>
<div class="d-flex flex-column align-center">
<p class="subtitle-1 mb-1">{{ $t('modals.add.stopCondition') }}</p>
<v-select v-model="stopCondition" :label="$t('modals.add.stopCondition')" flat solo dense
hide-details background-color="background" class="rounded-xl"
:items="stopConditionOptions"/>
<v-select
v-model="stopCondition"
:label="$t('modals.add.stopCondition')"
flat
solo
dense
hide-details
background-color="background"
class="rounded-xl"
:items="stopConditionOptions"
/>
</div>
</v-col>
</v-row>
@ -138,9 +154,9 @@
</v-container>
</v-card>
<div
v-show="showWrapDrag"
class="wrap-drag noselect"
style="position: fixed; left: 0; top: 0; width: 100%; height: 100%; text-align: center; background-color: rgb(0, 0, 0, 0.5)"
v-show="showWrapDrag"
class="wrap-drag noselect"
style="position: fixed; left: 0; top: 0; width: 100%; height: 100%; text-align: center; background-color: rgb(0, 0, 0, 0.5)"
>
<div class="align white--text">
<div>
@ -157,11 +173,11 @@
</template>
<script>
import {mapGetters, mapState} from 'vuex'
import { mapGetters, mapState } from 'vuex'
import qbit from '@/services/qbit'
import {mdiCloudUpload, mdiFolder, mdiTag, mdiLabel, mdiPaperclip, mdiLink, mdiClose} from '@mdi/js'
import {FullScreenModal, Modal} from '@/mixins'
import {AppPreferences} from '@/enums/qbit'
import { mdiCloudUpload, mdiFolder, mdiTag, mdiLabel, mdiPaperclip, mdiLink, mdiClose } from '@mdi/js'
import { FullScreenModal, Modal } from '@/mixins'
import { AppPreferences } from '@/enums/qbit'
export default {
name: 'AddModal',
@ -180,15 +196,15 @@ export default {
skip_checking: false,
contentLayout: 'Original',
contentLayoutOptions: [
{text: this.$t('modals.add.contentLayoutOptions.original'), value: AppPreferences.ContentLayout.ORIGINAL},
{text: this.$t('modals.add.contentLayoutOptions.subfolder'), value: AppPreferences.ContentLayout.SUBFOLDER},
{text: this.$t('modals.add.contentLayoutOptions.nosubfolder'), value: AppPreferences.ContentLayout.NO_SUBFOLDER}
{ text: this.$t('modals.add.contentLayoutOptions.original'), value: AppPreferences.ContentLayout.ORIGINAL },
{ text: this.$t('modals.add.contentLayoutOptions.subfolder'), value: AppPreferences.ContentLayout.SUBFOLDER },
{ text: this.$t('modals.add.contentLayoutOptions.nosubfolder'), value: AppPreferences.ContentLayout.NO_SUBFOLDER }
],
stopCondition: 'None',
stopConditionOptions: [
{text: this.$t('modals.add.stopConditionOptions.none'), value: AppPreferences.StopCondition.NONE},
{text: this.$t('modals.add.stopConditionOptions.metadataReceived'), value: AppPreferences.StopCondition.METADATA_RECEIVED},
{text: this.$t('modals.add.stopConditionOptions.filesChecked'), value: AppPreferences.StopCondition.FILES_CHECKED},
{ text: this.$t('modals.add.stopConditionOptions.none'), value: AppPreferences.StopCondition.NONE },
{ text: this.$t('modals.add.stopConditionOptions.metadataReceived'), value: AppPreferences.StopCondition.METADATA_RECEIVED },
{ text: this.$t('modals.add.stopConditionOptions.filesChecked'), value: AppPreferences.StopCondition.FILES_CHECKED }
],
autoTMM: true,
sequentialDownload: false,
@ -288,7 +304,7 @@ export default {
this.$toast.success(this.$t('toast.pasteSuccess').toString())
},
async submit() {
if (this.files.length === 0 && this.urls.length === 0) return;
if (this.files.length === 0 && this.urls.length === 0) return
const torrents = []
const params = {

View file

@ -30,10 +30,10 @@
</template>
<script lang="ts">
import {defineComponent} from 'vue'
import Modal from "../../mixins/Modal";
import {FullScreenModal} from "@/mixins";
import qbit from "@/services/qbit";
import { defineComponent } from 'vue'
import Modal from '../../mixins/Modal'
import { FullScreenModal } from '@/mixins'
import qbit from '@/services/qbit'
export default defineComponent({
name: 'ConfirmShutdownModal',
@ -43,13 +43,12 @@ export default defineComponent({
this.dialog = false
},
async shutdownApplication() {
if (!await qbit.shutdownApp()) {
if (!(await qbit.shutdownApp())) {
this.$toast.error(this.$t('toast.shutdownError').toString())
}
else {
} else {
this.$store.state.authenticated = false
await this.$router.push({name: 'login'})
this.$toast.success(this.$t("toast.shutdownSuccess").toString())
await this.$router.push({ name: 'login' })
this.$toast.success(this.$t('toast.shutdownSuccess').toString())
}
this.close()

View file

@ -59,7 +59,7 @@ import qbit from '@/services/qbit'
import { mapGetters, mapState } from 'vuex'
import { mdiBrightness4, mdiSpeedometerSlow, mdiBrightness7, mdiSpeedometer, mdiPower, mdiExitToApp, mdiBell, mdiBellOff } from '@mdi/js'
import ConnectionStatus from './ConnectionStatus.vue'
import {General} from "@/mixins"
import { General } from '@/mixins'
export default {
name: 'BottomActions',

View file

@ -139,7 +139,7 @@
<script>
import { SettingsTab, FullScreenModal } from '@/mixins'
import {MaxRatioAction} from "@/enums/qbit/AppPreferences";
import { MaxRatioAction } from '@/enums/qbit/AppPreferences'
export default {
name: 'BitTorrent',

View file

@ -98,7 +98,7 @@
<script>
import { SettingsTab, FullScreenModal } from '@/mixins'
import {BitTorrentProtocol, ProxyType} from "@/enums/qbit/AppPreferences";
import { BitTorrentProtocol, ProxyType } from '@/enums/qbit/AppPreferences'
export default {
name: 'Connection',

View file

@ -2,13 +2,27 @@
<v-card flat>
<v-subheader>{{ $t('modals.settings.pageDownloads.subHeaderWhenAddTorrent') }}</v-subheader>
<v-list-item>
<v-select v-model="settings.torrent_content_layout" :label="$t('modals.settings.pageDownloads.whenAddTorrent.contentLayout')" outlined dense small-chips :items="contentLayoutOptions" />
<v-select
v-model="settings.torrent_content_layout"
:label="$t('modals.settings.pageDownloads.whenAddTorrent.contentLayout')"
outlined
dense
small-chips
:items="contentLayoutOptions"
/>
</v-list-item>
<v-list-item>
<v-checkbox v-model="settings.start_paused_enabled" hide-details class="ma-0 pa-0" :label="$t('modals.settings.pageDownloads.whenAddTorrent.donotAutoStart')" />
</v-list-item>
<v-list-item>
<v-select v-model="settings.torrent_stop_condition" :label="$t('modals.settings.pageDownloads.whenAddTorrent.stopCondition')" outlined dense small-chips :items="stopConditionOptions" />
<v-select
v-model="settings.torrent_stop_condition"
:label="$t('modals.settings.pageDownloads.whenAddTorrent.stopCondition')"
outlined
dense
small-chips
:items="stopConditionOptions"
/>
</v-list-item>
<v-list-item>
<v-checkbox v-model="settings.auto_delete_mode" hide-details class="ma-0 pa-0" :label="$t('modals.settings.pageDownloads.whenAddTorrent.autoDeleteMode')" />
@ -121,15 +135,15 @@ export default {
data() {
return {
contentLayoutOptions: [
{text: this.$t('modals.add.contentLayoutOptions.original'), value: AppPreferences.ContentLayout.ORIGINAL},
{text: this.$t('modals.add.contentLayoutOptions.subfolder'), value: AppPreferences.ContentLayout.SUBFOLDER},
{text: this.$t('modals.add.contentLayoutOptions.nosubfolder'), value: AppPreferences.ContentLayout.NO_SUBFOLDER}
{ text: this.$t('modals.add.contentLayoutOptions.original'), value: AppPreferences.ContentLayout.ORIGINAL },
{ text: this.$t('modals.add.contentLayoutOptions.subfolder'), value: AppPreferences.ContentLayout.SUBFOLDER },
{ text: this.$t('modals.add.contentLayoutOptions.nosubfolder'), value: AppPreferences.ContentLayout.NO_SUBFOLDER }
],
stopConditionOptions: [
{text: this.$t('modals.add.stopConditionOptions.none'), value: AppPreferences.StopCondition.NONE},
{text: this.$t('modals.add.stopConditionOptions.metadataReceived'), value: AppPreferences.StopCondition.METADATA_RECEIVED},
{text: this.$t('modals.add.stopConditionOptions.filesChecked'), value: AppPreferences.StopCondition.FILES_CHECKED},
],
{ text: this.$t('modals.add.stopConditionOptions.none'), value: AppPreferences.StopCondition.NONE },
{ text: this.$t('modals.add.stopConditionOptions.metadataReceived'), value: AppPreferences.StopCondition.METADATA_RECEIVED },
{ text: this.$t('modals.add.stopConditionOptions.filesChecked'), value: AppPreferences.StopCondition.FILES_CHECKED }
]
}
}
}

View file

@ -4,16 +4,22 @@
<v-tab href="#general">
{{ $t('modals.settings.pageVueTorrent.tabName.general') }}
</v-tab>
<v-tab href="#dashboard">
{{ $t('modals.settings.pageVueTorrent.tabName.dashboard') }}
<v-tab href="#desktopCard">
{{ $t('modals.settings.pageVueTorrent.tabName.desktopCard') }}
</v-tab>
<v-tab href="#mobileCard">
{{ $t('modals.settings.pageVueTorrent.tabName.mobileCard') }}
</v-tab>
</v-tabs>
<v-tabs-items v-model="tab" touchless>
<v-tab-item eager value="general">
<VGeneral />
</v-tab-item>
<v-tab-item eager value="dashboard">
<Dashboard />
<v-tab-item eager value="desktopCard">
<VDesktopCard />
</v-tab-item>
<v-tab-item eager value="mobileCard">
<VMobileCard />
</v-tab-item>
</v-tabs-items>
</v-card>
@ -21,14 +27,16 @@
<script>
import VGeneral from './VueTorrent/VGeneral.vue'
import Dashboard from './VueTorrent/Dashboard.vue'
import VDesktopCard from './VueTorrent/VDesktopCard.vue'
import VMobileCard from './VueTorrent/VMobileCard.vue'
import { FullScreenModal } from '@/mixins'
export default {
name: 'VueTorrent',
components: {
VGeneral,
Dashboard
VDesktopCard,
VMobileCard
},
mixins: [FullScreenModal],
data: () => ({

View file

@ -3,12 +3,12 @@
<v-row dense>
<v-col cols="12" md="6">
<v-subheader>
{{ $t('modals.settings.pageVueTorrent.pageDashboard.busyTorrentTip') }}
{{ $t('modals.settings.pageVueTorrent.pageDesktopCard.busyTorrentTip') }}
</v-subheader>
<v-row dense>
<v-list flat class="ma-2 pa-0">
<draggable :list="busyTorrentProperties" tag="tbody">
<v-list-item v-for="(item, index) in busyTorrentProperties" :key="index" class="ma-2 elevation-2 rounded-lg pointer">
<draggable :list="busyDesktopTorrentProperties" tag="tbody">
<v-list-item v-for="(item, index) in busyDesktopTorrentProperties" :key="index" class="ma-2 elevation-2 rounded-lg pointer">
<v-checkbox v-model="item.active" dense hide-details class="pa-0 ma-0" />
<v-list-item-content>
<v-list-item-title class="truncate" v-text="item.label" />
@ -26,12 +26,12 @@
<v-col cols="12" md="6">
<v-subheader>
{{ $t('modals.settings.pageVueTorrent.pageDashboard.completedTorrentTip') }}
{{ $t('modals.settings.pageVueTorrent.pageDesktopCard.completedTorrentTip') }}
</v-subheader>
<v-row dense>
<v-list flat class="ma-2 pa-0">
<draggable :list="doneTorrentProperties" tag="tbody">
<v-list-item v-for="(item, index) in doneTorrentProperties" :key="index" class="ma-2 elevation-2 rounded-lg pointer">
<draggable :list="doneDesktopTorrentProperties" tag="tbody">
<v-list-item v-for="(item, index) in doneDesktopTorrentProperties" :key="index" class="ma-2 elevation-2 rounded-lg pointer">
<v-checkbox v-model="item.active" dense hide-details class="pa-0 ma-0" />
<v-list-item-content>
<v-list-item-title class="truncate" v-text="item.label" />
@ -56,7 +56,7 @@ import { mdiMenu } from '@mdi/js'
import { i18n } from '@/plugins/i18n'
export default {
name: 'Dashboard',
name: 'VDesktopCard',
components: {
draggable
},
@ -64,16 +64,16 @@ export default {
mdiMenu
}),
computed: {
busyTorrentProperties() {
return this.injectLocalization(this.$store.state.webuiSettings.busyTorrentProperties)
busyDesktopTorrentProperties() {
return this.injectLocalization(this.$store.state.webuiSettings.busyDesktopTorrentProperties)
},
doneTorrentProperties() {
return this.injectLocalization(this.$store.state.webuiSettings.doneTorrentProperties)
doneDesktopTorrentProperties() {
return this.injectLocalization(this.$store.state.webuiSettings.doneDesktopTorrentProperties)
}
},
methods: {
injectLocalization(properties) {
const localePrefix = 'modals.settings.pageVueTorrent.pageDashboard.properties'
const localePrefix = 'modals.settings.pageVueTorrent.properties'
const localeMap = {
Size: i18n.t(`${localePrefix}.size`),
Progress: i18n.t(`${localePrefix}.progress`),

View file

@ -124,11 +124,11 @@
<v-row dense>
<v-col>
<v-switch
v-model="webuiSettings.showShutdownButton"
class="v-input--reverse pa-0 ma-0"
hide-details
inset
:label="$t('modals.settings.pageVueTorrent.pageGeneral.showShutdownButton')"
v-model="webuiSettings.showShutdownButton"
class="v-input--reverse pa-0 ma-0"
hide-details
inset
:label="$t('modals.settings.pageVueTorrent.pageGeneral.showShutdownButton')"
/>
</v-col>
</v-row>

View file

@ -0,0 +1,86 @@
<template>
<v-card flat>
<v-row dense>
<v-col cols="12" md="6">
<v-subheader>
{{ $t('modals.settings.pageVueTorrent.pageMobileCard.busyTorrentTip') }}
</v-subheader>
<v-row dense>
<v-list flat class="ma-2 pa-0">
<v-list-item v-for="(item, index) in busyMobileCardProperties" :key="index" class="ma-2 elevation-2 rounded-lg pointer">
<v-checkbox v-model="item.active" dense hide-details class="pa-0 ma-0" />
<v-list-item-content>
<v-list-item-title class="truncate" v-text="item.label" />
</v-list-item-content>
</v-list-item>
</v-list>
</v-row>
</v-col>
<v-col cols="12" md="6">
<v-subheader>
{{ $t('modals.settings.pageVueTorrent.pageMobileCard.completedTorrentTip') }}
</v-subheader>
<v-row dense>
<v-list flat class="ma-2 pa-0">
<v-list-item v-for="(item, index) in doneMobileCardProperties" :key="index" class="ma-2 elevation-2 rounded-lg pointer">
<v-checkbox v-model="item.active" dense hide-details class="pa-0 ma-0" />
<v-list-item-content>
<v-list-item-title class="truncate" v-text="item.label" />
</v-list-item-content>
</v-list-item>
</v-list>
</v-row>
</v-col>
</v-row>
</v-card>
</template>
<script>
import { mapState } from 'vuex'
import draggable from 'vuedraggable'
import { mdiMenu } from '@mdi/js'
import { i18n } from '@/plugins/i18n'
export default {
name: 'VMobileCard',
components: {
draggable
},
data: () => ({
mdiMenu
}),
computed: {
...mapState(['webuiSettings']),
busyMobileCardProperties() {
return this.injectLocalization(this.webuiSettings.busyMobileCardProperties)
},
doneMobileCardProperties() {
return this.injectLocalization(this.webuiSettings.doneMobileCardProperties)
}
},
methods: {
injectLocalization(properties) {
const localePrefix = 'modals.settings.pageVueTorrent.properties'
const localeMap = {
Size: i18n.t(`${localePrefix}.size`),
Progress: i18n.t(`${localePrefix}.progress`),
Download: i18n.t(`${localePrefix}.downloadSpeed`),
Upload: i18n.t(`${localePrefix}.uploadSpeed`),
ETA: i18n.t(`${localePrefix}.ETA`),
Peers: i18n.t(`${localePrefix}.peers`),
Seeds: i18n.t(`${localePrefix}.seeds`),
Status: i18n.t(`${localePrefix}.state`),
Ratio: i18n.t(`${localePrefix}.ratio`),
Uploaded: i18n.t(`${localePrefix}.uploaded`),
Tracker: i18n.t(`${localePrefix}.tracker`),
Category: i18n.t(`${localePrefix}.category`),
Tags: i18n.t(`${localePrefix}.tags`)
}
properties.forEach(property => (property.label = localeMap[property.name]))
return properties
}
}
}
</script>

View file

@ -10,7 +10,7 @@
</template>
<script>
import * as Fields from './DashboardItems'
import { mapGetters } from 'vuex'
import { mapState } from 'vuex'
export default {
name: 'DesktopCard',
@ -21,13 +21,13 @@ export default {
torrent: Object
},
computed: {
...mapGetters(['getWebuiSettings']),
...mapState(['webuiSettings']),
properties() {
if (this.torrent.progress === 100) {
return this.getWebuiSettings().doneTorrentProperties.filter(i => i.active)
return this.webuiSettings.doneDesktopTorrentProperties.filter(i => i.active)
}
return this.getWebuiSettings().busyTorrentProperties.filter(i => i.active)
return this.webuiSettings.busyDesktopTorrentProperties.filter(i => i.active)
}
}
}

View file

@ -6,64 +6,66 @@
</span>
</v-flex>
<v-flex xs12 row class="ma-1 mt-0 chipgap">
<v-chip small class="caption white--text" :class="torrent.state.toLowerCase()" style="height: 20px">
<v-chip v-if="isStatusActive" small class="caption white--text" :class="torrent.state.toLowerCase()" style="height: 20px">
{{ stateString }}
</v-chip>
<v-chip v-if="torrent.tracker" small class="trackers caption white--text" style="height: 20px">
<v-chip v-if="isTrackerActive && torrent.tracker" small class="trackers caption white--text" style="height: 20px">
{{ trackerHost }}
</v-chip>
<v-chip v-if="torrent.category" small class="upload caption white--text" style="height: 20px">
<v-chip v-if="isCategoryActive && torrent.category" small class="upload caption white--text" style="height: 20px">
{{ torrent.category }}
</v-chip>
<v-chip v-if="torrent.tags" v-for="tag in torrent.tags" :key="tag" small class="tags caption white--text" style="height: 20px">
<v-chip v-if="isTagsActive && torrent.tags" v-for="tag in torrent.tags" :key="tag" small class="tags caption white--text" style="height: 20px">
{{ tag }}
</v-chip>
</v-flex>
<v-flex xs12 class="pa-0 ma-1 row spangap">
<span class="downloaded">
<span class="body-2">{{ torrent.dloaded | getDataValue }} </span>
<span class="grey--text caption">{{ torrent.dloaded | getDataUnit }}</span>
<span v-if="isSizeActive">
<span class="downloaded">
<span class="body-2">{{ torrent.dloaded | getDataValue }} </span>
<span class="grey--text caption">{{ torrent.dloaded | getDataUnit }}</span>
</span>
<span class="grey--text caption">/</span>
<span class="size">
<span class="body-2">{{ torrent.size | getDataValue }} </span>
<span class="grey--text caption">{{ torrent.size | getDataUnit }}</span>
</span>
</span>
<span class="grey--text caption">/</span>
<span class="size">
<span class="body-2">{{ torrent.size | getDataValue }} </span>
<span class="grey--text caption">{{ torrent.size | getDataUnit }}</span>
</span>
<span class="grey--text" style="margin-top: 3px"></span>
<span class="progress">
<span v-if="isSizeActive && isProgressActive" class="grey--text" style="margin-top: 3px"></span>
<span v-if="isProgressActive" class="progress">
<span class="body-2">{{ torrent.progress }} </span>
<span class="grey--text caption">%</span>
</span>
<span class="grey--text" style="margin-top: 3px"></span>
<span class="ratio">
<span v-if="(isSizeActive || isProgressActive) && isRatioActive" class="grey--text" style="margin-top: 3px"></span>
<span v-if="isRatioActive" class="ratio">
<span class="grey--text caption">R: </span>
<span class="body-2">{{ torrent.ratio }}</span>
</span>
<span class="grey--text" style="margin-top: 3px"></span>
<span class="uploaded">
<span v-if="(isSizeActive || isProgressActive || isRatioActive) && isUploadedActive" class="grey--text" style="margin-top: 3px"></span>
<span v-if="isUploadedActive" class="uploaded">
<span class="body-2">{{ torrent.uploaded | getDataValue }} </span>
<span class="grey--text caption">{{ torrent.uploaded | getDataUnit }}</span>
</span>
<v-spacer />
<span class="body-2">{{ torrent.eta }}</span>
<span v-if="isEtaActive" class="body-2">{{ torrent.eta }}</span>
</v-flex>
<v-flex xs12 class="ma-1">
<v-progress-linear rounded color="upload" height="5" :value="torrent.progress" />
</v-flex>
<v-flex row xs12 class="ma-1">
<div class="caption grey--text">{{ torrent.num_seeds }}/{{ torrent.available_seeds }} seeds</div>
<span class="mx-1 grey--text" style="margin-top: 2px"></span>
<div class="caption grey--text">{{ torrent.num_leechs }}/{{ torrent.available_peers }} peers</div>
<div v-if="isSeedsActive" class="caption grey--text">{{ torrent.num_seeds }}/{{ torrent.available_seeds }} seeds</div>
<span v-if="isSeedsActive && isPeersActive" class="mx-1 grey--text" style="margin-top: 2px"></span>
<div v-if="isPeersActive" class="caption grey--text">{{ torrent.num_leechs }}/{{ torrent.available_peers }} peers</div>
<v-spacer />
<div>
<span v-if="torrent.dlspeed">
<span v-if="isDownloadActive && torrent.dlspeed">
<v-icon small class="grey--text">
{{ mdiChevronDown }}
</v-icon>
<span class="caption font-weight-medium grey--text">{{ torrent.dlspeed | getDataValue(1) }} </span>
<span class="caption grey--text" style="font-size: 0.6em !important"> {{ torrent.dlspeed | getDataUnit(1) }}/s </span>
<span class="caption grey--text" style="font-size: 0.6em !important"> {{ torrent.dlspeed | getDataUnit }}/s </span>
</span>
<span v-if="torrent.upspeed">
<span v-if="isUploadActive && torrent.upspeed">
<v-icon small class="grey--text">
{{ mdiChevronUp }}
</v-icon>
@ -75,9 +77,11 @@
</v-layout>
</template>
<script>
import { mapState } from 'vuex'
import { mdiChevronUp, mdiChevronDown } from '@mdi/js'
import { Torrent } from '@/models'
import { getDomainBody } from '@/helpers'
import { DashboardProperty } from '@/enums/vuetorrent'
export default {
name: 'MobileCard',
@ -89,12 +93,59 @@ export default {
mdiChevronDown
}),
computed: {
...mapState(['webuiSettings']),
stateString() {
if (this.torrent.forced) return `[F] ${this.torrent.state}`
else return this.torrent.state
},
trackerHost() {
return getDomainBody(this.torrent.tracker)
},
properties() {
if (this.torrent.progress === 100) {
return this.webuiSettings.doneMobileCardProperties
}
return this.webuiSettings.busyMobileCardProperties
},
isStatusActive() {
return this.properties.find(e => e.name === DashboardProperty.STATUS).active
},
isTrackerActive() {
return this.properties.find(e => e.name === DashboardProperty.TRACKER).active
},
isCategoryActive() {
return this.properties.find(e => e.name === DashboardProperty.CATEGORY).active
},
isTagsActive() {
return this.properties.find(e => e.name === DashboardProperty.TAGS).active
},
isSizeActive() {
return this.properties.find(e => e.name === DashboardProperty.SIZE).active
},
isProgressActive() {
return this.properties.find(e => e.name === DashboardProperty.PROGRESS).active
},
isRatioActive() {
return this.properties.find(e => e.name === DashboardProperty.RATIO).active
},
isUploadedActive() {
return this.properties.find(e => e.name === DashboardProperty.UPLOADED).active
},
isEtaActive() {
return this.properties.find(e => e.name === DashboardProperty.ETA).active
},
isSeedsActive() {
return this.properties.find(e => e.name === DashboardProperty.SEEDS).active
},
isPeersActive() {
return this.properties.find(e => e.name === DashboardProperty.PEERS).active
},
isDownloadActive() {
return this.properties.find(e => e.name === DashboardProperty.DOWNLOAD).active
},
isUploadActive() {
return this.properties.find(e => e.name === DashboardProperty.UPLOAD).active
}
}
}

View file

@ -149,7 +149,14 @@
{{ $t('rightClick.notags') | titleCase }}
</v-list-item-title>
</v-list-item>
<v-menu v-if="availableCategories.length > 1" :open-on-hover="!touchmode" top offset-x :transition="isRightside ? 'slide-x-reverse-transition' : 'slide-x-transition'" :left="isRightside">
<v-menu
v-if="availableCategories.length > 1"
:open-on-hover="!touchmode"
top
offset-x
:transition="isRightside ? 'slide-x-reverse-transition' : 'slide-x-transition'"
:left="isRightside"
>
<template #activator="{ on }">
<v-list-item link v-on="on">
<v-icon>{{ mdiLabel }}</v-icon>

View file

@ -1,38 +1,36 @@
<template>
<v-card flat>
<v-card-text class="pa-0">
<v-data-table v-if="peers" v-model="selectedPeers" dense show-select :headers="headers" :items="peers"
:items-per-page="-1" item-key="key" mobile-breakpoint="0">
<v-data-table v-if="peers" v-model="selectedPeers" dense show-select :headers="headers" :items="peers" :items-per-page="-1" item-key="key" mobile-breakpoint="0">
<template #body="{ items }">
<tbody>
<tr v-for="item in items" :key="item.key">
<td>
<v-checkbox v-model="selectedPeers" :value="item.key" hide-details class="pa-0 ma-0" color="accent"/>
</td>
<td class="ip">
<template v-if="item.country_code">
<img v-if="isWindows" class="country-flag" :title="item.country"
:alt="codeToFlag(item.country_code).char" :src="codeToFlag(item.country_code).url"/>
<template v-else>
{{ codeToFlag(item.country_code).char }}
<tr v-for="item in items" :key="item.key">
<td>
<v-checkbox v-model="selectedPeers" :value="item.key" hide-details class="pa-0 ma-0" color="accent" />
</td>
<td class="ip">
<template v-if="item.country_code">
<img v-if="isWindows" class="country-flag" :title="item.country" :alt="codeToFlag(item.country_code).char" :src="codeToFlag(item.country_code).url" />
<template v-else>
{{ codeToFlag(item.country_code).char }}
</template>
</template>
</template>
{{ item.ip }}
<span class="grey--text">:{{ item.port }}</span>
</td>
<td>{{ item.connection }}</td>
<td :title="item.flags_desc">
{{ item.flags }}
</td>
<td>{{ item.client }}</td>
<td>{{ item.progress | progress }}</td>
<td>{{ item.dl_speed | networkSpeed }}</td>
<td>{{ item.downloaded | networkSize }}</td>
<td>{{ item.up_speed | networkSpeed }}</td>
<td>{{ item.uploaded | networkSize }}</td>
<td>{{ item.relevance | progress }}</td>
<td>{{ item.files }}</td>
</tr>
{{ item.ip }}
<span class="grey--text">:{{ item.port }}</span>
</td>
<td>{{ item.connection }}</td>
<td :title="item.flags_desc">
{{ item.flags }}
</td>
<td>{{ item.client }}</td>
<td>{{ item.progress | progress }}</td>
<td>{{ item.dl_speed | networkSpeed }}</td>
<td>{{ item.downloaded | networkSize }}</td>
<td>{{ item.up_speed | networkSpeed }}</td>
<td>{{ item.uploaded | networkSize }}</td>
<td>{{ item.relevance | progress }}</td>
<td>{{ item.files }}</td>
</tr>
</tbody>
</template>
</v-data-table>
@ -48,11 +46,10 @@
<h3>Add Peers</h3>
</v-card-title>
<v-card-text>
<v-textarea v-model="newPeers" label="Peers" rows="1" required autofocus auto-grow clearable
hint="One link per line"/>
<v-textarea v-model="newPeers" label="Peers" rows="1" required autofocus auto-grow clearable hint="One link per line" />
</v-card-text>
<v-card-actions>
<v-spacer/>
<v-spacer />
<v-btn color="red darken-1" text @click="closeAddPeers">Cancel</v-btn>
<v-btn color="green darken-1" text @click="addPeers">Add</v-btn>
</v-card-actions>

View file

@ -5,9 +5,9 @@ export enum BitTorrentProtocol {
}
export enum ContentLayout {
ORIGINAL = "Original",
SUBFOLDER = "Subfolder",
NO_SUBFOLDER = "NoSubfolder"
ORIGINAL = 'Original',
SUBFOLDER = 'Subfolder',
NO_SUBFOLDER = 'NoSubfolder'
}
export enum DynDnsService {
@ -57,9 +57,9 @@ export enum SchedulerDays {
}
export enum StopCondition {
NONE = "None",
METADATA_RECEIVED = "MetadataReceived",
FILES_CHECKED = "FilesChecked"
NONE = 'None',
METADATA_RECEIVED = 'MetadataReceived',
FILES_CHECKED = 'FilesChecked'
}
export enum UploadChokingAlgorithm {

View file

@ -10,7 +10,7 @@ export enum DashboardProperty {
PEERS = 'Peers',
SEEDS = 'Seeds',
STATUS = 'Status',
RAIO = 'Ratio',
RATIO = 'Ratio',
TRACKER = 'Tracker',
CATEGORY = 'Category',
TAGS = 'Tags',

View file

@ -60,14 +60,18 @@ export function treeify(paths) {
const level = { result }
paths.forEach(path => {
path.name.split('\\').join('/').split('/').reduce((r, name) => {
if (!r[name]) {
r[name] = { result: [] }
r.result.push(createFile(path, name, r[name].result))
}
path.name
.split('\\')
.join('/')
.split('/')
.reduce((r, name) => {
if (!r[name]) {
r[name] = { result: [] }
r.result.push(createFile(path, name, r[name].result))
}
return r[name]
}, level)
return r[name]
}, level)
})
// parse folders
@ -162,7 +166,7 @@ export function getBaseURL() {
}
export function getDomainBody(string) {
const match = string.match(/:\/\/([^\/]+\.)?([^\/\.]+)\.[^\/\.:]+/i)
const match = string.match(/:\/\/([^\/]+\.)?([^\/.]+)\.[^\/.:]+/i)
if (match != null && match.length > 2 && typeof match[2] === 'string' && match[2].length > 0) {
return match[2]
} else {

View file

@ -92,7 +92,7 @@
"removeSelected": "Remove selected torrents",
"openSettings": "Open settings",
"searchNew": "Search new torrent",
"rssArticles": "View RSS feed articles"
"rssArticles": "View RSS feed articles"
},
"sessionStats": {
"tooltip": "Since the last time qBittorrent was restarted"
@ -172,7 +172,8 @@
"pageVueTorrent": {
"tabName": {
"general": "General",
"dashboard": "Dashboard"
"desktopCard": "Desktop Card",
"mobileCard": "Mobile Card"
},
"pageGeneral": {
"tip": "These settings are for the custom WebUI itself",
@ -196,37 +197,41 @@
"exportSettings": "Export Settings",
"resetSettings": "Reset Settings"
},
"pageDashboard": {
"busyTorrentTip": "Properties to display for busy torrents",
"completedTorrentTip": "Properties to display for completed torrents",
"properties": {
"availability": "Availability",
"tracker": "Tracker",
"category": "Category",
"tags": "Tags",
"completed": "Completed",
"completion_on": "Completed On",
"downloaded": "Downloaded",
"ETA": "ETA",
"name": "Name",
"default": "Default",
"last_activity": "Last Activity",
"peers": "Peers",
"seeds": "Seeds",
"priority": "Priority",
"progress": "Progress",
"ratio": "Ratio",
"save_path": "Directory",
"size": "Size",
"state": "State",
"uploaded": "Uploaded",
"addedOn": "Added On",
"downloadSpeed": "Download Speed",
"timeActive": "Time Active",
"uploadSpeed": "Upload Speed",
"globalSpeed": "Global Speed",
"globalVolume": "Global Volume"
}
"pageDesktopCard": {
"busyTorrentTip": "Properties to display for busy torrents on desktop",
"completedTorrentTip": "Properties to display for completed torrents on desktop"
},
"pageMobileCard": {
"busyTorrentTip": "Properties to display for busy torrents on mobile",
"completedTorrentTip": "Properties to display for completed torrents on mobile"
},
"properties": {
"availability": "Availability",
"tracker": "Tracker",
"category": "Category",
"tags": "Tags",
"completed": "Completed",
"completion_on": "Completed On",
"downloaded": "Downloaded",
"ETA": "ETA",
"name": "Name",
"default": "Default",
"last_activity": "Last Activity",
"peers": "Peers",
"seeds": "Seeds",
"priority": "Priority",
"progress": "Progress",
"ratio": "Ratio",
"save_path": "Directory",
"size": "Size",
"state": "State",
"uploaded": "Uploaded",
"addedOn": "Added On",
"downloadSpeed": "Download Speed",
"timeActive": "Time Active",
"uploadSpeed": "Upload Speed",
"globalSpeed": "Global Speed",
"globalVolume": "Global Volume"
}
},
"pageDownloads": {

View file

@ -47,9 +47,10 @@
"pageVueTorrent": {
"tabName": {},
"pageGeneral": {},
"pageDashboard": {
"pageDesktopCard": {
"properties": {}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"whenAddTorrent": {},

View file

@ -167,8 +167,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "Général",
"dashboard": "Tableau de bord"
"general": "Général"
},
"pageGeneral": {
"tip": "Ces paramètres concernent la WebUI",
@ -192,7 +191,7 @@
"exportSettings": "Exporter la configuration",
"resetSettings": "Réinitialiser la configuration"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "Propriétés à afficher pour les torrents occupés",
"completedTorrentTip": "Propriétés à afficher pour les torrents terminés",
"properties": {
@ -219,7 +218,8 @@
"timeActive": "Temps actif",
"uploadSpeed": "Vitesse d'upload"
}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "Lors de l'ajout d'un torrent",

View file

@ -122,8 +122,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "Umum",
"dashboard": "Dashboard"
"general": "Umum"
},
"pageGeneral": {
"tip": "Pengaturan berikut hanya untuk WebUI kustom",
@ -142,11 +141,12 @@
"currentVersion": "Versi saat ini:",
"qbittorrentVersion": "Versi qBittorrent:"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "Properti ditampilkan pada torrent yang sibuk",
"completedTorrentTip": "Properti ditampilkan pada torrent yang selesai",
"properties": {}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "Saat menambahkan torrent",

View file

@ -30,9 +30,10 @@
"pageVueTorrent": {
"tabName": {},
"pageGeneral": {},
"pageDashboard": {
"pageDesktopCard": {
"properties": {}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"whenAddTorrent": {},

View file

@ -123,8 +123,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "一般",
"dashboard": "ダッシュボード"
"general": "一般"
},
"pageGeneral": {
"tip": "これらの設定は、このカスタム WebUI に対するものです",
@ -141,11 +140,12 @@
"currentVersion": "現在のバージョン:",
"qbittorrentVersion": "QBittorrentのバージョン:"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "稼働中のTorrentに表示されるプロパティ",
"completedTorrentTip": "完了したTorrentに表示されるプロパティ",
"properties": {}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "Torrentを追加したとき",

View file

@ -52,9 +52,10 @@
"pageVueTorrent": {
"tabName": {},
"pageGeneral": {},
"pageDashboard": {
"pageDesktopCard": {
"properties": {}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"whenAddTorrent": {},

View file

@ -52,9 +52,10 @@
"pageVueTorrent": {
"tabName": {},
"pageGeneral": {},
"pageDashboard": {
"pageDesktopCard": {
"properties": {}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"whenAddTorrent": {},

View file

@ -134,8 +134,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "Общее",
"dashboard": "Панель"
"general": "Общее"
},
"pageGeneral": {
"tip": "Общие настройки пользовательского веб-интерфейса",
@ -156,7 +155,7 @@
"qbittorrentVersion": "Версия QBittorrent:",
"resetSettings": "Сбросить настройки"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "Свойства для отображения активных торрентов",
"completedTorrentTip": "Свойства для отображения завершенных торрентов",
"properties": {
@ -174,7 +173,8 @@
"ratio": "Рейтинг",
"size": "Размер"
}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "При добавлении торрента",

View file

@ -90,7 +90,7 @@
"removeSelected": "Видалити вибрані торенти",
"openSettings": "Відкрити налаштування",
"searchNew": "Шукати нові торенти",
"rssArticles": "Переглянути заголовки RSS-стрічок"
"rssArticles": "Переглянути заголовки RSS-стрічок"
},
"sessionStats": {
"tooltip": "З моменту останнього перезапуску qBittorrent"
@ -168,8 +168,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "Загальне",
"dashboard": "Панель"
"general": "Загальне"
},
"pageGeneral": {
"tip": "Ці налаштування призначені для користувацького веб-інтерфейсу",
@ -190,7 +189,7 @@
"qbittorrentVersion": "Версія QBittorrent:",
"resetSettings": "Скинути налаштування"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "Властивості для відображення зайнятих торрентів",
"completedTorrentTip": "Властивості для відображення завершених торрентів",
"properties": {
@ -220,7 +219,8 @@
"globalSpeed": "Загальна швидкість",
"globalVolume": "Загальний об'єм"
}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "Коли додається торент",

View file

@ -149,8 +149,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "Chung",
"dashboard": "Trang tổng quan"
"general": "Chung"
},
"pageGeneral": {
"tip": "Đây là các cài đặt dành riêng cho VueTorrent",
@ -171,7 +170,7 @@
"qbittorrentVersion": "Phiên bản QBittorrent:",
"resetSettings": "Đặt lại cài đặt"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "Các thuộc tính để hiển thị cho các torrent chưa hoàn thành",
"completedTorrentTip": "Các thuộc tính để hiển thị cho các torrent đã hoàn thành",
"properties": {
@ -201,7 +200,8 @@
"globalSpeed": "Global Speed",
"globalVolume": "Global Volume"
}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "Khi thêm một torrent",

View file

@ -143,8 +143,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "常规",
"dashboard": "面板"
"general": "常规"
},
"pageGeneral": {
"tip": "这些设置适用于自定义 WebUI 本身",
@ -164,7 +163,7 @@
"currentVersion": "当前版本",
"qbittorrentVersion": "QBittorrent 版本"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "未完成的种子要显示的属性",
"completedTorrentTip": "已完成的种子要显示的属性",
"properties": {
@ -191,7 +190,8 @@
"timeActive": "活跃时间",
"uploadSpeed": "上传速率"
}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "当添加种子时",

View file

@ -143,8 +143,7 @@
},
"pageVueTorrent": {
"tabName": {
"general": "一般",
"dashboard": "Dashboard"
"general": "一般"
},
"pageGeneral": {
"tip": "這些設定適用於自訂WebUI",
@ -165,7 +164,7 @@
"qbittorrentVersion": "QBittorrent 版本",
"resetSettings": "重置設定"
},
"pageDashboard": {
"pageDesktopCard": {
"busyTorrentTip": "未完成種子所顯示的屬性",
"completedTorrentTip": "已完成種子所顯示的屬性",
"properties": {
@ -193,7 +192,8 @@
"timeActive": "經過時間",
"uploadSpeed": "上傳速率"
}
}
},
"pageMobileCard": {}
},
"pageDownloads": {
"subHeaderWhenAddTorrent": "當新增種子時",

View file

@ -25,7 +25,7 @@ export default class Status {
this.freeDiskSpace = previous.freeDiskSpace
this.sessionDownloaded = previous.sessionDownloaded
this.sessionUploaded = previous.sessionUploaded
Object.freeze(this)
return
}

View file

@ -1,82 +1,90 @@
import { JSONSchemaType } from 'ajv'
import { StoreState } from '@/types/vuetorrent'
import { PersistentStoreState } from '@/types/vuetorrent'
import { DashboardProperty, TitleOptions } from '@/enums/vuetorrent'
export const StoreStateSchema: JSONSchemaType<StoreState> = {
type: "object",
export const StoreStateSchema: JSONSchemaType<PersistentStoreState> = {
type: 'object',
properties: {
authenticated: {type: "boolean"},
authenticated: { type: 'boolean' },
sort_options: {
type: "object",
type: 'object',
properties: {
isCustomSortEnabled: {type: "boolean"},
sort: {type: "string"},
reverse: {type: "boolean"},
filter: {type: "string", nullable: true},
category: {type: "string", nullable: true},
tag: {type: "string", nullable: true},
tracker: {type: "string", nullable: true},
isCustomSortEnabled: { type: 'boolean' },
sort: { type: 'string' },
reverse: { type: 'boolean' },
filter: { type: 'string', nullable: true },
category: { type: 'string', nullable: true },
tag: { type: 'string', nullable: true },
tracker: { type: 'string', nullable: true }
},
required: [
"isCustomSortEnabled",
"sort",
"reverse",
"filter",
"category",
"tag",
"tracker"
]
required: ['isCustomSortEnabled', 'sort', 'reverse', 'filter', 'category', 'tag', 'tracker']
},
webuiSettings: {
type: "object",
type: 'object',
properties: {
lang: {type: "string"},
darkTheme: {type: "boolean"},
showFreeSpace: {type: "boolean"},
showSpeedGraph: {type: "boolean"},
showSessionStat: {type: "boolean"},
showAlltimeStat: {type: "boolean"},
showCurrentSpeed: {type: "boolean"},
showTrackerFilter: {type: "boolean"},
showSpeedInTitle: {type: "boolean"},
deleteWithFiles: {type: "boolean"},
lang: { type: 'string' },
darkTheme: { type: 'boolean' },
showFreeSpace: { type: 'boolean' },
showSpeedGraph: { type: 'boolean' },
showSessionStat: { type: 'boolean' },
showAlltimeStat: { type: 'boolean' },
showCurrentSpeed: { type: 'boolean' },
showTrackerFilter: { type: 'boolean' },
showSpeedInTitle: { type: 'boolean' },
deleteWithFiles: { type: 'boolean' },
title: {
type: "string",
enum: [
TitleOptions.DEFAULT,
TitleOptions.GLOBAL_SPEED,
TitleOptions.FIRST_TORRENT_STATUS
]
type: 'string',
enum: [TitleOptions.DEFAULT, TitleOptions.GLOBAL_SPEED, TitleOptions.FIRST_TORRENT_STATUS]
},
rightDrawer: {type: "boolean"},
topPagination: {type: "boolean"},
paginationSize: {type: "number"},
dateFormat: {type: "string"},
openSideBarOnStart: {type: "boolean"},
busyTorrentProperties: {$ref: "/schemas/dashboardProperties"},
doneTorrentProperties: {$ref: "/schemas/dashboardProperties"}
}
rightDrawer: { type: 'boolean' },
topPagination: { type: 'boolean' },
paginationSize: { type: 'number' },
dateFormat: { type: 'string' },
openSideBarOnStart: { type: 'boolean' },
showShutdownButton: { type: 'boolean' },
busyDesktopTorrentProperties: { $ref: '/schemas/desktopDashboardProperties' },
doneDesktopTorrentProperties: { $ref: '/schemas/desktopDashboardProperties' },
busyMobileCardProperties: { $ref: '/schemas/mobileDashboardProperties' },
doneMobileCardProperties: { $ref: '/schemas/mobileDashboardProperties' }
},
required: [
'lang',
'darkTheme',
'showFreeSpace',
'showSpeedGraph',
'showSessionStat',
'showAlltimeStat',
'showCurrentSpeed',
'showTrackerFilter',
'showSpeedInTitle',
'deleteWithFiles',
'title',
'rightDrawer',
'topPagination',
'paginationSize',
'dateFormat',
'openSideBarOnStart',
'showShutdownButton',
'busyDesktopTorrentProperties',
'doneDesktopTorrentProperties'
]
}
},
required: [
"sort_options",
"webuiSettings",
"authenticated"
],
required: ['sort_options', 'webuiSettings', 'authenticated'],
additionalProperties: false,
$defs: {
DashboardProperties: {
$id: "/schemas/dashboardProperties",
type: "array",
DesktopDashboardProperties: {
$id: '/schemas/desktopDashboardProperties',
type: 'array',
uniqueItems: true,
minItems: 21,
maxItems: 21,
items: {
type: "object",
type: 'object',
properties: {
name: {
type: "string",
type: 'string',
enum: [
DashboardProperty.SIZE,
DashboardProperty.PROGRESS,
@ -89,7 +97,7 @@ export const StoreStateSchema: JSONSchemaType<StoreState> = {
DashboardProperty.PEERS,
DashboardProperty.SEEDS,
DashboardProperty.STATUS,
DashboardProperty.RAIO,
DashboardProperty.RATIO,
DashboardProperty.TRACKER,
DashboardProperty.CATEGORY,
DashboardProperty.TAGS,
@ -101,9 +109,41 @@ export const StoreStateSchema: JSONSchemaType<StoreState> = {
DashboardProperty.GLOBAL_VOLUME
]
},
active: {type: "boolean"}
active: { type: 'boolean' }
},
required: ["name", "active"]
required: ['name', 'active']
}
},
MobileDashboardProperties: {
$id: '/schemas/mobileDashboardProperties',
type: 'array',
uniqueItems: true,
minItems: 13,
maxItems: 13,
items: {
type: 'object',
properties: {
name: {
type: 'string',
enum: [
DashboardProperty.SIZE,
DashboardProperty.PROGRESS,
DashboardProperty.DOWNLOAD,
DashboardProperty.UPLOAD,
DashboardProperty.ETA,
DashboardProperty.PEERS,
DashboardProperty.SEEDS,
DashboardProperty.STATUS,
DashboardProperty.RATIO,
DashboardProperty.UPLOADED,
DashboardProperty.TRACKER,
DashboardProperty.CATEGORY,
DashboardProperty.TAGS
]
},
active: { type: 'boolean' }
},
required: ['name', 'active']
}
}
}

View file

@ -1,3 +1,3 @@
import {StoreStateSchema} from './StoreState'
import { StoreStateSchema } from './StoreState'
export { StoreStateSchema }

View file

@ -114,9 +114,10 @@ export class QBitApi {
}
async getTorrentPeers(hash: string, rid?: number): Promise<TorrentPeersResponse> {
return this.axios.get('/sync/torrentPeers', {
params: { hash, rid }
})
return this.axios
.get('/sync/torrentPeers', {
params: { hash, rid }
})
.then(r => r.data)
}
@ -141,7 +142,7 @@ export class QBitApi {
}
async getAvailableTags(): Promise<string[]> {
return this.axios.get('/torrents/tags').then(res => res.data.sort((a: string, b: string) => a.localeCompare(b.toLowerCase(), undefined, {sensitivity: 'base'})))
return this.axios.get('/torrents/tags').then(res => res.data.sort((a: string, b: string) => a.localeCompare(b.toLowerCase(), undefined, { sensitivity: 'base' })))
}
async getTorrentProperties(hash: string): Promise<TorrentProperties> {
@ -512,9 +513,10 @@ export class QBitApi {
}
async shutdownApp(): Promise<boolean> {
return this.axios.post("/app/shutdown")
.then(() => true)
.catch(() => false)
return this.axios
.post('/app/shutdown')
.then(() => true)
.catch(() => false)
}
}

View file

@ -4,12 +4,12 @@ import VuexPersist from 'vuex-persist'
import actions from './actions'
import getters from './getters'
import mutations from './mutations'
import type { StoreState } from '@/types/vuetorrent'
import type { StoreState, PersistentStoreState } from '@/types/vuetorrent'
import { Status } from '@/models'
import { TitleOptions, DashboardProperty } from '@/enums/vuetorrent'
import {AppPreferences} from '@/types/qbit/models'
import { AppPreferences } from '@/types/qbit/models'
const vuexPersist = new VuexPersist<StoreState>({
const vuexPersist = new VuexPersist<PersistentStoreState>({
key: 'vuetorrent',
storage: window.localStorage,
reducer: state => ({
@ -22,7 +22,7 @@ const vuexPersist = new VuexPersist<StoreState>({
Vue.use(Vuex)
// noinspection DuplicatedCode
const propertiesTemplate = [
const desktopPropertiesTemplate = [
{ name: DashboardProperty.SIZE, active: true },
{ name: DashboardProperty.PROGRESS, active: true },
{ name: DashboardProperty.DOWNLOAD, active: true },
@ -34,7 +34,7 @@ const propertiesTemplate = [
{ name: DashboardProperty.PEERS, active: true },
{ name: DashboardProperty.SEEDS, active: true },
{ name: DashboardProperty.STATUS, active: true },
{ name: DashboardProperty.RAIO, active: true },
{ name: DashboardProperty.RATIO, active: true },
{ name: DashboardProperty.TRACKER, active: false },
{ name: DashboardProperty.CATEGORY, active: true },
{ name: DashboardProperty.TAGS, active: true },
@ -46,6 +46,22 @@ const propertiesTemplate = [
{ name: DashboardProperty.GLOBAL_VOLUME, active: false }
]
const mobilePropertiesTemplate = [
{ name: DashboardProperty.STATUS, active: true },
{ name: DashboardProperty.TRACKER, active: true },
{ name: DashboardProperty.CATEGORY, active: true },
{ name: DashboardProperty.TAGS, active: true },
{ name: DashboardProperty.SIZE, active: true },
{ name: DashboardProperty.PROGRESS, active: true },
{ name: DashboardProperty.RATIO, active: true },
{ name: DashboardProperty.UPLOADED, active: true },
{ name: DashboardProperty.ETA, active: true },
{ name: DashboardProperty.SEEDS, active: true },
{ name: DashboardProperty.PEERS, active: true },
{ name: DashboardProperty.DOWNLOAD, active: true },
{ name: DashboardProperty.UPLOAD, active: true }
]
export default new Vuex.Store<StoreState>({
plugins: [vuexPersist.plugin],
state: {
@ -102,8 +118,10 @@ export default new Vuex.Store<StoreState>({
dateFormat: 'DD/MM/YYYY, HH:mm:ss',
openSideBarOnStart: true,
showShutdownButton: true,
busyTorrentProperties: JSON.parse(JSON.stringify(propertiesTemplate)),
doneTorrentProperties: JSON.parse(JSON.stringify(propertiesTemplate))
busyDesktopTorrentProperties: JSON.parse(JSON.stringify(desktopPropertiesTemplate)),
doneDesktopTorrentProperties: JSON.parse(JSON.stringify(desktopPropertiesTemplate)),
busyMobileCardProperties: JSON.parse(JSON.stringify(mobilePropertiesTemplate)),
doneMobileCardProperties: JSON.parse(JSON.stringify(mobilePropertiesTemplate))
}
},
// @ts-expect-error

View file

@ -9,8 +9,13 @@ import type { Status } from '@/models'
import type WebUISettings from '@/types/vuetorrent/WebUISettings'
import type { SearchPlugin } from '@/types/qbit/models'
export default interface StoreState {
export interface PersistentStoreState {
authenticated: boolean
sort_options: SortOptions
webuiSettings: WebUISettings
}
export default interface StoreState extends PersistentStoreState {
categories: Category[]
dashboard: {
currentPage: number
@ -30,12 +35,10 @@ export default interface StoreState {
selectMode: boolean
selected_torrents: string[]
settings: AppPreferences
sort_options: SortOptions
status: Status
tags: string[]
torrents: Torrent[]
trackers: string[]
upload_data: number[]
version: string
webuiSettings: WebUISettings
}

View file

@ -27,6 +27,8 @@ export default interface WebUISettings {
dateFormat: string
openSideBarOnStart: boolean
showShutdownButton: boolean
busyTorrentProperties: TorrentProperty[]
doneTorrentProperties: TorrentProperty[]
busyDesktopTorrentProperties: TorrentProperty[]
doneDesktopTorrentProperties: TorrentProperty[]
busyMobileCardProperties: TorrentProperty[]
doneMobileCardProperties: TorrentProperty[]
}

View file

@ -6,8 +6,9 @@ import type SearchResult from './search/SearchResult'
import type ModalTemplate from './ModalTemplate'
import type SortOptions from './SortOptions'
import type StoreState from './StoreState'
import type { PersistentStoreState } from './StoreState'
import type { TreeNode, TreeFile, TreeFolder } from './TreeObjects'
import type { TorrentProperty, TorrentPropertyLocalized } from '@/types/vuetorrent/WebUISettings'
import type { TorrentProperty, TorrentPropertyLocalized } from './WebUISettings'
import type Tracker from './Tracker'
export type ComponentRule = (value: string) => boolean | string
@ -20,6 +21,7 @@ export {
SearchResult,
ModalTemplate,
SortOptions,
PersistentStoreState,
StoreState,
TreeNode,
TreeFile,

View file

@ -57,7 +57,7 @@ import { defineComponent } from 'vue'
import { FeedArticle } from '@/types/vuetorrent/rss'
import { Feed, FeedRule } from '@/types/vuetorrent'
import { mdiClose, mdiDownload, mdiEmailOpen } from '@mdi/js'
import qbit from "@/services/qbit";
import qbit from '@/services/qbit'
type RssState = { feeds: Feed[]; rules: FeedRule[] }

View file

@ -1,13 +1,13 @@
import { describe, beforeEach, it, expect, vi } from 'vitest'
import { shallowMount } from '@vue/test-utils'
import Dashboard from '@/components/Settings/Tabs/VueTorrent/Dashboard.vue'
import DesktopCard from '@/components/Settings/Tabs/VueTorrent/VDesktopCard.vue'
let wrapper
describe('Dashboard', () => {
describe('DesktopCard', () => {
beforeEach(() => {
wrapper = shallowMount(Dashboard, {
wrapper = shallowMount(DesktopCard, {
mocks: {
$t: x => x,
$store: {
@ -27,7 +27,7 @@ describe('Dashboard', () => {
title: 'Default',
rightDrawer: false,
paginationSize: 15,
busyTorrentProperties: [
busyDesktopTorrentProperties: [
{ name: 'Size', active: true },
{ name: 'Progress', active: true },
{ name: 'Download', active: true },
@ -44,7 +44,7 @@ describe('Dashboard', () => {
{ name: 'AddedOn', active: true },
{ name: 'Availability', active: true }
],
doneTorrentProperties: [
doneDesktopTorrentProperties: [
{ name: 'Size', active: true },
{ name: 'Progress', active: true },
{ name: 'Download', active: true },
@ -72,8 +72,8 @@ describe('Dashboard', () => {
expect(wrapper.html()).toMatchSnapshot()
})
it('tests busyTorrentProperties', () => {
const busyTorrentProperties = [
it('tests busyDesktopTorrentProperties', () => {
const busyDesktopTorrentProperties = [
{ name: 'Size', label: 'Size', active: true },
{ name: 'Progress', label: 'Progress', active: true },
{ name: 'Download', label: 'Download Speed', active: true },
@ -90,11 +90,11 @@ describe('Dashboard', () => {
{ name: 'AddedOn', label: 'Added On', active: true },
{ name: 'Availability', label: 'Availability', active: true }
]
expect(wrapper.vm.busyTorrentProperties).toEqual(busyTorrentProperties)
expect(wrapper.vm.busyDesktopTorrentProperties).toEqual(busyDesktopTorrentProperties)
})
it('tests doneTorrentProperties', () => {
const doneTorrentProperties = [
it('tests doneDesktopTorrentProperties', () => {
const doneDesktopTorrentProperties = [
{ name: 'Size', label: 'Size', active: true },
{ name: 'Progress', label: 'Progress', active: true },
{ name: 'Download', label: 'Download Speed', active: true },
@ -111,6 +111,6 @@ describe('Dashboard', () => {
{ name: 'AddedOn', label: 'Added On', active: true },
{ name: 'Availability', label: 'Availability', active: true }
]
expect(wrapper.vm.doneTorrentProperties).toEqual(doneTorrentProperties)
expect(wrapper.vm.doneDesktopTorrentProperties).toEqual(doneDesktopTorrentProperties)
})
})

View file

@ -1,10 +1,10 @@
// Vitest Snapshot v1
exports[`Dashboard > render correctly 1`] = `
exports[`DesktopCard > render correctly 1`] = `
"<v-card-stub loaderheight=\\"4\\" tag=\\"div\\" flat=\\"true\\">
<v-row-stub tag=\\"div\\" dense=\\"true\\">
<v-col-stub cols=\\"12\\" md=\\"6\\" tag=\\"div\\">
<v-subheader-stub> modals.settings.pageVueTorrent.pageDashboard.busyTorrentTip </v-subheader-stub>
<v-subheader-stub> modals.settings.pageVueTorrent.pageDesktopCard.busyTorrentTip </v-subheader-stub>
<v-row-stub tag=\\"div\\" dense=\\"true\\">
<v-list-stub tag=\\"div\\" flat=\\"true\\" class=\\"ma-2 pa-0\\">
<draggable-stub list=\\"[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]\\" clone=\\"[Function]\\" element=\\"div\\" tag=\\"tbody\\">
@ -148,7 +148,7 @@ exports[`Dashboard > render correctly 1`] = `
</v-row-stub>
</v-col-stub>
<v-col-stub cols=\\"12\\" md=\\"6\\" tag=\\"div\\">
<v-subheader-stub> modals.settings.pageVueTorrent.pageDashboard.completedTorrentTip </v-subheader-stub>
<v-subheader-stub> modals.settings.pageVueTorrent.pageDesktopCard.completedTorrentTip </v-subheader-stub>
<v-row-stub tag=\\"div\\" dense=\\"true\\">
<v-list-stub tag=\\"div\\" flat=\\"true\\" class=\\"ma-2 pa-0\\">
<draggable-stub list=\\"[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]\\" clone=\\"[Function]\\" element=\\"div\\" tag=\\"tbody\\">