* tweak
* error state for upload toolbar
* catch errors in upload status query
* stop query on error
---------
Co-authored-by: Hailey <me@haileyok.com>
* Animate the like button
* Respect reduced motion
* Move like count into animated component
* Animate text
* Fix layout on Android
* Animate text backwards too
* Fix bad copypasta
* Reflect nonlocal updates to animated values
* video settings modal in composer
* show done button on web
* rm download options
* fix logic for showing settings button
* add language picker (wip)
* subtitle list with language select
* send captions & alt text with video when posting
* style "ensure you have selected a language" text
* include aspect ratio with video
* filter out captions where the lang is not set
* rm log
* fix label and add hint
* minor scrubber fix
* Rename variable to disambiguate with parent scope
* More variables where they are used
* Inline variables
* Add suggestions in profile
* Gate it
* rm space
* Remove header suggestions under gate
* refactor: consistent localized formatting
* refactor: localized date time
* refactor: localize relative time with strings
* chore: fix typo from copy-paste
* Clean up useTimeAgo
* Remove old ago
* Const
* Reuse
* Prettier
---------
Co-authored-by: Mary <git@mary.my.id>
* implement AppBskyEmbedVideo lexicon in player
* add alt to native player
* add prerelease package
* update prerelease
* add video embed view manually from record
* fix type error on example video
* black bg + use aspect ratio on web
* add video to feeds
* fix video overflowing aspect ratio
* remove prerelease package
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Split minimal shell mode into headerMode and footerMode
For now, we'll always write them in sync. When we read them, we'll use headerMode as source of truth. This will let us keep footerMode independent in a future commit.
* Remove fixed_bottom_bar special cases during calculation
This isn't the right time to determine special behavior. Instead we'll adjust footerMode itself conditionally on the gate.
* Copy-paste setMode into MainScrollProvider
This lets us fork the implementation later just for this case.
* Gate footer adjustment in MainScrollProvider
This is the final piece. Normal calls to setMode() keep setting both header and footer, but MainScrollProvider adjusts the footer conditionally.
* show quote posts
* fix filter
* fix keyExtractor
* move likedby and repostedby to new file structure
* use modern list component
* remove relative imports
* update quotes count after quoting
* call `onPost` after updating quote count
* Revert "update quotes count after quoting"
This reverts commit 1f1887730a210c57c1e5a0eb0f47c42c42cf1b4b.
* implement
* update like count in quotes list
* only add `onPostReply` where needed
* Filter quotes with detached embeds
* Bump SDK
* Don't show error for no results
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
Co-authored-by: Eric Bailey <git@esb.lol>