about summary refs log tree commit diff
path: root/src/view/com
Commit message (Collapse)AuthorAgeFilesLines
...
* Replace pluralize by plural by @tkusano (#3882)Paul Frazee2024-05-065-25/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Dont leave promise unresolvedPaul Frazee2024-05-062-16/+30
|
* Merge branch 'fix-banner-cropper' of ↵Paul Frazee2024-05-063-45/+82
|\ | | | | | | https://github.com/piotrpalek/social-app into piotrpalek-fix-banner-cropper
| * add missing cropImageUtil filePiotr P2024-04-271-0/+13
| |
| * hide alternative ratio buttons when using custom ratioPiotr P2024-04-271-30/+34
| |
| * allow for custom cropper aspect ration based on imagePiotr P2024-04-271-5/+25
| |
| * eslint autofixesPiotr P2024-04-271-10/+10
| |
* | make gif alt text prompt selectable (#3879)Samuel Newman2024-05-061-1/+1
| |
* | A few `containWeb` List nits (#3877)Hailey2024-05-061-22/+52
| | | | | | | | | | | | | | | | | | * use getters for returned values * pass ref * add log to `onScroll` in tester * improve expect error
* | remove `hide_vertical_scrollbars` test (#3855)Hailey2024-05-062-15/+1
| |
* | show spinner when preferences has not loaded yet (#3756)Hailey2024-05-061-3/+3
| |
* | Alt text for gifs (#3876)Samuel Newman2024-05-067-44/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | [🐴] Finalize web message screen (#3868)Hailey2024-05-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add `onStartReached` to web list * fix `rootMargin` * Add `contain`, handle scroll events * improve types, fix typo * simplify * adjust `scrollToTop` and `scrollToOffset` to support `contain`, add `scrollToEnd` * rename `handleWindowScroll` to `handleScroll` * support basic `maintainVisibleContentPosition` * rename `contain` to `containWeb` * remove unnecessary `flex: 1` * add missing props * add root prop to `Visibility` * add root prop to `Visibility` * revert adding `maintainVisibleContentPosition` * remove unnecessary wrapper * add style * oops * maintain position for web * always apply `flex: 1` to styles when contained * add a contained list to storybook * make `onScroll` a worklet in storybook * revert test code * remove unnecessary `flex: 1`
* | Further align web `List` with `FlatList`, add `contain` mode to web list ↵Hailey2024-05-062-21/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementation (#3867) * add `onStartReached` to web list * fix `rootMargin` * Add `contain`, handle scroll events * improve types, fix typo * simplify * adjust `scrollToTop` and `scrollToOffset` to support `contain`, add `scrollToEnd` * rename `handleWindowScroll` to `handleScroll` * support basic `maintainVisibleContentPosition` * rename `contain` to `containWeb` * remove unnecessary `flex: 1` * add missing props * add root prop to `Visibility` * add root prop to `Visibility` * revert adding `maintainVisibleContentPosition` * oops * always apply `flex: 1` to styles when contained * add a contained list to storybook * make `onScroll` a worklet in storybook * revert test code * add scrolling to storybook * simplify getting scrollable node * nit: extra whitespace * nit: random comment * foolproof the logic * typecheck
* | Fix `IntersectionObserver` `rootMargin` in web `List` implementation, add ↵Hailey2024-05-051-8/+30
| | | | | | | | | | | | | | `onStartReached` (#3866) * add `onStartReached` to web list * fix `rootMargin`
* | Assorted clipclop fixes (#3853)Samuel Newman2024-05-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Add kawaii mode (#3773)Samuel Newman2024-05-012-6/+21
| |
* | Performance improvements: structural sharing & moderation opts context (#3785)Paul Frazee2024-04-307-22/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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] Add clop sent time to clipclop (#3772)Samuel Newman2024-04-301-2/+6
| | | | | | | | | | * add message sent time to message * fix last message in group logic
* | Fix List onMomentumScrollEnd (#3759)dan2024-04-292-33/+43
| |
* | Remove useEffect from TimeElapsed (#3741)dan2024-04-281-4/+4
| |
* | Fix dropdown immediately closing on Enter (#3745)dan2024-04-281-63/+87
| | | | | | | | | | | | | | * Move dropdown content into separate component * Fix dropdown with keyboard * No-op is sufficient
* | Account for momentum when hiding minimal shell (#3740)dan2024-04-282-13/+51
| | | | | | | | | | | | | | | | | | * Add optional momentum events to scroll context * If there is a velocity, don't snap until momentum end * Don't show bar on scroll down * Rm onMomentumBegin
* | Reduce hovercard false positives, add them to display names and handles (#3739)dan2024-04-281-31/+34
|/ | | | | | | * Don't trigger hovercards on scroll * Add display name / handle hovercards * Increase hovercard delay
* remove precacheThreadPostProfiles (#3729)Hailey2024-04-2712-93/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* [Session] Add `useAgent` hook and replace (#3706)Eric Bailey2024-04-259-43/+57
| | | | | | | | | | | * Hook it up * Memoize getAgent method * Use one shared reference --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* remove use of `pointerEvents` on iOS profile header (#3694)Hailey2024-04-251-10/+15
|
* Rewrite the link detection (#3687)dan2024-04-243-87/+110
| | | | | * Rewrite the link detection * Handle parens and colons
* Remove unnecessary `.trimEnd()` and fix facet detection (#3672)Hailey2024-04-242-12/+23
| | | | | | | | | | | | | | | * Fix link facet detection Exclude the trailing period from the link, similar as done in the atproto package * Fix JSON to text conversion The trimEnd() call was only needed because we were always appending \n\n at the end. Fix that by only adding line breaks after non-final paragraphs. * Detect paste reliably --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Remove old old onboarding (#3674)Eric Bailey2024-04-238-1180/+0
|
* Add option to remove quoted post in composer (#3670)Samuel Newman2024-04-242-5/+47
| | | | | * add option to remove quoted post * add generous hitslop
* Add border radius to GIF loading state (#3669)Samuel Newman2024-04-231-0/+1
|
* Email auth factor (#3602)Paul Frazee2024-04-221-14/+22
| | | | | | | | | | | | | | | * Add email 2fa toggle * Add UI elements needed for 2fa codes in login * Wire up to the server * Give a better failure message for bad 2fa code * Handle enter key in login form 2fa field * Trim spaces * Improve error message
* GIF Viewer (#3605)Hailey2024-04-235-125/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ios player autoplay after recycle remove all items from AVPlayer queue recurururururursion use managers in the view add prefetch make sure player items stay in order add controller and item managers start of the view create module, ios * android player smoother basic caching prep cache somewhat works backup other files android impl blegh lets go touchup add prefetch to js use caching * bogus testing commit * add dims to type * save * add the dimensions to the embed info * add a new case * add a new case * limit this case to giphy * use gate * Revert "bogus testing commit" This reverts commit b3c8751b71f7108de9aa843b22ded4e0249fa854. * add web player base * flip mp4/webp * basic mp4 player for web * move some stuff into `ExternalLinkEmbed` instead * use a class component for web * remove extra component * add `onPlayerStateChange` event type on web * layer properly * fix tests * add new test * about ready. native portions done, a few touch ups on web needed show placeholder on ios fix type rm log display thumbnail until video is ready to play add oncanplay, playsinline remove unused method add `isLoaded` change event release player when finished apply gc to the view cleanup logs android gc rm log automatic gc for assets make `nativeRef` private remove unnecessary `await` cleanup rev log only play on prepare whenever needed rm unused perfperfperf rm var comment + android width native height calculations rm pressable add event dispatcher on android add event dispatcher on ios * ready to test ios fix autoplay ios clean oops * autoplay on web * normalize across all platforms add check for `ALT:` separate gif embed logic to another file handle permissions requests flatten web styles normalize styles normalize styles prefetch functions pause animatable on foreground android nits one more oops idk where that code went lint rethink the usage wrap up android clear bg update gradle more android rename dir update android namespace web ios add deps use webp rm unused update types use webp on mobile * rm gate from types * remove unused event param * only start placeholder op if doesn't exist in disk cache * fix gifs animating on app resume android * remove comment * add `isLoaded` for ios * add `isLoaded` to Android * onload for web * add visual loading state * rm a log * implement isloaded for android * dialogs * replace `webpSource` with `source` * update prop name * Move to Tenor for GIFs (#3654) * update some urls * right order for dimensions * add GIF coder for ios * remove giphy check * rewrite tenor urls * remove all the unnecessary stuff for consent * rm print * rm log * check if id and filename are strings * full size playback controls * pass tests * add accessibility to gifs * use `onPlay` and `onPause` * rm unused logic for description * add accessibility label to the controls * add gif into to external embed in composer * make it optional * gif dimensions * make the jsx look nicer --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com> Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* [GIFs] Replace GIPHY with Tenor (#3651)Samuel Newman2024-04-222-9/+10
| | | | | | | | | * replace GIPHY with Tenor * remove "directly" wording * replace GIPHY wording * remove log
* [GIFs] Add error boundary to GIF picker (#3643)Samuel Newman2024-04-221-3/+9
| | | | | | | | | | | | | * 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>
* Revert "Add layout transitions to the composer photo gallery on iOS (#3609)" ↵Samuel Newman2024-04-222-27/+10
| | | | | (#3649) This reverts commit 1a5b8b2c94ce1e66bff7e7295b799ae5b0613988.
* remove unnecessary padding from the right hand side of the post in threaded ↵Hailey2024-04-221-1/+0
| | | | (#3645)
* Top/Latest for hashtags (#3625)dan2024-04-191-13/+38
| | | | | | | * Split HashtagScreen into two components * Hashtag tabs * Visual fixes
* Player improvement pre-reqs (#3618)Hailey2024-04-191-18/+29
| | | | | | | | | | | | | | | | | | | | | * add dims to type * save * add the dimensions to the embed info * add a new case * add a new case * limit this case to giphy * use gate * flip mp4/webp * fix tests * add new test
* [Statsig] Update experiments (#3617)dan2024-04-192-15/+9
|
* align center post meta in threaded (#3615)Hailey2024-04-192-3/+11
| | | | | | | | | * align center post meta in threaded * put `displayNameStyle` in correct place * maybe? * with mobile padding too?
* add dimensions to data (#3616)Hailey2024-04-181-1/+1
| | | | | | | | | * add dimensions to data * keep alt text * put it in the right url * just send the original height and width instead
* Add GIF select to composer (#3600)Samuel Newman2024-04-194-88/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * create dialog with flatlist in it * use alf for composer photos/camera/gif buttons * add gif icons * focus textinput on gif dialog close * add giphy API + gif grid * web support * add consent confirmation * track gif select * desktop web consent styles * use InlineLinkText instead of Link * add error/loading state * hide sideborders on web * disable composer buttons where necessary * skip cardyb and set thumbnail directly * switch legacy analytics to statsig * remove autoplay prop * disable photo/gif buttons if external media is present * memoize listmaybeplaceholder * fix pagination * don't set `value` of TextInput, clear via ref * remove console.log * close modal if press escape * pass alt text in the description * Fix typo * Rm dialog --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add layout transitions to the composer photo gallery on iOS (#3609)Samuel Newman2024-04-182-10/+27
| | | | | | | | | * add layoutanimation + transition to images * make iOS-only * use useLayoutEffect * make iOS only (again)
* [Statsig] Make gate checks lazily (#3594)dan2024-04-184-12/+13
|
* don't underline handle in post meta (#3591)Hailey2024-04-182-31/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alignment remove the unnecessary styles now seriously? flex-end everything flex shrink test test rm unneeded flex flex the text don't underline handle in post meta * use `paddingLeft` * use `paddingLeft` but with `4` * Fix overflow color * Use nbsp to make mobile work --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add hovercards to "Reply To" (#3587)dan2024-04-162-12/+17
| | | | | * Add hovercard for Reply To * Tweak durations
* Automatically add a link card for URLs in the composer (#3566)Hailey2024-04-164-79/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * automatically add a link card for urls in the composer simplify was paste check use a set simplify the cross platform reuse web implementation remove log pasting in the middle of a block of text proper regex dont re-add immediately after paste and remove don't use `byteIndex` lfg automatically add link card * `mayBePaste` * remove accidentally pasted url from comment
* Use the existing `ExternalLinkEmbed` for embed previews in the composer (#3579)Hailey2024-04-161-85/+63
| | | | | * use existing `ExternalLinkEmbed` for showing previews * cleanup