Commit Graph

521 Commits

Author SHA1 Message Date
keyan 03e0646560 ~meta sub 2023-06-20 11:27:41 -05:00
keyan 747371a4e4 snl live banner 2023-06-20 09:57:06 -05:00
keyan 3e4161ae8c tip -> zap 2023-06-19 13:21:55 -05:00
keyan f8724f75e7 add tab shortcut and better resulting selection ranges 2023-06-19 13:07:06 -05:00
ekzyis b427c921d1
Add SimpleX group invite to footer (#320)
Co-authored-by: ekzyis <ek@stacker.news>
2023-06-16 18:04:56 -05:00
keyan 02ec14549f prevent markdown input cursor from moving 2023-06-13 09:19:50 -05:00
keyan 73bb4a0141 change more post types copy 2023-06-12 19:43:08 -05:00
keyan f0f51438c4 add top posts/comments to subs 2023-06-12 19:40:18 -05:00
keyan 6ed2c87c49 fix ssr and client side rendering difference warnings 2023-06-12 17:59:53 -05:00
keyan ef533d41a6 move markdown related code to proper component 2023-06-12 17:39:20 -05:00
keyan 6a49f37c68 only honor selection range in textarea 2023-06-12 17:21:13 -05:00
keyan 5958875f1e wait for comments to collapse before scrolling 2023-06-12 16:03:32 -05:00
keyan ab3b24a072 refine pwa back button 2023-06-12 15:49:48 -05:00
keyan ed938527fd simply respect notification alert message 2023-06-12 15:37:12 -05:00
keyan d78c98e701 improve rss footer 2023-06-12 14:48:35 -05:00
keyan 342a165ced refine cancel button 2023-06-12 14:39:27 -05:00
keyan 79df6b2be2 prevent default on all markdown shortcuts 2023-06-12 13:49:58 -05:00
ekzyis 069417d130
Enable push notifications in settings (#301)
* Enable push notifications in settings

* Fix checkbox still checked after user denied permission

The error was related to me thinking that the value prop does anything. It didn't.
The value of the checkbox is handled by formik.
So the solution was to hook into formik and use the handler which actually changes the value.

* Add double opt-in to /notifications

* Better styling of alert in /notifications

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 13:03:44 -05:00
ekzyis b890215b98
Tech sub (#311)
* Add tech sub

* Fix line break in RSS popover

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 12:41:22 -05:00
ekzyis e243c1c224
Add cancel button for editing all post types + bio (#310)
* Add cancel button when editing any post type

* Add cancel button when editing bio

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 12:35:28 -05:00
ekzyis 393d4c7603
Add Markdown formatting hotkeys: CTRL+K, CTRL+I, CTRL+B (#305)
* Fix usage of deprecated event.keyCode

* Add CTRL+K to insert markdown link formatting

* Also add CTRL+B and CTRL+I

* Fix undo not working after using setValue

Undo doesn't work if inputs are changed using javascript code like helpers.setValue().

The solution is to also use `document.execCommand()`.

See https://stackoverflow.com/questions/27027833/is-it-possible-to-edit-a-text-input-with-javascript-and-add-to-the-undo-stack

However, `document.execCommand()` is deprecated but there seems to be no alternative, see:

- https://stackoverflow.com/questions/60581285/execcommand-is-now-obsolete-whats-the-alternative
- https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#browser_compatibility
- https://github.com/codex-team/editor.js/discussions/2214

And so far, every browser still seems to support it: https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#browser_compatibility

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 12:29:50 -05:00
keyan 369bd82a84 make freebie comments visible case by case 2023-06-03 20:01:50 -05:00
keyan 56f08e0144 allow ctrl-click of post button 2023-06-03 17:49:04 -05:00
keyan d815cae715 add 'stacking since' to profile 2023-06-02 19:55:45 -05:00
keyan d4988694c8 make room in header to pwa back button 2023-06-01 19:34:26 -05:00
keyan 56314bac4e fix window navigation error on firefox 2023-06-01 15:29:20 -05:00
keyan c4b96b998f only request notification permissions on the notifications page 2023-06-01 14:41:20 -05:00
keyan f4b81b0ff0 fix notification clicking after refactor 2023-06-01 13:22:39 -05:00
keyan 3de8df5ab5 enhancements for footer version with prod support 2023-06-01 12:57:31 -05:00
ekzyis 61e0a100c0
Show version in footer (#294)
Co-authored-by: ekzyis <ek@stacker.news>
2023-06-01 12:19:45 -05:00
keyan 15850f0dbb move free posts message about sub select 2023-05-31 19:54:35 -05:00
ekzyis 40b7fde621
refactor: create component per notification type (#298)
Co-authored-by: ekzyis <ek@stacker.news>
2023-05-31 19:51:30 -05:00
ekzyis 0c251ca376
Add thread subscriptions (#293)
* Add thread subscriptions

* remove dead code: reply only notifications

* break out thread subscription queries to reduce search space

* one db dip for item lists/threads re:meSubscription

---------

Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-05-31 19:44:06 -05:00
ekzyis e97509eea7
Use PWA with display: standalone (#292)
* Use next-pwa

* Use standalone + back button

* Use Notification API

* Use custom service worker

* Use url_handlers

* Add offline page

* Use smaller icon in notification

* Only prompt for notifications if logged in

* small enhancements to standalone pwa

* remove unused back arrow

---------

Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-05-31 17:28:33 -05:00
ekzyis 5c55afc97c Fix no dupes check after link unshortening 2023-05-21 12:50:14 -05:00
ekzyis 4af445d242 Fix fetched data not shown if last action was title clear
There are two flows when clearing both inputs:

1. First clear title, then clear URL, then enter new URL

In this case, new data will be fetched when the URL is cleared since the title is empty. Due to the fetch with empty variables, the fetched data is essentially reset.
Entering a new URL thus triggers a new fetch (since title is still empty) and the fetched data is shown since it is different compared to the previous render.

2. First clear URL, then clear title, then enter new URL

In this case, new data will not be fetched when the URL is cleared since the title is not empty.
When entering a new URL, new data is fetched but will not be shown since the fetched data was never reset and thus did not change compared to the previous render.

This is fixed by always either a) resetting the fetched data or b) fetching new data if the URL changed.
2023-05-21 12:27:01 -05:00
keyan 87e86526f8 fix submit button not being disabled 2023-05-18 13:02:19 -05:00
keyan 9d31d56ec0 fix missing advanced options in bounty/discussion form 2023-05-16 13:30:19 -05:00
ekzyis 0effc065c6 Mix default and custom tips during sort 2023-05-14 19:41:36 -05:00
ekzyis c05a76d664 Fix duplicate tips 2023-05-14 19:41:36 -05:00
ekzyis 342b2b76ca Use numeric input 2023-05-14 19:41:36 -05:00
ekzyis 8d35cd0194 Save custom tips 2023-05-14 19:41:36 -05:00
keyan 6d8780373a form enhancements 2023-05-11 14:34:42 -05:00
keyan 5bb6b5f2e7 placeholder when there aren't comments 2023-05-10 19:41:17 -05:00
keyan df1f1a483a require sub selection, allow editting 2023-05-10 19:30:51 -05:00
keyan 95420fe39b update footer 2023-05-09 17:52:24 -05:00
keyan 01d29e013e fix job editting bug 2023-05-08 14:14:32 -05:00
keyan e2aceee234 higher tip defaults 2023-05-06 18:29:20 -05:00
keyan 347a6a54d2 improve comment performance 2023-05-06 16:51:17 -05:00
keyan 1a5d8880dd decapitalize all caps titles 2023-05-06 10:54:04 -05:00
keyan aef1163ea0 add amboss link in footer 2023-05-05 16:22:22 -05:00
keyan b406f0c340 avoid db dip for sub 2023-05-05 12:39:57 -05:00
keyan 7e0103bce3 add separate podcast link 2023-05-05 11:54:28 -05:00
keyan 83a4568ec4 add social media to footer 2023-05-04 18:15:08 -05:00
keyan 833b31980e add jobs rss and style footer popovers consistently 2023-05-04 16:41:56 -05:00
ekzyis d98421d9cd Add RSS feeds for ~bitcoin and ~nostr 2023-05-04 13:43:40 -05:00
keyan 236ee552c6 navbar fixes 2023-05-02 19:22:38 -05:00
keyan 4e817a232d sub related enchancements 2023-05-02 11:55:10 -05:00
keyan 4be5286122 hide cowboy hat setting 2023-05-01 16:52:02 -05:00
keyan a241d683d8 nostr sub 2023-05-01 15:58:30 -05:00
keyan d6c92fec62 prevent layout shift when loading dupes 2023-04-26 13:02:42 -05:00
ekzyis f2f205dc80 Disable post button for 3 seconds max 2023-04-26 13:02:42 -05:00
ekzyis 259b5b7a36 Don't run dupes query empty 2023-04-26 13:02:42 -05:00
ekzyis 29bee1c740 Show dupes loading 2023-04-26 13:02:42 -05:00
ekzyis d43c7cc222 Disable post button while dupes are loading 2023-04-26 13:02:42 -05:00
keyan e4a3095cb4 give pinned item recent sort by default 2023-03-19 10:43:33 -05:00
keyan ff34bd0124 don't show price on error 2023-03-04 12:16:50 -06:00
keyan 183201a1b8 don't autofocus top-level reply 2023-02-24 10:08:15 -06:00
ekzyis 5d572c2fe3
Autofocus reply inputs (#242) 2023-02-24 09:52:09 -06:00
keyan 8278966948 move item dropdown for clarity 2023-02-16 17:14:14 -06:00
keyan 16bf7007cc put opentimestamps link in item dropdown 2023-02-16 17:07:20 -06:00
ekzyis 7b838cdeb2
Implement bookmarking of posts and comments (#235) 2023-02-16 16:23:59 -06:00
keyan 97f74da0fd top cowboys 2023-02-09 12:41:28 -06:00
keyan a5b2de64d3 remove bolt on posts forwarding to self 2023-02-08 18:11:28 -06:00
keyan 74df0db035 client side error boundary 2023-02-08 17:59:14 -06:00
keyan 4cae1ae230 reuse validation on server 2023-02-08 13:39:53 -06:00
keyan c1080ec4d7 fixes for top 2023-02-03 13:10:18 -06:00
keyan b3f7f24cff trigger streak when eligible 2023-02-02 13:47:09 -06:00
keyan 072e60c954 streaks 2023-02-01 17:40:49 -06:00
keyan 816361bd96 remove semicolons from last merge 2023-01-27 18:08:58 -06:00
ekzyis 4ab66a67ae
Add proxy with cache for coinbase API requests (#226) 2023-01-27 17:20:33 -06:00
keyan 670f071177 fix item spacing generically 2023-01-27 15:10:38 -06:00
keyan 82502e724f fix spacing on item text 2023-01-27 11:43:48 -06:00
keyan f53c5ff2eb fix undefined reference 2023-01-26 17:51:50 -06:00
keyan 291fe24363 denormalize bountyPaidTo 2023-01-26 17:28:10 -06:00
keyan 5306b11157 improve bounty performance 2023-01-26 13:09:57 -06:00
Austin Kelsay e13e37744e
stackernews bounties (#227)
bounties
2023-01-26 10:11:55 -06:00
keyan 9644a9f867 slashtags auth 2023-01-18 12:49:20 -06:00
keyan 48448ea1ef get time from youtube links 2023-01-13 18:09:05 -06:00
keyan 0f4d44cfa6 don't show flag on deleted posts 2023-01-13 17:49:53 -06:00
keyan 9c0ead308b remove debug logging 2023-01-13 13:19:42 -06:00
keyan 10ff3fa1c3 delete 2023-01-13 11:52:18 -06:00
keyan ed153b5199 add similar section to posts 2023-01-12 14:30:17 -06:00
keyan 9823969418 unshorten links 2023-01-12 12:05:47 -06:00
Keyan 7c91f279c5
Merge branch 'master' into master 2023-01-11 12:26:57 -06:00
keyan 00fdbe753c fix typo in lnurl-auth copy 2023-01-10 17:55:11 -06:00
keyan ae5c6c457f global modal + small fixes/enhancements 2023-01-10 17:13:37 -06:00
keyan e2d7506ebf lightning login copy 2023-01-10 12:55:17 -06:00
keyan d1a08eda36 make sure useEffect doesn't update state on every render 2023-01-10 09:40:56 -06:00
keyan c2685a659e sign up buttons 2023-01-09 18:33:44 -06:00