···
import { Message } from "@/components/Chat/Message";
import { Loading } from "@/components/primitives/Loading";
import { Text } from "@/components/primitives/Text";
import { useChannel } from "@/lib/hooks/useChannel";
import type { AtUri } from "@/lib/types/atproto";
import { useProfile } from "@/providers/authed/ProfileProvider";
import { useCurrentPalette } from "@/providers/ThemeProvider";
import { useState } from "react";
···
const { messages, sendMessageToChannel, isConnected } =
useChannel(channelAtUri);
const { semantic } = useCurrentPalette();
const handleSend = () => {
···
justifyContent: "space-between",
-
borderBottomColor: semantic.border,
···
-
borderRadius: 2000000000,
source={{ uri: profile.avatar }}
···
-
borderBottomColor: semantic.border,
···
renderItem={({ item }) => <Message message={item} />}
-
keyExtractor={(item, index) => index.toString()}
-
borderTopColor: semantic.border,
-
borderColor: semantic.border,
onChangeText={setInputText}
placeholderTextColor={semantic.textTertiary}
onSubmitEditing={handleSend}
-
backgroundColor: semantic.primary,
justifyContent: "center",
-
color: semantic.textInverse,
···
import { Message } from "@/components/Chat/Message";
import { Loading } from "@/components/primitives/Loading";
import { Text } from "@/components/primitives/Text";
+
import { useFacet } from "@/lib/facet";
import { useChannel } from "@/lib/hooks/useChannel";
import type { AtUri } from "@/lib/types/atproto";
import { useProfile } from "@/providers/authed/ProfileProvider";
import { useCurrentPalette } from "@/providers/ThemeProvider";
+
import { ArrowUp } from "lucide-react-native";
import { useState } from "react";
···
const { messages, sendMessageToChannel, isConnected } =
useChannel(channelAtUri);
const { semantic } = useCurrentPalette();
+
const { typography, atoms } = useFacet();
const handleSend = () => {
···
justifyContent: "space-between",
+
borderBottomColor: semantic.borderVariant,
···
+
borderRadius: atoms.radii.full,
source={{ uri: profile.avatar }}
···
+
borderBottomColor: semantic.borderVariant,
···
+
data={messages.toReversed()}
renderItem={({ item }) => <Message message={item} />}
+
keyExtractor={(_, index) => index.toString()}
+
showsVerticalScrollIndicator={false}
+
borderColor: semantic.border,
onChangeText={setInputText}
placeholderTextColor={semantic.textTertiary}
onSubmitEditing={handleSend}
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- can't get it working with the new prop.
+
backgroundColor: inputText.trim()
+
borderRadius: atoms.radii.full,
justifyContent: "center",
+
<ArrowUp height={20} width={20} />