Fix gradient, splash screens

This commit is contained in:
Milan Paunovic
2024-10-21 02:59:48 +02:00
parent f6dc0a62fb
commit 64ee7b38ac
12 changed files with 117 additions and 120 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,5 +1,5 @@
<resources> <resources>
<string name="app_name">Cally.</string> <string name="app_name">"Cally "</string>
<string name="expo_splash_screen_resize_mode" translatable="false">contain</string> <string name="expo_splash_screen_resize_mode" translatable="false">contain</string>
<string name="expo_splash_screen_status_bar_translucent" translatable="false">false</string> <string name="expo_splash_screen_status_bar_translucent" translatable="false">false</string>
<string name="expo_system_ui_user_interface_style" translatable="false">light</string> <string name="expo_system_ui_user_interface_style" translatable="false">light</string>

View File

@ -1,4 +1,4 @@
rootProject.name = 'Cally.' rootProject.name = 'Cally '
dependencyResolutionManagement { dependencyResolutionManagement {
versionCatalogs { versionCatalogs {

View File

@ -1,64 +1,56 @@
import { StyleSheet } from "react-native"; import {StyleSheet} from "react-native";
import React, { useState } from "react"; import React, {useState} from "react";
import { Button, ButtonSize, Text, View } from "react-native-ui-lib"; import {Button, ButtonSize, Text, View} from "react-native-ui-lib";
import { AntDesign } from "@expo/vector-icons"; import {AntDesign} from "@expo/vector-icons";
import LinearGradient from "react-native-linear-gradient"; import LinearGradient from "react-native-linear-gradient";
import AddChoreDialog from "./AddChoreDialog"; import AddChoreDialog from "./AddChoreDialog";
const AddChore = () => { const AddChore = () => {
const [isVisible, setIsVisible] = useState<boolean>(false);
const [isVisible, setIsVisible] = useState<boolean>(false); return (
<LinearGradient
return ( colors={["#f9f8f700", "#f9f8f7", "#f9f8f700"]}
<LinearGradient locations={[0, 0.5, 1]}
colors={["transparent", "#f9f8f7"]} style={styles.gradient}
locations={[0, 0.5]}
style={styles.gradient}
>
<View style={styles.buttonContainer}>
<Button
marginH-25
size={ButtonSize.large}
style={styles.button}
onPress={() => setIsVisible(!isVisible)}
> >
<AntDesign name="plus" size={24} color="white" /> <View style={styles.buttonContainer}>
<Text white text60R marginL-10> <Button
Add To Do marginH-25
</Text> size={ButtonSize.large}
</Button> style={styles.button}
</View> onPress={() => setIsVisible(!isVisible)}
<AddChoreDialog isVisible={isVisible} setIsVisible={setIsVisible} /> >
</LinearGradient> <AntDesign name="plus" size={24} color="white"/>
); <Text white text60R marginL-10>
Create new to do
</Text>
</Button>
</View>
<AddChoreDialog isVisible={isVisible} setIsVisible={setIsVisible}/>
</LinearGradient>
);
}; };
export default AddChore; export default AddChore;
const styles = StyleSheet.create({ const styles = StyleSheet.create({
divider: { height: 1, backgroundColor: "#e4e4e4", marginVertical: 15 }, gradient: {
gradient: { height: 150,
height: "25%", position: "absolute",
position: "absolute", bottom: 0,
bottom: 0, width: "100%",
width: "100%", justifyContent: "center",
}, alignItems: "center",
buttonContainer: { },
position: "absolute", buttonContainer: {
bottom: 25, width: "100%",
width: "100%", alignItems: "center",
}, },
button: { button: {
backgroundColor: "rgb(253, 23, 117)", backgroundColor: "rgb(253, 23, 117)",
paddingVertical: 20, paddingVertical: 15,
}, paddingHorizontal: 30,
topBtn: { borderRadius: 30,
backgroundColor: "white", },
color: "#05a8b6",
},
rotateSwitch: {
marginLeft: 35,
marginBottom: 10,
marginTop: 25,
},
}); });

View File

@ -1,79 +1,83 @@
import { View, Text, Button, ButtonSize } from "react-native-ui-lib"; import {Button, Text, View} from "react-native-ui-lib";
import React, { useState } from "react"; import React, {useState} from "react";
import HeaderTemplate from "@/components/shared/HeaderTemplate"; import HeaderTemplate from "@/components/shared/HeaderTemplate";
import AddChore from "./AddChore"; import AddChore from "./AddChore";
import ProgressCard from "./ProgressCard"; import ProgressCard from "./ProgressCard";
import ToDosList from "./ToDosList"; import ToDosList from "./ToDosList";
import { Dimensions, ScrollView } from "react-native"; import {Dimensions, ScrollView, StyleSheet} from "react-native";
import { StyleSheet } from "react-native"; import {TouchableOpacity} from "react-native-gesture-handler";
import { TouchableOpacity } from "react-native-gesture-handler"; import {ProfileType, useAuthContext} from "@/contexts/AuthContext";
import { ProfileType, useAuthContext } from "@/contexts/AuthContext";
import FamilyChoresProgress from "./family-chores/FamilyChoresProgress"; import FamilyChoresProgress from "./family-chores/FamilyChoresProgress";
import UserChoresProgress from "./user-chores/UserChoresProgress"; import UserChoresProgress from "./user-chores/UserChoresProgress";
const ToDosPage = () => { const ToDosPage = () => {
const [pageIndex, setPageIndex] = useState<number>(0); const [pageIndex, setPageIndex] = useState<number>(0);
const { profileData } = useAuthContext(); const {profileData} = useAuthContext();
const { width, height } = Dimensions.get("screen"); const {width, height} = Dimensions.get("screen");
const pageLink = ( const pageLink = (
<TouchableOpacity onPress={() => setPageIndex(1)}> <TouchableOpacity onPress={() => setPageIndex(1)}>
<Text color="#ea156d" style={{ fontSize: 14 }}> <Text color="#ea156d" style={{fontSize: 14}}>
View family progress View family progress
</Text> </Text>
</TouchableOpacity> </TouchableOpacity>
); );
return ( return (
<View paddingH-25 backgroundColor="#f9f8f7" height={"100%"} width={width}> <>
{pageIndex == 0 && ( <View paddingH-25 backgroundColor="#f9f8f7" height={"100%"} width={width}>
<View> {pageIndex == 0 && (
<ScrollView <View>
showsVerticalScrollIndicator={false} <ScrollView
showsHorizontalScrollIndicator={false} showsVerticalScrollIndicator={false}
> showsHorizontalScrollIndicator={false}
<View>
<HeaderTemplate
message="Here are your To Do's"
isWelcome={true}
link={profileData?.userType == ProfileType.PARENT && pageLink}
/>
{profileData?.userType == ProfileType.CHILD && (
<View marginB-25>
<ProgressCard
children={
<Button
backgroundColor="transparent"
onPress={() => setPageIndex(2)}
>
<Text
style={{
textDecorationLine: "underline",
color: "#05a8b6",
}}
> >
View your full progress report here <View>
</Text> <HeaderTemplate
</Button> message="Here are your To Do's"
} isWelcome={true}
/> link={profileData?.userType == ProfileType.PARENT && pageLink}
</View> />
)} {profileData?.userType == ProfileType.CHILD && (
<ToDosList /> <View marginB-25>
<ProgressCard
children={
<Button
backgroundColor="transparent"
onPress={() => setPageIndex(2)}
>
<Text
style={{
textDecorationLine: "underline",
color: "#05a8b6",
}}
>
View your full progress report here
</Text>
</Button>
}
/>
</View>
)}
<ToDosList/>
</View>
</ScrollView>
</View>
)}
{pageIndex == 1 && <FamilyChoresProgress setPageIndex={setPageIndex}/>}
{pageIndex == 2 && <UserChoresProgress setPageIndex={setPageIndex}/>}
</View> </View>
</ScrollView> {
{profileData?.userType == ProfileType.PARENT && <AddChore />} profileData?.userType == ProfileType.PARENT && <AddChore/>
</View> }
)} </>
{pageIndex == 1 && <FamilyChoresProgress setPageIndex={setPageIndex} />} )
{pageIndex == 2 && <UserChoresProgress setPageIndex={setPageIndex} />} ;
</View>
);
}; };
const styles = StyleSheet.create({ const styles = StyleSheet.create({
linkBtn: { linkBtn: {
backgroundColor: "transparent", backgroundColor: "transparent",
padding: 0, padding: 0,
}, },
}); });
export default ToDosPage; export default ToDosPage;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -9,7 +9,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Cally.</string> <string>Cally </string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
@ -112,6 +112,7 @@
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string> <string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string> <string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string> <string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
</array> </array>
<key>UILaunchStoryboardName</key> <key>UILaunchStoryboardName</key>
<string>SplashScreen</string> <string>SplashScreen</string>

View File

@ -8884,7 +8884,7 @@ react-native-linear-gradient@^2.8.3:
react-native-onboarding-swiper@^1.3.0: react-native-onboarding-swiper@^1.3.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.npmjs.org/react-native-onboarding-swiper/-/react-native-onboarding-swiper-1.3.0.tgz" resolved "https://registry.yarnpkg.com/react-native-onboarding-swiper/-/react-native-onboarding-swiper-1.3.0.tgz#a97f945f03a036845242b3e1f319c6fdb262bc2b"
integrity sha512-2ZPMrZrJFgR5dmVWIj60x/vTBWrm0BZPuc2w7Cz2Sq/8ChypCi3oL8F7GYMrzky1fmknCS6Z0WPphfZVpnLUnQ== integrity sha512-2ZPMrZrJFgR5dmVWIj60x/vTBWrm0BZPuc2w7Cz2Sq/8ChypCi3oL8F7GYMrzky1fmknCS6Z0WPphfZVpnLUnQ==
dependencies: dependencies:
tinycolor2 "^1.4.1" tinycolor2 "^1.4.1"