Commit graph

1086 commits

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