mirror of
https://github.com/urosran/cally.git
synced 2025-07-15 17:47:08 +00:00
84 lines
2.2 KiB
TypeScript
84 lines
2.2 KiB
TypeScript
import { View, Text, TouchableOpacity, Picker } from "react-native-ui-lib";
|
|
import React, { useEffect, useState } from "react";
|
|
|
|
const RepeatFreq = () => {
|
|
const [weeks, setWeeks] = useState<number>(1);
|
|
const weekOptions: number[] = Array.from({ length: 52 }, (_, i) => i + 1);
|
|
|
|
useEffect(() => {
|
|
}, [weeks]);
|
|
|
|
return (
|
|
<View row centerV>
|
|
<View row centerV>
|
|
<RepeatOption value={"Monday"} />
|
|
<RepeatOption value={"Tuesday"} />
|
|
<RepeatOption value={"Wednesday"} />
|
|
<RepeatOption value={"Thirsday"} />
|
|
<RepeatOption value={"Friday"} />
|
|
<RepeatOption value={"Saturday"} />
|
|
<RepeatOption value={"Sunday"} />
|
|
</View>
|
|
<View row gap-5 centerV>
|
|
<Picker
|
|
centered
|
|
marginL-10
|
|
marginR-0
|
|
paddingR-0
|
|
textAlign="right"
|
|
trailingAccessory={
|
|
<Text
|
|
style={{ fontFamily: "Manrope_600SemiBold", color: "#fd1575" }}
|
|
>
|
|
{weeks == 1 ? "Week" : "Weeks"}
|
|
</Text>
|
|
}
|
|
value={weeks}
|
|
onChange={(value) => {
|
|
if (typeof value === "number") {
|
|
setWeeks(value);
|
|
}
|
|
}}
|
|
placeholder={"Select number of weeks"}
|
|
useWheelPicker
|
|
color={"#fd1575"}
|
|
style={{
|
|
maxWidth: 18,
|
|
fontFamily: "Manrope_700Bold",
|
|
}}
|
|
containerStyle={{
|
|
borderWidth: 1,
|
|
borderRadius: 6,
|
|
paddingRight: 5,
|
|
paddingLeft: 3,
|
|
borderColor: "#fd1575",
|
|
backgroundColor: "#ffe8f1",
|
|
}}
|
|
>
|
|
{weekOptions.map((num) => (
|
|
<Picker.Item key={num} value={num} label={`${num}`} />
|
|
))}
|
|
</Picker>
|
|
</View>
|
|
</View>
|
|
);
|
|
};
|
|
|
|
export default RepeatFreq;
|
|
|
|
const RepeatOption = ({ value }: { value: string }) => {
|
|
const [isSet, setisSet] = useState(false);
|
|
return (
|
|
<TouchableOpacity padding-10 center onPress={() => setisSet(!isSet)}>
|
|
<Text
|
|
style={{
|
|
fontFamily: !isSet ? "Manrope_400Regular" : "Manrope_700Bold",
|
|
color: isSet ? "#fd1575" : "gray",
|
|
}}
|
|
>
|
|
{value.at(0)}
|
|
</Text>
|
|
</TouchableOpacity>
|
|
);
|
|
};
|