272 Commits

Author SHA1 Message Date
ekzyis
d237861ff5
Use module path aliases (#938)
* Use module path aliases

* fix broken refactor

* path mapping for svgs, style, and remaining places (bonus: lose babel dep)

---------

Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-03-19 19:37:31 -05:00
ekzyis
22ff832efb
Don't export sendUserNotification (#937)
* Rename file to webPush.js

* Move webPush code into lib/webPush

* Don't export sendUserNotification

* Fix null in deposit push notification

* restore deposit notification change

---------

Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-03-19 17:43:04 -05:00
ekzyis
b03295ce59
Put all Web Push code into lib/webPush.js (#936)
* Rename file to webPush.js

* Move webPush code into lib/webPush
2024-03-19 15:48:13 -05:00
ekzyis
3e56bbe9c0 Don't filter by pins in home 2024-03-17 16:47:13 +01:00
ekzyis
96d3034c66
Fix image fees undefined and not enforced if logged in (#909)
* Fix image fees not enforced

* Fix image fees undefined

* Add comment about return value
2024-03-13 16:08:55 -05:00
keyan
b16234630b better link rel attr handling 2024-03-04 19:20:14 -06:00
ekzyis
fa4f09ddca
Territory notifications for everyone (#870)
* Territory notifications

* Migrate old setting to new table

* Auto subscribe founders to their territories on creation

* Fix (un)subscribe not shown to founder

* Rename to toggleSubSubscription

* Fix inconsistency between toggleSubSubscription and toggleMuteSub

* Add dedicated button in header for following territories

* Don't drop noteTerritoryPosts column

* Fix db dip in Sub.meSubscription resolver

* Move territory subscribe to new territory context menu

* Decrease space between share icon and mute button

* Fix eslint
2024-02-23 09:12:49 -06:00
mzivil
46a0af19eb
Make poll expiration configurable (#860)
* add poll expires at column to Item table

* update upsertPoll mutation for pollExpiresAt param

* use pollExpiresAt to show time left for poll

* correctly pluralize days for timeLeft

* correctly update pollExpiresAt when item is updated to remove poll expiration

* add DateTimePicker and DateTimeInput components to select datetimes

* update pollExpiresAt to be nullable and more than 1 day in the future

* hide time left text if poll has no expiration

* initialize pollExpiresAt with current value or default of 25 hours in the future

we add a one hour time buffer so that the user doesn't get a validation error
for pollExpiresAt if they post their poll within an hour from creation. there's
still a chance they'll hit the validation error but they should see the error
message toast

* add DateTimeInput into the options part of the poll form

add right padding to make room for the "clear" button.

allow field to be cleared (i.e. null pollExpiresAt) to allow
non-ending polls.

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2024-02-21 12:18:43 -06:00
ekzyis
0c3be0cd08
Fix saloon comments hidden in profile (#831) 2024-02-14 11:58:29 -06:00
keyan
2ce2580e8e fix posts not showing up in bookmarks 2024-02-14 09:12:00 -06:00
keyan
a6aebd7004 fix comment bookmarks 2024-02-13 16:22:36 -06:00
mzivil
6355d7eabc
Add nsfw setting to territories (#788)
* add nsfw column to sub

* add nsfw boolean to territorySchema

* save nsfw value in upsertSub mutation

* return nsfw value from Sub query for correct value in edit territory form

* add nsfw checkbox to territory form

* add nsfw badge to territory header

* add nsfwMode to user

* show nsfw badge next to item territory

* exclude nsfw sub from items query

* show nsfw mode checkbox on settings page

* fix nsfw badge formatting

* separate user from current, signed in user

* update relationClause to join with sub table

* refactor to simplify hide nsfw sql

* filter nsfw items when viewing user items

* hide nsfw posts for logged out users

* filter nsfw subs based on user preference

* show nsfw sub name if logged out user is viewing the page

* show current sub at the top of the list instead of bottom

* always join item with sub to check nsfw

* check for sub presence before showing nsfw badge on item

* skip manually adding sub to select if sub is null

* fix relationClause to join with root item

* move moderation and nsfw into accordion

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2024-02-09 20:35:32 -06:00
ekzyis
46eeb729c3 Fix pinned items don't show up in home 2024-02-04 22:15:18 +01:00
keyan
c23f1f82bc allow pins to be zapped but not from pin position 2024-02-03 15:27:36 -06:00
mzivil
986ba582e5 fix lint errors 2024-02-02 16:06:33 -05:00
mzivil
7ff02ebe30 rename mutated hostname and pathname variables to avoid confusion 2024-02-02 15:57:34 -05:00
mzivil
db7c4c3d76 rename uri to uriRegex to avoid confusion 2024-02-02 15:50:18 -05:00
mzivil
99e547e6ae fix all hacker news and bitcoin talk links showing up as dupes
It looks like a regression was introduced at some point, because
the `uri` that's compared against the `whitelist` is a regular
expression and not the url hostname + pathname as it was originally
written.

This brings back the original behavior of comparing the whitelist
against the hostname + pathname
2024-02-02 15:46:30 -05:00
mzivil
068f1e9eba use stripTrailingSlash for uriRegex in dupes 2024-02-02 15:45:49 -05:00
mzivil
4076727ed3 fix yewtu.be links showing up as dupes of each other 2024-02-02 12:43:24 -05:00
ekzyis
d1ed72bb85
Allow territory founders to pin items (#767)
* Add pinning of items

* Fix empty section in context menu

* Pin comments

* Fix layout shift during comment pinning

* Add comments, rename, formatting

* Max 3 pins allowed

* Fix argument

* Fix missing position update for other items

* Improve error message

* only show saloon in home

* refine pinItem style and transaction usage

* pin styling enhancements

* simpler handling of excess pins

* fix pin positioning like mergePins

* give existing pins null subName

* prevent empty items on load

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-01-30 11:04:56 -06:00
keyan
61a66127d1 search/related posts refinements 2024-01-17 17:39:48 -06:00
ekzyis
bdf9b1f0fd
Territory post notifications (#745)
* Notify founders of new posts

* Only merge notifications of same territory

* Show territory posts in /notifications

* Don't notify on own posts
2024-01-11 11:27:54 -06:00
keyan
6495ce9454 keep citext cast from 8996fd0 2024-01-03 21:02:04 -06:00
keyan
26e0dd6f7e Revert "fix #703"
This reverts commit 8996fd085a8ca0a7a8abf699a9b31db9b8fa0543.
2024-01-03 20:39:26 -06:00
keyan
8996fd085a fix #703 2024-01-03 16:12:33 -06:00
keyan
0999004646 mute territories in overflow 2023-12-30 19:41:16 -06:00
keyan
214e863458 mute territories 2023-12-30 17:16:09 -06:00
keyan
dc15be914c opt-in moderation for territory founders 2023-12-29 18:05:16 -06:00
keyan
9698679d38 attempt another fix for #411 2023-12-28 14:44:56 -06:00
keyan
45e7503784 improve outlawed comment ux 2023-12-27 18:14:22 -06:00
keyan
6170853d72 unify idempotent act and act 2023-12-27 10:15:18 -06:00
keyan
73ad93f2bb idempotent zaps 2023-12-26 20:27:52 -06:00
keyan
374a7985da unify zap/downzap/bounty mutation 2023-12-26 16:51:47 -06:00
keyan
67a9fe23cf stablize act mutation reference 2023-12-26 15:55:48 -06:00
keyan
65744364f1 undo zap/downzap and improve downzap ux 2023-12-19 19:55:19 -06:00
keyan
efd48afd61 auth updating note id 2023-12-19 12:31:24 -06:00
Austin Kelsay
5737027c0f
Nostr crossposting improvements (#629)
* Add nostr event id field to items

* crosspost-item

* crosspost old items, update with nEventId

* Updating noteId encoding, cleaning up a little

* Fixing item-info condition, cleaning up

* Linting

* Spacing nit

* Add createdAt variable back

* Change instances of eventId to noteId

* Adding upsertNoteId mutation

* Cleaning up updateItem, using toasts to communivate success/failure in crosspost-item

* Linting

* Fix type

* Move crosspost to share button, make sure only OP can crosspost

* Lint

* Simplify conditions

* user might have no nostr extension installed

Co-authored-by: ekzyis <27162016+ekzyis@users.noreply.github.com>

* change upsertNoteId to updateNoteID for resolver and mutations, change isOp to mine, remove unused noteId params

* Use nostr.com for linking out with noteId

* lint

* add noopener to window.open call

* Simplify condition, throw GraphQLError

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: ekzyis <27162016+ekzyis@users.noreply.github.com>
2023-12-19 11:48:48 -06:00
keyan
71bbf34f36 remove unused param 2023-12-14 12:01:09 -06:00
keyan
a5e50821b7 gofac yourself 2023-12-14 11:30:51 -06:00
keyan
6763ef7bf0 fix comment edit bug 2023-12-10 19:26:25 -06:00
keyan
fbacf1ac63 fix changing subs with different fees 2023-12-10 17:42:30 -06:00
keyan
ca02d627c1 make anon fees consistent 2023-12-10 16:56:22 -06:00
keyan
10203f565c territories 2023-12-04 21:34:06 -06:00
keyan
8e01568622 remove dead gql 2023-11-21 17:26:24 -06:00
SatsAllDay
4596681fbc
Toast on delete bot directive usage (#620)
* Toast on successful delete bot directive

* refactor duplicate code into a reusable function

* restore empty spacing lines to clean up the diff

* perf optimization, only query for deleteScheduledAt for your own items

* Issue a warning toast if the delete bot was mentioned but the item was not scheduled for deletion

* use bs-secondary color for warning

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-11-19 15:09:47 -06:00
keyan
a318727f9c fix freebie dialog (#460) 2023-11-19 14:16:35 -06:00
keyan
589b15b597 fix custom dates to use ms since epoch 2023-11-14 10:23:44 -06:00
keyan
84b5475270 fix custom range queries 2023-11-13 17:15:43 -06:00
rleed
fb724ed9ec
escape postgres regex meta characters (#604)
Co-authored-by: rleed <rleed1@pm.me>
2023-11-08 18:25:36 -06:00