Commit graph

332 commits

Author SHA1 Message Date
dumbmoron
20320c1935
web: use svelte-preprocess instead of vitePreprocess
this allows us to use <style src={...}></style> also for scoped styles
(and not just global styles)
2024-07-21 10:06:16 +00:00
dumbmoron
0cea58922d
web/changelogs: display skeleton when changelog is loading 2024-07-21 09:42:48 +00:00
wukko
f530624467
web/ResetSettingsButton: update dialog text
erase -> reset
2024-07-21 16:40:39 +06:00
wukko
ec768ebfc2
web/settings/metadata: basic filename preview component 2024-07-21 16:34:37 +06:00
wukko
edd1137228
web/ChangelogEntry: deduplicate padding when banner isn't visible 2024-07-21 14:45:24 +06:00
wukko
dbbd43e002
web/changelog: move components to dedicated folder 2024-07-21 14:42:17 +06:00
wukko
2efaa11670
web/DialogHolder: clean up 2024-07-21 14:37:03 +06:00
wukko
782752fd60
web/OuterLink: accept rel but ignore it 2024-07-21 14:34:29 +06:00
wukko
a7f40d708e
web/meowbalt: hide meowbalt from screen readers
presence of an image of a cat on the screen doesn't change anything about the ui for vision impaired people. it's unnecessary and potentially annoying to have the description of it read out loud on every screen it's used.
2024-07-21 13:59:27 +06:00
wukko
f07aac301c
web/SmallDialog: focus title first when it's visible 2024-07-21 13:49:22 +06:00
wukko
80300bf766
web/dialogs: moved backdrop to dialog holder, improved animation 2024-07-21 13:41:14 +06:00
dumbmoron
8a080c55f6
web: refactor and deduplicate locale preference logic 2024-07-20 14:37:52 +00:00
wukko
d4d4eded32
web/SmallDialog: make button text white if its bg is red 2024-07-20 21:56:43 +06:00
wukko
d7bf98a80b
web: settings reset confirmation, icons for small dialog
- cleaned up dialog i18n
- better red color
- made :active state visible for dialog buttons on mobile
- better body padding in small dialog
- better small dialog typing with optional values
2024-07-20 21:48:17 +06:00
dumbmoron
def6e26b9f
web/settings: add "erase all settings" button 2024-07-20 14:01:13 +00:00
wukko
720b3c5f68
web: full SmallDialog component, one flexible meowbalt component
- fully stylized small dialog: header, title, subtext, state without meowbalt
- moved meowbalt into his own adaptive component, no need to import/create new ones for each emotion
- better types for dialog related stuff
- type for meowbalt's emotions
- better padding in small dialog
2024-07-20 20:34:19 +06:00
wukko
e541bdc6d7
web/Switcher: fix ghost hover effect on active button
it used to appear very briefly when you pressed a button and didn't move the cursor off the button
2024-07-20 19:09:44 +06:00
wukko
8193e8c14d
web/buttons: add hover state to active button 2024-07-20 18:54:12 +06:00
wukko
205494b367
web/SmallDialog: fix scaling on small screens 2024-07-20 18:49:51 +06:00
wukko
cd41fc9d49
web/SmallDialog: fix rendering & performance issues, new mobile animation 2024-07-18 17:22:29 +06:00
dumbmoron
2c1bd50e70
Revert "web/vite: change build target to esnext"
This reverts commit 842f91ec54.
2024-07-20 12:43:22 +00:00
dumbmoron
c3c7a6b7ba
web/version: convert to readable 2024-07-20 12:43:14 +00:00
dumbmoron
0e60ea9582
web/ChangelogEntry: consistent date formatting 2024-07-17 09:07:25 +00:00
dumbmoron
0391ac7230
web/ChangelogEntryWrapper: use OuterLink component for links 2024-07-17 08:59:45 +00:00
dumbmoron
dd16fb65cf
web/changelogs: update all links to markdown format 2024-07-17 08:59:10 +00:00
wukko
ce609ad201
web/SmallDialog: allow text selection in body 2024-07-17 14:50:35 +06:00
wukko
204e025656
web/layout: allow text selection in subtext 2024-07-17 14:50:09 +06:00
wukko
ce95135234
web/ChangelogEntry: allow text selection 2024-07-17 14:49:25 +06:00
wukko
691a6acb6c
web/ChangelogEntry: slightly reduce font size on mobile 2024-07-17 14:41:44 +06:00
wukko
cf4ee05e0e
web/updates: reduce top padding on mobile 2024-07-17 14:38:02 +06:00
wukko
dd7c17efeb
web/ChangelogEntry: reduce the size of heading contents 2024-07-17 14:34:03 +06:00
wukko
6a7311874e
web/changelog: make main body text easier to read 2024-07-17 14:29:46 +06:00
wukko
6e374fde62
web/updates: make changelogs look nicer
- fixes horizontal scrolling on mobile
- removes text backdrop
- improves readability
2024-07-17 14:04:53 +06:00
wukko
1ec9d92eb2
web/updates: clean up components 2024-07-17 13:32:07 +06:00
dumbmoron
8eee024899
web/updates: don't prevent default action for keyboard inputs 2024-07-17 07:30:22 +00:00
wukko
e6ec8c6734
web/package: fix the svelte icons version & update lock 2024-07-17 13:14:56 +06:00
dumbmoron
5c07afe4ff
web/updates: keyboard navigation 2024-07-16 17:27:43 +00:00
dumbmoron
678adfbda4
web/updates: proper navigation buttons, refactor internal nav logic 2024-07-16 17:25:21 +00:00
dumbmoron
3305bba28a
web/updates: update hash on navigation, navigate if present on load 2024-07-16 17:21:53 +00:00
dumbmoron
a22b0e5136
web/ChangelogEntry: initial css 2024-07-16 17:19:17 +00:00
dumbmoron
766482c21a
frontend: setup initial updates page 2024-06-29 18:23:56 +00:00
dumbmoron
3aa17733d1
frontend: install and configure mdsvex 2024-06-29 17:58:00 +00:00
dumbmoron
a856983810
web: convert changelogs from old format
https://gist.github.com/dumbmoron/3fc6c0c747d791928aba939976fd9304
2024-06-29 17:36:26 +00:00
dumbmoron
e1a898bd58
frontend: move update banners to new frontend 2024-06-27 23:18:52 +00:00
wukko
8ebde39197
web/Omnibox: prevent paste button spamming 2024-07-16 22:17:51 +06:00
wukko
504dfdb995
web/Omnibox: ignore keyboard shortcuts when processing 2024-07-16 22:11:57 +06:00
wukko
d31090c3d5
web/Omnibox: ignore keyboard shortcuts when dialog is visible 2024-07-16 22:03:16 +06:00
wukko
fa835d0010
web/dialog: css for small dialog
- moved backdrop to each dialog
- dialog is now closable by clicking the backdrop
- added meowbalt to dialogs
- added more meowbalt assets & components
- added "main" boolean to indicate the main action button in a list of buttons
2024-07-16 14:00:56 +06:00
wukko
03bd995839
web/Omnibox: disable focus ring on inner input element 2024-07-15 14:29:02 +06:00
wukko
25cfa3e443
web/Omnibox: add extraction of links from page hash and query 2024-07-15 14:21:51 +06:00
wukko
f9dc8096bc
web: always show focus ring 2024-07-14 23:21:04 +06:00
wukko
6ff874d5a1
web/i18n/settings: fix a typo in analytics description 2024-07-14 23:05:31 +06:00
wukko
128ab388f3
web: add env variable & plausible functionality 2024-07-14 22:50:18 +06:00
dumbmoron
436b735d2a
web/settings: try to migrate settings if new format is not used yet 2024-07-13 20:39:40 +00:00
dumbmoron
5a630c2320
web/migrate: set up migration from old settings format 2024-07-13 20:37:38 +00:00
wukko
9f649ff1db
web/settings: update analytics text & add a link to more info 2024-07-14 21:51:56 +06:00
wukko
f582be5d44
web/i18n/save: remove "the" from terms note 2024-07-14 21:27:34 +06:00
dumbmoron
4168998b93
web/settings: add "privacy" page with analytics toggle 2024-07-14 15:26:55 +00:00
dumbmoron
ee9421b831
web/state/settings: add "disable analytics" option 2024-07-14 15:22:42 +00:00
wukko
578150e40e
web: add dynamic lang html tag 2024-07-14 21:10:41 +06:00
wukko
ad3703ab73
web/settings: fix header on mobile at certain scales 2024-07-14 20:52:22 +06:00
wukko
1712dc8948
web: switch main body color depending on theme 2024-07-14 20:42:32 +06:00
wukko
36c11556d7
web/i18n/save: fix grammar in terms note 2024-07-14 20:33:49 +06:00
dumbmoron
1f0958a0d1
web/settings: move to state folder 2024-07-13 13:17:03 +00:00
wukko
4232c3437b
web: dialog system & basic small dialog 2024-07-13 19:15:43 +06:00
wukko
c5fbff560b
web/debug: show all data as json 2024-07-13 19:07:35 +06:00
dumbmoron
15caad7e36
web: adjust gray color to pass WCAG AA guideline 2024-07-13 12:51:31 +00:00
dumbmoron
3f98f5bee8
settings: move schemaVersion definition to updateSetting 2024-07-13 12:32:08 +00:00
dumbmoron
f4aff44004
debug: include settings json on page 2024-07-13 12:25:50 +00:00
dumbmoron
2cce4bd521
settings: expose settings that have only been modified
also reduce unnecessary loads from storage
2024-07-13 12:25:27 +00:00
dumbmoron
2a0366a58d
settings: add migrations, include schemaVersion in storage 2024-07-13 12:05:52 +00:00
wukko
6c9d759a3a
web: update save page i18n & add link to terms and ethics of use
now also styling <a> properly, with exceptions only when needed
2024-07-13 13:45:53 +06:00
wukko
151fdad047
web/Sidebar: make bottom padding match the corner radius of the page 2024-07-12 20:49:44 +06:00
wukko
ce740770bc
web/Sidebar: remove duplicate padding in css 2024-07-12 20:46:46 +06:00
wukko
96be9ffbc3
web/sidebar: redo padding on mobile & desktop
- accommodate space for scaling animation
- replace static padding with variable in calculations
- no more weird padding on mobile
2024-07-12 20:22:12 +06:00
wukko
914be64153
web/settings: make navigation scrollable on overflow 2024-07-12 19:18:47 +06:00
wukko
5ccde7995e
web: convert global state classes to data attributes
also cleaned up unnecessary dupe in sidebar component
2024-07-12 19:15:55 +06:00
wukko
b12ad56cc1
web/LanguageAutoToggle: update preferred language variable name 2024-07-12 19:02:23 +06:00
wukko
d27bed7add
web: respect reduced motion & transparency preferences
also cleaned up settings & device libs
2024-07-12 18:49:29 +06:00
wukko
1160b90c17
web/SidebarTab: apply will-change only on iphone 2024-07-12 17:16:26 +06:00
wukko
459c746dcc
web/SidebarTab: yet another attempt to fix blurriness on small res screens 2024-07-12 17:06:05 +06:00
wukko
27082cd725
web/SidebarTab: go back to neutral transform state at end of animation 2024-07-11 12:26:39 +06:00
dumbmoron
aea7ebb371
LanguageAutoToggle: change language even if it does not exist
if the locfile does not exist, it will just fall back to english
2024-07-10 18:46:43 +00:00
wukko
4759f2037c
web/device: add user agent 2024-07-11 00:27:46 +06:00
wukko
02437a686c
web/i18n/settings: update language description
added information about translation fallback
2024-07-11 00:21:49 +06:00
wukko
7648c115e0
web/vite: change build target to esnext 2024-07-11 00:05:29 +06:00
wukko
936da1c9ab
web/debug: show page content only when debug mode is enabled 2024-07-10 23:52:44 +06:00
wukko
6c7695ca6c
web/error: redirect home on 404 2024-07-10 23:50:50 +06:00
dumbmoron
95bcf7bf66
settings: only store settings if changed by user 2024-07-10 17:47:46 +00:00
wukko
a6ddceb643
web/settings: add advanced & debug pages 2024-07-10 23:35:53 +06:00
wukko
49f9057b6b
web/SettingsNavSection: make section title optional 2024-07-10 23:35:40 +06:00
wukko
2b907e5684
web/lib/settings: use default settings as base when loading from storage 2024-07-10 23:29:47 +06:00
wukko
bc63b0c6b7
web/lib/device: fix ipad recognition 2024-07-10 23:28:23 +06:00
dumbmoron
d1767c550c
version.json: refactor, don't use error(), use cf pages env if available 2024-07-10 16:23:35 +00:00
dumbmoron
a5d87edeca
version.json: correct parsing for https clones 2024-07-10 16:14:54 +00:00
dumbmoron
23bcd6076a
web: add prerendered version.json endpoint for frontend metadata 2024-07-10 16:04:00 +00:00
wukko
b92579ea2c
web/LanguageDropdown: yet another fix for chrome on windows 2024-07-10 21:54:04 +06:00
wukko
3a531713d0
web/SidebarTab: make the button squishy 2024-07-10 21:46:14 +06:00
wukko
f498ea65b0
web/i18n/settings: improve reduce motion description 2024-07-10 20:21:41 +06:00
wukko
6c2d147bc6
web/settings: clean up the mobile header 2024-07-10 20:19:46 +06:00
wukko
e52340f33a
web/settings: improve subtext visibility 2024-07-10 20:19:05 +06:00
wukko
ceabce864f
web/i18n/settings: remove "preferred" from titles 2024-07-10 19:37:49 +06:00
wukko
c013134b70
web/settings: move switcher description to correct component 2024-07-10 19:35:23 +06:00
wukko
d8420116dc
web/LanguageDropdown: fix option style in chrome on windows 2024-07-10 18:42:00 +06:00
wukko
496d440e5b
web/settings: refresh the locale state when auto mode is toggled 2024-07-09 21:41:53 +06:00
wukko
82ac838655
web: use credentials for manifest.json 2024-07-09 21:16:40 +06:00
wukko
19a0b00853
web/i18n: add fallback locale 2024-07-09 17:40:45 +06:00
wukko
1bf0e6707b
web/settings/appearance: rearrange sections 2024-07-08 19:47:59 +06:00
wukko
cbc1febab2
web/settings: disable the language dropdown when auto 2024-07-08 19:46:20 +06:00
wukko
bd2bdf326f
web/Omnibox: handle enter key press 2024-07-08 19:29:30 +06:00
wukko
05044922d5
web/LanguageDropdown: fix current selection string 2024-07-08 19:24:40 +06:00
wukko
6570d163e9
web/SidebarTab: indicate that tab is selected in aria 2024-07-08 12:58:21 +06:00
wukko
862366b5c5
web/LanguageDropdown: fix missing text in firefox & small font size in safari 2024-07-08 12:49:27 +06:00
wukko
bad7e3307d
web/LanguageDropdown: proper component style
you can't toggle the "select" element programmatically, so i had to come up with a workaround. it works and looks beautifully!

