Commit graph

624 commits

Author SHA1 Message Date
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