From 9824de315c44a3549e78dc724449a96a53069784 Mon Sep 17 00:00:00 2001 From: ezouu Date: Thu, 8 May 2025 10:17:36 -0700 Subject: [PATCH 01/33] test --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index afe124f3fb..9cc861ad91 100644 --- a/README.md +++ b/README.md @@ -237,3 +237,7 @@ Check the file [release-notes.md](./release-notes.md). ## License The Full Stack FastAPI Template is licensed under the terms of the MIT license. + + +## git push test +-test \ No newline at end of file From 2b67a392f866c1134d8b2c0890e2f5e8e769884a Mon Sep 17 00:00:00 2001 From: ezouu Date: Thu, 8 May 2025 11:25:52 -0700 Subject: [PATCH 02/33] converted code from react to native --- .expo/README.md | 15 + .expo/settings.json | 8 + KonditionExpo/.gitignore | 39 + KonditionExpo/README.md | 50 + KonditionExpo/app.json | 42 + KonditionExpo/app/(tabs)/_layout.tsx | 45 + KonditionExpo/app/(tabs)/explore.tsx | 147 + KonditionExpo/app/(tabs)/index.tsx | 94 + KonditionExpo/app/+not-found.tsx | 32 + KonditionExpo/app/_layout.tsx | 30 + KonditionExpo/app/login.tsx | 199 + .../assets/fonts/SpaceMono-Regular.ttf | Bin 0 -> 93252 bytes KonditionExpo/assets/images/adaptive-icon.png | Bin 0 -> 17547 bytes KonditionExpo/assets/images/favicon.png | Bin 0 -> 1466 bytes KonditionExpo/assets/images/icon.png | Bin 0 -> 22380 bytes .../assets/images/partial-react-logo.png | Bin 0 -> 5075 bytes KonditionExpo/assets/images/react-logo.png | Bin 0 -> 6341 bytes KonditionExpo/assets/images/react-logo@2x.png | Bin 0 -> 14225 bytes KonditionExpo/assets/images/react-logo@3x.png | Bin 0 -> 21252 bytes KonditionExpo/assets/images/splash-icon.png | Bin 0 -> 17547 bytes KonditionExpo/components/Collapsible.tsx | 45 + KonditionExpo/components/ExternalLink.tsx | 24 + KonditionExpo/components/HapticTab.tsx | 18 + KonditionExpo/components/HelloWave.tsx | 40 + .../components/ParallaxScrollView.tsx | 82 + KonditionExpo/components/ThemedText.tsx | 60 + KonditionExpo/components/ThemedView.tsx | 14 + KonditionExpo/components/ui/Button.tsx | 155 + KonditionExpo/components/ui/Checkbox.tsx | 108 + KonditionExpo/components/ui/Dialog.tsx | 148 + .../components/ui/IconSymbol.ios.tsx | 32 + KonditionExpo/components/ui/IconSymbol.tsx | 41 + KonditionExpo/components/ui/Input.tsx | 148 + .../components/ui/TabBarBackground.ios.tsx | 19 + .../components/ui/TabBarBackground.tsx | 6 + KonditionExpo/constants/Colors.ts | 30 + KonditionExpo/eslint.config.js | 10 + KonditionExpo/hooks/useColorScheme.ts | 1 + KonditionExpo/hooks/useColorScheme.web.ts | 21 + KonditionExpo/hooks/useThemeColor.ts | 21 + KonditionExpo/package-lock.json | 13651 ++++++++++++++++ KonditionExpo/package.json | 50 + KonditionExpo/scripts/reset-project.js | 112 + KonditionExpo/tsconfig.json | 17 + 44 files changed, 15554 insertions(+) create mode 100644 .expo/README.md create mode 100644 .expo/settings.json create mode 100644 KonditionExpo/.gitignore create mode 100644 KonditionExpo/README.md create mode 100644 KonditionExpo/app.json create mode 100644 KonditionExpo/app/(tabs)/_layout.tsx create mode 100644 KonditionExpo/app/(tabs)/explore.tsx create mode 100644 KonditionExpo/app/(tabs)/index.tsx create mode 100644 KonditionExpo/app/+not-found.tsx create mode 100644 KonditionExpo/app/_layout.tsx create mode 100644 KonditionExpo/app/login.tsx create mode 100755 KonditionExpo/assets/fonts/SpaceMono-Regular.ttf create mode 100644 KonditionExpo/assets/images/adaptive-icon.png create mode 100644 KonditionExpo/assets/images/favicon.png create mode 100644 KonditionExpo/assets/images/icon.png create mode 100644 KonditionExpo/assets/images/partial-react-logo.png create mode 100644 KonditionExpo/assets/images/react-logo.png create mode 100644 KonditionExpo/assets/images/react-logo@2x.png create mode 100644 KonditionExpo/assets/images/react-logo@3x.png create mode 100644 KonditionExpo/assets/images/splash-icon.png create mode 100644 KonditionExpo/components/Collapsible.tsx create mode 100644 KonditionExpo/components/ExternalLink.tsx create mode 100644 KonditionExpo/components/HapticTab.tsx create mode 100644 KonditionExpo/components/HelloWave.tsx create mode 100644 KonditionExpo/components/ParallaxScrollView.tsx create mode 100644 KonditionExpo/components/ThemedText.tsx create mode 100644 KonditionExpo/components/ThemedView.tsx create mode 100644 KonditionExpo/components/ui/Button.tsx create mode 100644 KonditionExpo/components/ui/Checkbox.tsx create mode 100644 KonditionExpo/components/ui/Dialog.tsx create mode 100644 KonditionExpo/components/ui/IconSymbol.ios.tsx create mode 100644 KonditionExpo/components/ui/IconSymbol.tsx create mode 100644 KonditionExpo/components/ui/Input.tsx create mode 100644 KonditionExpo/components/ui/TabBarBackground.ios.tsx create mode 100644 KonditionExpo/components/ui/TabBarBackground.tsx create mode 100644 KonditionExpo/constants/Colors.ts create mode 100644 KonditionExpo/eslint.config.js create mode 100644 KonditionExpo/hooks/useColorScheme.ts create mode 100644 KonditionExpo/hooks/useColorScheme.web.ts create mode 100644 KonditionExpo/hooks/useThemeColor.ts create mode 100644 KonditionExpo/package-lock.json create mode 100644 KonditionExpo/package.json create mode 100755 KonditionExpo/scripts/reset-project.js create mode 100644 KonditionExpo/tsconfig.json diff --git a/.expo/README.md b/.expo/README.md new file mode 100644 index 0000000000..fd146b4d3a --- /dev/null +++ b/.expo/README.md @@ -0,0 +1,15 @@ +> Why do I have a folder named ".expo" in my project? + +The ".expo" folder is created when an Expo project is started using "expo start" command. + +> What do the files contain? + +- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds. +- "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator. +- "settings.json": contains the server configuration that is used to serve the application manifest. + +> Should I commit the ".expo" folder? + +No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine. + +Upon project creation, the ".expo" folder is already added to your ".gitignore" file. diff --git a/.expo/settings.json b/.expo/settings.json new file mode 100644 index 0000000000..92bc513bfd --- /dev/null +++ b/.expo/settings.json @@ -0,0 +1,8 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null, + "https": false +} diff --git a/KonditionExpo/.gitignore b/KonditionExpo/.gitignore new file mode 100644 index 0000000000..f610ec0d64 --- /dev/null +++ b/KonditionExpo/.gitignore @@ -0,0 +1,39 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ +expo-env.d.ts + +# Native +.kotlin/ +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo + +app-example diff --git a/KonditionExpo/README.md b/KonditionExpo/README.md new file mode 100644 index 0000000000..48dd63ff3e --- /dev/null +++ b/KonditionExpo/README.md @@ -0,0 +1,50 @@ +# Welcome to your Expo app 👋 + +This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app). + +## Get started + +1. Install dependencies + + ```bash + npm install + ``` + +2. Start the app + + ```bash + npx expo start + ``` + +In the output, you'll find options to open the app in a + +- [development build](https://docs.expo.dev/develop/development-builds/introduction/) +- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) +- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) +- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo + +You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction). + +## Get a fresh project + +When you're ready, run: + +```bash +npm run reset-project +``` + +This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing. + +## Learn more + +To learn more about developing your project with Expo, look at the following resources: + +- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides). +- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web. + +## Join the community + +Join our community of developers creating universal apps. + +- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute. +- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions. diff --git a/KonditionExpo/app.json b/KonditionExpo/app.json new file mode 100644 index 0000000000..a98dd8b7af --- /dev/null +++ b/KonditionExpo/app.json @@ -0,0 +1,42 @@ +{ + "expo": { + "name": "KonditionExpo", + "slug": "KonditionExpo", + "version": "1.0.0", + "orientation": "portrait", + "icon": "./assets/images/icon.png", + "scheme": "konditionexpo", + "userInterfaceStyle": "automatic", + "newArchEnabled": true, + "ios": { + "supportsTablet": true + }, + "android": { + "adaptiveIcon": { + "foregroundImage": "./assets/images/adaptive-icon.png", + "backgroundColor": "#ffffff" + }, + "edgeToEdgeEnabled": true + }, + "web": { + "bundler": "metro", + "output": "static", + "favicon": "./assets/images/favicon.png" + }, + "plugins": [ + "expo-router", + [ + "expo-splash-screen", + { + "image": "./assets/images/splash-icon.png", + "imageWidth": 200, + "resizeMode": "contain", + "backgroundColor": "#ffffff" + } + ] + ], + "experiments": { + "typedRoutes": true + } + } +} diff --git a/KonditionExpo/app/(tabs)/_layout.tsx b/KonditionExpo/app/(tabs)/_layout.tsx new file mode 100644 index 0000000000..cfbc1e236a --- /dev/null +++ b/KonditionExpo/app/(tabs)/_layout.tsx @@ -0,0 +1,45 @@ +import { Tabs } from 'expo-router'; +import React from 'react'; +import { Platform } from 'react-native'; + +import { HapticTab } from '@/components/HapticTab'; +import { IconSymbol } from '@/components/ui/IconSymbol'; +import TabBarBackground from '@/components/ui/TabBarBackground'; +import { Colors } from '@/constants/Colors'; +import { useColorScheme } from '@/hooks/useColorScheme'; + +export default function TabLayout() { + const colorScheme = useColorScheme(); + + return ( + + , + }} + /> + , + }} + /> + + ); +} diff --git a/KonditionExpo/app/(tabs)/explore.tsx b/KonditionExpo/app/(tabs)/explore.tsx new file mode 100644 index 0000000000..1e3f34ba8d --- /dev/null +++ b/KonditionExpo/app/(tabs)/explore.tsx @@ -0,0 +1,147 @@ +import { StyleSheet, ScrollView, View } from 'react-native'; +import { Ionicons } from '@expo/vector-icons'; + +import { ThemedText } from '@/components/ThemedText'; +import { ThemedView } from '@/components/ThemedView'; +import { useThemeColor } from '@/hooks/useThemeColor'; + +interface FeatureItemProps { + number: number; + title: string; + icon: keyof typeof Ionicons.glyphMap; +} + +const FeatureItem = ({ number, title, icon }: FeatureItemProps) => { + const tintColor = useThemeColor({}, 'tint'); + + return ( + + + {number} + + + {title} + + + + ); +}; + +export default function ExploreScreen() { + const backgroundColor = useThemeColor({}, 'background'); + + return ( + + + + FEATURES + + + Explore all the features Kondition has to offer + + + + + + + + + + + + + + + + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + }, + headerContainer: { + padding: 20, + paddingTop: 60, + alignItems: 'center', + marginBottom: 20, + }, + headerTitle: { + fontSize: 32, + fontWeight: 'bold', + marginBottom: 10, + textAlign: 'center', + }, + headerSubtitle: { + fontSize: 16, + textAlign: 'center', + opacity: 0.8, + marginBottom: 10, + }, + featureItem: { + marginHorizontal: 20, + marginBottom: 16, + borderRadius: 12, + overflow: 'hidden', + }, + featureNumberContainer: { + paddingVertical: 8, + paddingHorizontal: 16, + alignItems: 'center', + justifyContent: 'center', + }, + featureNumber: { + color: 'white', + fontWeight: 'bold', + fontSize: 18, + }, + featureContent: { + padding: 16, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + featureTitle: { + fontSize: 18, + fontWeight: 'bold', + }, + featureIcon: { + marginLeft: 8, + }, +}); diff --git a/KonditionExpo/app/(tabs)/index.tsx b/KonditionExpo/app/(tabs)/index.tsx new file mode 100644 index 0000000000..4a2f15b351 --- /dev/null +++ b/KonditionExpo/app/(tabs)/index.tsx @@ -0,0 +1,94 @@ +import { Image } from 'expo-image'; +import { StyleSheet, View, ScrollView } from 'react-native'; +import { router } from 'expo-router'; + +import { ThemedText } from '@/components/ThemedText'; +import { ThemedView } from '@/components/ThemedView'; +import { Button } from '@/components/ui/Button'; +import { useThemeColor } from '@/hooks/useThemeColor'; + +export default function HomeScreen() { + const handleNavigateToLogin = () => { + router.replace('../login'); + }; + + const backgroundColor = useThemeColor({}, 'background'); + + return ( + + {/* Hero Section */} + + + KONDITION + Your Personal Fitness Journey Starts Here + +