Lim Chee Aun
d02aea4616
Try portal to document.body
2023-02-11 08:37:54 +08:00
Lim Chee Aun
e24beaffac
Make menu disappear when scroll
2023-02-11 06:25:38 +08:00
Lim Chee Aun
5911eb8033
Add more spellChecks
2023-02-11 06:21:23 +08:00
Lim Chee Aun
722852f5c2
Expose more pages now
...
Except one
2023-02-11 00:05:18 +08:00
Lim Chee Aun
e0e236bd26
Experimental hidden search page
...
And refactored out some reusable components
2023-02-10 22:10:13 +08:00
Lim Chee Aun
1638bb4e37
Fix clamp bug
2023-02-10 14:20:41 +08:00
Lim Chee Aun
81ebb61096
Sneak in this little menu
...
And… fix title leak bug
2023-02-10 13:39:46 +08:00
Lim Chee Aun
8871334af8
Allow 2-line clamp for alt tag on small screens too
2023-02-10 13:35:43 +08:00
Lim Chee Aun
8b77615c80
Need to save status after edit
...
Before this, the status (and context) will auto-refresh after posting, but now it's only refreshing context
2023-02-10 11:35:47 +08:00
Lim Chee Aun
91aeed5fe6
Respect your preferences
2023-02-09 23:59:57 +08:00
Lim Chee Aun
58d4ca0ff2
Finally replace Home
2023-02-09 22:27:49 +08:00
Lim Chee Aun
129417bad3
Fix wrong links
2023-02-09 17:41:42 +08:00
Lim Chee Aun
d6d174b5c7
Change home icon to be less birdy
2023-02-08 22:56:30 +08:00
Lim Chee Aun
f511b0a5ab
More code porting
2023-02-08 19:11:33 +08:00
Lim Chee Aun
9921e487e8
Minimum viable Home → Following port
2023-02-08 00:31:46 +08:00
Lim Chee Aun
c6c18aae09
Fix spoiler bug again
2023-02-07 12:56:26 +08:00
Lim Chee Aun
8ca4d7333e
Need skeleton
2023-02-07 00:25:38 +08:00
Lim Chee Aun
9992299716
More ports to reusable Timeline component
...
- use status id instead of status, for "auto-update" feature
- hot keys!
2023-02-06 23:50:00 +08:00
Lim Chee Aun
b58a838af0
Forgot to update these
2023-02-06 20:01:56 +08:00
Lim Chee Aun
43c4fc6534
resolve only works when authenticated
2023-02-06 19:54:48 +08:00
Lim Chee Aun
ad13f90374
Fix info stays when there's error
2023-02-06 19:54:35 +08:00
Lim Chee Aun
719a407414
Use /:instance?/xxx instead
2023-02-06 19:54:18 +08:00
Lim Chee Aun
692851b24c
Fix useMatch not working with optional path segment
2023-02-06 19:29:00 +08:00
Lim Chee Aun
1357c1b2bd
Fix more edge cases after breaking changes
2023-02-06 16:35:03 +08:00
Lim Chee Aun
de411b4dff
Fix some posts can be spoiler but sensitive: false
2023-02-06 00:19:22 +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
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
e0bab6c70a
More refactoring work
2023-02-03 21:08:08 +08:00
Lim Chee Aun
fa3ee31cd3
Fix #55
2023-02-02 10:30:16 +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
3cec4f66c5
Fix document.title bug
2023-01-30 22:00:14 +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
613e77e43f
Got to be picky about the smooth vs jump scroll
2023-01-30 19:48:33 +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
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
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
ce0c0563f3
Show common followers, only when not following
2023-01-27 21:36:04 +08:00
Lim Chee Aun
ded6420c1a
Fallback if browser doesn't autoplay
2023-01-27 17:51:31 +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
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
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
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
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
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
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
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
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
81170c6d05
When clicked, don't use cached scroll position
2023-01-21 19:52:51 +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
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
1b6348fb08
Fix some links that are actually not user-links
2023-01-19 15:51:54 +08:00
Lim Chee Aun
d0880f5c56
Link to status page instead
2023-01-17 16:18:24 +08:00
Lim Chee Aun
6e72601833
Compose now supports paste/drag-drop files
2023-01-16 09:42:44 +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
8c0078ddd8
It's time for hairline width
2023-01-14 22:27:02 +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
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
dfaec0605a
Can re-use the UID as new window target name!
2023-01-11 23:23:49 +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
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
9338c6905d
Try another spoiler effect
2023-01-10 22:10:29 +08:00
Lim Chee Aun
c4236e6de7
New feature: thread numbering
2023-01-10 19:59:02 +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
13c3b8fa3b
Finally DRY this saving status code
2023-01-09 19:11:34 +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
5b90ab46a8
Make it more hearty
2023-01-07 21:37:16 +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
096712a9dd
No lazy loading when loading in the carousel
2023-01-06 22:08:22 +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
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
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
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
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
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
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
f8821d530d
Maybe these might help a little
2023-01-02 22:02:21 +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
727b944f3b
toLowerCase() all the instance URLs!
2023-01-01 20:59:55 +08:00
Lim Chee Aun
0d92f65f7e
Esc for compose field
2023-01-01 19:41:42 +08:00
Lim Chee Aun
4d7aeca10f
Make skeleton unpointerable
2023-01-01 16:09:10 +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
951c93a070
Add link to media in carousel modal
2023-01-01 12:28:54 +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
52d5756d44
Remove unused code
2022-12-31 09:51:28 +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
9201f7a118
First step in making things focusable
2022-12-30 20:37:57 +08:00
Lim Chee Aun
a409ff6712
Some images are just… too high
2022-12-30 13:37:59 +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
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
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
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
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
abb7f11c12
Fix danger appearing for "Follow" too 😆
2022-12-28 00:15:27 +08:00