Commit graph

179 commits

Author SHA1 Message Date
Lim Chee Aun
6fcbc9dfa4 One more logic for auto-collapsing 2023-05-11 13:56:21 +08:00
Lim Chee Aun
4d5c0f1f5d More adjustment to auto-collapsing logic 2023-05-09 22:29:18 +08:00
Lim Chee Aun
c316f0106b Small optimization 2023-05-08 23:16:04 +08:00
Lim Chee Aun
4c188ab59b Smarter logic for auto-collapsing
This logic is getting similar to HackerWeb's
2023-05-08 22:42:15 +08:00
Lim Chee Aun
02d26b8da2 Slightly rewritten collapsing logic
Let's see if this works better
2023-05-08 12:50:00 +08:00
Lim Chee Aun
dd5b374b53 Make horizontally-scrollable comments more apparent 2023-05-07 18:20:25 +08:00
Lim Chee Aun
9ac71920bf Additional logic for auto-collapsing comments 2023-05-07 18:19:28 +08:00
Lim Chee Aun
8519f68e9f Quick-translate from timeline to Post page 2023-05-03 10:22:15 +08:00
Lim Chee Aun
6532b97a44 Update copy: s/status/post 2023-04-29 22:22:07 +08:00
Lim Chee Aun
ce97b9a242 Fix media not opening when switching hero status on Status page 2023-04-28 11:00:28 +08:00
Lim Chee Aun
61699b322d Clear media when switching view modes 2023-04-19 00:27:10 +08:00
Lim Chee Aun
60c635b610 Fix status not shown if ancestors count > 40
Plus a few perf fixes
2023-04-18 19:47:21 +08:00
Lim Chee Aun
4fce94e8e7 Fix some threads suddenly lost inReplyToAccountId half-way 2023-04-17 21:43:26 +08:00
Lim Chee Aun
b63269e42a Handle urls from root 2023-04-17 18:56:09 +08:00
Lim Chee Aun
9a04cb6ba3 Add 'Full' view for status pages 2023-04-17 00:14:09 +08:00
Lim Chee Aun
a505f7c5e4 Fix media not loading if status is not cached 2023-04-15 12:26:11 +08:00
Lim Chee Aun
19858dc889 It's time for a new loading indicator 2023-04-14 15:46:11 +08:00
Lim Chee Aun
f303c6d36c Rewrite status page + media modal
Media modals now have their own URLs
2023-04-14 15:30:04 +08:00
Lim Chee Aun
13b2273022 Bot avatars will be squircles 2023-04-11 00:26:43 +08:00
Lim Chee Aun
eebb55ba38 Only show replies count if ancestors is a thread 2023-04-08 19:47:54 +08:00
Lim Chee Aun
b227d816bc Show replies count for ancestors 2023-04-08 16:52:34 +08:00
Lim Chee Aun
04b4101e55 Handle /notes/ url too 2023-04-03 10:05:57 +08:00
Lim Chee Aun
c8d582184f Revert "Sometimes, a bracket makes a huge difference"
This reverts commit 45c872df28.
2023-03-31 19:46:54 +08:00
Lim Chee Aun
45c872df28 Sometimes, a bracket makes a huge difference 2023-03-31 19:21:27 +08:00
Lim Chee Aun
347d288c83 It's time to level up ALL replies
When reach level 4, horizontal scrolling will kick in!
2023-03-30 20:07:07 +08:00
Lim Chee Aun
64b59e42a5 Remember replies toggle state during the "session" 2023-03-28 20:33:00 +08:00
Lim Chee Aun
2c8112baa5 Add ability to switch post to its own instance 2023-03-24 15:05:57 +08:00
Lim Chee Aun
422813be9c New experimental Filtered Posts UI 2023-03-22 00:09:36 +08:00
Lim Chee Aun
47b51bdef8 Add Refresh menu item to Status page 2023-03-19 20:12:45 +08:00
Lim Chee Aun
f4310ad8e4 Add ability to reload hero status 2023-03-14 00:36:40 +08:00
Lim Chee Aun
355b3be6e9 Alrighty, let's test this post translation out! 2023-03-07 22:38:06 +08:00
Lim Chee Aun
3c7fc30444 Add simple loading state for switching instances 2023-02-28 22:44:10 +08:00
Lim Chee Aun
a86daaac0b Fix useScroll bug 2023-02-28 21:56:41 +08:00
Lim Chee Aun
aca3cb677b Sometimes need exact distance instead ratio 2023-02-25 10:50:02 +08:00
Lim Chee Aun
cd9b01095c Fix post status banner showing wrong thing for non-logged-in users 2023-02-22 00:42:43 +08:00
Lim Chee Aun
8e4ecd242b Revert flush to cancel, speed up scroll position caching
Somehow the flush cache the scroll position for a different status ID
2023-02-20 20:59:46 +08:00
Lim Chee Aun
be35f3a415 Remove console.log 2023-02-19 21:15:40 +08:00
Lim Chee Aun
d5bceb1d81 Handle logged-out cases 2023-02-19 14:49:53 +08:00
Lim Chee Aun
161aff64ac This footer is kinda abrupt, so try "delay" it a little 2023-02-18 10:51:39 +08:00
Lim Chee Aun
b06cd36b3f Initial work to allow cross-instance linking
- Load current-instance relationship on remote-instance account sheet
- Add button to switch to current-instance status page from remote-instance status page
2023-02-17 17:37:31 +08:00
Lim Chee Aun
e57b362ee0 Fix undefined turned into a "undefined" string due to string concat 2023-02-17 11:28:25 +08:00
Lim Chee Aun
bc7ac30e74 Switch to logged-in instance URL 2023-02-15 10:51:09 +08:00
Lim Chee Aun
6c43ced27c Desperate attempt to make the text and buttons flows nicely in the header
This code will probably haunt me in the future
2023-02-11 23:35:03 +08:00
Lim Chee Aun
4a01d3d404 Try save some space here 2023-02-11 20:56:33 +08:00
Lim Chee Aun
d9564bff72 Still need these fallbacks for now 2023-02-11 18:55:21 +08:00
Lim Chee Aun
9401fc38e1 Need location.search too because Search page is using it 2023-02-11 17:58:49 +08:00
Lim Chee Aun
541d318fdc One more logic for comment collapsing 2023-02-10 17:35:38 +08:00
Lim Chee Aun
83e6a2b599 Remove console.log 2023-02-09 23:05:40 +08:00
Lim Chee Aun
109cae9c19 More path fixes 2023-02-09 23:01:33 +08:00
Lim Chee Aun
f511b0a5ab More code porting 2023-02-08 19:11:33 +08:00
Lim Chee Aun
f6897ef4d8 Don't open sub comments is parent is a thread 2023-02-07 12:01:36 +08:00
Lim Chee Aun
719a407414 Use /:instance?/xxx instead 2023-02-06 19:54:18 +08:00
Lim Chee Aun
3aea09fd42 Experimental feature to see post in currently logged-in instance 2023-02-06 19:09:25 +08:00
Lim Chee Aun
1357c1b2bd Fix more edge cases after breaking changes 2023-02-06 16:35:03 +08:00
Lim Chee Aun
a130743d4c Breaking: refactor all masto API calls
Everything need to be instance-aware!
2023-02-06 00:17:19 +08:00
Lim Chee Aun
ed8fce3cbf Don't need --invisible hack
Protip: use `:not(details:not([open]) > summary ~ *, details:not([open]) > summary ~ * *)`
2023-02-01 01:21:58 +08:00
Lim Chee Aun
6647b6cc28 Fix j/k shortcuts to work with collapsed comments
Use x key to expand/collapse comments
2023-02-01 00:10:38 +08:00
Lim Chee Aun
18b48c8d19 Smarter collapsing, show total comments count, show 3 avatars 2023-01-31 16:13:16 +08:00
Lim Chee Aun
969fddc581 Time for use-debounce
Try a leading debounce here
2023-01-30 20:51:06 +08:00
Lim Chee Aun
88ffb3a44c Reduce distance from start to show the scroll to top button 2023-01-30 19:59:41 +08:00
Lim Chee Aun
1fed35f674 Flush instead of cancel 2023-01-30 19:36:47 +08:00
Lim Chee Aun
292186e918 New UI experiment: media modal + status detail page
- Extracted out the media modal and media component from Status
- Use :has CSS selector to do most of the layout work
- Expecting edge case UI bugs
2023-01-29 15:23:53 +08:00
Lim Chee Aun
ae37d58826 Fix document.title not working properly 2023-01-29 15:22:16 +08:00
Lim Chee Aun
66216e911e At this point, might as well support level 4
Also still need to show the comment icon IF THERE'S LEVEL 5++
2023-01-29 01:29:26 +08:00
Lim Chee Aun
a088b48eb7 Status thread page improvements
- Show level 3 comments
- Change header-tap to scroll top to a button instead (prevent accidental scroll top)
- Show avatars in <summary>
- Clean up CSS a bit
2023-01-29 01:02:25 +08:00
Lim Chee Aun
ae90b41aae New feature: "Show all sensitive content" menu 2023-01-28 22:34:36 +08:00
Lim Chee Aun
816653e2e6 Add j/k keyboard navigation to status page
At the same time, fix shift+k not working in Home page
2023-01-27 20:54:18 +08:00
Lim Chee Aun
912506afcc Fix some scrolling edge cases
This is tough
2023-01-27 11:48:13 +08:00
Lim Chee Aun
6a7e7085bd Bump up retries
Slow servers are slow.
2023-01-26 21:02:39 +08:00
Lim Chee Aun
c24a3ef251 Add fetch retries in status page 2023-01-25 16:41:28 +08:00
Lim Chee Aun
348e7a52c9 Fix stupid mistake 2023-01-23 17:58:33 +08:00
Lim Chee Aun
e7dffecfe0 Need to reset cachedStatusesMap too 2023-01-22 19:21:24 +08:00
Lim Chee Aun
81170c6d05 When clicked, don't use cached scroll position 2023-01-21 19:52:51 +08:00
Lim Chee Aun
fa5a468005 Don't really get how this becomes multi-line 2023-01-21 18:59:13 +08:00
Lim Chee Aun
9bff95bcec Replace preact-router with react-router
Need more routing powers, hopefully things don't break 🤞
2023-01-21 00:23:59 +08:00
Lim Chee Aun
8834c03d7a Need to cancel the debounce 2023-01-17 08:56:13 +08:00
Lim Chee Aun
d7d9d9f0a2 Don't store scroll position while in loading state 2023-01-16 20:32:51 +08:00
Lim Chee Aun
62a3ba7c5f Bug fixes for boosts carousel + scrolling 2023-01-16 20:32:30 +08:00
Lim Chee Aun
e2139399ee New experiment: Boosts Carousel™️ 2023-01-14 19:42:04 +08:00
Lim Chee Aun
e2b6f2df6a Auto-threadify when open a status page with context 2023-01-11 17:45:37 +08:00
Lim Chee Aun
a421406a11 DRY get current Account 2023-01-11 13:28:42 +08:00
Lim Chee Aun
9743da1e9b Fix cached statuses gone 2023-01-10 20:05:47 +08:00
Lim Chee Aun
53f70e68f7 Need better distancing 2023-01-10 16:37:34 +08:00
Lim Chee Aun
2bed0c7f03 Add Experimental scroll to top button for status page 2023-01-10 10:44:16 +08:00
Lim Chee Aun
1727475336 Reduce more code for scrolling logic
- Move from sessionStorage to in-memory for statuses cache
- Remove userInitiated, it's getting hard to differentiate between user-initiated and non-user-initiated. Probably better done from the route side instead of only stuck to this component's state
2023-01-10 01:31:38 +08:00
Lim Chee Aun
7f5214c8c6 Need a way to refresh status page on-demand 2023-01-09 21:51:30 +08:00
Lim Chee Aun
522dd08925 Remove unused imports 2023-01-09 17:05:42 +08:00
Lim Chee Aun
cab06ae936 Further simplify the scrolling logic in Status page
Previous code is too darn complicated and doesn't work in async cases
e.g. user scrolled while the status is loading
2023-01-09 16:56:16 +08:00
Lim Chee Aun
41df88e625 Perf fixes
Turns out, adding an object to states.statuses proxyMap object, re-render ALL statuses
2023-01-07 20:26:23 +08:00
Lim Chee Aun
ac557e1271 Delete cache in SW before reloading status page
Seems kinda hacky… probably might cause new side effects
2023-01-06 21:29:16 +08:00
Lim Chee Aun
04ccf8aca9 Replace @github/relative-time-element with dayjs 2023-01-05 10:50:27 +08:00
Lim Chee Aun
d15b1fe03e Fix route() actually not working 2023-01-03 00:48:36 +08:00
Lim Chee Aun
2031e88d87 Better handling of failures
Some mastodon instances are getting hit hard
2023-01-01 15:28:07 +08:00
Lim Chee Aun
842db90f9c Handle context API call fail error 2023-01-01 12:02:11 +08:00
Lim Chee Aun
ac91dc7983 Make this manual opt-in 2023-01-01 08:51:56 +08:00
Lim Chee Aun
895602e446 Gosh this need to be low threshold
It's actually % of the full height of the element. So if the status is super long (100K chars), it'll never be 0.25
2022-12-31 23:58:48 +08:00
Lim Chee Aun
b12b0c588d Experimental j,k,o,esc,backspace shortcuts 2022-12-31 09:52:31 +08:00
Lim Chee Aun
9201f7a118 First step in making things focusable 2022-12-30 20:37:57 +08:00
Lim Chee Aun
123d2469f6 Don't show hero pointer when loading 2022-12-30 13:26:05 +08:00
Lim Chee Aun
3338c49c25 Fix threshold for larger-than-viewport statuses 2022-12-29 16:15:58 +08:00