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
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
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
cff13d53f0
Forgot to revert the optimistism
2022-12-25 13:22:41 +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
55ad4be580
Only show reply badge if not inside mentions
2022-12-24 01:22:25 +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
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
65c2fb3648
Special rounding precision for poll percentage
2022-12-22 14:59:36 +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
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
4acb6aa3c2
Subtle badges
2022-12-20 20:17:38 +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
1538400dc0
Oops, forgot to put confirm dialog before boosting
2022-12-20 10:09:05 +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
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
1ffcffa1f4
Try different style for "Read more"
2022-12-18 10:08:44 +08:00
Lim Chee Aun
7c30ba35e4
Show total count for fun
2022-12-18 00:13:56 +08:00