diff --git a/app/index.jsx b/app/index.jsx
index cc80476..95589ff 100755
--- a/app/index.jsx
+++ b/app/index.jsx
@@ -4,11 +4,32 @@ import useGoogleAuth from '@/hooks/auth/useGoogleAuth';
import useNotificationPermission from '@/hooks/auth/useNotificationPermission';
import '@/locales/index';
import { AppleButton } from '@invertase/react-native-apple-authentication';
-import { GoogleSigninButton } from '@react-native-google-signin/google-signin';
-import { Text } from '@ui-kitten/components';
import { StatusBar } from 'expo-status-bar';
-import { Image, Linking, Platform, StyleSheet, View } from 'react-native';
-import imageSource from '../assets/todo_logo.png';
+import { Linking, Platform, View } from 'react-native';
+import { moderateScale, scale, verticalScale } from 'react-native-size-matters';
+import * as Animatable from 'react-native-animatable';
+import {
+ useStyleSheet,
+ StyleService,
+ Layout,
+ Button,
+ Text,
+} from '@ui-kitten/components';
+import GoogleImageIcon from '@/components/icons/GoogleImageIcon';
+
+const PlaceholderItem = () => {
+ const styles = useStyleSheet(themedStyles);
+ return (
+
+
+
+
+ );
+};
+
+const AccessoryLeft = () => (
+
+);
const Login = () => {
const { signInWithGoogle } = useGoogleAuth();
@@ -17,43 +38,66 @@ const Login = () => {
isMessagingPermissionAlertModalVisible,
setIsMessagingPermissionAlertModalVisible,
} = useNotificationPermission();
+ const styles = useStyleSheet(themedStyles);
return (
-
+
-
-
-
-
-
- OneStep
-
-
- {Platform.OS === 'android' ? (
- {
- signInWithGoogle();
- }}
- />
- ) : null}
- {Platform.OS === 'ios' ? (
- {
- signInWithApple();
- }}
- />
- ) : null}
-
+
+ {'할 일을 정리하고,\n한 걸음씩 이뤄보세요'}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {Platform.OS === 'android' ? (
+
+ ) : null}
+ {Platform.OS === 'ios' ? (
+ {
+ signInWithApple();
+ }}
+ />
+ ) : null}
+
{
@@ -68,16 +112,49 @@ const Login = () => {
confirmTextKey="common.yes"
cancelTextKey="common.no"
/>
-
+
);
};
-const styles = StyleSheet.create({
+const themedStyles = StyleService.create({
container: {
flex: 1,
- backgroundColor: '#fff',
+ backgroundColor: 'background-basic-color-1',
+ paddingHorizontal: scale(20),
+ paddingTop: verticalScale(120),
+ paddingBottom: verticalScale(40),
+ },
+ title: {
+ fontSize: moderateScale(28),
+ fontWeight: 'bold',
+ color: 'text-basic-color',
+ marginBottom: verticalScale(40),
+ lineHeight: moderateScale(34),
+ },
+ placeholderContainer: {
+ flex: 1,
+ gap: verticalScale(16),
+ },
+ placeholderItem: {
+ flexDirection: 'row',
alignItems: 'center',
- justifyContent: 'center',
+ backgroundColor: 'background-basic-color-2',
+ padding: moderateScale(16),
+ borderRadius: moderateScale(12),
+ gap: scale(12),
+ height: scale(64),
+ },
+ placeholderCircle: {
+ width: scale(33),
+ height: scale(33),
+ borderRadius: moderateScale(10),
+ backgroundColor: 'background-basic-color-3',
+ },
+ placeholderLine: {
+ height: scale(12),
+ backgroundColor: 'background-basic-color-3',
+ borderRadius: moderateScale(6),
+ width: scale(97),
},
iconContainer: {
flex: 1,
@@ -86,6 +163,7 @@ const styles = StyleSheet.create({
alignContent: 'center',
justifyContent: 'center',
},
+ buttonContainer: {},
icon: {
height: '100%',
width: '100%',
@@ -93,15 +171,6 @@ const styles = StyleSheet.create({
alignContent: 'center',
justifyContent: 'center',
},
- buttonAndTextContainer: {
- flex: 1,
- alignItems: 'center',
- justifyContent: 'center',
- },
- buttonContainer: {
- marginTop: 40,
- justifyContent: 'center',
- },
textContainer: {
marginBottom: 40,
},
@@ -111,9 +180,25 @@ const styles = StyleSheet.create({
justifyContent: 'center',
},
button: {
+ flexDirection: 'row',
alignItems: 'center',
- justifyContent: 'center',
- margin: 5,
+ paddingVertical: moderateScale(12),
+ paddingHorizontal: moderateScale(16),
+ borderRadius: moderateScale(8),
+ borderWidth: 1,
+ borderColor: 'background-basic-color-3',
+ },
+ googleButton: {
+ backgroundColor: 'white',
+ borderWidth: 1,
+ borderColor: '#E0E0E0',
+ borderRadius: moderateScale(8),
+ height: verticalScale(52),
+ },
+ googleButtonText: {
+ fontSize: moderateScale(16),
+ fontWeight: 700,
+ color: '#202020',
},
});
diff --git a/assets/googleIcon.png b/assets/googleIcon.png
new file mode 100644
index 0000000..304c549
Binary files /dev/null and b/assets/googleIcon.png differ
diff --git a/components/GoogleIcon.jsx b/components/icons/GoogleIcon.jsx
similarity index 100%
rename from components/GoogleIcon.jsx
rename to components/icons/GoogleIcon.jsx
diff --git a/components/icons/GoogleImageIcon.tsx b/components/icons/GoogleImageIcon.tsx
new file mode 100644
index 0000000..99198f0
--- /dev/null
+++ b/components/icons/GoogleImageIcon.tsx
@@ -0,0 +1,29 @@
+import { View } from 'react-native';
+import Svg, { Path } from 'react-native-svg';
+
+const GoogleImageIcon = props => {
+ return (
+
+
+
+ );
+};
+
+export default GoogleImageIcon;
diff --git a/theme/mapping.json b/theme/mapping.json
index 2f1f04e..fca957c 100644
--- a/theme/mapping.json
+++ b/theme/mapping.json
@@ -246,9 +246,11 @@
},
"Button": {
"appearances": {
- "variantGroups": {
- "size": {
- "large": {}
+ "filled": {
+ "variantGroups": {
+ "status": {
+ "basic": {}
+ }
}
}
}