Commit graph

1415 commits

Author SHA1 Message Date
Lim Chee Aun
adc4e8f53b Fix translate menu item missing in large status 2023-03-11 18:13:30 +08:00
Lim Chee Aun
34573dd7a0 Reduce shininess for dark mode 2023-03-11 15:38:57 +08:00
Lim Chee Aun
6d2bed6f1a Adjust the paddings to my liking 2023-03-11 15:36:35 +08:00
Lim Chee Aun
669b1b7833 Fix skeleton showing old design lolol 2023-03-11 15:17:42 +08:00
Lim Chee Aun
54e2f2a589 Fix clicking on another account in account sheet not working 2023-03-11 15:14:59 +08:00
Lim Chee Aun
6fd9c106c6 Add account info into Account statuses page 2023-03-11 14:05:56 +08:00
Lim Chee Aun
5cd5242b9a Just sticky to 3 / 1 ratio as advised by Mastodon 2023-03-10 21:08:40 +08:00
Lim Chee Aun
740b0ad497 Sprinkle one wbr here 2023-03-10 19:34:04 +08:00
Lim Chee Aun
81943365c3 Bring the image position magic to the banner too 2023-03-10 19:00:48 +08:00
Lim Chee Aun
4f41cc0f27 Add fallback image if banner image failed 2023-03-10 19:00:20 +08:00
Lim Chee Aun
8100a90421 Try add the account header 2023-03-10 17:36:42 +08:00
Lim Chee Aun
f15b859971 Fix boostability for private-visibility posts 2023-03-10 15:49:23 +08:00
Lim Chee Aun
03c0d61433 Beautify shortcuts settings 2023-03-09 23:37:25 +08:00
Lim Chee Aun
43296662d2 Try this temporary solution for image zoom dilemma 2023-03-09 21:55:31 +08:00
Lim Chee Aun
50eb9b9f59 Improve context menu design 2023-03-09 21:51:50 +08:00
Lim Chee Aun
4e5e2fa75f Fix esc triggering exit confirmation when closing the expander 2023-03-08 14:49:52 +08:00
Lim Chee Aun
73b8294811 Split Accounts away from Settings
Very MVP, even #settings-container is the same for now
2023-03-08 00:32:33 +08:00
Lim Chee Aun
6e487ad848 Use use-long-press instead 2023-03-08 00:01:51 +08:00
Lim Chee Aun
497f5334e4 Revert "Remove long-press-event, not really working"
This reverts commit 4d59e5a804.
2023-03-07 22:40:29 +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
f4275d27fe Testing showing activity on Account Block
Meh
2023-03-07 22:36:12 +08:00
Lim Chee Aun
8d501668d0 Weird… 2023-03-07 12:58:43 +08:00
Lim Chee Aun
2cb22c34e3 Extra checks for prevent weird font size 2023-03-06 18:20:49 +08:00
Lim Chee Aun
f0442b20e8 Missed this part 2023-03-03 20:42:17 +08:00
Lim Chee Aun
612ebc1a6b Fix shortcuts button/tab-bar hidden on other pages
This is because the CSS only check the home-page's hidden header, not the other pages.
This fixes it with a super advanced CSS selector.
2023-03-03 20:34:53 +08:00
Lim Chee Aun
d86a69903f Need more datetime detail for Edit History 2023-03-03 18:11:37 +08:00
Lim Chee Aun
959c6f4ad3 it's cool that I always find bugs faster when announcing new releases 2023-03-02 22:54:35 +08:00
Lim Chee Aun
0dfa4d6297 Missed this one 2023-03-02 22:15:44 +08:00
Lim Chee Aun
d0953a321a Fix context menu bugs
- It got mounted initially, need to set state to undefinde
- Missing zIndex
- Context menu got disabled on large status
2023-03-02 20:37:40 +08:00
Lim Chee Aun
4d59e5a804 Remove long-press-event, not really working 2023-03-02 17:58:57 +08:00
Lim Chee Aun
a78417ac60 Forgot to import 2023-03-02 17:22:54 +08:00
Lim Chee Aun
228c0e5028 Try contextmenu + long press events 2023-03-02 15:15:49 +08:00
Lim Chee Aun
7fd66a19db Remove unused code 2023-03-02 13:45:12 +08:00
Lim Chee Aun
89d7015d62 Try out Intl.LocaleMatcher to intelligently set default locale 2023-03-02 11:13:52 +08:00
Lim Chee Aun
ff5fd09669 Fix this totally unset key 2023-03-02 11:13:07 +08:00
Lim Chee Aun
ea7aa936a8 Make timestamp unclickable when previewed in composer 2023-03-01 20:07:48 +08:00
Lim Chee Aun
50fd06057f Refactor niceDateTime out 2023-03-01 20:07:22 +08:00
Lim Chee Aun
6d72375236 Small style nudge for clicking the timestamp 2023-03-01 19:17:04 +08:00
Lim Chee Aun
9ff4af549e It's been a while, try this out 2023-03-01 19:08:17 +08:00
Lim Chee Aun
ab616c5fc7 Slight redesign of Shortcuts form
Yeah, still no Edit
2023-03-01 17:48:52 +08:00
Lim Chee Aun
6342268945 Fix menu not appearing due to portal-ing to different container 2023-03-01 15:44:58 +08:00
Lim Chee Aun
7cd78b8003 Due to the tab bar, scrollables need bottom padding 2023-02-28 22:25:15 +08:00
Lim Chee Aun
a86daaac0b Fix useScroll bug 2023-02-28 21:56:41 +08:00
Lim Chee Aun
d21f6158fe Finally fix the carousel dot color 2023-02-28 21:02:55 +08:00
Lim Chee Aun
b06f9a2a09 Do additional unfurl step for Mastodon links 2023-02-28 20:54:26 +08:00
Lim Chee Aun
eebba6608c Update copy for floating button 2023-02-28 20:53:56 +08:00
Lim Chee Aun
f9af6cd8a7 Pass in all the 'i's 2023-02-28 19:12:16 +08:00
Lim Chee Aun
ba2aa18843 Fix/Beautify the menus in Settings 2023-02-28 17:12:17 +08:00
Lim Chee Aun
dd1cd56a87 Retry this again
max(0, env) doesn't work at all lolol
2023-02-28 16:56:30 +08:00
Lim Chee Aun
1ae135f21a Temporarily disable fix 2023-02-28 16:27:40 +08:00
Lim Chee Aun
59cf6b2a58 Attempt to fix menu sometimes not closeable on Mobile Safari 2023-02-28 15:45:38 +08:00
Lim Chee Aun
b2b8b58863 Very basic update checker 2023-02-28 15:27:42 +08:00
Lim Chee Aun
067486e4df More style fixes 2023-02-28 08:38:46 +08:00
Lim Chee Aun
57200b382f Style fixes for new tab/menu bar 2023-02-28 08:30:38 +08:00
Lim Chee Aun
58bc60c9b8 Few CSS touches 2023-02-28 07:59:48 +08:00
Lim Chee Aun
1808bebe84 Allow lower height single image 2023-02-28 00:37:53 +08:00
Lim Chee Aun
74e20fb532 Fix scroll-to-top not working 2023-02-28 00:35:07 +08:00
Lim Chee Aun
624f7930ad Fix tab bar widths 2023-02-28 00:34:53 +08:00
Lim Chee Aun
71f4ee4ce2 Hmm messed up the file casing
Will need to fix this later
2023-02-28 00:17:00 +08:00
Lim Chee Aun
0bc009140e It's time to bring back the tab bar 2023-02-27 23:59:41 +08:00
Lim Chee Aun
61fc19a29e Make tap target larger for status context menu 2023-02-27 22:44:41 +08:00
Lim Chee Aun
06548bbbfc Revert "Add experimental highlighting to composer textarea"
This reverts commit 017b138d4b.
2023-02-27 16:01:26 +08:00
Lim Chee Aun
49bb42e6cc Match text from Composer
Should really extract this out one day
2023-02-27 11:21:11 +08:00
Lim Chee Aun
017b138d4b Add experimental highlighting to composer textarea 2023-02-27 11:20:50 +08:00
Lim Chee Aun
8aaba24d1f Add 'more' menu
- Refactor Toast
- Fix locale for datetime strings in status
- Nicer shadow for menus
2023-02-27 00:55:04 +08:00
Lim Chee Aun
f7b398e078 Ugh need to be '+' instead of spaces 2023-02-25 14:58:11 +08:00
Lim Chee Aun
2b25fc67cf Prevent action buttons from wrapping in Safari 2023-02-25 14:34:08 +08:00
Lim Chee Aun
7b66b832d5 Add more "instance" + saveStatus for new notifications 2023-02-25 14:20:26 +08:00
Lim Chee Aun
1c8bba456d Add menu for Public timeline
Add menu item to switch between Local and Federated
2023-02-25 11:25:50 +08:00
Lim Chee Aun
1f2dbb8e06 Experimental multi-hashtag timeline 2023-02-25 10:04:30 +08:00
Lim Chee Aun
49ef7e9ee4 Fix more icon (3 dots) too subtle 2023-02-25 10:03:52 +08:00
Lim Chee Aun
45950da714 Don't POST if no choices set in poll 2023-02-24 23:38:59 +08:00
Lim Chee Aun
b7f80fb621 Fix masto undefined 2023-02-24 12:25:05 +08:00
Lim Chee Aun
01b5f35f1d Fix instance is actually object 2023-02-24 12:20:31 +08:00
Lim Chee Aun
e5ade9404b Test canceling debounce here if the fetch is faster than 1.5s 2023-02-24 01:28:15 +08:00
Lim Chee Aun
cbb09e1b5d Bring back intersection observer for 'show more'
Sometimes the scroll thing doesn't really work
2023-02-24 01:27:46 +08:00
Lim Chee Aun
2ced21c9dd Remove this noise 2023-02-24 01:26:37 +08:00
Lim Chee Aun
7ebd0e7601 Don't refetch failed unfurls 2023-02-23 22:53:28 +08:00
Lim Chee Aun
b1df96689f Prevent keep calling Lists :id API for the title
Memoize all the things!!1!
2023-02-23 21:42:38 +08:00
Lim Chee Aun
eb896dc5a5 original might be undefined?? 2023-02-23 17:01:33 +08:00
Lim Chee Aun
e6d6adb480 First small step to resolving mastodon links
And open them inside Phanpy instead of like an external link
2023-02-23 16:45:53 +08:00
Lim Chee Aun
4b88c6ca65 Make sure status link has instance too for toast 2023-02-23 16:44:01 +08:00
Lim Chee Aun
732244b4b3 Shiny pill style 2023-02-23 16:43:17 +08:00
Lim Chee Aun
bd728df79b Fix undefined customEmojis 2023-02-23 11:36:07 +08:00
Lim Chee Aun
8a41599466 Allow esc to close Account sheet 2023-02-22 13:28:01 +08:00
Lim Chee Aun
2120a1e28e Still got to make sure instance is lowercase
Also, spellcheck={false} > spellcheck="false"
2023-02-22 09:46:50 +08:00
Lim Chee Aun
c13cab51a9 Show large card for content with text-weight=1
Also finally replace the hacky CSS with something more legit
2023-02-21 23:59:34 +08:00
Lim Chee Aun
c2e9dc0efe Use url, not uri 2023-02-21 14:29:25 +08:00
Lim Chee Aun
8891e0f01c Fix follow/unfollow not working for remote accounts 2023-02-21 14:19:50 +08:00
Lim Chee Aun
6e9661a70c Use the right way 2023-02-20 20:58:53 +08:00
Lim Chee Aun
cd70bf87db Animate position-object when link is focused 2023-02-20 17:51:41 +08:00
Lim Chee Aun
79df9546bd Fix the compose status states not inheriting properly 2023-02-20 00:46:21 +08:00
Lim Chee Aun
6c63fb14b4 Hide keyboard shortcut hint until keyboard is triggered 2023-02-19 22:07:46 +08:00
Lim Chee Aun
91ee0da8ef Close menu when trigger shortcut 2023-02-19 22:07:15 +08:00
Lim Chee Aun
8428ca232c Fix shortcuts button missing shadow
And move the menu offset a little
2023-02-19 21:18:12 +08:00
Lim Chee Aun
5c6c9a43f2 Fix regression: threadify stopped working
This is due to status key changed with extra instance string
2023-02-19 21:16:23 +08:00
Lim Chee Aun
d5bceb1d81 Handle logged-out cases 2023-02-19 14:49:53 +08:00
Lim Chee Aun
72068d9d46 Another guard 2023-02-19 10:56:28 +08:00
Lim Chee Aun
a27bdbc69b Another guard for corrupted shortcuts 2023-02-19 10:42:56 +08:00
Lim Chee Aun
2df67f37a3 Handle cases if the shortcuts are corrupted 2023-02-19 10:27:37 +08:00
Lim Chee Aun
34a015c36a Show pointer cursor 2023-02-19 10:27:10 +08:00
Lim Chee Aun
7e65d8be5d Make smaller statuses stand out in the carousel 2023-02-19 01:10:06 +08:00
Lim Chee Aun
65c1af2eac Make shortcuts button look even cooler 2023-02-19 00:08:37 +08:00
Lim Chee Aun
ccdb8d144c Need useTitle 2023-02-18 22:13:32 +08:00
Lim Chee Aun
ce8e411cab Prevent hashtags from being clickable inside Composer 2023-02-18 21:44:19 +08:00
Lim Chee Aun
ab2328f364 Handle use-case when Following is not in Home, in multi-column mode 2023-02-18 21:37:34 +08:00
Lim Chee Aun
02eb2ff470 Extract columns out & don't use dynamic imports
Vite have difficulties importing them dynamically. Sad face.

