project setup

This commit is contained in:
Sone
2025-11-02 10:08:56 +01:00
commit 568838003e
174 changed files with 27100 additions and 0 deletions
@@ -0,0 +1,60 @@
import { Pressable, Text, Animated } from "react-native";
import { Ionicons } from "@expo/vector-icons";
interface SidebarToggleProps {
textOpacity?: Animated.Value;
iconTranslateX?: Animated.Value;
onPress: () => void;
showLabel?: boolean;
size?: number;
color?: string;
className?: string;
}
export const SidebarToggle = ({
textOpacity,
iconTranslateX,
onPress,
showLabel = false,
size = 24,
color = "white",
className = "",
}: SidebarToggleProps) => {
return (
<Animated.View
style={{
paddingRight: showLabel ? 4 : 8,
paddingLeft: showLabel ? 16 : 8,
}}
>
<Pressable
onPress={onPress}
className={`flex-row items-center rounded-lg ${className}`}
>
<Animated.View
style={{
alignItems: "center",
justifyContent: "center",
...(showLabel && iconTranslateX !== undefined
? { transform: [{ translateX: iconTranslateX }] }
: { width: "100%" }),
}}
>
<Ionicons name="menu" size={size} color={color} />
</Animated.View>
{showLabel && (
<Animated.View
style={{
...(textOpacity !== undefined ? { opacity: textOpacity } : {}),
overflow: "hidden",
}}
>
<Text className="text-white text-lg ml-2" numberOfLines={1}>
Options
</Text>
</Animated.View>
)}
</Pressable>
</Animated.View>
);
};