diff --git a/package.json b/package.json index 6cb83a3e59..6b6da85d96 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,7 @@ "eventemitter3": "^5.0.1", "expo": "^50.0.17", "expo-application": "^5.8.3", + "expo-blur": "^13.0.2", "expo-build-properties": "^0.11.1", "expo-camera": "~14.0.4", "expo-clipboard": "^5.0.1", diff --git a/src/alf/atoms.ts b/src/alf/atoms.ts index 3e5ddf049b..1a86311c33 100644 --- a/src/alf/atoms.ts +++ b/src/alf/atoms.ts @@ -1,4 +1,4 @@ -import {Platform} from 'react-native' +import {Platform, StyleSheet} from 'react-native' import * as tokens from '#/alf/tokens' import {native, web} from '#/alf/util/platform' @@ -284,6 +284,21 @@ export const atoms = { border_r: { borderRightWidth: 1, }, + border_hairline: { + borderWidth: StyleSheet.hairlineWidth, + }, + border_t_hairline: { + borderTopWidth: StyleSheet.hairlineWidth, + }, + border_b_hairline: { + borderBottomWidth: StyleSheet.hairlineWidth, + }, + border_l_hairline: { + borderLeftWidth: StyleSheet.hairlineWidth, + }, + border_r_hairline: { + borderRightWidth: StyleSheet.hairlineWidth, + }, /* * Shadow diff --git a/src/screens/Messages/Conversation/MessageInput.tsx b/src/screens/Messages/Conversation/MessageInput.tsx index a6ec125b71..c649aed5fd 100644 --- a/src/screens/Messages/Conversation/MessageInput.tsx +++ b/src/screens/Messages/Conversation/MessageInput.tsx @@ -24,6 +24,7 @@ import * as Toast from '#/view/com/util/Toast' import {atoms as a, useTheme} from '#/alf' import {useSharedInputStyles} from '#/components/forms/TextField' import {PaperPlane_Stroke2_Corner0_Rounded as PaperPlane} from '#/components/icons/PaperPlane' +import {InputPill} from './MessageInputElements' export function MessageInput({ onSendMessage, @@ -82,17 +83,14 @@ export function MessageInput({ ) return ( - - + - + ) } diff --git a/src/screens/Messages/Conversation/MessageInput.web.tsx b/src/screens/Messages/Conversation/MessageInput.web.tsx index ba41cc23c4..26c56edcb9 100644 --- a/src/screens/Messages/Conversation/MessageInput.web.tsx +++ b/src/screens/Messages/Conversation/MessageInput.web.tsx @@ -14,6 +14,7 @@ import * as Toast from '#/view/com/util/Toast' import {atoms as a, useTheme} from '#/alf' import {useSharedInputStyles} from '#/components/forms/TextField' import {PaperPlane_Stroke2_Corner0_Rounded as PaperPlane} from '#/components/icons/PaperPlane' +import {InputPill} from './MessageInputElements' export function MessageInput({ onSendMessage, @@ -65,10 +66,9 @@ export function MessageInput({ return ( - - + ) } diff --git a/src/screens/Messages/Conversation/MessageInputElements.ios.tsx b/src/screens/Messages/Conversation/MessageInputElements.ios.tsx new file mode 100644 index 0000000000..3e0449ed23 --- /dev/null +++ b/src/screens/Messages/Conversation/MessageInputElements.ios.tsx @@ -0,0 +1,42 @@ +import React from 'react' +import {View, ViewProps} from 'react-native' +import Animated from 'react-native-reanimated' +import {BlurView} from 'expo-blur' + +import {atoms as a, useTheme} from '#/alf' + +export function InputContainer({style, children, ...props}: ViewProps) { + const t = useTheme() + const lightMode = t.name === 'light' + return ( + + + {children} + + + ) +} + +export function InputPill({style, children, ...props}: ViewProps) { + const t = useTheme() + const lightMode = t.name === 'light' + return ( + + + {children} + + + ) +} diff --git a/src/screens/Messages/Conversation/MessageInputElements.tsx b/src/screens/Messages/Conversation/MessageInputElements.tsx new file mode 100644 index 0000000000..03d666ee82 --- /dev/null +++ b/src/screens/Messages/Conversation/MessageInputElements.tsx @@ -0,0 +1,15 @@ +import React from 'react' +import {View, ViewProps} from 'react-native' +import Animated from 'react-native-reanimated' + +import {useTheme} from '#/alf' + +export function InputContainer({style, ...props}: ViewProps) { + const t = useTheme() + return +} + +export function InputPill({style, ...props}: ViewProps) { + const t = useTheme() + return +} diff --git a/src/screens/Messages/Conversation/MessagesList.tsx b/src/screens/Messages/Conversation/MessagesList.tsx index 182eb63ec9..9e4e7f078e 100644 --- a/src/screens/Messages/Conversation/MessagesList.tsx +++ b/src/screens/Messages/Conversation/MessagesList.tsx @@ -24,11 +24,12 @@ import {isWeb} from 'platform/detection' import {List} from 'view/com/util/List' import {MessageInput} from '#/screens/Messages/Conversation/MessageInput' import {MessageListError} from '#/screens/Messages/Conversation/MessageListError' -import {atoms as a, useBreakpoints, useTheme} from '#/alf' +import {atoms as a, useBreakpoints} from '#/alf' import {MessageItem} from '#/components/dms/MessageItem' import {NewMessagesPill} from '#/components/dms/NewMessagesPill' import {Loader} from '#/components/Loader' import {Text} from '#/components/Typography' +import {InputContainer} from './MessageInputElements' function MaybeLoader({isLoading}: {isLoading: boolean}) { return ( @@ -65,7 +66,6 @@ function onScrollToIndexFailed() { } export function MessagesList() { - const t = useTheme() const convo = useConvoActive() const {getAgent} = useAgent() const flatListRef = useAnimatedRef() @@ -318,9 +318,9 @@ export function MessagesList() { /> {showNewMessagesPill && } - + - + ) } diff --git a/yarn.lock b/yarn.lock index 1e7fd33bcc..b18221d09f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11673,6 +11673,11 @@ expo-asset@~9.0.2: invariant "^2.2.4" md5-file "^3.2.3" +expo-blur@^13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/expo-blur/-/expo-blur-13.0.2.tgz#c2d179b19b13830db1d8b90c51373235f462e958" + integrity sha512-t2p7BChO3Reykued++QJRMZ/og6J3aXtSQ+bU31YcBeXhZLkHwjWEhiPKPnJka7J2/yTs4+jOCNDY0kCZmcE3w== + expo-build-properties@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-0.11.1.tgz#dc9ab9fb1ac989b97da500b3ec75139c961d8b26"