Also this makes Home look cleaner.
2023-02-18 21:14:24 +08:00
Lim Chee Aun
522d55ebb8 New experiment: multi-column mode 2023-02-18 20:48:24 +08:00
Lim Chee Aun
45a1fc057e Limit number of shortcuts
9 because there's only 9 keyboard shortcuts. There's '0' but… nah.
2023-02-18 19:39:17 +08:00
Lim Chee Aun
3f73f7d174 Fix weird bug when closing media modal + status page
Somehow useMatch re-renders the media modal and mess up some event handlers on it
Possibly due to react-router-match vs preact issues.

So, remove it totally, replace with CSS :has() solution
2023-02-18 17:38:42 +08:00
Lim Chee Aun
5707da703f Revert "Skeleton avatar should follow size"
This reverts commit f579a8bfb9.
2023-02-18 01:45:44 +08:00
Lim Chee Aun
e35f4e2644 Vite complain this is too complex 2023-02-17 20:48:52 +08:00
Lim Chee Aun
3915b3818c One more 40em 2023-02-17 20:48:38 +08:00
Lim Chee Aun
5ef67fab91 Variable-ise the 40em 2023-02-17 20:47:09 +08:00
Lim Chee Aun
5af2a060a6 Update styles 2023-02-17 19:31:28 +08:00
Lim Chee Aun
f579a8bfb9 Skeleton avatar should follow size 2023-02-17 19:08:19 +08:00
Lim Chee Aun
9e1f62e47b Use instance check instead of authenticated check 2023-02-17 17:40: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
dc1a045de9 Fix play icon too faded out 2023-02-17 13:07:43 +08:00
Lim Chee Aun
d8e6d349a0 Fix undefined 'votes' 2023-02-17 11:00:34 +08:00
Lim Chee Aun
0430f4ae89 Reuse BoostCarousel for pinned posts
Now we can show *anything* into a carousel
2023-02-17 10:55:16 +08:00
Lim Chee Aun
a1edc142ae Fix shortcuts button not hiding on large screen 2023-02-17 10:53:04 +08:00
Lim Chee Aun
c37df11a25 Show pinned posts 2023-02-17 10:12:59 +08:00
Lim Chee Aun
7aba448f42 Handle multi-paragraph code blocks
This ain't going to be fun if the HTML gets messier in the future
2023-02-16 21:51:22 +08:00
Lim Chee Aun
4dae1d1576 Shorter copies 2023-02-16 19:10:26 +08:00
Lim Chee Aun
74a02ee388 lol forgot to link the datalist 2023-02-16 18:37:57 +08:00
Lim Chee Aun
73e8bed5f0 Basic validation 2023-02-16 18:22:19 +08:00
Lim Chee Aun
0bef245c83 New feature: Shortcuts 2023-02-16 17:52:16 +08:00
Lim Chee Aun
75b6cddb04 Fix conditions not scoped properly 2023-02-15 21:40:58 +08:00
Lim Chee Aun
f198571367 Compare exact string before checking variants 2023-02-15 10:46:29 +08:00
Lim Chee Aun
4c17522d42 Fix escape key not working on Safari 2023-02-14 19:38:17 +08:00
Lim Chee Aun
c01d3098b8 Add pencil 2023-02-13 09:22:03 +08:00
Lim Chee Aun
255ca8eaa6 Support edit media description for Mastodon v4.1 2023-02-13 01:21:18 +08:00
Lim Chee Aun
ac30963ddf New AccountBlock component 2023-02-12 19:29:03 +08:00
Lim Chee Aun
0b6dd07eee Rewrote notifications, again 2023-02-12 17:38:50 +08:00
Lim Chee Aun
30b747527e Okayyy this is dangerous 2023-02-12 14:24:27 +08:00
Lim Chee Aun
e4d9e7f7db Disable position-object animation when media modal appears
Got to say :has() is so darn useful
2023-02-11 23:46:33 +08:00
Lim Chee Aun
61edcb2115 Replace ALT badge with info icon
ALT is just… too technical.
2023-02-11 22:36:19 +08:00
Lim Chee Aun
2f2e343115 Shorter skeleton 2023-02-11 21:09:36 +08:00
Lim Chee Aun
ef2f55457f Take care of unauth-ed cases 2023-02-11 19:39:30 +08:00
Lim Chee Aun
d9564bff72 Still need these fallbacks for now 2023-02-11 18:55:21 +08:00
Lim Chee Aun
f756f23d6e Better menu overflow + bounding box
8 is a magic number
2023-02-11 17:04:48 +08:00
Lim Chee Aun
62eb6d6b30 Reuse style for search page, time to surface it 2023-02-11 17:01:43 +08:00
Lim Chee Aun
068a49abce Add Followed Hashtags 2023-02-11 16:48:47 +08:00
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
Lim Chee Aun
e8a0b401f9 Add safe fallback 2022-12-27 22:02:55 +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
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
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
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
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
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
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
05fd9bdd2c Make spoiler effect work in dark mode 2022-12-24 22:52:19 +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
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
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
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
13a347ce37 New: char count for Compose field
Uses pre-compiled regex for perf
2022-12-23 16:45:02 +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
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
Lim Chee Aun
122f6877c9 Fix some accounts not working
All these webfinger/custom-server/moving-instances things are very annoying
2022-12-22 18:25:18 +08:00
Lim Chee Aun
7b6d30f37d Limit iterations for image hover position animation 2022-12-22 15:08:37 +08:00
Lim Chee Aun
65c2fb3648 Special rounding precision for poll percentage 2022-12-22 14:59:36 +08:00
Lim Chee Aun
c3bbd04e77 Different way of shifting the pixels 2022-12-22 12:59:44 +08:00
Lim Chee Aun
9d8286234f Fix the 'thread' badge being jumpy 2022-12-22 12:14:01 +08:00
Lim Chee Aun
3c4c59106a Handle media > 2 taking a lot of vertical space
Also handle media > 4, which I think some instances probably allow
2022-12-22 10:47:45 +08:00
Lim Chee Aun
ade3ebb5ae Experiment: new reply/thread "badges"
Also totally forced one-lined the name text + date at the top of a status
2022-12-22 10:35:39 +08:00
Lim Chee Aun
9a0f538d69 username = displayName matching, minus the shortcodes 2022-12-22 10:32:27 +08:00
Lim Chee Aun
4e60cae42c Fix spoiler bug 2022-12-22 09:02:22 +08:00
Lim Chee Aun
eba78e3f07 Time to embrace sheets
.box class is just… weird…
2022-12-21 20:00:45 +08:00
Lim Chee Aun
71083b46e2 Add "Refresh" button for polls 2022-12-21 19:46:38 +08:00
Lim Chee Aun
23745d0683 Update poll reactively 2022-12-21 19:29:37 +08:00
Lim Chee Aun
f6e3c979af Fix onClick not a function 2022-12-21 01:18:37 +08:00
Lim Chee Aun
33f0f21399 My sense of logic is getting worse 2022-12-21 01:03:24 +08:00
Lim Chee Aun
b7c5dce372 Fix z-indexing bug 2022-12-21 01:03:07 +08:00
Lim Chee Aun
3fede678c7 Case-insensitive and don't apply for short:true 2022-12-20 22:00:11 +08:00
Lim Chee Aun
d6575037eb No popping in standalone mode 2022-12-20 20:23:57 +08:00
Lim Chee Aun
4acb6aa3c2 Subtle badges 2022-12-20 20:17:38 +08:00
Lim Chee Aun
39a5634112 Further shorten name text if displayName === username 2022-12-20 19:52:55 +08:00
Lim Chee Aun
39efda9e38 Track spoilers
Turns out I'm using WeakMap wrong
2022-12-20 19:14:50 +08:00
Lim Chee Aun
091960bdff Fix border not visible for media-video 2022-12-20 17:50:43 +08:00
Lim Chee Aun
5e687e871f Bring back polling but bump up timeout
- Polling is needed because status post requires the media to be done processing (not just uploaded)
- But the default timeout set in masto.js is 3s, a bit too low if uploading a large video
- Bumping up to 30s
2022-12-20 13:29:38 +08:00
Lim Chee Aun
9bc5340714 Extra check on loading state before allow closing 2022-12-20 13:27:14 +08:00
Lim Chee Aun
e274950324 Disable popping-in/out and closing when loading 2022-12-20 13:26:45 +08:00
Lim Chee Aun
3921f8a6f9 Debugging 2022-12-20 13:24:56 +08:00
Lim Chee Aun
1538400dc0 Oops, forgot to put confirm dialog before boosting 2022-12-20 10:09:05 +08:00
Lim Chee Aun
bf907abc17 Disable this small font sizing 2022-12-20 09:37:29 +08:00
Lim Chee Aun
da19e7ad02 This min-width: 0 hack is getting annoying
Without this, long words would overflowwww
2022-12-19 18:02:45 +08:00
Lim Chee Aun
db25770a31 Add "verified" state for profile fields 2022-12-19 17:02:47 +08:00
Lim Chee Aun
d08848fff3 Fix some profile notes don't have <p> 2022-12-19 17:02:01 +08:00
Lim Chee Aun
8c97dcc5bc 💅 Aesthetic changes 2022-12-19 13:38:16 +08:00
Lim Chee Aun
96a38e5df1 Bigger check for poll option 2022-12-18 23:06:05 +08:00
Lim Chee Aun
c6e71e2432 Smaller gaps between media attachments 2022-12-18 23:05:49 +08:00
Lim Chee Aun
dc37100442 Refactor Carousel 2022-12-18 22:56:00 +08:00
Lim Chee Aun
0b8460cd55 Move things around 2022-12-18 21:10:05 +08:00
Lim Chee Aun
a029c7ccae Change from 'x' to '<' on Status page 2022-12-18 20:53:32 +08:00
Lim Chee Aun
2f24713d71 Real nested comments
- Collapsed/expandable replies
- Pagination for many many comments
2022-12-18 20:46:13 +08:00
Lim Chee Aun
762e525c68 Add profile metadata 2022-12-18 12:21:57 +08:00
Lim Chee Aun
1ffcffa1f4 Try different style for "Read more" 2022-12-18 10:08:44 +08:00
Lim Chee Aun
4b49c6fb03 Aesthetic changes to Account sheet
- Larger avatar
- Less rounded sheet
- Add Joined date
2022-12-18 00:38:19 +08:00
Lim Chee Aun
7c30ba35e4 Show total count for fun 2022-12-18 00:13:56 +08:00
Lim Chee Aun
d3f7659331 Tabular nums for the numbers 2022-12-18 00:09:22 +08:00
Lim Chee Aun
3a21b58f55 Prevent this from wrapping 2022-12-17 23:17:13 +08:00
Lim Chee Aun
58fe7a46f4 Change from line-clamp to max-height
-webkit-line-clamp doesn't work on multiple <p>s on Mobile Safari
2022-12-17 23:01:34 +08:00
Lim Chee Aun
400bc6f696 Truncate long posts on timeline, show "Read more"
10-line clamping for now
2022-12-17 21:06:51 +08:00
Lim Chee Aun
734a9b2b76 Remove unused code 2022-12-17 19:51:48 +08:00
Lim Chee Aun
5f0d1e8656 Refactor action buttons + optimistic UI 2022-12-17 17:26:41 +08:00
Lim Chee Aun
1c18184ef4 Fix one-char space inserted when replying to own posts 2022-12-17 17:25:04 +08:00
Lim Chee Aun
e6ed64cfd0 Fix auto display: none not working
`this` probably refers to something else
2022-12-17 14:38:21 +08:00
Lim Chee Aun
665b908698 Put names into every export 2022-12-16 13:27:04 +08:00
Lim Chee Aun
c026635221 Try this 50% width for card image
It's tough trying to balance the space required by the image vs the card title/desc/etc
2022-12-16 13:26:38 +08:00
Lim Chee Aun
3ae82d6898 Handle "unknown" media
On mastodon.social, images have type:image, but hachyderm returns type:unknown

