* Rename vars around edit permission
* Allow anon edits with hash+hmac
* Fix missing time zone for invoice.confirmedAt of comments
* Fix missing invoice update on item update
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
* WIP: Account switching
* Fix empty USER query
ANON_USER_ID was undefined and thus the query for @anon had no variables.
* Apply multiAuthMiddleware in /api/graphql
* Fix 'you must be logged in' query error on switch to anon
* Add smart 'switch account' button
"smart" means that it only shows if there are accounts to which one can switch
* Fix multiAuth not set in backend
* Comment fixes, minor changes
* Use fw-bold instead of 'selected'
* Close dropdown and offcanvas
Inside a dropdown, we can rely on autoClose but need to wrap the buttons with <Dropdown.Item> for that to work.
For the offcanvas, we need to pass down handleClose.
* Use button to add account
* Some pages require hard reload on account switch
* Reinit settings form on account switch
* Also don't refetch WalletHistory
* Formatting
* Use width: fit-content for standalone SignUpButton
* Remove unused className
* Use fw-bold and text-underline on selected
* Fix inconsistent padding of login buttons
* Fix duplicate redirect from /settings on anon switch
* Never throw during refetch
* Throw errors which extend GraphQLError
* Only use meAnonSats if logged out
* Use reactive variable for meAnonSats
The previous commit broke the UI update after anon zaps because we actually updated item.meSats in the cache and not item.meAnonSats.
Updating item.meAnonSats was not possible because it's a local field. For that, one needs to use reactive variables.
We do this now and thus also don't need the useEffect hack in item-info.js anymore.
* Switch to new user
* Fix missing cleanup during logout
If we logged in but never switched to any other account, the 'multi_auth.user-id' cookie was not set.
This meant that during logout, the other 'multi_auth.*' cookies were not deleted.
This broke the account switch modal.
This is fixed by setting the 'multi_auth.user-id' cookie on login.
Additionally, we now cleanup if cookie pointer OR session is set (instead of only if both are set).
* Fix comments in middleware
* Remove unnecessary effect dependencies
setState is stable and thus only noise in effect dependencies
* Show but disable unavailable auth methods
* make signup button consistent with others
* Always reload page on switch
* refine account switch styling
* logout barrier
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: k00b <k00b@stacker.news>
* css to put adjacent images/video into vertical alignment
* fix grids chrome
* even grid gap with safari support
* fixes for video and horizontal scroll
* Fix missing margin-left for invoice status in /satistics
* Fix margin-bottom not applied in invoice info
* Only apply margin-left if there is something left
* Fix ephemeral events missed
The spec mentions the following:
> for kind n such that 20000 <= n < 30000, events are ephemeral, which means they are not expected to be stored by relays.
This applies to NWC events. This means that we need to subscribe _before_ we publish the request.
See https://github.com/nostr-protocol/nips/blob/master/01.md
* Verify events before accepting them
* Reinitialize wallet form if initial values change
This fixes that enabled is not set on first render if only recv is configured
* Remove unnecessary old usage of ClientCheckbox
This isn't needed even without enableReinitialize since for send, enabled is correctly set on first render.
It was needed in the past when we were still validating wallets before enabling them on first page load but now, we simply load the configuration from localStorage which is immediately available on the client.
* Fix readOnly hydration error
* Replace repetitive isMounted logic with useIsClient hook