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
3506285176
Better ID for media attachments
...
The `i` persists for other attachments too. Not good.
2023-01-09 14:33:47 +08:00
Lim Chee Aun
8a8dad12c8
Better handling of audio
2023-01-09 01:17:16 +08:00
Lim Chee Aun
600edbee5d
Might as well make my own link open up the Account modal
2023-01-07 21:43:56 +08:00
Lim Chee Aun
5b90ab46a8
Make it more hearty
2023-01-07 21:37:16 +08:00
Lim Chee Aun
c252667ce4
Make updates button drop faster
2023-01-07 21:03:01 +08:00
Lim Chee Aun
54a95363f0
Use console.debug
2023-01-07 21:02:46 +08:00
Lim Chee Aun
33176c5ea7
Have a little fun with CSS variables X JS
2023-01-07 20:38:05 +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
862107f2e6
Few styling changes to card etc
2023-01-07 20:25:13 +08:00
Lim Chee Aun
ee9bfe6331
Lots of tiny adjustments
2023-01-07 14:45:04 +08:00
Lim Chee Aun
aab9a475e8
Fix text alignment in small card
...
It's confusing when status can be small/large and card can small/large too
2023-01-07 11:52:23 +08:00
Lim Chee Aun
ba1674b846
Temporarily disable this
...
This is affecting the default scrollTop position of the status
2023-01-07 11:46:30 +08:00
Lim Chee Aun
096712a9dd
No lazy loading when loading in the carousel
2023-01-06 22:08:22 +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
6d893967ec
Maybe some videos are short
2023-01-06 19:14:47 +08:00
Lim Chee Aun
ca18ea138a
Revert Video rewrite because still doesn't work in Mobile Safari
...
Works in simulator but not the real iPhone
2023-01-06 19:07:04 +08:00
Lim Chee Aun
5c162d211f
Rewrite the <video autoplay> hack for Mobile Safari
...
- Auto animate when in Status page
- Object-fit contain for GIFs in Status page
- Add GIF label on timeline
2023-01-06 18:25:47 +08:00
Lim Chee Aun
fffc8cc983
Further grouping of notifications
2023-01-06 12:51:53 +08:00
Lim Chee Aun
3ca696dd3d
Modals for media attachments in composer
...
Dedicated editor experience per media attachment
2023-01-06 01:51:39 +08:00
Lim Chee Aun
abe5d02d93
Different logic for relative time
2023-01-05 17:36:43 +08:00
Lim Chee Aun
de45a0f9d5
Update useScroll to check distance in threshold instead of pixels
2023-01-05 15:29:11 +08:00
Lim Chee Aun
599d81f924
Disable card if there's a poll or media attachment
...
Regardless of the size
2023-01-05 15:28:04 +08:00
Lim Chee Aun
a4b452e177
Switch back to blur effect for spoilers
...
The SVG filter is too heavy for mobile browsers
2023-01-05 13:30:19 +08:00
Lim Chee Aun
a429da37f4
Don't show card for sensitive/CW content
2023-01-05 13:29:44 +08:00
Lim Chee Aun
04ccf8aca9
Replace @github/relative-time-element with dayjs
2023-01-05 10:50:27 +08:00
Lim Chee Aun
c77ed16804
Even shorter name text
2023-01-05 10:41:25 +08:00
Lim Chee Aun
eef658b758
Slightly higher z-index for updates-button
2023-01-04 19:41:35 +08:00
Lim Chee Aun
edeceba729
Allow people to type essays
2023-01-04 19:16:43 +08:00
Lim Chee Aun
1f12c53ee1
Refactor textarea and chars count meter
...
It won't re-render on every key press anymore
2023-01-04 19:03:11 +08:00
Lim Chee Aun
fea7145ac9
The mention is hidden *inside* spoiler text
2023-01-04 17:27:43 +08:00
Lim Chee Aun
8e19d098eb
Test add this condition to see how it works
2023-01-04 17:12:44 +08:00
Lim Chee Aun
7e869949e2
Turns out, still change CW when editing
2023-01-03 17:41:18 +08:00
Lim Chee Aun
88297fa17e
Remove opacity from spoiler content
2023-01-03 15:52:28 +08:00
Lim Chee Aun
5478e407aa
For large cards, align the meta left
2023-01-03 15:51:33 +08:00
Lim Chee Aun
a41655698f
Disable text selection on some elements
2023-01-03 15:51:16 +08:00
Lim Chee Aun
910120ecd7
When status is small, need more breathing space
2023-01-03 13:52:13 +08:00
Lim Chee Aun
a71f66dcbd
Handle locked accounts
2023-01-03 13:25:55 +08:00
Lim Chee Aun
dbfdd6ec68
Add border for card
2023-01-03 13:03:22 +08:00
Lim Chee Aun
b0271c50ae
Fix forgot to put back the fake <li>
2023-01-03 00:56:11 +08:00
Lim Chee Aun
dbf9c22ea5
Less obstrusive "New posts"
2023-01-03 00:52:16 +08:00
Lim Chee Aun
72e3d96675
Add more contrast to green
2023-01-03 00:49:05 +08:00
Lim Chee Aun
d15b1fe03e
Fix route() actually not working
2023-01-03 00:48:36 +08:00
Lim Chee Aun
e4de6d1d22
Don't need to focus on status after closing carousel
...
It causes unnecessary scroll
2023-01-03 00:48:16 +08:00
Lim Chee Aun
8d609e14a6
This subtle press-down effect starts to annoy me
2023-01-03 00:30:40 +08:00
Lim Chee Aun
9ea941368d
More fixes
2023-01-03 00:27:47 +08:00
Lim Chee Aun
d235f56cff
Always clear 'new' when load from beginning
2023-01-02 23:19:12 +08:00
Lim Chee Aun
5074716378
Set scroll threshold for up/down
...
Else it'll be too trippy
2023-01-02 23:16:49 +08:00
Lim Chee Aun
7408d7a5d4
No need opacity
2023-01-02 23:16:21 +08:00
Lim Chee Aun
f8821d530d
Maybe these might help a little
2023-01-02 22:02:21 +08:00
Lim Chee Aun
597232067d
Not down enough
2023-01-02 21:43:04 +08:00
Lim Chee Aun
39124ccc70
Add experimental scroll-based effects
...
- Scroll to top = refresh Home
- Scroll up/down = show/hide header and compose button
- Scroll near bottom = load next statuses
- Move Compose button to only at Home instead of 'App' level
2023-01-02 21:36:24 +08:00
Lim Chee Aun
c3aef80ad4
More styles
2023-01-02 15:00:13 +08:00
Lim Chee Aun
44f179a69f
Beautify notifications slightly
2023-01-02 14:42:28 +08:00
Lim Chee Aun
07dff34e20
Show formatted duration for video media
2023-01-02 14:21:38 +08:00
Lim Chee Aun
21bdb51cd6
Compose pop-in/out now can work with non-id medias
...
Commented out for now to see if it really works
The bug is due to valtio proxying the File object
2023-01-02 12:03:06 +08:00
Lim Chee Aun
8099fedf82
Don't store instances list inside JS bundle
2023-01-01 21:02:06 +08:00
Lim Chee Aun
2925afeefc
Refetch list of instance URLs
...
Also bump list to more than 200
2023-01-01 21:00:43 +08:00
Lim Chee Aun
727b944f3b
toLowerCase() all the instance URLs!
2023-01-01 20:59:55 +08:00
Lim Chee Aun
bfaefbe178
Disable autocapitalize on input field
...
And disable a bunch of others too
2023-01-01 20:53:40 +08:00
Lim Chee Aun
0d92f65f7e
Esc for compose field
2023-01-01 19:41:42 +08:00
Lim Chee Aun
d2d8571b3f
Fix updates button got cut off in larger viewport
2023-01-01 19:24:08 +08:00
Lim Chee Aun
151f0875ad
Upgrade relative-time-elements
...
They've renamed the package name
2023-01-01 18:14:35 +08:00
Lim Chee Aun
0517690ed3
Spruce up the compose button
2023-01-01 17:19:20 +08:00
Lim Chee Aun
b62cff4d0e
Different gradient for welcome
2023-01-01 17:19:07 +08:00
Lim Chee Aun
4d7aeca10f
Make skeleton unpointerable
2023-01-01 16:09:10 +08:00
Lim Chee Aun
6306ed9602
Move updates button further down
2023-01-01 16:02:15 +08:00
Lim Chee Aun
c116de8456
Don't show card when status is truncated
2023-01-01 16:01:57 +08:00
Lim Chee Aun
811de6ec0a
Remove that one tiny white space at the bottom of the avatar image
2023-01-01 16:01:44 +08:00
Lim Chee Aun
cf1c03f55f
Delay focus compose field a little
2023-01-01 15:32: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
951c93a070
Add link to media in carousel modal
2023-01-01 12:28:54 +08:00
Lim Chee Aun
842db90f9c
Handle context API call fail error
2023-01-01 12:02:11 +08:00
Lim Chee Aun
4e80e9e0cb
Debounce new statuses
2023-01-01 12:01:54 +08:00
Lim Chee Aun
b153d7526c
Add even more spacing
2023-01-01 12:01:39 +08:00
Lim Chee Aun
5e52874aa5
Use v1 instance api
...
v2 is too new, only added for Mastodon v4
2023-01-01 10:59:20 +08:00
Lim Chee Aun
07163f0c3f
Fix layout bug with routes
...
At this point, it feels like I'm writing my own react-router
2023-01-01 09:18:11 +08:00
Lim Chee Aun
ac91dc7983
Make this manual opt-in
2023-01-01 08:51:56 +08:00
Lim Chee Aun
e22e50705f
Move things around
2023-01-01 01:46:08 +08:00
Lim Chee Aun
d46a1e8b38
Set min height for timeline
2023-01-01 00:50:48 +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
f9e1704727
Disable this hover effect for large status
...
Will still animate in timeline but at least not as distracting
2022-12-31 20:18:56 +08:00
Lim Chee Aun
b12b0c588d
Experimental j,k,o,esc,backspace shortcuts
2022-12-31 09:52:31 +08:00
Lim Chee Aun
36a33e488b
Use focus-visible
2022-12-31 09:51:59 +08:00
Lim Chee Aun
52d5756d44
Remove unused code
2022-12-31 09:51:28 +08:00
Lim Chee Aun
2c970f635a
Make focus ring nicer
2022-12-30 23:09:25 +08:00
Lim Chee Aun
c0234dd26e
Add focus for notification block too
2022-12-30 23:08:55 +08:00
Lim Chee Aun
724be17d3e
Basic keyboard shortcuts
...
Esc for carousel modal, Ctrl/Cmd+Enter for Compose field
2022-12-30 21:36:14 +08:00
Lim Chee Aun
d605fc6ebe
Fix missing border
2022-12-30 20:39:27 +08:00
Lim Chee Aun
9201f7a118
First step in making things focusable
2022-12-30 20:37:57 +08:00
Lim Chee Aun
30c529fe02
No opacity for sheet animation
...
Move things around a bit
2022-12-30 13:55:46 +08:00
Lim Chee Aun
a409ff6712
Some images are just… too high
2022-12-30 13:37:59 +08:00
Lim Chee Aun
123d2469f6
Don't show hero pointer when loading
2022-12-30 13:26:05 +08:00
Lim Chee Aun
167399f889
Subtle press state
2022-12-30 11:03:03 +08:00
Lim Chee Aun
3338c49c25
Fix threshold for larger-than-viewport statuses
2022-12-29 16:15:58 +08:00
Lim Chee Aun
6ffc40fdf3
Use semantic <article>
2022-12-29 16:12:09 +08:00
Lim Chee Aun
5804ddbdb9
Add all the focuses
2022-12-29 16:11:58 +08:00
Lim Chee Aun
bdcefb1ab0
Add a nice pointer
2022-12-29 11:47:10 +08:00
Lim Chee Aun
160b535552
Not all cards work in large size
...
Check the image aspect ratio before converting to large size
2022-12-29 11:34:29 +08:00
Lim Chee Aun
808d56432e
Use sinceId for new checks
2022-12-29 10:45:47 +08:00