Found this when editing a post and add two images, on mastodon.social.
2022-12-16 09:20:30 +08:00
Lim Chee Aun
5148462670 Have a little fun with action icons' animations
Also fix the jumpy border
2022-12-16 01:28:22 +08:00
Lim Chee Aun
db1e481bd3 Ugh have to manual trigger onInput
Is there a way to just auto trigger this?
2022-12-16 00:54:44 +08:00
Lim Chee Aun
03d2e2aa72 Add TODO for now for handling multiple mentions
If it's just all mentions with no textual content = can close(?)
But if there're a lot of mentions, won't it be dangerous to close?
User can still edit whatever in between like rearranging the mentions etc
2022-12-16 00:53:04 +08:00
Lim Chee Aun
859500a292 Fix copy since it's not just replying to one person 2022-12-16 00:51:08 +08:00
Lim Chee Aun
a41b18b331 Fix auto-prepending mentions when replying
Prepend not just the reply-to status's acct, but also all mentions' acct
BUT excluding self
2022-12-16 00:50:38 +08:00
Lim Chee Aun
45babb150b Try skip polling
For large medias, API returns 202 Accepted and media is still processing https://docs.joinmastodon.org/methods/media/#v2

masto.js does extra manual poll check by GET-ing the media after uploaded to see if the media is done processing
2022-12-15 21:34:21 +08:00
Lim Chee Aun
31b3d824cd Center the items in toolbar 2022-12-15 21:31:44 +08:00
Lim Chee Aun
12c11c65c1 The title inside the card has weird line height 2022-12-15 20:18:48 +08:00
Lim Chee Aun
f5da383ef3 Sometimes external, sometimes not. 2022-12-15 19:45:25 +08:00
Lim Chee Aun
332dd30c1d Writing logic code is hard 2022-12-15 17:27:28 +08:00
Lim Chee Aun
45b7d42d38 Add lazy loading to all images 2022-12-15 14:19:48 +08:00
Lim Chee Aun
fc235024aa Handle pop-in case when there's already a Compose field open
Show confirmation first before popping-in
2022-12-15 13:03:20 +08:00
Lim Chee Aun
b490974638 Responsive font-size for the poll and actions too 2022-12-15 10:01:18 +08:00
Lim Chee Aun
27c0ba7f4b Make sure the media has min height
Some images have *very* small height
2022-12-15 01:46:04 +08:00
Lim Chee Aun
da0309ab0f Light tint of background for poll options 2022-12-15 01:18:23 +08:00
Lim Chee Aun
58860c334c Responsive font size based on content length
The shorter, the larger font-size
2022-12-15 00:41:48 +08:00
Lim Chee Aun
b0372ea83b Dispatch oninput manually when textarea value change
I thought… React/Preact should do this automagically…
2022-12-14 22:54:12 +08:00
Lim Chee Aun
fa1769c3c2 New feature: Grouped notifications
- Grouped based on notification.type and notification.status.id
- Crossing fingers here
2022-12-14 22:46:50 +08:00
Lim Chee Aun
0aa7066274 Prevent conflicting style for poll when replying to status with a poll 2022-12-14 21:49:42 +08:00
Lim Chee Aun
72751709df New feature: poll
- More fixes
2022-12-14 21:48:17 +08:00
Lim Chee Aun
121e9176f3 Add style for leading choices
Also make sure the votes percentage doesn't shrink
2022-12-14 19:00:04 +08:00
Lim Chee Aun
f2dc15c8ef Slightly smaller font size for meta text in poll 2022-12-14 18:45:34 +08:00
Lim Chee Aun
b883836f8a Fix percentage count for multiple-choice polls 2022-12-14 17:56:08 +08:00
Lim Chee Aun
410548603f Fix check icon not appearing for own-voted poll choices 2022-12-14 17:11:16 +08:00
Lim Chee Aun
8b5ac5154c Fix pre meta text taking up space, due to some *very* long names/usernames 2022-12-14 16:16:08 +08:00
Lim Chee Aun
5c6fb7b7c8 Better username lookup 2022-12-14 15:39:20 +08:00
Lim Chee Aun
d4cdf2435f Fix poll percentage showing NaN
This happens when votes are still 0, so 0 divide by 0
2022-12-14 01:48:55 +08:00
Lim Chee Aun
975f3dd33f Finally fix HMR not working for this file 2022-12-14 00:39:35 +08:00
Lim Chee Aun
38aaf89529 Don't need this animation, too many happening at the same time 2022-12-14 00:20:43 +08:00
Lim Chee Aun
0e1f4c527e This close window check is getting on my nerves 2022-12-14 00:20:24 +08:00
Lim Chee Aun
2b21c421d1 Comment out this console.log 2022-12-14 00:19:49 +08:00
Lim Chee Aun
04084d3339 'not-allowed' cursor looks very annoying 2022-12-13 22:34:23 +08:00
Lim Chee Aun
fb6bca9016 Fix wrong logic again 2022-12-13 22:26:29 +08:00
Lim Chee Aun
e2346bc32a Shift+click to open compose window
- Fixes for closing
- Easier code for checking if can close window
2022-12-13 21:54:16 +08:00
Lim Chee Aun
6195f45800 Remove unused code 2022-12-13 20:42:19 +08:00
Lim Chee Aun
9d78e67381 New feature: pop-out compose window
- More consistent design for both reply-to status and source status preview
- Fixed bugs too
- Make sure index.css is always above
2022-12-13 20:42:09 +08:00
Lim Chee Aun
3e80ee03f3 Simpler code for content enhancement
Also fixed some shortcodes not converted
2022-12-13 20:15:02 +08:00
Lim Chee Aun
19074844be Fix avatars inside text expander menu 2022-12-13 18:44:35 +08:00
Lim Chee Aun
7b7b8b9443 Different copy for editing 2022-12-13 01:14:52 +08:00
Lim Chee Aun
74ef381a9c Remove this console.log 2022-12-13 00:23:47 +08:00
Lim Chee Aun
de5c33a568 Fix gifv not loading 2022-12-13 00:23:37 +08:00
Lim Chee Aun
2a13571328 Remove unused hook 2022-12-13 00:23:12 +08:00
Lim Chee Aun
f649f60b5b Move the time to the right 2022-12-12 22:56:38 +08:00
Lim Chee Aun
4d09d24e00 Better card preview styling
Test in case all the texts are too long and overflowing
2022-12-12 22:43:47 +08:00
Lim Chee Aun
79f1b255d2 Slight layout adjustments 2022-12-12 22:15:13 +08:00
Lim Chee Aun
ad8ae165a6 Fix check before closing 2022-12-12 21:58:02 +08:00
Lim Chee Aun
5353a4535a New feature: Edit status!
Get's a bit hacky now
2022-12-12 21:54:31 +08:00
Lim Chee Aun
111bc27f96 Fix spacing inside the card preview 2022-12-12 21:53:06 +08:00
Lim Chee Aun
d32d9c62eb Style backtick inline codes
The tree walker code is generated via Copilot, hope it works
2022-12-12 21:51:59 +08:00
Lim Chee Aun
b988b10c3d Fixes and refactor for compose UI with media uploads
Somehow prettier (for CSS) start running properly
2022-12-12 16:27:44 +08:00
Lim Chee Aun
f7571f6df1 Need to show media attachments even when status size=s
This is because status is optional when there are media attachments

