Commit graph

312 commits

Author SHA1 Message Date
Lim Chee Aun
a196540d66 Differentiate between previewMode vs quoted
When previewMode, auto-reveal spoiler
2023-04-27 08:25:39 +08:00
Lim Chee Aun
4001e1c47a Match logic for context menu and long press 2023-04-26 10:35:26 +08:00
Lim Chee Aun
6f430ca0f5 Fix wrong index of QTs for links that are not QTs 2023-04-25 21:57:12 +08:00
Lim Chee Aun
963312aacb Swipe to toggle poll results 2023-04-25 20:41:08 +08:00
Lim Chee Aun
535715cfe8 Prevent infinite loop of QT of QT of QT
Use case: Status A QT status B, then status B QT status A = recursive QT
2023-04-25 13:03:26 +08:00
Lim Chee Aun
8e46da5e80 Fix set focus on status, make status itself scroll unwillingly 2023-04-24 21:56:13 +08:00
Lim Chee Aun
e7a1aa1418 Try 600 2023-04-24 21:36:03 +08:00
Lim Chee Aun
944a896586 Risky bump of use-long-press and to 1s delay 2023-04-24 19:16:07 +08:00
Lim Chee Aun
89d62d6d0f Fixes for QTs 2023-04-23 19:29:25 +08:00
Lim Chee Aun
3eaf3ef62b New experiment: rendering quote toots 2023-04-23 00:55:47 +08:00
Lim Chee Aun
12957c8ea7 Focus back on status after context menu closed 2023-04-20 17:51:40 +08:00
Lim Chee Aun
5dc3603795 Close button for modal sheets 2023-04-20 16:10:57 +08:00
Lim Chee Aun
08890bb04e Rearrange the interactions buttons in context menu 2023-04-19 00:00:47 +08:00
Lim Chee Aun
b164d68b4f Try show non-image cards 2023-04-18 23:46:59 +08:00
Lim Chee Aun
9a04cb6ba3 Add 'Full' view for status pages 2023-04-17 00:14:09 +08:00
Lim Chee Aun
5d2a14442a Bump up long press threshold 2023-04-15 12:04:31 +08:00
Lim Chee Aun
020019132d Spoiler text also can be emoji-fied 2023-04-14 23:05:46 +08:00
Lim Chee Aun
5d8cddc07e Poll titles can be emoji-fied 2023-04-14 23:03:04 +08:00
Lim Chee Aun
f303c6d36c Rewrite status page + media modal
Media modals now have their own URLs
2023-04-14 15:30:04 +08:00
Lim Chee Aun
13b2273022 Bot avatars will be squircles 2023-04-11 00:26:43 +08:00
Lim Chee Aun
c9c49d9a93 Fixes for logical properties 2023-04-10 20:23:40 +08:00
Lim Chee Aun
c7db204d5b More compact menu items 2023-04-10 01:21:02 +08:00
Lim Chee Aun
60cfeea89f Add 'Mute conversation' menu item 2023-04-10 00:30:32 +08:00
Lim Chee Aun
82d88dbe10 Fix wrong color for bookmark icon 2023-04-09 00:19:15 +08:00
Lim Chee Aun
c8d1ab4748 Need loader 2023-04-07 20:09:59 +08:00
Lim Chee Aun
2b26635e72 New: Reactions Modal 2023-04-06 22:51:48 +08:00
Lim Chee Aun
6f8390c3f8 Embrace "Private mention" 2023-04-06 18:21:56 +08:00
Lim Chee Aun
66e32fa03f Fix vertical alignment issues, again 2023-04-06 13:21:53 +08:00
Lim Chee Aun
18b00b2b7a Fix toast showing even when canceling a boost/unboost confirmation 2023-04-04 18:46:05 +08:00
Lim Chee Aun
3b100ad30f Disable poll auto-refresh at point of expiry 2023-04-03 09:26:27 +08:00
Lim Chee Aun
1405296e67 Show boost button but disable if can't boost 2023-04-03 09:09:52 +08:00
Lim Chee Aun
d2214c59be Beautify poll 2023-03-30 11:11:35 +08:00
Lim Chee Aun
a41871ae4b Experimental feature: translate bio 2023-03-29 01:12:59 +08:00
Lim Chee Aun
f160a576d6 Add settings to hide translate button for certain languages 2023-03-28 19:04:52 +08:00
Lim Chee Aun
1d1bb1de61 Hide open media file in More button 2023-03-28 15:59:20 +08:00
Lim Chee Aun
35a8641f16 Make filtered status work for boosts too 2023-03-26 15:09:45 +08:00
Lim Chee Aun
fa27308132 Additional locale match check before showing Translate button 2023-03-24 10:05:23 +08:00
Lim Chee Aun
6685549d11 Need debugHover for filtered status 2023-03-23 21:48:29 +08:00
Lim Chee Aun
402166e9b2 If there's no image, use blurhash "image" 2023-03-23 20:18:54 +08:00
Lim Chee Aun
0f5a98e42f Remove context menu from statuses inside Edit History sheet 2023-03-22 14:16:41 +08:00
Lim Chee Aun
b8ec7d3c51 Show small hints of filter titles 2023-03-22 12:26:28 +08:00
Lim Chee Aun
422813be9c New experimental Filtered Posts UI 2023-03-22 00:09:36 +08:00
Lim Chee Aun
ed3d86c67a Make youtube embeds lighter
And possibly more privacy-enhanced
2023-03-18 20:05:12 +08:00
Lim Chee Aun
89c03945a3 "Delete" status feature 2023-03-17 17:14:54 +08:00
Lim Chee Aun
16c52ad3ea Possible fix for weird truncation bug 2023-03-16 16:16:15 +08:00
Lim Chee Aun
bc4dfaf62f Add previewMode 2023-03-16 13:02:46 +08:00
Lim Chee Aun
81bf7aeebe Default to static, with fallback 2023-03-15 19:30:53 +08:00
Lim Chee Aun
a838e30f4a Check for no media descriptions when posting & boosting 2023-03-14 20:42:37 +08:00
Lim Chee Aun
0cc4075eaa Make sure context menu doesn't exceed safe areas 2023-03-14 19:02:54 +08:00
Lim Chee Aun
5882228b97 Hide interaction menu items for non-same-instance statuses 2023-03-14 14:11:40 +08:00
Lim Chee Aun
13201260d6 Fix weird bug… I don't even know why url is undefined 2023-03-12 19:23:42 +08:00
Lim Chee Aun
adc4e8f53b Fix translate menu item missing in large status 2023-03-11 18:13:30 +08:00
Lim Chee Aun
740b0ad497 Sprinkle one wbr here 2023-03-10 19:34:04 +08:00
Lim Chee Aun
f15b859971 Fix boostability for private-visibility posts 2023-03-10 15:49:23 +08:00
Lim Chee Aun
50eb9b9f59 Improve context menu design 2023-03-09 21:51:50 +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
2cb22c34e3 Extra checks for prevent weird font size 2023-03-06 18:20:49 +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
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
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
6342268945 Fix menu not appearing due to portal-ing to different container 2023-03-01 15:44:58 +08:00
Lim Chee Aun
b06f9a2a09 Do additional unfurl step for Mastodon links 2023-02-28 20:54:26 +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
49bb42e6cc Match text from Composer
Should really extract this out one day
2023-02-27 11:21:11 +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
45950da714 Don't POST if no choices set in poll 2023-02-24 23:38:59 +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
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
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
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
7e65d8be5d Make smaller statuses stand out in the carousel 2023-02-19 01:10:06 +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
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
d8e6d349a0 Fix undefined 'votes' 2023-02-17 11:00:34 +08:00
Lim Chee Aun
c37df11a25 Show pinned posts 2023-02-17 10:12:59 +08:00
Lim Chee Aun
4dae1d1576 Shorter copies 2023-02-16 19:10:26 +08:00
Lim Chee Aun
c01d3098b8 Add pencil 2023-02-13 09:22:03 +08:00
Lim Chee Aun
30b747527e Okayyy this is dangerous 2023-02-12 14:24:27 +08:00
Lim Chee Aun
2f2e343115 Shorter skeleton 2023-02-11 21:09:36 +08:00
Lim Chee Aun
d9564bff72 Still need these fallbacks for now 2023-02-11 18:55:21 +08:00
Lim Chee Aun
129417bad3 Fix wrong links 2023-02-09 17:41:42 +08:00
Lim Chee Aun
c6c18aae09 Fix spoiler bug again 2023-02-07 12:56:26 +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
bbb3017b2d Quietly handle hashtag links
No follow/unfollow yet.
2023-01-31 19:31:25 +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
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
ded6420c1a Fallback if browser doesn't autoplay 2023-01-27 17:51:31 +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
5fb123f228 Need to preserve white space in media descriptions 2023-01-25 00:40:05 +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
4c05692ef5 This account resolving thingie is getting ridiculous 2023-01-22 20:29:48 +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
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
0f5764580b Fix bug due to votersCount can be null if multiple=false 2023-01-15 00:17:07 +08:00
Lim Chee Aun
c4236e6de7 New feature: thread numbering 2023-01-10 19:59:02 +08:00
Lim Chee Aun
13c3b8fa3b Finally DRY this saving status code 2023-01-09 19:11:34 +08:00
Lim Chee Aun
8a8dad12c8 Better handling of audio 2023-01-09 01:17:16 +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
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
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
fea7145ac9 The mention is hidden *inside* spoiler text 2023-01-04 17:27:43 +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
07dff34e20 Show formatted duration for video media 2023-01-02 14:21:38 +08:00
Lim Chee Aun
951c93a070 Add link to media in carousel modal 2023-01-01 12:28:54 +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
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
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
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
cf42aab4b7 Experimental language selector in Compose field 2022-12-27 18:09:23 +08:00
Lim Chee Aun
3ac2a45244 Got trolled by @neet 2022-12-27 01:17:04 +08:00