Chat App (2) :  Auth 화면 구성

Sang heon lee·2022년 6월 16일
0

1. themeProvider로 제공하는 theme(themeContext)을 useContext로 가져온다.

// 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;

2. TypeScirpt 에러

가. useSafeAreaInsets 관련
https://velog.io/@bleach7/useSafeAreaInsets-TypeScript

나. navigator props 관련
https://velog.io/@bleach7/navigator-Typescript

3.firebase 사용하여 이미지 불러오기

가. 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 설정을 수정한다.

profile
개초보

0개의 댓글