···7878 postLanguage: z.string(),
7979 /**
8080 * The user's post language history, used to pre-populate the post language
8181- * selector in the composer. Within each value, multiple languages are
8282- * separated by values.
8181+ * selector in the composer. Within each value, multiple languages are separated
8282+ * by commas.
8383 *
8484 * BCP-47 2-letter language codes without region.
8585 */
+13-16
src/view/com/composer/Composer.tsx
···110110import {Gallery} from '#/view/com/composer/photos/Gallery'
111111import {OpenCameraBtn} from '#/view/com/composer/photos/OpenCameraBtn'
112112import {SelectGifBtn} from '#/view/com/composer/photos/SelectGifBtn'
113113-import {SelectPostLanguagesBtn} from '#/view/com/composer/select-language/SelectPostLanguagesDialog'
114113import {SuggestedLanguage} from '#/view/com/composer/select-language/SuggestedLanguage'
115114// TODO: Prevent naming components that coincide with RN primitives
116115// due to linting false positives
···123122import {UserAvatar} from '#/view/com/util/UserAvatar'
124123import {atoms as a, native, useTheme, web} from '#/alf'
125124import {Button, ButtonIcon, ButtonText} from '#/components/Button'
126126-import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
127127-import {EmojiArc_Stroke2_Corner0_Rounded as EmojiSmile} from '#/components/icons/Emoji'
128128-import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
125125+import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfoIcon} from '#/components/icons/CircleInfo'
126126+import {EmojiArc_Stroke2_Corner0_Rounded as EmojiSmileIcon} from '#/components/icons/Emoji'
127127+import {PlusLarge_Stroke2_Corner0_Rounded as PlusIcon} from '#/components/icons/Plus'
128128+import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times'
129129import {LazyQuoteEmbed} from '#/components/Post/Embed/LazyQuoteEmbed'
130130import * as Prompt from '#/components/Prompt'
131131import * as Toast from '#/components/Toast'
132132import {Text as NewText} from '#/components/Typography'
133133import {BottomSheetPortalProvider} from '../../../../modules/bottom-sheet'
134134+import {PostLanguageSelect} from './select-language/PostLanguageSelect'
134135import {
135136 type AssetType,
136137 SelectMediaButton,
···941942 })
942943 }
943944 }}>
944944- <ButtonIcon icon={X} />
945945+ <ButtonIcon icon={XIcon} />
945946 </Button>
946947 <Prompt.Basic
947948 control={discardPromptControl}
···14301431 variant="ghost"
14311432 shape="round"
14321433 color="primary">
14331433- <EmojiSmile size="lg" />
14341434+ <EmojiSmileIcon size="lg" />
14341435 </Button>
14351436 ) : null}
14361437 </ToolbarWrapper>
···14401441 <View style={[a.flex_row, a.align_center, a.justify_between]}>
14411442 {showAddButton && (
14421443 <Button
14431443- label={_(msg`Add new post`)}
14441444+ label={_(msg`Add another post to thread`)}
14441445 onPress={onAddPost}
14451445- style={[a.p_sm, a.m_2xs]}
14461446+ style={[a.p_sm]}
14461447 variant="ghost"
14471448 shape="round"
14481449 color="primary">
14491449- <FontAwesomeIcon
14501450- icon="add"
14511451- size={20}
14521452- color={t.palette.primary_500}
14531453- />
14501450+ <PlusIcon size="lg" />
14541451 </Button>
14551452 )}
14561456- <SelectPostLanguagesBtn />
14531453+ <PostLanguageSelect />
14571454 <CharProgress
14581455 count={post.shortenedGraphemeLength}
14591456 style={{width: 65}}
···17531750 t.atoms.bg_contrast_25,
17541751 ]}>
17551752 <View style={[a.relative, a.flex_row, a.gap_sm, {paddingRight: 48}]}>
17561756- <CircleInfo fill={t.palette.negative_400} />
17531753+ <CircleInfoIcon fill={t.palette.negative_400} />
17571754 <NewText style={[a.flex_1, a.leading_snug, {paddingTop: 1}]}>
17581755 {error}
17591756 </NewText>
···17651762 shape="round"
17661763 style={[a.absolute, {top: 0, right: 0}]}
17671764 onPress={onClearError}>
17681768- <ButtonIcon icon={X} />
17651765+ <ButtonIcon icon={XIcon} />
17691766 </Button>
17701767 </View>
17711768 {videoError && videoState.jobId && (