about summary refs log tree commit diff
path: root/src/components
Commit message (Collapse)AuthorAgeFilesLines
* [🐴] Rich text in messages (#3926)Samuel Newman2024-05-092-17/+33
| | | | | | | | | | | | | | | | | * add facets to message * richtext messages * undo richtexttag changes * whoops, don't redetect facets * dont set color directly * shorten links and filter invalid facets * fix link shortening * pass in underline style
* [🐴] Add hover context menu for convo list on web (#3923)Hailey2024-05-093-33/+30
| | | | | | | | | | | | | | | | | | | | | * remove some unnecessary props * add hover trigger on web for convo list * lint * use `UserAvatar` to not affect accessibility * remove extra wrapper * add `label` * always show on mobile * adjust size of dots * make the message trigger dots the same size * ❓
* [🐴] Adjust press and hold delay on messages (#3918)Hailey2024-05-081-5/+7
| | | | | * adjust press and hold delay on messages * adjust hit slop
* [🐴] Mark as read in convo menu (#3913)Samuel Newman2024-05-082-0/+27
| | | | | | | * add mark as read option * optimistic update + link up menu * rm messageid
* [🐴] Reorg convo files (#3909)Eric Bailey2024-05-071-6/+6
| | | | | * Remove unused prop * Reorganize
* Remove unnecessary Trans tags (#3888)Minseo Lee2024-05-071-7/+5
|
* Improve localization marks (#3285)Minseo Lee2024-05-063-17/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update Lightbox.tsx * Change strings for easier localization * Update DeleteAccount.tsx * Update LabelsOnMeDialog.tsx * Update FeedCard.tsx * Update index.tsx * Update LabelsOnMeDialog.tsx * Update index.tsx * Update FeedCard.tsx * Update SelfLabel.tsx * Update Hashtag.tsx * Update index.tsx * Update Hashtag.tsx * Update ChangeHandle.tsx * Update index.web.tsx * Update index.web.tsx * Update index.tsx * Remove unnecessary `<Trans>` tags * Update Drawer.tsx
* Implement FeedFeedback API (#3498)Paul Frazee2024-05-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement onViewableItemsChanged on List.web.tsx * Introduce onItemSeen to List API * Add FeedFeedback tracker * Add clickthrough interaction tracking * Add engagement interaction tracking * Reduce duplicate sends, introduce a flushAndReset to be triggered on refreshes, and modify the api design a bit * Wire up SDK types and feedContext * Avoid needless function allocations * Fix schema usage * Add show more / show less buttons * Fix minor rendering issue on mobile menu * Wire up sendInteractions() * Fix logic error * Fix: it's item not uri * Update 'seen' to mean 3 seconds on-screen with some significant portion visible * Fix non-reactive debounce * Move methods out * Use a WeakSet for deduping * Reset timeout * 3 -> 2 seconds * Oopsie * Throttle instead * Fix divider * Remove explicit flush calls * Rm unused --------- Co-authored-by: dan <dan.abramov@gmail.com>
* Replace pluralize by plural by @tkusano (#3882)Paul Frazee2024-05-063-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Replace pluralize with plural or Plural * Replace all pluralize (defined by src/lib/strings/helpers.ts) with plural or Plural (defined by @lingui/macro) to make some UI elements translatable. * Delete pluralize() and related test. * Import @formatjs polyfill libraries for plural on ios and android - ios and andorid: import `@formtjs/intl-locale` and `@formatjs/intl-pluralrules` to polyfill `Intl.Locale` and `Intl.PluralRules` which are used in `plural()` and '<Plural />'. - update `plural` use in notification messages for better translation. * Rewrite to pass lint * Add Catalan plural polyfill * more replacement * import zh plural data for zh-CN * Refactor feed header components (#2964) * Move home-related files to view/com/home * Add HomeHeader in front of FeedTabBar * Move isDekstop check outside FeedsTabBar * Remove PWI logic from tabbar * Separate platform-specific layout from shared logic * Rename Home Feed Prefs to Following Feed Prefs (#2965) * use `useOpenLink` hook for links in ALF (#2975) * use `useOpenLink` hook for links in ALF * web only for `outline` * increase timeout to 15s (#2958) * Normalize relative day (#2874) * fix: normalize relative date * chore: add comments * refactor: skip flooring normalized diff * refactor: let -> const * fix: get own copy of date to prevent mutating * refactor: rounding does the same trick * Add handle validation to create account UI (#2959) * show uiState errors in the box as well simplify copy update ui for only letters and numbers add ui validation to handle selection * simplify names * Fix accidental text-node render --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com> * Make dim theme dim (#2966) * Make dim color scheme dim * Tweaks * Overall tweaks * We have to go darker * Tweak saturation of blues in dim * Increase contrast on dark-dark mode * adjust dim --------- Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: Paul Frazee <pfrazee@gmail.com> Co-authored-by: Hailey <me@haileyok.com> * Fix dim mode unread notif color * use `showControls` to show/hide live text icon on ios (#2982) * Update .po files * fix reversed icons in validator 🤦 (#2991) * Adjust `windowSize` on `PostThread` `FlatList` (#2989) * adjust window size, cells batching period * rm batching period change * Pluralize 'follow(s)' * Include a space between the msgid count and "follower(s)/following(s)" so the translator can adjust the translated count line to fit within the Drawer. * pluralie '# following' * Fix & Update * Rewrite to use Plural * rmeove unused import * When commiting changes, disable 'simple-import-sort' plugin in .eslintrc.js to sync with bluesky-social:main * Revert simple-import-sort/imports related changes * Move ProfileHoverCard web to plural util * Followings -> following * Add plural following to hovercard * Followings -> Following --------- Co-authored-by: Takayuki KUSANO <kusano@tkusano.jp> Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> Co-authored-by: dan <dan.abramov@gmail.com> Co-authored-by: Hailey <me@haileyok.com> Co-authored-by: Mary <148872143+mary-ext@users.noreply.github.com> Co-authored-by: Eric Bailey <git@esb.lol>
* make gif alt text prompt selectable (#3879)Samuel Newman2024-05-061-1/+5
|
* Alt text for gifs (#3876)Samuel Newman2024-05-062-3/+5
| | | | | | | | | | | | | | | | | | | | | * add alt text dialog * multiline alt text input * add pressable alt text badge * rename `ALT: ` to `Alt text: ` to avoid including old bad ones * reuse alt text reminder * reuse alt text reminder in gallery * add alt text reminder in the dialog itself * autofocus text input * reorder components to fix tab order * fix close btn position
* [Clipclops] Delete message in dialog (#3849)Hailey2024-05-051-3/+24
| | | | | | | | | | | | | * delete and copy * add retry dialog if message send fails * add layout animation * fix `nextMessage` being incorrect --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* [🐴] Improve message pressing (#3864)Samuel Newman2024-05-051-1/+2
| | | | | | | | | | | * allow tapping message when keyboard open * dismiss keyboard on open msg menu * show message info on press * Revert "show message info on press" This reverts commit 61d039a7024c27583aed7d1e9f1ff5b919dc7d30.
* [🐴] Dismiss keyboard before opening convo menu (#3862)Samuel Newman2024-05-051-1/+6
| | | | | * Dismiss keyboard before opening convo menu * call `props.onPress()` instead
* Assorted clipclop fixes (#3853)Samuel Newman2024-05-043-19/+62
| | | | | | | | | | | | | | | * empty state for new chat dialog * use terniary * dark mode pending state * copy message text option * fix service url input (scrollview ftw) * whoops, fix equality * slightly reduce horizontal message padding
* Clipclop tweaks (#3851)Hailey2024-05-031-0/+5
| | | | | | | * scroll on input resize * add back the padding 🙊 * fix timestamps
* [Clipclops] Refactor message list (#3832)Hailey2024-05-031-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | * rework the list for accessibility * Reverse reverse * progress * good to start testing * memo `MessageItem` * small hack * use our custom `List` impl * use `ScrollProvider` for `onScroll` event * remove use of `runOnJS` * actually, let's keep it * add some comments --------- Co-authored-by: Eric Bailey <git@esb.lol>
* [Clipclops] Pending message style with layout animation (#3844)Samuel Newman2024-05-031-6/+16
| | | | | | | * decrease group gap to 3 mins * pending style with layout animation * make pending state lighter
* add focus refresh + polling (#3846)Samuel Newman2024-05-031-0/+17
|
* [Clipclops] Header tweaks (#3839)Samuel Newman2024-05-031-0/+2
| | | | | * wrap text * add dividers to convo menu
* update date logic to account for timezones (#3840)Samuel Newman2024-05-031-4/+12
|
* Improve account switcher pending state (#3827)dan2024-05-022-8/+11
| | | | | | | | | * Protect against races * Reduce UI jank when switching accounts * Add pending state to selected account * Disable presses while pending
* [Clipclops] Message actions for native and web (#3807)Hailey2024-05-024-0/+433
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * haptic on long press * add animation to press and hold * eslint disable for now * adjust styles * dont trigger if animation is cancelled * organize * add a delete menu * reset scale automatically * message actions dialog cleanup center the trigger handle focus/unfocus better make triggers accessible weg dropdown menu add a wep specific wrapper decrease press delay add report button improve shrink logic use `self_end` instead of `margin: auto` rm extra `?` move `MessageItem` to `components` add delete button * rm some padding * update after merge * fix merge * web only types * fix crash * add an explanation * fix web types --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* rename "MessagesList" to "Messages" (#3826)Samuel Newman2024-05-021-1/+1
|
* [Session] Extract selectAccount out (#3812)dan2024-05-022-2/+5
|
* [Clipclops] Clop menu, leave clop, mute/unmute clop (#3804)Samuel Newman2024-05-024-12/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * convo menu * memoize convomenu * add convoId to useChat + memoize value * leave convo * Create mute-conversation.ts * add mutes, remove changes to useChat and use chat.convo instead * add todo comments * leave convo confirm prompt * remove dependency on useChat and pass in props instead * show menu on long press * optimistic update * optimistic update leave + add error capture * don't `popToTop` when unnecessary --------- Co-authored-by: Hailey <me@haileyok.com>
* [Clipclops] Replace 🐴 with real icon (#3802)Samuel Newman2024-05-013-2/+11
| | | | | * replace 🐴 with paper plane icon * replace envelope with plus
* add header to empty chat list view (#3791)Samuel Newman2024-05-011-1/+1
|
* [Clipclops] 2 Clipped 2 Clopped (#3796)Eric Bailey2024-05-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add new pkg * copy queries over to new file * useConvoQuery * useListConvos * Use useListConvos * extract useConvoQuery * useGetConvoForMembers * Delete unused * exract useListConvos * Replace imports * Messages/List/index.tsx * extract getconvoformembers * MessageItem * delete chatLog and rename query.ts * Update import * Clipclop service (#3794) * Add Chat service * Better handle deletions * Rollback unneeded changes * Better insertion order * Use clipclops * don't show FAB if error * clean up imports * Update Convo service * Remove temp files --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Memoize context value (#3786)dan2024-05-011-3/+10
|
* Performance improvements: structural sharing & moderation opts context (#3785)Paul Frazee2024-04-302-2/+2
| | | | | | | | | | | | | * Fix: correctly apply structural sharing to preferences object * Move moderation opts into a context * Fix import * Remove log * Pass userdid directly * Pass moderationPrefs directly
* [Clipclops] Use API data for clipclop list (#3769)Samuel Newman2024-04-301-2/+7
| | | | | | | | | | | | | | | * use real API * remove extra tab icon * messages list web layout + style improvements * use style's text color for input * make new chat button way more obvious --------- Co-authored-by: Hailey <me@haileyok.com>
* [Clipclops] New clipclop dialog (#3750)Samuel Newman2024-04-303-11/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add new routes with placeholder screens * add clops list * add a clop input * add some better padding to the clops * some more adjustments * add rnkc * implement rnkc * implement rnkc * be a little less weird about it * rename clop stuff * rename more clop * one more * add codegenerated lexicon * replace hailey's types * use codegen'd types in components * fix error + throw if fetch failed * remove bad imports * update messageslist and messageitem * import useState * replace hailey's types * use codegen'd types in components * add FAB * new chat dialog * error + default search term * fix typo * fix web styles * optimistically set chat data * use cursor instead of last rev * [Clipclops] Temp codegenerated lexicon (#3749) * add codegenerated lexicon * replace hailey's types * use codegen'd types in components * fix error + throw if fetch failed * remove bad imports * update messageslist and messageitem * import useState * add clop service URL hook * add dm service url storage * use context * use context for service url (temp) * remove log * cleanup merge * fix merge error * disable hack * sender-based message styles * temporary filter * merge cleanup * add `hideBackButton` * rm unneeded return * tried to be smart * hide go back button * use `searchActorTypeahead` instead --------- Co-authored-by: Hailey <me@haileyok.com>
* use keyboardDismissMode rather than onScrollBeginDrag (#3767)Samuel Newman2024-04-301-2/+2
|
* Fix dropdown immediately closing on Enter (#3745)dan2024-04-281-13/+24
| | | | | | | * Move dropdown content into separate component * Fix dropdown with keyboard * No-op is sufficient
* Reduce hovercard false positives, add them to display names and handles (#3739)dan2024-04-281-5/+13
| | | | | | | * Don't trigger hovercards on scroll * Add display name / handle hovercards * Increase hovercard delay
* ensure dialog is closed on unmount (#3650)Hailey2024-04-271-0/+6
| | | | | | | | | Revert "properly check if the ref is null" This reverts commit 8f563808a5d39389b0bc47a31e73cd147d1e7e8b. properly check if the ref is null ensure dialog is closed on unmount
* remove precacheThreadPostProfiles (#3729)Hailey2024-04-271-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove `precacheThreadPostProfiles` * add `displayName` to `PreviewableUserAvatar` * memo * use `precacheProfile` * pass `profile` directly to `PreviewableUserAvatar` * update the `UserAvatar`'s props * remove feed cache * one more spot * rm unused queryClient * Don't call fn unnecessarily * Preload for display name too * try notification item * add to feeditem * and finally, precache for post threads * timestamp * Fix * onBeforePress --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Clipclops] New routes with placeholder screens (#3725)Samuel Newman2024-04-273-1/+11
| | | | | | | | | | | * add new routes with placeholder screens * gate content * add filled envelope style * swap filled state * switch to `useAgent`
* Special-case bsky.app/download to open share sheet or copy to clipboard (#3710)Samuel Newman2024-04-271-1/+5
| | | | | | | | | | | * special-case bsky.app/download to share * Address feedback * Improve detection --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Add `useAgent` hook and replace (#3706)Eric Bailey2024-04-253-4/+8
| | | | | | | | | | | * Hook it up * Memoize getAgent method * Use one shared reference --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [GIFs] Remove consent flow (#3652)dan2024-04-231-89/+4
| | | | | * Remove tenor from settings * Remove consent flow
* [GIFs] Replace GIPHY with Tenor (#3651)Samuel Newman2024-04-221-38/+27
| | | | | | | | | * replace GIPHY with Tenor * remove "directly" wording * replace GIPHY wording * remove log
* properly close the switch account dialog (#3558)Hailey2024-04-221-8/+9
| | | | | | | | | | | | | | | | | | | * properly close the switch account dialog * use it for switch account as well * ensure dialog is closed on unmount Revert "properly check if the ref is null" This reverts commit 8f563808a5d39389b0bc47a31e73cd147d1e7e8b. properly check if the ref is null ensure dialog is closed on unmount * Revert "ensure dialog is closed on unmount" This reverts commit a48548fd8ed53ae3eb08a0e05bb89f641c112b95.
* [GIFs] Reset scroll on query change (#3642)Samuel Newman2024-04-222-11/+18
| | | | | | | * scroll list to top on query change * dismiss keyboard on swipe list * don't need an effect
* [GIFs] Add error boundary to GIF picker (#3643)Samuel Newman2024-04-221-1/+36
| | | | | | | | | | | | | * error boundary on gif picker * add dialog.close for web users * fix size of dialog on web * Safer coercion --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* only open tag menu on long press (#3553)Samuel Newman2024-04-221-3/+13
|
* add maxwidth to app language dropdown (#3635)Samuel Newman2024-04-221-0/+1
|
* fix onEndReached issue by forcing flatlist to scroll (#3623)Samuel Newman2024-04-192-3/+19
|
* Throttle gif search by 500ms (#3622)Samuel Newman2024-04-192-8/+30
| | | | | | | | | * debounce gif search by 300ms * Throttle it instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>