Commit graph

84 commits

Author SHA1 Message Date
Nihal Gonsalves c8f880c701 Web app: add a “publish as markdown” option 2023-07-09 10:28:07 +02:00
binwiederhier b7679c7826 Remove setting, add persistence 2023-07-08 15:14:35 -04:00
Nihal Gonsalves f989fd0743 Web app: implement markdown support 2023-07-06 20:25:20 +02:00
nimbleghost e8216ae9e7 Fix resubscribing when notifications are re-granted
(case: from denied to granted)
2023-06-29 00:02:18 +02:00
binwiederhier 64ac111d55 Rename UI_MODE to THEME 2023-06-28 13:30:51 -04:00
nimbleghost 4828e3a691 Add preference 2023-06-28 17:39:44 +02:00
nimbleghost 9dbac2cb33 Update wording 2023-06-28 15:53:30 +02:00
nimbleghost 95cfe16676 Add background notif text to subscribe dialog
only when web push is enabled
2023-06-28 08:57:57 +02:00
nimbleghost dabb6a481f Add server name to background notification setting 2023-06-28 08:44:05 +02:00
nimbleghost 9ba733d4e0 Add a reload button to error boundary
There are sometimes edge cases on iOS which cause the app to crash,
it’s good to have a reload button as there’s no browser chrome (reload,
back, forward) in an iOS standalone PWA.
2023-06-17 22:15:02 +02:00
nimbleghost 83eb4c39e5 Add i18n to service worker 2023-06-14 20:58:58 +02:00
binwiederhier aeb60735dc Wording 2023-06-14 11:02:54 -04:00
binwiederhier 6b38499bdc Revert alert text and button, and warning 2023-06-13 22:03:00 -04:00
binwiederhier eb220544a3 Change wording in prefs based on setting 2023-06-10 20:51:24 -04:00
binwiederhier 75a4b5bd88 Small refactor 2023-06-08 12:20:12 -04:00
nimbleghost 46798ac322 Make web push toggle global 2023-06-08 10:46:51 +02:00
nimbleghost 03aa67ed68 Remove webPushDefaultEnabled 2023-06-07 21:09:13 +02:00
nimbleghost 47ad024ec7 Simplify web push UX and updates
- Use a single endpoint
- Use a declarative web push sync hook. This thus handles all edge cases
  that had to be manually handled before: logout, login, account sync,
  etc.
- Simplify UX: browser notifications are always enabled (unless denied),
  web push toggle only shows up if permissions are already granted.
2023-06-07 20:38:21 +02:00
nimbleghost ff5c854192 Add PWA, service worker and Web Push
- Use new notification request/opt-in flow for push
- Implement unsubscribing
- Implement muting
- Implement emojis in title
- Add iOS specific PWA warning
- Don’t use websockets when web push is enabled
- Fix duplicate notifications
- Implement default web push setting
- Implement changing subscription type
- Implement web push subscription refresh
- Implement web push notification click
2023-06-07 20:38:20 +02:00
binwiederhier f13a654fe8 Phone number dropdown 2023-05-18 12:04:21 -04:00
binwiederhier 79a3259c86 Language file 2023-05-16 22:30:38 -04:00
binwiederhier 2c81773d01 Add call verification 2023-05-16 22:27:48 -04:00
binwiederhier 7c574d73de Cont'd Twilio stuff 2023-05-16 14:15:58 -04:00
binwiederhier cea434a57c WIP Twilio 2023-05-12 21:47:41 -04:00
binwiederhier f99159ee5b WIP calls, remove SMS 2023-05-12 20:01:12 -04:00
binwiederhier eb0805a470 Update web app with SMS and calls stuff 2023-05-07 22:28:07 -04:00
Bartosz Moczulski 338cab1660 i18n: Introduce plural forms for reservations, emails, messages
In many languages there is more than one plural form of nouns and rules
for choosing the correct one are often far more complex than in English.
Luckily both react-i18next and Weblate provide built-in support for
translating and selecting plural forms in accordance with grammatical
rules of any given language.

In order to enable plural forms `{count: n}` option is added to relevant
`t()` calls. In translations files "_one" and "_other" suffix is added
to English labels such that Weblate can detect which entries represent a
set of plural forms and show appropriate language-specific form on the
translation page. E.g. in Polish there are 2 plural forms and hence 3
resulting suffixes: "_one", "_few", "_many".

Note on transition period: in the absence of expected suffixed variants
react-i18next will use non-suffixed one (if present) so existing
translations will continue to work just fine even if they happen to be
grammatically imperfect. Translators can provide proper plural forms in
once this change is merged and Weblate will then replace non-suffixed
labels with the suffixed ones.
2023-03-21 10:03:36 +01:00
binwiederhier fe3a225f8f Add billing-contact config option 2023-02-28 14:38:31 -05:00
binwiederhier 1da4187405 "save up to" in upgrade dialog 2023-02-22 14:21:23 -05:00
binwiederhier ef9d6d9f6c Support for annual billing intervals 2023-02-21 22:44:30 -05:00
binwiederhier 224c54b1a2 Fix UI bug with publish dialog 2023-02-11 14:13:10 -05:00
binwiederhier b026e45189 Self-review (cont'd) 2023-02-11 10:49:37 -05:00
binwiederhier e6bb5f484c Self-review, round 2 2023-02-09 15:24:12 -05:00
binwiederhier 19324ab232 "Limit reached" chips 2023-02-07 23:18:41 -05:00
binwiederhier 0885951a67 JS error handling 2023-02-02 15:19:37 -05:00
binwiederhier 07cdf2bc7a Reserve dialogs 2023-01-31 21:39:30 -05:00
binwiederhier e596834096 Add "last access" to access tokens 2023-01-28 20:29:06 -05:00
binwiederhier 16c14bf709 Add Access Tokens UI 2023-01-27 23:10:59 -05:00
binwiederhier e82a2e518c Add password confirmation to account delete dialog, v1/tiers test 2023-01-23 10:58:39 -05:00
binwiederhier 88abd8872d Changing password should confirm the old password 2023-01-21 20:52:16 -05:00
binwiederhier 31a3bb7cd6 Payments webhook test, delete attachments/messages when reservations are removed, 2023-01-20 22:47:37 -05:00
binwiederhier f945fb4cdd A little polishing, make upgrade banner work when not logged in 2023-01-18 13:46:40 -05:00
binwiederhier cead305a9a Make prettier 2023-01-17 20:21:19 -05:00
binwiederhier 4092f7fd51 Upgrade dialog looks nice now 2023-01-17 19:40:03 -05:00
binwiederhier 695c1349e8 Upgrade dialog 2023-01-17 10:09:37 -05:00
binwiederhier 83de879894 publishSyncEvent, Stripe endpoint changes 2023-01-16 16:35:37 -05:00
binwiederhier 7faed3ee1e Add "Canceled" banner 2023-01-16 10:35:12 -05:00
binwiederhier c06bfb989e Payment stuff, cont'd 2023-01-15 23:29:46 -05:00
binwiederhier b27c608508 useContext work in JS 2023-01-09 20:37:13 -05:00
binwiederhier 3aba7404fc Tiers make sense for admins now 2023-01-09 15:40:46 -05:00