// src//navigations/Auth.tsx
import React, { useContext } from 'react';
import { ThemeContext } from 'styled-components';
import { createStackNavigator } from '@react-navigation/stack';
import { Signup, Signin } from '../screens';
import { MaterialIcons } from '@expo/vector-icons';
// screen 추가 될 때 마다 추가
export type AuthStackParamList = {
Signin: undefined;
Signup: undefined;
};
const Stack = createStackNavigator<AuthStackParamList>();
const Auth = () => {
const theme = useContext(ThemeContext); // ⭐️⭐️⭐️⭐️
return (
<Stack.Navigator>
<Stack.Screen
name="Signin"
component={Signin}
options={{ headerShown: false }}
/>
<Stack.Screen
name="Signup"
component={Signup}
options={{
headerTitleAlign: 'center',
headerBackTitleVisible: false,
headerTintColor: theme.text, // ⭐️⭐️⭐️⭐️
headerLeft: ({ tintColor, onPress }) => {
return (
<MaterialIcons
name="keyboard-arrow-left"
size={38}
color={tintColor}
onPress={onPress}
/>
);
},
}}
/>
</Stack.Navigator>
);
};
export default Auth;
가. useSafeAreaInsets 관련
https://velog.io/@bleach7/useSafeAreaInsets-TypeScript
나. navigator props 관련
https://velog.io/@bleach7/navigator-Typescript
가. storage 를 만들고 사용할 이미지를 업로드 한다.
나. 이미지 파일을 선택하고 아래 박스를 눌러서 URL을 확인한다.
다. 토큰값을 지우고 공용으로 사용할수 있게끔 수정한다.
다-1. 원래 URL : https://firebasestorage.googleapis.com/v0/b/react-native-chat-app-d8603.appspot.com/o/logo.png?alt=media&token=31efaa76-0eca-427b-b277-6303752c8fdd
다-2. 수정 URL : https://firebasestorage.googleapis.com/v0/b/react-native-chat-app-d8603.appspot.com/o/logo.png?alt=media
다-3. 그리고 firebase 설정을 수정한다.