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
b47c043699
Fix select field color bug on Windows
...
It shows as white text on white background on Windows 10 or 11
https://mastodon.social/users/cheeaun/statuses/109812923100158393
2023-02-06 00:05:43 +08:00
Lim Chee Aun
942d0b0a30
Fix welcome page peakaboo
2023-02-05 20:14:23 +08:00
Lim Chee Aun
7e9b6f681f
Forgot to emojify again
...
This is getting ridiculous
2023-02-04 13:18:23 +08:00
Lim Chee Aun
e0bab6c70a
More refactoring work
2023-02-03 21:08:08 +08:00
Lim Chee Aun
e95954a7fd
Begin work on account-specific store
...
1. Move boostsCarousel setting to account-specific, sadly no migration from previous setting
2. Cache last notification to prevent keep getting unread notification badge
2023-02-02 17:29:57 +08:00
Lim Chee Aun
eb2f80162a
Don't debounce if loading subsequent posts
2023-02-02 15:48:12 +08:00
Lim Chee Aun
fa3ee31cd3
Fix #55
2023-02-02 10:30:16 +08:00
Lim Chee Aun
20e569da0c
Strip out @acct@ from instance URL when log in
2023-02-01 10:49:42 +08:00
Lim Chee Aun
3d2b7f683c
Fix notifications grouping bug
2023-02-01 02:09:07 +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
7d94c53e2e
Honestly backdrop should never be a lighter color
2023-01-31 23:43:24 +08:00
Lim Chee Aun
bbb3017b2d
Quietly handle hashtag links
...
No follow/unfollow yet.
2023-01-31 19:31:25 +08:00
Lim Chee Aun
9a261470df
Custom titleComponent for Timeline
2023-01-31 19:08:10 +08:00
Lim Chee Aun
b106d1d519
Adjust header margins
2023-01-31 19:07:09 +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
4ed2852c41
Don't show updates button when loading
2023-01-31 11:24:46 +08:00
Lim Chee Aun
e282f5df2a
Strip protocol from instance domain/uri
2023-01-31 00:58:00 +08:00
Lim Chee Aun
a2e47d7a6a
Hide arrow from summary
2023-01-31 00:37:55 +08:00
Lim Chee Aun
1c52875ba4
Add links to privacy policy
2023-01-30 23:16:00 +08:00
Lim Chee Aun
c40fd1ec48
Better hues
2023-01-30 22:31:21 +08:00
Lim Chee Aun
3cec4f66c5
Fix document.title bug
2023-01-30 22:00:14 +08:00
Lim Chee Aun
8787d44b56
Disable pinch-zoom on body
2023-01-30 21:54:30 +08:00
Lim Chee Aun
a990b883f3
Remove old unused code
2023-01-30 21:05:49 +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
509aac11ab
Fix document title leaked out
...
Probably need to rethink this one day
2023-01-30 20:36:10 +08:00
Lim Chee Aun
1cfef22465
Let's test this out
2023-01-30 20:30:45 +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
d5447db035
Use % instead
2023-01-30 19:49:38 +08:00
Lim Chee Aun
613e77e43f
Got to be picky about the smooth vs jump scroll
2023-01-30 19:48:33 +08:00
Lim Chee Aun
1fed35f674
Flush instead of cancel
2023-01-30 19:36:47 +08:00
Lim Chee Aun
0a4c3069dd
Fix this translateY making carousel jumpy
...
- It moves outside of the box
- Causes the container to have a vertical scrollbar
- When scrolling, it's moves up and down, causing the carousel to jump
- Don't quite understand why, maybe a super rare browser (Chrome) bug
2023-01-30 19:35:28 +08:00
Lim Chee Aun
305bb92906
Fix optimizeSpeed rendering can affect text kerning and layout
...
Seems like Mobile Safari make less font rendering calculation to speed up rendering. When toggling between text-rendering modes, the text can be shifted or relayout-ed.
2023-01-30 10:01:34 +08:00
Lim Chee Aun
e5e2bd6f2a
Add account statuses timeline + few aesthetic changes to Account sheet
...
And secretly link to this timeline, don't tell anyone lol
2023-01-29 23:37:13 +08:00
Lim Chee Aun
99b9194713
Fix wrong status link when it's a boost in Timeline
2023-01-29 23:34:51 +08:00
Lim Chee Aun
cc2d4d4cc1
Fix text-expander positioning bug
...
Also fix related bugs
2023-01-29 21:45:59 +08:00
Lim Chee Aun
09272e8407
Make header go up a little
2023-01-29 19:11:58 +08:00
Lim Chee Aun
b8c9059562
Quick fix for "See post" messing up the top controls div in small screens
2023-01-29 15:55:15 +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
80cc387c1c
Home header style change
2023-01-29 10:17:29 +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
aaeca7dd03
Refactor out a Timeline component
...
Also replace login() with createClient() for faster log in
2023-01-28 18:52:18 +08:00
Lim Chee Aun
1a5816f886
Try disabling the fade-out when loading context
...
Too distracting.
2023-01-28 14:05:04 +08:00
Lim Chee Aun
ce0c0563f3
Show common followers, only when not following
2023-01-27 21:36:04 +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
ded6420c1a
Fallback if browser doesn't autoplay
2023-01-27 17:51:31 +08:00
Lim Chee Aun
31b342d68e
Fix undefined inHome
2023-01-27 15:17:56 +08:00
Lim Chee Aun
515b988b94
Getting trolled by my own code
2023-01-27 14:36:47 +08:00
Lim Chee Aun
77c1b36a1f
Fix wrong shadow color
2023-01-27 14:35:44 +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
7785e29f0d
Fun stuff
2023-01-27 11:47:37 +08:00
Lim Chee Aun
e83d128f62
Rewrite Notifications page + experimental fix on getting/showing updates
2023-01-27 11:47:30 +08:00
Lim Chee Aun
7c6157d47c
Try get the v2 instance config then fallback to v1
...
There are new things in v2 that will be needed later
2023-01-27 11:45:38 +08:00
Lim Chee Aun
6a7e7085bd
Bump up retries
...
Slow servers are slow.
2023-01-26 21:02:39 +08:00
Lim Chee Aun
dda83c7834
Better error state for Account sheet
...
Some accounts… can't be resolved by the API
2023-01-26 11:26:24 +08:00
Lim Chee Aun
285f8b46f2
Add logo and link to @phanpy
2023-01-26 00:54:30 +08:00
Lim Chee Aun
f2d50b0bac
Add lang
to all fields based on chosen language
...
Reference: https://github.com/mastodon/mastodon/issues/19858
2023-01-26 00:34:52 +08:00
Lim Chee Aun
a1e2207e96
Reset input[type=file] after media is added
...
Bug: Add file A, remove fie A, add file A = nothing happens
2023-01-26 00:34:00 +08:00
Lim Chee Aun
b6dfbd0819
s/Spoiler text/Content warning
2023-01-26 00:32:56 +08:00
Lim Chee Aun
9a898437f9
Remove unused code
2023-01-25 21:53:43 +08:00
Lim Chee Aun
3392f57462
Rewrite scrolling logic in carousel
...
Just normal scroll event is enough, don't need intersection observer
2023-01-25 20:37:59 +08:00
Lim Chee Aun
d2c820ce5a
Only show 'Set as default' if has more than 1 account
2023-01-25 16:42:01 +08:00
Lim Chee Aun
c24a3ef251
Add fetch retries in status page
2023-01-25 16:41:28 +08:00
Lim Chee Aun
5b8657a2ab
Subtle fade in for menus
2023-01-25 16:39:57 +08:00
Lim Chee Aun
7c4bda105b
Fix profile metadata labels and values could have shortcode emojis
2023-01-25 16:25:23 +08:00
Lim Chee Aun
20b0a80c45
Delicate adjustments to the gradient hints
2023-01-25 01:01:04 +08:00
Lim Chee Aun
5fb123f228
Need to preserve white space in media descriptions
2023-01-25 00:40:05 +08:00
Lim Chee Aun
7f9742b50a
Animate skeleton
2023-01-25 00:26:47 +08:00
Lim Chee Aun
a18659ee27
Test: Disable user-selection in carousel
2023-01-24 22:21:27 +08:00
Lim Chee Aun
0ea65b2cfd
Remove old spoiler effect
...
This was fun but sadly perf is really bad
2023-01-24 22:21:04 +08:00
Lim Chee Aun
5f89c0673a
Fix wrong colors for menu on Mobile Safari
2023-01-24 22:00:50 +08:00
Lim Chee Aun
f16c29097c
Experiment: more radius for media
2023-01-24 21:10:44 +08:00
Lim Chee Aun
28281bb752
New component: Menu
...
It's time to do this menu thing the right way instead of hacky CSS
2023-01-24 20:56:43 +08:00
Lim Chee Aun
19ee95d188
Add a key, just in case
2023-01-24 20:55:04 +08:00
Lim Chee Aun
791ac667f0
Style adjustments for Settings page
2023-01-24 17:06:13 +08:00
Lim Chee Aun
10b99d2af4
Fix k, shift+k not working
2023-01-24 16:27:09 +08:00
Lim Chee Aun
082745ee4f
Experiment: disable :hover state on non-hover devices
2023-01-24 16:26:22 +08:00
Lim Chee Aun
8cbed0911e
Style carousel dots to look the same too
2023-01-24 12:15:39 +08:00
Lim Chee Aun
51eaf4f1f2
Replace blue-text buttons on carousel modal
2023-01-24 11:32:33 +08:00
Lim Chee Aun
cdb5435796
Nicer radius for multi-media container
2023-01-23 20:35:15 +08:00
Lim Chee Aun
56b6552d65
Show thread counter for small <Status /> too
2023-01-23 20:34:53 +08:00
Lim Chee Aun
348e7a52c9
Fix stupid mistake
2023-01-23 17:58:33 +08:00
Lim Chee Aun
3213e8503e
Fix alt tag text got chopped off at the bottom
2023-01-22 23:57:43 +08:00
Lim Chee Aun
b72f683a97
Add "12 hours" option for poll duration
2023-01-22 20:50:11 +08:00
Lim Chee Aun
4c05692ef5
This account resolving thingie is getting ridiculous
2023-01-22 20:29:48 +08:00
Lim Chee Aun
a522511e0e
Add "Mark media as sensitive" checkbox
...
It does the same thing as spoiler text toggle.
2023-01-22 19:33:45 +08:00
Lim Chee Aun
e7dffecfe0
Need to reset cachedStatusesMap too
2023-01-22 19:21:24 +08:00
Lim Chee Aun
a495e1fa68
Only do transition for large screens
2023-01-22 17:19:37 +08:00
Lim Chee Aun
0ecd7f572f
s/Loader/loader
2023-01-22 16:40:10 +08:00
Lim Chee Aun
78839913ed
s/Icon/icon
2023-01-22 16:39:04 +08:00
Lim Chee Aun
d093bddf43
Lighten the purple further for dark mode
2023-01-22 16:32:45 +08:00
Lim Chee Aun
1439b22963
New feature: ALT badge in image carousel
...
Adjusted the layout and fix some styles as well
2023-01-22 16:27:00 +08:00
Lim Chee Aun
2a44f3a670
Hidden way to update the account info
...
Usually when avatar or name changes
2023-01-22 00:37:46 +08:00
Lim Chee Aun
4760efe837
Need to pass the 'e' too
2023-01-21 23:43:39 +08:00
Lim Chee Aun
952f048913
Fix disabling Boosts Carousel not working
2023-01-21 23:36:31 +08:00
Lim Chee Aun
6f4a5553ec
Simplify and robustify
2023-01-21 20:21:16 +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
e0d50168fd
Don't need useLocation when in compose pop-out
2023-01-21 13:21:57 +08:00
Lim Chee Aun
37fc65b47a
Don't need useEffect for backgroundLocation
2023-01-21 10:08:55 +08:00
Lim Chee Aun
d66d1bca12
Stronger colors for dark mode
2023-01-21 01:04:40 +08:00
Lim Chee Aun
ddce5bb0ff
Fix background location need to persist
2023-01-21 01:04:27 +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
baf139762c
Scroll start logic should work when overscroll too
2023-01-20 16:05:27 +08:00
Lim Chee Aun
1b6348fb08
Fix some links that are actually not user-links
2023-01-19 15:51:54 +08:00
Lim Chee Aun
a362a9367f
Reduce width of boosts carousel
...
Make it show roughly 3 boosts at a time
2023-01-18 00:56:35 +08:00
Lim Chee Aun
76e9e8d69d
New logo, banner and metacrap
2023-01-17 20:35:54 +08:00
Lim Chee Aun
a87b95ed18
Restyle settings sheet
2023-01-17 17:58:04 +08:00
Lim Chee Aun
d0880f5c56
Link to status page instead
2023-01-17 16:18:24 +08:00
Lim Chee Aun
cf0cf27283
Embrace the web's a:visited
2023-01-17 13:37:48 +08:00
Lim Chee Aun
e382cad22a
Enable Boosts Carousel by default
...
Fix the logic here
2023-01-17 10:06:19 +08:00
Lim Chee Aun
8834c03d7a
Need to cancel the debounce
2023-01-17 08:56:13 +08:00
Lim Chee Aun
76aeff47ae
Test expand boosts carousel to almost full-width for large screens
2023-01-17 00:56:13 +08:00
Lim Chee Aun
f7cbf238b1
Shift+j/k shortcut to skip posts in Boosts Carousel
2023-01-16 21:26:33 +08:00
Lim Chee Aun
58cefc2853
Also activate boosts carousel for serial boosts
2023-01-16 20:50:03 +08:00
Lim Chee Aun
dc25c52e07
Back to left side
2023-01-16 20:49:26 +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
6e72601833
Compose now supports paste/drag-drop files
2023-01-16 09:42:44 +08:00
Lim Chee Aun
a5e2c30400
Don't need to fade the numbers out
2023-01-15 01:20:35 +08:00
Lim Chee Aun
0f5764580b
Fix bug due to votersCount can be null if multiple=false
2023-01-15 00:17:07 +08:00
Lim Chee Aun
f00cb82b2c
Maybe this is enough, then let autoprefixer handle this
2023-01-14 23:03:56 +08:00
Lim Chee Aun
8c0078ddd8
It's time for hairline width
2023-01-14 22:27:02 +08:00
Lim Chee Aun
0f4f1505ad
More purple please
2023-01-14 22:17:47 +08:00
Lim Chee Aun
68b6cb869e
No need these console logs anymore
2023-01-14 22:05:38 +08:00
Lim Chee Aun
b8b8cc57cd
Try rotate3d instead
...
Got to squeeze out that GPU power yo
2023-01-14 20:22:41 +08:00
Lim Chee Aun
0dcccd1e57
Fix scroll direction stopped working
...
s/up/start s/down/end
2023-01-14 20:16:13 +08:00
Lim Chee Aun
e2139399ee
New experiment: Boosts Carousel ™️
2023-01-14 19:42:04 +08:00
Lim Chee Aun
d9096ce831
Make media modal sheet max
2023-01-13 17:23:18 +08:00
Lim Chee Aun
45c107d403
Make leading poll votes more prominent
2023-01-13 15:44:42 +08:00
Lim Chee Aun
1d4c604899
Still too fast
2023-01-13 15:39:10 +08:00
Lim Chee Aun
71b50382e9
New feature: Unsent Drafts
...
For now, this only works for unsent unsaved drafts e.g. the browser kill the page without giving the user the chance to discard
2023-01-13 15:30:09 +08:00
Lim Chee Aun
f106036072
Rotate the poll to look more like what we see
2023-01-13 00:20:36 +08:00
Lim Chee Aun
542c26dce5
Default tab size is too large (8)
2023-01-12 19:28:50 +08:00
Lim Chee Aun
7ac7965ea3
Also avoid :active bubbling for buttons
2023-01-12 19:28:37 +08:00
Lim Chee Aun
dfaec0605a
Can re-use the UID as new window target name!
2023-01-11 23:23:49 +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
162fc7ad07
Pass UID across composer popups
2023-01-11 17:07:47 +08:00
Lim Chee Aun
adcea89a25
Add UID as Idempotency key
2023-01-11 14:44:20 +08:00
Lim Chee Aun
a421406a11
DRY get current Account
2023-01-11 13:28:42 +08:00
Lim Chee Aun
cda16b1da6
720deg is too fast 😂
2023-01-11 11:16:32 +08:00
Lim Chee Aun
d6c0f83c15
Remove iconify-icon web component, bundle all icons
...
The whole iconify thing is about 20KB (8KB min-gzip), it's too huge just for icons.
Instead of getting icons from the API/CDN, bundle them all in.
2023-01-11 09:47:46 +08:00
Lim Chee Aun
affc977f42
Need this width
2023-01-11 01:11:13 +08:00
Lim Chee Aun
57d0e0cb77
Prevent horizontal scroll
2023-01-11 01:08:18 +08:00
Lim Chee Aun
292f337a44
Yes, never forget the reblogs
2023-01-10 22:58:54 +08:00
Lim Chee Aun
9338c6905d
Try another spoiler effect
2023-01-10 22:10:29 +08:00
Lim Chee Aun
9faf730e82
Handle accept/reject follow requests for locked accounts
2023-01-10 21:49:23 +08:00
Lim Chee Aun
021d2aa2ae
Feather spins
2023-01-10 21:03:36 +08:00
Lim Chee Aun
6319bfb580
Forgot the dark mode color
2023-01-10 20:58:30 +08:00
Lim Chee Aun
9743da1e9b
Fix cached statuses gone
2023-01-10 20:05:47 +08:00
Lim Chee Aun
c4236e6de7
New feature: thread numbering
2023-01-10 19:59:02 +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
c4bba6e507
Slight change in poll styles
2023-01-09 23:44:24 +08:00
Lim Chee Aun
a1401e0b69
Active style when click on media
2023-01-09 23:44:02 +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
13c3b8fa3b
Finally DRY this saving status code
2023-01-09 19:11:34 +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
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
Lim Chee Aun
353c911232
Temporarily disable this now
2022-12-29 10:27:36 +08:00
Lim Chee Aun
a6196f923f
Better styles for card
...
Show large card for large status, but only when there's no poll and media
2022-12-29 08:57:01 +08:00
Lim Chee Aun
afb1a75f69
Show carousel controls initially
2022-12-28 20:46:38 +08:00
Lim Chee Aun
c205a43125
Try this fancy touch-action
2022-12-28 20:38:16 +08:00
Lim Chee Aun
e32c6c6473
Revert "Delay onClose after swipe"
...
This reverts commit 0feee7ea93
.
2022-12-28 20:35:49 +08:00
Lim Chee Aun
0feee7ea93
Delay onClose after swipe
2022-12-28 20:02:28 +08:00
Lim Chee Aun
7200acc2a7
Swipe down for closing carousel
2022-12-28 19:43:02 +08:00
Lim Chee Aun
86df9fd9f8
Tap media to toggle carousel controls
2022-12-28 19:31:08 +08:00
Lim Chee Aun
7e3733d79e
Delay hero status fetch if already cached
...
The context call is more important
2022-12-28 18:06:05 +08:00
Lim Chee Aun
02c464a139
Delay showing "status posted" toast
2022-12-28 18:05:22 +08:00
Lim Chee Aun
44617cffca
Make sure bottom toast respect safe area
2022-12-28 18:04:58 +08:00
Lim Chee Aun
422a924844
Make GIF autoplay on Mobile Safari
...
Only in carousel, and seems like `autoplay` with `muted` ain't working in (P)react.
2022-12-28 14:47:39 +08:00
Lim Chee Aun
23a6cdbe3b
Fix video alignment
2022-12-28 14:43:58 +08:00
Lim Chee Aun
5869ec3b9f
Move "Read more" slightly to the left
2022-12-28 10:52:08 +08:00
Lim Chee Aun
fa0ccece32
Handle > 4 medias
...
- Mastodon now doesn't allow >4, so this is for the future or maybe the forks.
- Using grid for better control on how images lay out
2022-12-28 10:51:57 +08:00
Lim Chee Aun
8b6cae5611
More gradients for headers
2022-12-28 10:49:43 +08:00
Lim Chee Aun
2dca345818
More breathing space after the negative top margin hack
2022-12-28 00:24:36 +08:00
Lim Chee Aun
abb7f11c12
Fix danger appearing for "Follow" too 😆
2022-12-28 00:15:27 +08:00
Lim Chee Aun
e8a0b401f9
Add safe fallback
2022-12-27 22:02:55 +08:00
Lim Chee Aun
e7cff25337
Fix wrong logic for silent fail
...
Some mastodon instances are getting swamped
2022-12-27 21:30:18 +08:00
Lim Chee Aun
03ae42ab17
Possible fix for #35
2022-12-27 19:12:36 +08:00
Lim Chee Aun
cf42aab4b7
Experimental language selector in Compose field
2022-12-27 18:09:23 +08:00
Lim Chee Aun
43e0f51bcf
Add bot indicator
2022-12-27 18:09:07 +08:00
Lim Chee Aun
1bb547e1a3
Use box-shadow, border skews the actual dimension
2022-12-27 11:00:05 +08:00
Lim Chee Aun
c006a791b9
Comment out log
2022-12-27 09:05:54 +08:00
Lim Chee Aun
fb88129ae7
Check for ref before access scrollTop
2022-12-27 09:05:45 +08:00
Lim Chee Aun
f7489710a1
Temporary fix for corrupted data
2022-12-27 08:52:01 +08:00
Lim Chee Aun
04ff8eca4c
Make modal backdrop appear nicely
...
I probably created too many similar keyframes
2022-12-27 01:44:41 +08:00
Lim Chee Aun
3ac2a45244
Got trolled by @neet
2022-12-27 01:17:04 +08:00
Lim Chee Aun
eb3880b435
Handle errors here
2022-12-27 01:07:33 +08:00
Lim Chee Aun
d981a31a10
Fix serious BUG
...
v1 uses `uri`, v2 uses `domain`
2022-12-26 23:44:18 +08:00
Lim Chee Aun
ccb0032f81
Fix displayName don't need to be encoded
2022-12-26 21:19:10 +08:00
Lim Chee Aun
af437ae4c8
Image vertical alignment is always a pain
2022-12-26 20:39:49 +08:00
Lim Chee Aun
7fca59782e
Make donut meter work on Safari
2022-12-26 20:34:24 +08:00
Lim Chee Aun
e96cc9cc16
Fix snakecase not working in Compose pop-out
2022-12-26 20:22:13 +08:00
Lim Chee Aun
b25b54b79e
Silent fail for custom emojis fetch
2022-12-26 20:21:16 +08:00
Lim Chee Aun
e320a5be4a
pre-wrap for code blocks
2022-12-26 18:05:00 +08:00
Lim Chee Aun
334584ecef
Fix HTML inside code blocks being rendered
2022-12-26 18:04:49 +08:00
Lim Chee Aun
082a04c30c
Maybe visibilityState is more reliable
2022-12-26 17:39:20 +08:00
Lim Chee Aun
be656d585a
Make boosts shorter
2022-12-26 14:33:46 +08:00
Lim Chee Aun
f1ca52d561
Button text swapper for Unfollow button
2022-12-26 14:29:57 +08:00
Lim Chee Aun
6b41666efe
It's time to toast 🥂
2022-12-26 14:02:05 +08:00
Lim Chee Aun
6da4834b71
Change back to limit 1
...
Sometimes, there's really just one new status update.
2022-12-26 01:09:53 +08:00
Lim Chee Aun
9278645069
Another attempt at fixing GIF not autoplaying on Mobile Safari
2022-12-26 01:09:19 +08:00
Lim Chee Aun
c8ea2e8703
Restyle cards
...
Got to max-height it, and then make sure the images crop smaller
2022-12-26 00:43:17 +08:00
Lim Chee Aun
c75bf36345
Try dblclick for reloading
...
Not sure if this'll work on touch-based devices. Also good for debugging.
2022-12-25 23:53:18 +08:00
Lim Chee Aun
01963c9d7a
Try different heart animation
2022-12-25 23:51:17 +08:00
Lim Chee Aun
641bccd685
Prettier decided to prettify this
2022-12-25 23:33:59 +08:00
Lim Chee Aun
86f38ee3b8
Fix Account sheet relationship check not working when clicking from Settings page
...
This is because accounts from different instances have different IDs!
They're NOT unique cross-instance. So while on one instance, cannot use the account ID of the other instance to query for relationship because the ID doesn't exist on *current* instance.
2022-12-25 23:31:50 +08:00
Lim Chee Aun
3daa7e4f9d
Fix poll showing NaN when total votes = 0
...
So 0/0 = NaN
2022-12-25 23:29:25 +08:00
Lim Chee Aun
318c2aeffc
Upgrade masto.js to V5
...
- Fix all breaking changes
- Have to manual remove null/undefined values before creating statuses
- Have to recreate iterator instance if start from scratch because can't pass args in next()
2022-12-25 23:28:55 +08:00
Lim Chee Aun
cf4fbc8553
Make sheet have header and body section
2022-12-25 18:01:01 +08:00
Lim Chee Aun
0276820185
Fix className typo
2022-12-25 15:49:39 +08:00
Lim Chee Aun
cff13d53f0
Forgot to revert the optimistism
2022-12-25 13:22:41 +08:00
Lim Chee Aun
e4116cf9e6
Don't need left border in small screen
2022-12-24 23:17:13 +08:00
Lim Chee Aun
05fd9bdd2c
Make spoiler effect work in dark mode
2022-12-24 22:52:19 +08:00
Lim Chee Aun
ec67811823
Smart status heading + tap to scroll to hero status
...
I'll probably need to componentize relative-time, it's getting not DRY
2022-12-24 22:26:43 +08:00
Lim Chee Aun
17ac9cc2c6
Seems like these have special URL treatments too
2022-12-24 21:14:05 +08:00
Lim Chee Aun
966e8b9cb7
Better backdrop
2022-12-24 17:54:58 +08:00
Lim Chee Aun
8eec844781
Scroll-to-top for Notifications
2022-12-24 17:54:42 +08:00
Lim Chee Aun
c6b9e3fc78
New spoiler filter
2022-12-24 16:51:19 +08:00
Lim Chee Aun
d6421972df
Reduce spacing at the top of the thread badge
2022-12-24 14:15:47 +08:00
Lim Chee Aun
c4efc26d62
Attempt to fix video not autoplaying on Mobile Safari
2022-12-24 14:15:34 +08:00
Lim Chee Aun
42fa30d8f8
Move the onVisibilityChange API check to app.jsx
...
Doesn't make sense to make it part of Home. Also add in Notifications check.
2022-12-24 10:26:05 +08:00
Lim Chee Aun
71514312bf
Should be OR
...
A short video can be treated as GIF.
Loopability is only for <= 60 second video
2022-12-24 10:23:06 +08:00
Lim Chee Aun
b96f263f69
Make "Unfollow" button look dangerous
...
Also add ellipsis
2022-12-24 10:05:01 +08:00
Lim Chee Aun
55ad4be580
Only show reply badge if not inside mentions
2022-12-24 01:22:25 +08:00
Lim Chee Aun
f8fac1294b
Fixes & adjustments to statuses in Status page
2022-12-24 01:11:11 +08:00
Lim Chee Aun
dd99d186bf
Add one more case for scrolling
2022-12-23 23:42:41 +08:00
Lim Chee Aun
87f197fc88
Possible fix for #24
2022-12-23 21:28:16 +08:00
Lim Chee Aun
fcd29d4bdc
Aesthetic changes
...
- Icon change for "Unlisted"
- Dynamic text size for compose field depending on char count
2022-12-23 21:25:01 +08:00
Lim Chee Aun
2def939821
Fix textarea focus not working
2022-12-23 19:33:51 +08:00
Lim Chee Aun
ea0352e51a
Maybe need this
2022-12-23 19:33:06 +08:00
Lim Chee Aun
13a347ce37
New: char count for Compose field
...
Uses pre-compiled regex for perf
2022-12-23 16:45:02 +08:00
Lim Chee Aun
a2e55eca90
Make fetches concurrent
2022-12-23 12:30:49 +08:00
Lim Chee Aun
fe78ac5fa0
Fix userInitiated undefined
2022-12-23 12:30:07 +08:00
Lim Chee Aun
d3e3e47527
Fix logic for cached statuses
2022-12-23 11:28:25 +08:00
Lim Chee Aun
31e2196cd6
Safeguard for unknown HTML cases in status content
...
1. Mark up code blocks first because anything inside code blocks cannot be "enhanced".
2. Set default rejects for elements that don't need to be "enhanced". Not a complete list but best-effort. Probably allowlist works better than blocklist, but some content doesn't even start with any parent nodes.
2022-12-23 09:20:34 +08:00
Lim Chee Aun
206d40c0a4
Snap stop need to be the children, not parent
2022-12-23 09:17:41 +08:00
Lim Chee Aun
374b8d97d5
Fix some scrolling and snaps
2022-12-23 08:00:11 +08:00
Lim Chee Aun
1c98433333
Linkify twitter usernames
...
This is due to some folks cross-posting from Twitter.
2022-12-23 00:40:25 +08:00
Lim Chee Aun
7e84088d67
Handle case when too many sub-comments
...
For now, encourage clicking on status to see more replies instead of expanding the sub-comments
Feels "wasted" since the comments are already loaded but it's just too much scrolling
Also auto-open if the sub-comments are not a lot.
2022-12-23 00:30:55 +08:00
Lim Chee Aun
5944b4fe30
Don't remove status immediately
...
It'll be too abrupt. Set `_deleted` flag for now, no UI yet.
2022-12-22 22:43:04 +08:00
Lim Chee Aun
37c44c2264
Update poll at point of expiry
2022-12-22 21:52:59 +08:00
Lim Chee Aun
de409bd668
Fix empty statuses when (pre)loading homeNew
2022-12-22 21:38:43 +08:00
Lim Chee Aun
79d6fd02b8
The tap highlight color can get very distracting
2022-12-22 19:44:22 +08:00
Lim Chee Aun
263e48d019
New feature: :shortcode: expander in compose field
...
Using `innerHTML` because easier to code but the `encodeHTML` function is troublesome
2022-12-22 19:24:07 +08:00