So if the status is empty, there's nothing to show at all lololol
2022-12-12 16:25:55 +08:00
Lim Chee Aun
e5fa7536e0 Prompt to double-confirm unfollow 2022-12-12 10:03:41 +08:00
Lim Chee Aun
299b638ac3 Attempt to fix videos not autoplaying on Mobile Safari
Fallback onClick to play in case it really still doesn't autoplay
2022-12-12 10:00:59 +08:00
Lim Chee Aun
0289d20d8b Use opacity instead of color
Allow skeleton styles to work
2022-12-12 09:50:15 +08:00
Lim Chee Aun
87029b43d4 Fix clicking on active carousel dot closes the media modal
Also make the active dot larger
2022-12-12 08:46:50 +08:00
Lim Chee Aun
cb64f5ffda Add "Edited at" meta with Edit History modal
Much refactor, kinda ugly code still.

Edit History design is still very basic.
2022-12-11 21:22:22 +08:00
Lim Chee Aun
d848304c80 Make play icon look nicer on videos 2022-12-11 15:26:49 +08:00
Lim Chee Aun
fe6bdfdeb3 This .plain conflicted with other styles, so create .plain2
Also… this looks completely different on Mobile Safari (iPhone)...

Maybe due to a better screen...
2022-12-11 15:00:51 +08:00
Lim Chee Aun
aeceb94219 Fix carousel actually not working properly
- Need intersection observer to tell JS that scroll snap happened
- Fix carousel dots not working
- Add fancy background overlay based on image average color
- Disable fade out if open in carousel
2022-12-11 14:35:57 +08:00
Lim Chee Aun
977176067e Fix too many borders on card (image) 2022-12-11 12:05:07 +08:00
Lim Chee Aun
9ad956049b Another attempt to fix GIFV not auto-playing on Mobile Safari 2022-12-11 11:20:24 +08:00
Lim Chee Aun
bc4551583b Special styling for "direct" posts 2022-12-11 10:56:31 +08:00
Lim Chee Aun
acfc06e5a6 Disable outline for form fields inside the toolbar button 2022-12-11 10:37:43 +08:00
Lim Chee Aun
5cb65f603d Possible fix for Mobile Safari not autoplaying gifv 2022-12-11 09:45:25 +08:00
Lim Chee Aun
039d4661fb Remove target=_blank from username links
Mobile Safari ignores the click preventDefault and not show the Account popover. Removing target_blank fixes this ignorance

