Commit Graph

1856 Commits

Author SHA1 Message Date
schroda
8c50b33a93 Improve theme fonts loading
- Extract all fonts and all font weights from the theme
- Load all required weights per font

Not clear 100% what is the root cause. But the (missing font weights?) loaded fonts did cause some incorrect initial tooltip width measurement that lead to an out-of-viewport tooltip placement. Depending on the tooltip text and the monitor (size + scaling) the measurement might result in a fractal width. In case the tooltip was placed right on the horizontal end of the viewport this then lead to a horizontal scrollbar which potentially caused an additional vertical scrollbar resulting in a layout shift.
Once the tooltip was rendered, the placement got corrected. Depending on the mouse placement, however, this issue caused an infinite loop of appearing and disappearing scrollbars.

Fixes #1016
2025-10-01 23:20:17 +02:00
schroda
121c74ed73 Fix source iso language detection
Caused issue for some languages, e.g., for all the different chinese languages, which are not all specified in the "IsoLanguages". These languages all incorrectly used the standard native chinese name which resulted in multiple different source groups with the same group name.
2025-10-01 01:44:30 +02:00
schroda
29e3f64527 Fix download queue start/stop button tooltip text 2025-10-01 01:44:29 +02:00
schroda
741426173a Prevent horizontal scrollbar on viewport width increase
When increasing the window, the main reader container did not immediately reflect the change and was still smaller than the available width.
In case the viewed pages were filling the full width, this then caused the horizontal scrollbar to appear until the resize action was finished.
2025-09-27 17:40:31 +02:00
schroda
d7690f9a36 Reduce rerenders on reader overlay visibility change 2025-09-27 17:40:30 +02:00
schroda
b1babc9dd1 Preserve correct page index during reader resize
Ensure the restored page index is based on the page index at the start of a resize event to maintain consistency.
At least in the continuous horizontal mode, it was possible to sometimes cause the page to change while resizing.
2025-09-27 17:40:29 +02:00
schroda
1c526b3feb Prevent reader page preservation in none continuous modes 2025-09-27 13:51:26 +02:00
schroda
ab1521fb81 Fix editing global reader settings
Regression 433dc17c35
2025-09-26 23:27:16 +02:00
schroda
7ddc4949e5 Fix loading of locales 2025-09-25 01:41:00 +02:00
schroda
ad3b8d4567 Update server injected subpath detection 2025-09-25 00:20:31 +02:00
schroda
a2d7091712 Remove "forwardRef" usage 2025-09-25 00:20:10 +02:00
Soner Köksal
4d4477640e Add dynamic subpath support (#1011)
* Add dynamic subpath support for WebUI

- Add SubpathConfig utility for server-side subpath detection
- Configure React Router basename from server config
- Update API base URL handling for subpath compatibility
- Fix asset loading with relative paths
- Add VITE_SUBPATH environment variable for development
- Update locales and manifest paths for subpath support

Closes #174

* Move VITE_SUBPATH interface to vite-env.d.ts

* Ensure production bundle always uses relative base
2025-09-23 23:23:19 +02:00
schroda
0706e4671f Normalize extracted theme fonts before loading them
Ensure fonts are properly trimmed and stripped of quotes to maintain consistency and avoid potential loading issues.

The default fonts defined by MUI e.g., are set as "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif" which lead to an invalid font request.

Fixes #1012
2025-09-23 22:15:11 +02:00
schroda
d625a7b3dc Fix incorrect truthy check for conditional rendering in SourceLanguageSelect
Ensure proper validation for `sourcesOfLanguage` to prevent potential rendering issues.
2025-09-22 23:59:20 +02:00
schroda
f37d7e892a Fix tsc issues 2025-09-22 17:58:28 +02:00
schroda
b6d7f6da5d Add zustand dev tools 2025-09-22 01:10:36 +02:00
schroda
f6b94c838b Fix reset of reader store
After the slice states got reset, the base reset function just reverted all those resets and only reset the base states in the store (manga, scrollbar, ...)
2025-09-22 01:10:35 +02:00
github-actions[bot]
4a07198af6 Update available languages 2025-09-21 15:07:41 +00:00
schroda
525173e05e Add dedicated store access util functions
Makes it easier to find the specific store slice usage
2025-09-21 01:16:59 +02:00
schroda
ed488f76dd Always use "useShallow" for store selection 2025-09-21 01:16:57 +02:00
schroda
5730690ae6 Simplify ReaderControls#useHandleClick 2025-09-21 01:16:53 +02:00
schroda
ca5920919e Simplify ReaderControls#useOpenPage 2025-09-21 01:16:51 +02:00
schroda
f5c7379fc4 Simplify ReaderControls#useOpenChapter 2025-09-21 01:16:49 +02:00
schroda
1c0b982bae Remove unnecessary TFunction parameter 2025-09-21 01:16:47 +02:00
schroda
19e45424ae Make react router routing possible outside components 2025-09-21 01:16:44 +02:00
schroda
b13bb86f40 Move app theme related types to dedicated file
Fixes circular dependency.
2025-09-21 01:16:42 +02:00
schroda
ed53aff071 Extract "reader chapters store slice" into file 2025-09-21 01:16:39 +02:00
schroda
9f5db5496f Extract "reader pages store slice" into file 2025-09-21 01:16:36 +02:00
schroda
6da8a3fd87 Move reader store in sub dir 2025-09-21 01:16:33 +02:00
schroda
fb70d89940 Move reader "tap zone state" to "reader store" 2025-09-21 01:16:30 +02:00
schroda
f60b537115 Move reader "progress bar state" to "reader store" 2025-09-21 01:16:28 +02:00
schroda
98ec5257b9 Move reader "settings state" to "reader store" 2025-09-21 01:16:26 +02:00
schroda
5177f9efdc Move reader "chapters state" to "reader store" 2025-09-21 01:16:25 +02:00
schroda
bada26ead6 Move reader "pages state" to "reader store" 2025-09-21 01:16:22 +02:00
schroda
dabe50754f Move reader "auto-scroll state" to "reader store" 2025-09-21 01:16:17 +02:00
schroda
e68cb65874 Move reader "overlay state" to "reader store" 2025-09-21 01:16:15 +02:00
schroda
9bedec7115 Rename "reader scrollbar state" properties 2025-09-21 01:16:13 +02:00
schroda
4cc5821ead Move reader "scrollbar state" to "reader store" 2025-09-21 01:16:10 +02:00
schroda
433dc17c35 Move reader "manga state" to "reader store" 2025-09-21 01:16:04 +02:00
schroda
4e30081ed8 Move reader "pages" state to base reader types 2025-09-21 01:16:01 +02:00
schroda
7d71780fbc Properly type scalar "Duration" 2025-09-18 22:28:08 +02:00
schroda
80a576db63 Include chapter info in continue reading button tooltip 2025-09-18 22:28:07 +02:00
schroda
5456428916 Add step size to kroeader tolerance setting 2025-09-18 22:28:06 +02:00
schroda
c77a1b1677 Fix library update skip entries setting
Regression 94299433c8
2025-09-18 00:28:31 +02:00
schroda
38ac36d14c Fix setting "default" download conversion mime type
The server expects the mime type to be "default", while the ui set it to "image/default"
2025-09-13 14:13:32 +02:00
schroda
792aca1b28 Fix login page redirection when already authenticated 2025-09-10 12:55:23 +02:00
schroda
98e1cb2eff Reuse SplashScreen on LoginPage 2025-09-10 00:56:44 +02:00
schroda
3d023abc6c Always show server address input on LoginPage
In case the webUI wasn't hosted on the same domain as the server, the ui was stuck on the login page, due to the inferred server address being wrong.
2025-09-10 00:56:44 +02:00
schroda
9486bf1a81 Always show server address input on SplashScreen
In case the webUI wasn't hosted on the same domain as the server, the ui was stuck on the splash screen, due to the inferred server address being wrong.
2025-09-10 00:56:41 +02:00
schroda
e138229832 Fix SplashScreen light mode logo color 2025-09-10 00:55:41 +02:00