* Various WebUI changes and fixes.
* feat(tooltip): make tooltip display upwards
* fix(tooltip): place tooltip to the right
* fix(web): add missing ml-px to SwitchGroup header
current: https://i.imgur.com/2WXstPV.png
new: https://i.imgur.com/QGQ49mP.png
* fix(web): collapse sections
* fix(web): improve freeleech section
* fix(web): rename action to action_components
Renamed the 'action' folder to 'action_components' to resolve import issues due to case sensitivity.
* fix(web): align CollapsibleSection
Old Advanced tab: https://i.imgur.com/MXaJ5eJ.png
New Advanced tab: https://i.imgur.com/4nPJJRw.png
Music tab for comparison: https://i.imgur.com/I59X7ot.png
* fix(web): remove invalid CSS class
* revert: vertical padding on switchgroup
added py-0 on the freeleech part instead
* feat(settings): add back log files
* fix(settings): irc channels and font sizes
* fix(components): radio select roundness
* fix(styling): various minor changes
* fix(filters): remove jitter fields
---------
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
Co-authored-by: soup <soup@r4tio.dev>
Co-authored-by: ze0s <ze0s@riseup.net>
* chore(indexers): replace array position with id
* fix(indexers): enable and disable without editing
* feat(indexer): add toggle endpoint and refactoring
---------
Co-authored-by: ze0s <ze0s@riseup.net>
modernized APIClient, removed Notification type collision
enhancement: APIClient now follows the recent RFC3986 (this wasn't the case previously)
enhancement: improved APIClient DX by adding a queryString parameter (avoiding URLSearchParameters)
fix: changed Notification type to ServiceNotification (collision with built-in browser API https://developer.mozilla.org/en-US/docs/Web/API/Notification -- so TS checks wouldn't function as necessary)
* fix(release): DeleteOlder func for zero duration
resolves a bug in the `DeleteOlder` function where recent 24-hour data wasn't deleted when set to `delete everything`. We now correctly set the olderThanTimestamp to a future date when duration is zero, ensuring complete deletion of all records.
* fix(releases): delete older
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* delete manifest (vite-plugin-pwa generates it)
* fix upper case letter on screen components
* fix imports of screens components missing upper case
* remove default export from Base.tsx
* move RegexPlayground to settings import
* replace some relative path imports
* remove React and ununsed imports
* small alignments on vite.config.ts
* move Dashboard and Releases to screens
* move filters/index.tsx to filters/index.ts
* remove default export from APIKeyAddForm
* remove default export from FilterAddForm
* organize imports and exports for the router
* add .vscode workspace to gitignore
* some touchs on .gitignore file
* fix some eslint rules
* feat: delete releases older than x
* check timestamp
* incomplete front end changes
commiting changes from codespace to not lose them
* change to dropdown with options
* using int comparisons to avoid nightmares
* Revert "using int comparisons to avoid nightmares"
This reverts commit dc55966a73e9f6ad79ed28c3a3e0dbe0e35448a6.
* suggestions by stacksmash76
come back to discord @stacksmash76
* Curves - a touch of warmth in our pixel realm
* replace inline css with tailwind
* remove unnecessary comment
* align label with dropdown
changed first paragraph to something more sensible
* change font weight for duration label
* padding changes
* nitpicky
* merged divs where possible
* small adjustments for light theme
* attempt to fix for postgres
* refactor: split into component and add confirmation modal
also restyle component
* fix: go fmt
---------
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
* refactor: move to tanstack/react-query and fix cache
* refactor(releases): move to tanstack/react-query
* refactor(logs): move to tanstack/react-query
* refactor(base): move to tanstack/react-query
* refactor(base): move to tanstack/react-query
* refactor(dashboard): move to tanstack/react-query
* refactor(auth): move to tanstack/react-query
* refactor(filters): move to tanstack/react-query
* refactor(settings): move to tanstack/react-query
* chore(pkg): add tanstack/react-query
* refactor(filters): move to tanstack/react-query
* refactor: move to tanstack/react-query
* refactor: invalidate queries
* chore(pkg): remove old react-query
* chore: change imports to root prefixes
* build: remove needs web from test
* set enableReinitialize to true to fix formik caching issues
* fix all property for apiKeys const
* fix toast when enabling/disabling feed
---------
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
* refactor(indexers): test api clients
* feat(indexers): test api connection
* fix(indexers): api client tests
* refactor: indexer api clients
* feat: add Toasts for indexer api tests
* fix: failing red tests
[DEV-820] bugfix: since it's 401 we should reject the promise that way onError actually works. I think this was causing login to succeed for like a second then goes back to login but with this we reject it early shouldn't pass the login screen.
Co-authored-by: KaiserBh <kaiserbh@proton.me>
* feat(logs): show and download log files
* feat(logs): make logs settings dropdown
* feat(logs): minor cosmetic changes
* fix(logs): send empty response when lohpath not configured
* fix(logs): remove unused imports
* feat(logs): check if logs dir exists
* feat(logs): list log files in settings
* feat(irc): add irc status examples
* feat(irc): add dropdown menu to list
* feat(irc): update heroicons and add expand button
* feat(irc): update heroicons and add expand button
* enhancement: improved alerts component contrast
enhancement: simplified and improved radio switch group look
fix: fixed inconsistent spacing in input components (there's still some work left to be done)
fix: made slideover panel display on full width on mobile devices
enhancement: made forms more accessible to mobile users, adapter changes in accordance with the previous input components fix
fix: fixed misspelling in NotificationForms filename
chore: cleaned up code
fix: made filter table top edges less round and improved look
fix: fixed a bug where when a modal/slideover component was opened, a 1px white bar would be shown in one of the modal parent elements (for the fix see L89 in screens/settings/DwonloadClient.tsx)
enhancement: improved responsiveness for irc network list
* Fixed 2 small comma warnings from ESLint
Co-authored-by: anonymous <anonymous>
* fix: remove react-cookie since we can't delete the user_session cookie using JS (due to httponly being set)
* chore: update dependencies and set a global react dependency override (react-ridge-state creates a problem, this fixes it)
* chore: tidy up APIClient, login and logout pages
* fix: catch canOnboard() error in login.tsx
enhancement: add toast notify on intentional logout and nicely reset the context state; make sure screen-blinking is down to a minimum by having min-h-screen present.
* fix: let onboarding redirect to / instead of /login (/login isn't used anymore)
* fix: use normal <input /> caret cursor for SearchColumnFilter, instead of pointer
* chore(web): remove react-cookie package
* 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
* 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
* 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
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>
* 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>
* 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