Kinda hacky fix for now
2022-12-11 09:28:02 +08:00
Lim Chee Aun
5aa9649935 Convert all outlines to borders
Because Safari ain't respecting border-radius with outlines
2022-12-11 00:52:04 +08:00
Lim Chee Aun
f89ae6cdcd Try add description to card 2022-12-11 00:50:49 +08:00
Lim Chee Aun
bcf4fe6e5c Show domain on first line, chop off "www" 2022-12-11 00:20:23 +08:00
Lim Chee Aun
b69d9f3fa8 Manage to make the top carousel controls hide-able too 2022-12-10 23:39:12 +08:00
Lim Chee Aun
80b3432ccb Carousel very buggy on mobile. Add close button. 2022-12-10 22:27:00 +08:00
Lim Chee Aun
5797b9bc38 Only need focal positioning if not show original media 2022-12-10 21:58:40 +08:00
Lim Chee Aun
d884cddf16 Fix bugs on status page 2022-12-10 21:19:38 +08:00
Lim Chee Aun
4b93d13256 Make stats less significant 2022-12-10 20:48:23 +08:00
Lim Chee Aun
7f02a7f794 Use a better string length
Using `string-length` instead of `stringz` that's used by Mastodon
2022-12-10 20:46:56 +08:00
Lim Chee Aun
2fa86980c0 Should be .u-url, not .mention 2022-12-10 19:16:57 +08:00
Lim Chee Aun
ac87f557d6 This .mention style is going global 2022-12-10 19:16:43 +08:00
Lim Chee Aun
b26f1204c7 Enhance the account note and make sure links open in new window 2022-12-10 19:16:11 +08:00
Lim Chee Aun
12a64e4507 No need check relationship with self.
"Am I following myself??"
2022-12-10 19:15:30 +08:00
Lim Chee Aun
33c88d648a Loading/disabled state for actions (boost, favourite, bookmark)
Also catch any errors and alert them
2022-12-10 18:23:11 +08:00
Lim Chee Aun
2b9390a0a1 Initial commit 2022-12-10 17:14:48 +08:00