Commit Graph

336 Commits

Author SHA1 Message Date
Chocobo1
3b9d68f344 WebUI: handle drag and drop events
This allows user to drag and drop .torrent files and URL links onto the
main window and will open the respective dialog.
Dropping folders are not supported due to technical reasons.

Closes #6038.
2022-10-14 14:30:26 +08:00
Chocobo1
2b385e5f92 WebUI: don't disable combobox for file priority
Closes #17794.
PR #17797.
2022-10-01 12:49:02 +08:00
Chocobo1
4e326229da Rename action 2022-09-12 23:25:36 +08:00
Chocobo1
d693f97a46 Use natural sort in WebUI 2022-08-27 13:55:04 +08:00
Chocobo1
ca274635d5 Make WebUI images self-contained 2022-08-27 13:55:04 +08:00
Chocobo1
7b0644cdcd Use proper verb when referring to torrent removal 2022-08-25 13:32:07 +08:00
Chocobo1
72941b10bb Use proper request method 2022-08-16 11:26:47 +08:00
Jesse Smick
ba511e07b4 WebUI: Improve pieces bar drawing algorithm
PR #17336.
2022-08-15 12:05:35 +08:00
Nowshed H. Imran
748226be29 Rename Icons according to the actions
Fixes #17357.
PR #17366.
2022-07-31 13:31:38 +08:00
sledgehammer999
0e989185ce Merge pull request #15769 from now-im/flow
Implement new icon/color theme
2022-06-28 23:23:25 +03:00
Chocobo1
3dd616f6ff Use proper method for manipulating text
`innerText` is too powerful for the job here, use a more
restricted/secure way to manipulate text.

Related: #17211.
PR #17212.
2022-06-17 13:00:32 +08:00
Nowshed H. Imran
199d770e15 Implement new icon/color theme
Co-authored-by: xavier2k6 <42386382+xavier2k6@users.noreply.github.com>
2022-06-09 18:18:14 +06:00
Priit Uring
494593c745 Update clipboard.js to v2.0.11
https://github.com/zenorocha/clipboard.js/releases

PR #17073.
2022-05-24 12:55:30 +08:00
Chocobo1
dbfd6a2368 WebUI: enforce coding style
Actually, not all of them but some that can be enforced by eslint.
The changes are made by eslint with minor manual tweaking.

PR #17046.
2022-05-18 11:37:05 +08:00
Tom Piccirello
fb7f7d0c75 Add support for exporting .torrent from WebUI
PR #16968.
2022-05-04 12:13:24 +08:00
xavier2k6
0b86eb9b4c Update clipboard.js to v2.0.10
PR #16918.
2022-04-23 12:39:06 +08:00
Chocobo1
af7c32d3aa WebUI: remove temporary element 2022-04-02 17:26:26 +08:00
Chocobo1
0d334369f0 WebUI: show correct location path
The `path` might contains '&' (delimit character) so it must be
encoded.
Closes #15976.
2022-04-02 17:26:26 +08:00
Chocobo1
08f3630f01 WebUI: make various dialog resizable
And enlarge dialog default width.
2022-04-02 17:26:24 +08:00
An0n
11cfe38d1c Fix WebUI crash due to missing tags from config
Tags can be missing from config but set inside .fastresume. May happen due to corrupted/deleted config.
Closes #11906.
PR #16711.
2022-03-26 11:56:18 +08:00
An0n
bf8d993743 Change Downloaded to Times Downloaded in trackers tab
PR #16677.
2022-03-23 12:57:45 +08:00
AbeniMatteo
baa8d2c326 Add option to toggle filters sidebar
PR #15409.
2022-03-21 12:41:06 +08:00
Aleksandr Cupacenko
d2aad3a3ca Rename content tab "Size" column to "Total Size"
Closes #7348.
PR #16526.
2022-02-27 12:48:11 +08:00
Kevin Cox
37e6a9ebc2 Fix UI crash when torrent is in non-existent category.
This checks that `category_list[categoryHash].torrents` is truthy before dereferencing it. In some cases the API response will have a torrent in a category that doesn't exist resulting in the check to return `undefined` which is not `null`. This broadens the check so that it will create the category even if null.
PR #16432.
2022-02-17 12:20:54 +08:00
Vladimir Golovnev
f44341a8e2 Handle .!qB extension behind the scenes
PR #15920.
2022-01-08 08:45:50 +03:00
Chocobo1
70a11a12b3 Merge pull request #15549 from Chocobo1/api
WebAPI: Use specific number to represent non-existing values
2021-10-11 12:38:38 +08:00
Chocobo1
7c8eadfddf Revert "WebUI: group trackers by hostname"
This functionality wasn't ever correctly implemented and couldn't be
done without considerable effort, so revert it for now.
This reverts commit 4ac25a50ed.
PR #15542.
2021-10-10 11:00:21 +08:00
Chocobo1
5c9655abc3 WebAPI: Use specific number to represent non-existing values
Closes #15545.
2021-10-09 12:31:15 +08:00
Chocobo1
97a8d865dc WebUI: revise hash function
In benchmark, using `Math.imul()` is about ~20% faster than floating
point multiplication.