also fixed buggy overflow in SettingsToggle component.
2024-07-08 00:18:25 +06:00
wukko
35a8628cc1
web/SettingsToggle: change aria role to switch 2024-07-07 22:45:35 +06:00
dumbmoron
da1a11b5ce
svelte: don't use relative paths for bundle links in html
this prevents a blank page from showing up when a user
visits a non-existing page on a static build
2024-07-29 10:13:45 +00:00
wukko
d22230b1d5
web/settings: highlight the setting when linked to
- remade the way padding in settings is done to accommodate space for a highlight
- renamed nav components to indicate better what they are
2024-07-07 21:51:46 +06:00
wukko
430bfaca43
web/settings: add section ids 2024-07-07 19:14:49 +06:00
wukko
9b3f289b0e
web/lib/api: don't follow redirects away from api 2024-07-07 18:52:06 +06:00
dumbmoron
a6a51b850a
web/chore: tabs to spaces
idk how this happened :-3
2024-07-04 22:27:38 +00:00
dumbmoron
9ae0473f80
web/sidebar: simplify settings link logic 2024-07-04 22:25:47 +00:00
dumbmoron
157b687ab5
web/settings: redirect to full page if base page is opened on desktop 2024-07-04 22:25:22 +00:00
dumbmoron
16c76e7e92
web/settings: redirect invalid settings paths to default settings page 2024-07-04 22:18:02 +00:00
dumbmoron
e98f76c8ee
web/build: merge i18n chunks for each language into one file 2024-07-04 22:15:15 +00:00
wukko
422b907703
web/i18n/settings: update saving.ask.description 2024-07-04 19:09:02 +06:00
dumbmoron
8fd2c66441
web/i18n: dynamically determine languages from i18n folder contents 2024-07-03 19:28:44 +00:00
wukko
3e9296ac1e
web: remove legacy global navigation shortcuts 2024-07-04 00:12:30 +06:00
wukko
8b801bad50
web/save: keyboard shortcut for muted mode 2024-07-04 00:03:46 +06:00
wukko
97d381e993
web: move all strings to i18n & improve a11y
- omnibox is now fully usable with a screen reader
- back button is now interpreted as such
- subtext now accepts line breaks
2024-07-03 23:54:44 +06:00
dumbmoron
70339b7ae9
web: handle global keyboard shortcuts 2024-07-03 17:51:01 +00:00
dumbmoron
743338ea4c
web/omnibox: add keyboard shortcuts support
- shift+d to paste
    - ⌘/ctrl+v to paste
    - shift+k for auto mode
    - shift+l for audio mode
    - esc to clear input

