First commit

This commit is contained in:
2026-04-21 16:48:51 +02:00
parent 82bfb1666e
commit c751e28fce
45 changed files with 420 additions and 684 deletions

28
apk/app/_layout.tsx Normal file
View File

@@ -0,0 +1,28 @@
import {
DarkTheme,
DefaultTheme,
ThemeProvider,
} from "@react-navigation/native";
import { Stack } from "expo-router";
import { StatusBar } from "expo-status-bar";
import "react-native-reanimated";
import { useColorScheme } from "@/hooks/use-color-scheme";
export const unstable_settings = {
anchor: "(tabs)",
};
export default function RootLayout() {
const colorScheme = useColorScheme();
return (
<ThemeProvider value={colorScheme === "dark" ? DarkTheme : DefaultTheme}>
<Stack>
<Stack.Screen name="index" options={{ headerShown: false }} />
<Stack.Screen name="add" options={{ headerShown: false }} />
</Stack>
<StatusBar style="auto" />
</ThemeProvider>
);
}

80
apk/app/add.tsx Normal file
View File

@@ -0,0 +1,80 @@
import DateTimePicker from "@react-native-community/datetimepicker";
import { useRouter } from "expo-router";
import React, { useState } from "react";
import {
Button,
Platform,
StyleSheet,
Text,
TextInput,
View,
} from "react-native";
export default function SimpleForm() {
const router = useRouter();
const [name, setName] = useState("");
const [date, setDate] = useState(new Date());
const [showPicker, setShowPicker] = useState(false);
const onChangeDate = (event, selectedDate) => {
setShowPicker(Platform.OS === "ios");
if (selectedDate) {
setDate(selectedDate);
}
};
const handleSubmit = () => {
alert(`Name: ${name}\nDate: ${date.toDateString()}`);
router.push("/");
};
return (
<View style={styles.container}>
<Text style={styles.label}>Name:</Text>
<TextInput
style={styles.input}
placeholder="Enter your name"
value={name}
onChangeText={setName}
/>
<Text style={styles.label}>Date:</Text>
<Button title="Select Date" onPress={() => setShowPicker(true)} />
<Text style={styles.dateText}>{date.toDateString()}</Text>
{showPicker && (
<DateTimePicker
value={date}
mode="date"
display="default"
onChange={onChangeDate}
/>
)}
<Button title="Submit" onPress={handleSubmit} />
</View>
);
}
const styles = StyleSheet.create({
container: {
padding: 20,
marginTop: 50,
},
label: {
fontSize: 16,
marginBottom: 5,
},
input: {
borderWidth: 1,
borderColor: "#ccc",
padding: 10,
marginBottom: 15,
borderRadius: 5,
},
dateText: {
marginVertical: 10,
fontSize: 16,
},
});

22
apk/app/index.tsx Normal file
View File

@@ -0,0 +1,22 @@
import { StyleSheet } from "react-native";
import { BirthdayList } from "@/components/birthdate-list";
import ScrollView from "@/components/scroll-view";
import { View } from "react-native";
export default function HomeScreen() {
return (
<ScrollView>
<View style={styles.titleContainer}>
<BirthdayList></BirthdayList>
</View>
</ScrollView>
);
}
const styles = StyleSheet.create({
titleContainer: {
gap: 8,
margin: 20,
},
});