Commit graph

80 commits

Author SHA1 Message Date
stacksmash76
cb8f280e86
refactor(web) add eslint (#222)
* fix(tsconfig.json): changed skipLibCheck to false.
refactor(eslint): moved configuration from package.json to .eslintrc.js and added a typescript plugin for future use

* feat: wip eslint and types

* feat: fix identation

* feat: get rid of last any types
2022-05-17 06:44:07 +02:00
stacksmash76
7f06a4c707
feat(web): improve filters nav mobile (#272)
fix(components/Debug): added overflow handling for smaller screens (or for long lines)
feat(settings/SidebarNav): shortened vertical padding from 24px to 8px
fix(filters/FilterDetails): fixed FilterDetails component to behave properly with mobile devices and made it consistent with the desktop UI
chore: cleaned up unnecessary code

Co-authored-by: anonymous <anonymous>
2022-05-15 14:07:28 +02:00
stacksmash76
2c46993264
feat(web): error boundry and fixes (#270)
* web: Added error handling. Fixed table overflow issues. Improved release status titles. Fixed a few bugs where certain forms/modals didn't close properly.

feat(web): Added react-error-boundary and stacktracey for handling errors. In case of a recoverable/non-state updating error, a notification is thrown, otherwise the user is shown an error page with the appropriate stack trace and error type and cause with the possibility of resolving the error by reseting the page's state.
enhancement(web/data-table/cells): Improved cell display behavior in tables -- it's now scrollable on mobile. Improved release status string readability.
enhancement(web/settings/Irc): Made IRC refetch interval every 3 seconds for those who are not patient.
fix(web/modals/DeleteModal): Fixed modal bug where it didn't close on button click.
fix(web/forms/IndexerForms): Fixed bug where the form didn't close on button click.
enhancement(web/ReleaseTable): Made the table more compact by utilizing 3em padding between cells instead of 6.
enhancement(web/ActivityTable): Ditto as above.
enhancement(web): Changed width of every page section from max-w-7xl (1280px to where applicable)
chore(web/dashboard/ActivityTable): Reformatted the file to a saner syntax.
enhancement(web/dashboard/StatsItem): Enlarged font size, set font to extrabold instead of bold and made padding consistent.
fix(web/navbar): Fixed bold font not showing properly on Firefox due to an argument ordering issue.

* chore: update pkg and fix broken proxy
2022-05-12 16:26:41 +02:00
Ludvig Lundgren
bea30cb0bd
fix(db): initial schema filter origins nullable (#271) 2022-05-12 15:40:58 +02:00
Ludvig Lundgren
8b1174c65f
feat(actions): qbit rules set ratio and seed time limits (#264) 2022-05-03 14:57:47 +02:00
Ludvig Lundgren
eb7ca3374e
feat(actions): qbt set re-announce opts (#261) 2022-05-01 21:11:54 +02:00
Ludvig Lundgren
5d032dd075
feat(filters): add regex support (#258) 2022-04-30 14:53:24 +02:00
Ludvig Lundgren
e6c151a029
feat: improve release parsing and filtering (#257)
* feat(releases): improve parsing

* refactor: extend filtering add more tests

* feat: improve macro

* feat: add and remove fields

* feat: add freeleech percent to bonus

* feat: filter by origin
2022-04-30 13:43:51 +02:00
Ludvig Lundgren
bb62e724a1
feat: add torznab feed support (#246)
* feat(torznab): initial impl

* feat: torznab processing

* feat: torznab more scheduling

* feat: feeds web

* feat(feeds): create on indexer create

* feat(feeds): update migration

* feat(feeds): restart on update

* feat(feeds): set cron schedule

* feat(feeds): use basic empty state

* chore: remove duplicate migrations

* feat: parse release size from torznab

* chore: cleanup unused code
2022-04-25 12:58:54 +02:00
soup
e5a95415a1
docs(web): add missing full stops to match the rest of the webui (#249) 2022-04-16 14:16:23 +02:00
stacksmash76
4b74a006c8
feat(web): added ability to customize logs view (#236)
* enhancement(frontend/logs): added ability to indent messages, hide wrapped text and ability to turn off "scroll to bottom page on new line". addresses #232

* fix: improved "hide wrapped text" feature
2022-04-12 16:57:20 +02:00
stacksmash76
1a4f3cf55d
feat: add ability to create an account via the webui (#223)
* feat: add ability to create an account via the webui without the need for autobrrctl

* refactor redundant code block.

* fix: early return and 0 value
2022-04-10 18:26:14 +02:00
Ludvig Lundgren
99b0c9383b
chore: update react 18 breaking deps (#226) 2022-04-09 23:42:32 +02:00
Ludvig Lundgren
9d0ab6ea52
feat(clients): add whisparr (#218)
* feat(clients): add whisparr

* feat: add client connection test
2022-04-06 10:40:44 +02:00
Ludvig Lundgren
431742fd94
feat: add notifications (#216)
* feat: initial notifications support

* chore: update deps
2022-04-04 19:13:09 +02:00
Ludvig Lundgren
ffa2447c59
feat: change default port (#207)
Change default port from 8989 to 7474
2022-03-26 21:38:57 +01:00
Ludvig Lundgren
2d3ab67604
feat(web): redirect to login on expired cookie (#201)
* feat(web): redirect to login on expired cookie

* refactor: simplify auth wrapper
2022-03-26 19:46:16 +01:00
Ludvig Lundgren
3493a39537
fix(filters): refetch on update (#200) 2022-03-22 23:18:47 +01:00
Ludvig Lundgren
159133ef35
feat(actions): add webhook support (#184)
* feat(actions): add webhook support

* feat: add type and method
2022-03-20 12:16:47 +01:00
Ludvig Lundgren
bb9e51f9d3
feat: download clients skip tls verify option (#181) 2022-03-17 20:57:27 +01:00
Ludvig Lundgren
8bf43dc1e0
fix: no irc network created when adding a new indexer (#177) 2022-03-16 20:39:48 +01:00
Ludvig Lundgren
3b43ccba8a
feat: delete all releases from settings (#170) 2022-03-06 18:08:32 +01:00
Ludvig Lundgren
cb6cbb83d5
feat(filters): duplicate (#168) 2022-03-06 16:08:07 +01:00
Ludvig Lundgren
72b74f9d19
fix: indexer add default values (#167) 2022-03-06 02:29:57 +01:00
Ludvig Lundgren
2dc02a4c02
feat(filters): add priority (#166) 2022-03-05 22:44:29 +01:00
stacksmash76
9ea29d02a2
refactor: releases table-related code and fix for #158 (#159)
* refactor(APIClient): updated the newly added findQuery function to use URLSearchParams instead of manually crafting the URI string itself.

* refactor: moved duplicate dashboard/release code to a separate folder: components/data-table.

* refactor(SlideOver): added proper typings to the SlideOver component and added a sanity check to prevent passing of null/undefined values to the child component before rendering.

* refactor: removed the redundant Network and Channel typings and updated relevant typings to match the backend. adapted relevant code to match these changes.

* fix(ChannelsFieldArray): fixed a bug where it was unable to add a new irc network due to the validation object being initialized as non-empty (formik requires that successful validated entries return empty objects)

* refactor(screens/settings/Irc): replaced incorrect typings, sanitized potentially null values and cleaned up the code.

* fix: included changes should fix issue #158 as well.

* feat: send chan empty array
2022-03-04 21:13:46 +01:00
gl0ryus
5442bf71e9
feat(web): logs add description (#145)
* feat: add text about only new logs showing

* feat: make log window bigger
2022-02-26 15:20:39 +01:00
Ludvig Lundgren
246e3ddc26
feat(web): releases list filtering (#136) 2022-02-19 20:00:48 +01:00
stacksmash76
279d4ff7a3
feat: add filter dropdown #26 (#142)
feat(FilterItemDropdown): added a filter dropdown component from #26 

* fix(react-multi-select-component): adjusted the component to fit in with other components when comparing across multiple browsers. (where firefox consistently handles pixels and rem's, chromium doesn't agree).

refactor(input): removed shadow from input components to match react-multi-select-component look where needed.

refactor(SwitchGroup): added a small top margin for a less dense look. cleaned up surrounding code.

refactor(DeleteModal): adjusted the background color to fit more nicely across dark/light themes. made the exclamation icon bigger and removed the circle container.

refactor(Logs): adjusted text color on the light theme. cleaned up the code.

refactor(FilterAddForm): adapted to conform with the changes.

feat(FilterItemDropdown): added a dropdown component to the filter list as proposed in #26. could use a better look, though. also, cleaned up surrounding code and got rid of pesky negative margins.

refactor(FilterListItem): made the table striped when using the dark theme. adapter for the dropdown component.

refactor(filters/details):
- removed needless border properties from remove button, which left artifacts after de-focusing the button. also, removed the shadow from the cancel button.
- added invalidation of the filter list on a delete mutation before redirecting to /filters.
- modified certain group descriptions a bit in order to make them a bit more concise.
- overall, cleaned up the surrounding code further.
2022-02-17 20:59:06 +01:00
stacksmash76
d4d9169210
fix: user dropdown colors (#141)
fix(Base): Added missing transition-colors property to the user dropdown pill in the header component.
2022-02-17 19:09:54 +01:00
Ludvig Lundgren
78f83c674b
fix: pin react-ridge-state (#139) 2022-02-15 18:09:18 +01:00
stacksmash76
ac37bd4d9c
feat: overhaul webui (#135)
feat: Added Inter Variable as the default font

feat: Added a pattern to the page background.

fix(react-multi-select-component): Made the multiselect components theme-agnostic, so it works properly with the light theme now.

fix(react-select): Made the components fix the default 30px height of the rest of the input components.

fix(useToggle): Fixed a bug where the toggle didn't work due to useCallback memoizing a callback with the old value.
refactor(Base):
- Added small theme-primary gradient to the beginning of the header.
- Made the splitter border theme-agnostic.
- Increased logo size a bit.
- Moved the links a bit closer to the logo.
- Updated the default link style to look more stylish.
- Added a link to the autobrr Docs section (currently defaults to the Indexers sections, but this should lead to an "Overview" page for configuring autobrr)
- Adapted the user dropdown to match the other header links' stylesheets and removed the annoying ring focus.
- Adapted the header for theme-agnostic mobile usage.
- Removed the negative padding/margin hacks.

refactor(StatsItem): Increased shadow size/strength and made the description text a bit lighter on the dark theme.

refactor(Dashboard): Increased the heading text sizes.

refactor(Logs, Releases, Settings, Login, filters/details, filters/list): Adapted to match the previous changes and improved theme compatibility with regards to text.

refactor(RegexPlayground): Fixed match highlight for JS regex.
2022-02-14 19:12:10 +01:00
stacksmash76
b60e5f61c6
refactor: web api client and cleanup (#128)
refactor: refactored APIClient.ts with a new fetch wrapper and changed it into an explicit-import.

chore: modified package.json not to start browser on "npm run start"

chore: cleaned up code, deleted 2mo+ useless old comments.

fix: fixed parameter collision in screens/filters/details.tsx

fix: override react-select's Select component style to make it consistent. addresses #116

Co-authored-by: anonymous <anonymous>
2022-02-10 17:47:05 +01:00
Ludvig Lundgren
c25ba31a70
build: remove yarn lock (#131) 2022-02-09 19:26:15 +01:00
stacksmash76
fe06363530
chore: add eslint and cleanup (#118)
* refactor: modified existing react imports to conform with the recommended approach of not using the default export directly, since it will be deprecated in one of the future releases. see https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html for more info. note: react types don't require importing of react.
refactor: cleaned up some of the imports

* feat: added eslint and fixed all the errors/warning. eslint can now be invoked by running "npm run lint".
chore: updated .gitignore not to include unnecessary artefacts.
refactor: re-organized some of the imports.

* refactor: converted remaining few typed functional components to proper prop argument structure.

* fix: fixed small react-query invalidation bug for the FilterDetails component.

Co-authored-by: anonymous <anonymous>
2022-02-08 18:10:47 +01:00
Ludvig Lundgren
8c9f9495ba
feat: web add more types (#114) 2022-02-05 15:20:54 +01:00
Ludvig Lundgren
6df77de953
fix: web settings menu icon color (#113)
* fix: web settings menu icon color
2022-02-05 14:21:16 +01:00
Ludvig Lundgren
65973758bd
fix: web correct remove button colors (#112) 2022-02-05 14:08:47 +01:00
Ludvig Lundgren
90bda2e309
fix: set theme (#111) 2022-02-05 13:43:49 +01:00
Raghu Saxena
0076ea9129
chore: update web dependencies (#102)
* chore: update deps

* chore: remove craco

* chore: fix exports

* fix: filters list indexer bg

* fix: extend theme with correct color
2022-02-05 13:27:44 +01:00
Ludvig Lundgren
c35744dc3a
fix: filters list wrong status (#109) 2022-02-04 18:39:13 +01:00
Ludvig Lundgren
fe25cdec28
refactor: download client addr parsing (#108)
* refactor: client addr parsing

* feat: add logging to client test

* feat: imrpove help for download client forms
2022-02-04 17:38:18 +01:00
Ludvig Lundgren
26f558859a
fix: blank page loading filters (#107)
* fix(filters): load indexers separate

* feat: add ctx to filter related db methods
2022-02-03 21:58:41 +01:00
Ludvig Lundgren
10a2ab2c96
fix: add indexer dropdown background color (#106) 2022-02-03 18:17:30 +01:00
Ludvig Lundgren
9b85f512e5
refactor(filters): music sources to media (#104) 2022-01-31 19:16:47 +01:00
Ludvig Lundgren
373c85f060
feat: return action rejections from arrs (#103)
* refactor: push status

* feat: return push status for arr actions
2022-01-29 17:53:44 +01:00
stacksmash76
20138030e1
refactor: various frontend improvements (#101)
* Removed recoil and replaced it with react-ridge-state, a 0.4kb alternative.

* Added AuthContext and SettingsContext persistent localStorage states.

* Fixed tailwind.config.js incorrect key directive. See https://tailwindcss.com/docs/content-configuration#safelisting-classes.

* Changed darkMode in Tailwind to "class" and started manually adjusting the theme according to the appropriate media query.

* Added possibility of changing the theme manually via the Settings tab.

* Changed Releases.tsx behavior to show the UI only when the HTTP request succeeded and there is some data (i.e. table is non-empty).

* Changed the table color of screens/filters/list.tsx to a one notch lighter shade of gray for eye-comfort.

* Replaced "User" in the header, with the users real username.

* Made data version, commit and date fields optional in settings/Application.tsx.

* Started working on a RegExp playground, which works fine, but JS won't cooperate and return the right match length. Either way, the RegExp must be implemented on backend and then must be communicated with the frontend. Otherwise a potential for incorrect results exists.

* Removed Layout.tsx, since it was redundant.

* Created a Checkbox component class for easier and consistent future use.

* Rewritten App.tsx, Login.tsx, Logout.tsx to accomodate for new changes.

* Fixed previous mistake regarding tailwind.config.js purge key, since we're still using old postcss7 from October last year

* Removed package-lock.json from both root and web directories.

* Refresh TypeScript configuration to support a types/ directory containing d.ts. The effect of this is that types don't have to be imported anymore and are at all times available globally. This also unifies them into a single source of truth, which will be a lot easier to manage in the future. Note: Only certain interop types have been moved at the time of writing.

* Fixed minor Checkbox argument mistake.

* fix: remove length from data check

* chore: lock files are annoying

* fix: select

* fix: wip release filtering
2022-01-26 23:54:29 +01:00
Ludvig Lundgren
00bc8298ac
feat(filters): add music filters (#91)
* feat(filters): add music filters

* feat: improve parsing and filtering

* feat: add red api support
2022-01-19 18:50:04 +01:00
KaiserBh
8ff8e6bbb0
feat(indexers): add animebytes (#87)
* feat: Added support for AB indexer.

* docs: Changed readme to inlcude all the supported trackers.

* feat: improve releasetags parsing and regex
2022-01-16 15:28:01 +01:00
Ludvig Lundgren
284a2f9590
feat: add hdr filtering (#86)
* feat: filter hdr content

* feat: check filter hdr

* feat: improve hdr parse and filter and tests
2022-01-16 13:50:21 +01:00