todo:
    - shortcut for "muted" mode
2024-07-03 17:42:34 +00:00
dumbmoron
9c4a4fb5a1
web: fix sveltekit warning about body directly in <body> 2024-07-03 17:06:27 +00:00
dumbmoron
d0f78eda53
manifest: fix chrome warnings 2024-07-03 17:05:42 +00:00
wukko
374611553b
web: add notch easter egg & optimize for landscape
it took way too much time to optimize the damn logo sticker under notch for all devices & zoom states

also improved device lib api
2024-07-03 19:05:14 +06:00
wukko
901f0a7480
web/settings: more accessibility improvements 2024-07-03 17:10:53 +06:00
wukko
a478993599
web: improve screen reader usability
- switchers now have audible states
- toggles are now interpreted as toggles
- fixed weird spacing introduced in last commit
2024-07-03 14:09:09 +06:00
wukko
5ced7b5388
web/save: move strings to i18n & translate to ru
also fixed line break in switcher for future lengthier translations (german, for example)
2024-07-03 13:52:27 +06:00
wukko
9939f3b172
web: i18n system & navbar translations
dynamic page language and language dropdown!! finally!!
2024-07-03 00:16:03 +06:00
wukko
d11874e57f
web/layout: update input border color for light theme 2024-07-02 19:25:37 +06:00
wukko
567cfe05ec
web/settings: unfuck tab padding on mobile 2024-06-30 15:58:40 +06:00
wukko
7dd33d1341
web/layout: move main bg coloring to #cobalt 2024-06-29 23:46:28 +06:00
wukko
3527131cd7
web/settings: calculate item padding properly 2024-06-29 23:31:40 +06:00
wukko
a1913988d7
web/settings: adjust padding for switcher & toggle 2024-06-29 23:02:10 +06:00
wukko
0c33ac3a1c
web/SettingsToggle: clean up 2024-06-29 22:53:09 +06:00
wukko
ad6539e3bd
web/settings: replace checkbox with toggle
- equal font size & padding for all subtexts in settings
- equal padding & border radius for all settings components

it just looks way better now
2024-06-29 22:51:24 +06:00
wukko
c7befcb100
web/Switcher: new style & clean up 2024-06-29 21:19:35 +06:00
wukko
f383f5d94e
web/theme: add dynamic status bar color on mobile 2024-06-29 20:24:51 +06:00
wukko
d817888838
web/device: add global constant for device info 2024-06-29 20:24:14 +06:00
wukko
10a9c955d9
web: proper theming 2024-06-29 20:09:17 +06:00
wukko
2a1344f93d
web: update meowbalt smile asset 2024-06-28 21:57:57 +06:00