PR #15475.
2021-09-27 13:54:28 +08:00
Jesse Smick
6229b81730 WebUI: Add pieces progress bar to General tab
Closes #15292.
PR #15418.
2021-09-12 12:55:41 +08:00
Chocobo1
08f33d7e9e Fix WebUI crash when tracker URL is invalid
Closes #15391.
PR #15395.
2021-08-31 11:53:42 +08:00
Mengyang Li
4ac25a50ed WebUI: group trackers by hostname (#15264)
Closes #13608.
2021-08-07 12:25:07 +08:00
Chocobo1
567848e94f Work around missing function error
The fix comes from older version of MochaUI.
2021-08-05 16:03:18 +08:00
Chocobo1
221cbcc1ac Update MochaUI to v0.9.7
Upstream: https://github.com/cdotyone/mochaui/blob/develop-0.9.8/Build/mocha.js
2021-08-05 16:03:07 +08:00
Chocobo1
dc2086dab4 Update clipboard.js to v2.0.8 2021-08-05 15:24:03 +08:00
Chocobo1
7be2a03c86 Update mootools to v1.6.0 2021-08-05 15:24:01 +08:00
Daniel Aleksandersen
60b1e692b9 Disconnect comment links fom the WebUI (#15251) 2021-08-03 16:26:04 +08:00
Tom Piccirello
7974b5a95c Support sorting Web UI tables via touch (#15205) 2021-07-19 14:28:04 +08:00
AbeniMatteo
01d851440b Add "Forced metadata downloading" state (#15185) 2021-07-17 21:33:14 +03:00
AbeniMatteo
e5943b64c1 Add filter "Checking" to side panel (#15166) 2021-07-16 14:08:10 +03:00
Kristof Mattei
140e73be4e Use the URI's setData to set query data (#15187)
This allows the system to properly encode the '|', instead of passing
the '|' on in the URL, which is not allowed and breaks proxies such as
Authelia.

Then, for the purpose of generalization, I pushed this pattern through
to all places where we join items with a '|'.

This comes with the caveat that when we have individual components which
contain a '|' or any other character that is not allowed per the
HTTP standard, we still like to encode the individual components,
for example in the case of 3 strings, separated by a '|'.
If we don't do this we run into the risk that upon decoding URI finds
'|' in our original strings, which is something we don't want.

For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.join("|"));
````
Then on the receiving window, when it receives the uri and splits it, it
looks like this:
````javascript
const arr = new URI().getData('hashes').split('|');
// arr is now ["foo", "1", "bar", "2"]
````

This is why when we want to send a literal "|" we need to do
`encodeURIComponent` and `decodeURIComponent` manually on each item,
and THEN we join.

For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.map(encodeURIComponent).join("|"));
````

Receiver:
````javascript
const arr = new URI().getData('hashes').split('|').map(decodeURIComponent);
// arr is now ["foo|1", "bar|2"]
````

We don't need to with hashes as they are HEX, so no risk of any weird
characters in there.
2021-07-16 12:53:47 +08:00
Thomas Piccirello
32f29e72c6 Support expanding/collapsing Web UI folders with arrow keys 2021-07-11 03:01:31 -07:00
Thomas Piccirello
e76bac4131 Support navigating Web UI tables with arrow keys
This allows navigating rows via up/down arrow keys.
2021-07-11 03:01:31 -07:00
Thomas Piccirello
8b94642ab1 Always set Web UI row id as a string
This helps ensure consistent behavior when performing rowId comparisons against strings.
2021-07-10 11:50:48 -07:00
Chocobo1
4dbf6af733 Simplify initialization statement 2021-07-07 13:20:13 +08:00
Vladimir Golovnev
37f227ae74 Provide v1 and v2 infohashes in UI (#15097) 2021-06-25 20:44:23 +03:00
brvphoenix
bb9ca7f418 WebUI: Fix magnet url from the browser 2021-04-03 19:26:17 +08:00
Chocobo1
121ff2b7be Apply code formatting 2021-03-26 00:27:52 +08:00
Chocobo1
af85a8a340 Add necessary curly brackets 2021-03-26 00:27:52 +08:00
Chocobo1
5fe0e9395f Don't use Object.prototypes builtins directly
See: https://eslint.org/docs/rules/no-prototype-builtins
2021-03-26 00:27:52 +08:00