import { TouchableOpacity, View, ViewProps } from "react-native"; import { Text } from "@/components/common/Text"; import { tc } from "@/utils/textTools"; import { useState } from "react"; interface Props extends ViewProps { text?: string | null; characterLimit?: number; } export const OverviewText: React.FC = ({ text, characterLimit = 140, ...props }) => { const [limit, setLimit] = useState(characterLimit); if (!text) return null; if (text.length > characterLimit) return ( setLimit((prev) => prev === characterLimit ? text.length : characterLimit ) } {...props} > {tc(text, limit)} {limit === characterLimit ? "Show more" : "Show less"} ); return ( {text} ); };