diff --git a/.watchmanconfig b/.watchmanconfig
deleted file mode 100644
index 9e26dfee..00000000
--- a/.watchmanconfig
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file
diff --git a/App.tsx b/App.tsx
index 5fa18e83..1d40a0ef 100644
--- a/App.tsx
+++ b/App.tsx
@@ -1,10 +1,10 @@
import {NavigationContainer} from '@react-navigation/native';
import React, {useEffect} from 'react';
// import {Alert} from 'react-native';
-import RootStack from './screens/RootStack';
+import RootStack from './src/screens/RootStack';
import {QueryClient, QueryClientProvider} from 'react-query';
import {Provider} from 'react-redux';
-import store from './slices';
+import store from './src/slices';
import {
request,
PERMISSIONS,
diff --git a/README.md b/README.md
index 14d503d4..00a98fc4 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
## Contents
+- [Summary](#summary)
- [Latest Release](#latest-release)
- [Demo](#demo)
- [Start](#start)
@@ -14,38 +15,107 @@
-## Latest Release
-**Google Playstore**
-π https://play.google.com/store/apps/details?id=com.app_pool_frontend
-**AppStore**
-π https://apps.apple.com/kr/app/pool/id1640180474
-**Web**
-π https://app-pool-firebase.web.app
-
-
-
-## Demo
+## Summary
-**Authentication (SignUp/Login)**
-
-
+`λ°λ‘ λΏλ λ©μΈμ§ POOL`μ `Push μλ¦Ό`μΌλ‘ λΈλλμ νλ‘μλ₯Ό μλ κ°λ ₯ν λ©μΈμ§ μλΉμ€μ
λλ€.
+- λΈλλ λ±λ‘ μ¬μ¬ μμ²μ ν΅ν΄ λꡬλ `λΈλλ`κ° λ μ μμ΅λλ€.
+- λΈλλλ `Push μλ¦Ό λ©μΈμ§`λ₯Ό μμ±ν μ μμ΅λλ€.
+- μ μ λ μνλ λΈλλλ₯Ό νλ‘μ°νμ¬ `Push μλ¦Ό λ©μΈμ§`λ₯Ό λ°μλ³Ό μ μμ΅λλ€.
-**Search Brand / Follow&UnFollow**
-
+
-**Read Messages / Create Comment**
-
+## Latest Release
+
+
+ Google Playstore |
+ https://play.google.com/store/apps/details?id=com.app_pool_frontend |
+
+
+ AppStore |
+ https://apps.apple.com/kr/app/pool/id1640180474 |
+
+
+ Web |
+ https://app-pool-firebase.web.app |
+
+
-**Brand Assign**
-
+_\* μλ² μ΄μμ΄ 2022.11λ‘ μ’
λ£λμμ΅λλ€._
-**Create Message**
-
+
-**Receive Message(Push Alarm)**
+## Demo
-**Information Web**
-
+
+ [Demo] Authentication
+
+
+ SignUp |
+ Login |
+
+
+ |
+ |
+
+
+
+
+ [Demo] Search & Follow Brand
+
+
+ Search & Follow Brand |
+
+
+ |
+
+
+
+
+ [Demo] Read & Create Message
+
+
+ Read Messages / Create Comment |
+
+
+ |
+
+
+
+
+ [Demo] Brand Assign
+
+
+ Brand Assign |
+
+
+ |
+
+
+
+
+ [Demo] Create & Receive Message
+
+
+ Create Message |
+ Receive Message(Push Alarm) |
+
+
+ |
+ |
+
+
+
+
+ [Demo] Information Web
+
+
+ Information Web |
+
+
+ |
+
+
+
@@ -72,19 +142,19 @@ $ yarn lint #run eslint
- μ½μ΄ |
+ Core |
ReactNative, TypeScript |
- μνκ΄λ¦¬ |
+ State Management |
Redux, React-Query |
- ν¨ν€μ§ 맀λμ |
+ Package Manager |
Yarn |
- λΉλ |
+ Build |
Babel, Webpack |
@@ -93,29 +163,35 @@ $ yarn lint #run eslint
## Folder Tree
-```
-βββ android
-βββ ios
-βββ dist # λΉλλ web ν΄λ
-βββ api # api μμ² κ΄λ ¨ ν΄λ
-βββ assets # svg, image, font, theme λ± μ μ νμΌ ν΄λ
-βββ components # μ¬λ¬ pageμμ μ¬μ©νλ μ»΄ν¬λνΈλ€
-βββ screens # React Navigationμμ μ¬μ©νλ Screenλ€
-βββ hooks # react hooks
-βββ slices # redux slices ν΄λ
-βββ storages # Asyncstorage κ΄λ ¨ ν΄λ
-βββ web # Web κ΄λ ¨ ν΄λ
-β βββ assets # Web favicon, manifest λ±μ νμΌ ν΄λ
+```python
+π.github
+ β£ πworkflows
+πdist # λΉλλ web ν΄λ
+πandroid
+πios
+πweb # Web κ΄λ ¨ ν΄λ
+πassets # svg, image, font, theme λ± μ μ νμΌ ν΄λ
+ β£ πfonts
+ β£ theme.ts
+πsrc
+ β£ πapi # api μμ² κ΄λ ¨ ν΄λ
+ β£ πcomponents # μ¬λ¬ pageμμ μ¬μ©νλ μ»΄ν¬λνΈλ€
+ β£ πhooks # react hooks
+ β£ πscreens # React Navigationμμ μ¬μ©νλ Screenλ€
+ β£ πslices # redux slices ν΄λ
+ β£ πstorages # Asyncstorage κ΄λ ¨ ν΄λ
+ β£ App.tsx
+ β index.tsx
```
## Commit Rule
| νμ
| λ΄μ© |
-|----------|-----------------------|
+|----------|----------------------|
| style | μ½λ μ€νμΌ νΉμ ν¬λ§· |
| feature | μλ‘μ΄ κΈ°λ₯ |
-| fix | μμ |
+| fix | μμ |
| refactor | μ½λ 리ν©ν λ§ |
| design | μ¬μ©μ UI μμ |
| test | ν
μ€νΈ μ½λ |
@@ -124,7 +200,7 @@ $ yarn lint #run eslint
-## Branch
+## Branch Rule
| λΈλμΉλͺ
| μ€λͺ
|
|--------------------------------|-----------------------|
| main | λ©μΈ λΈλμΉ |
diff --git a/__tests__/App-test.tsx b/__tests__/App-test.tsx
deleted file mode 100644
index 17847669..00000000
--- a/__tests__/App-test.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * @format
- */
-
-import 'react-native';
-import React from 'react';
-import App from '../App';
-
-// Note: test renderer must be required after react-native.
-import renderer from 'react-test-renderer';
-
-it('renders correctly', () => {
- renderer.create();
-});
diff --git a/app.json b/app.json
deleted file mode 100644
index 9289fc71..00000000
--- a/app.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "app_pool_frontend",
- "displayName": "Pool"
-}
\ No newline at end of file
diff --git a/components/category/categoryList.ts b/components/category/categoryList.ts
deleted file mode 100644
index af02ef22..00000000
--- a/components/category/categoryList.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-const categoryList = [
- {id: '1', name: 'IT', img: require('../../assets/category/1.jpg')},
- {id: '2', name: 'λ΄μ€', img: require('../../assets/category/2.jpg')},
- {id: '3', name: 'νΈλ λ', img: require('../../assets/category/3.jpg')},
- {id: '4', name: 'μΌμο½₯μμΈμ΄', img: require('../../assets/category/4.jpg')},
- {id: '5', name: 'μμ
', img: require('../../assets/category/5.jpg')},
- {id: '6', name: 'λ·°ν°', img: require('../../assets/category/6.jpg')},
- {id: '7', name: 'λΌμ΄νμ€νμΌ', img: require('../../assets/category/7.jpg')},
- {id: '8', name: 'ν¨μ
', img: require('../../assets/category/8.jpg')},
- {id: '9', name: 'μ¬νο½₯μμλμ΄', img: require('../../assets/category/9.jpg')},
- {id: '10', name: 'μκΈ°κ³λ°', img: require('../../assets/category/10.jpg')},
- {id: '11', name: 'μ μΉ', img: require('../../assets/category/11.jpg')},
- {id: '12', name: 'μ€ν¬μΈ ', img: require('../../assets/category/12.jpg')},
- {id: '13', name: 'μ² ν', img: require('../../assets/category/13.jpg')},
- {id: '14', name: 'μμ¬', img: require('../../assets/category/14.jpg')},
- {id: '15', name: 'νΈλ', img: require('../../assets/category/15.jpg')},
- {id: '16', name: 'λμμΈ', img: require('../../assets/category/16.jpg')},
- {id: '17', name: 'κΈμ΅', img: require('../../assets/category/17.jpg')},
- {id: '18', name: 'κ²½μ ', img: require('../../assets/category/18.jpg')},
- {id: '19', name: 'κ·Έλ¦Όο½₯μμ ', img: require('../../assets/category/19.jpg')},
- {id: '20', name: 'λΆλμ°', img: require('../../assets/category/20.jpg')},
- {id: '21', name: 'λΉμ¦λμ€', img: require('../../assets/category/21.jpg')},
- {id: '22', name: 'ν«ο½₯λλ¬Ό', img: require('../../assets/category/22.jpg')},
- {
- id: '23',
- name: 'μΈν
리μ΄ο½₯리λΉ',
- img: require('../../assets/category/23.jpg'),
- },
-];
-
-export default categoryList;
diff --git a/index.js b/index.js
index 25b588fa..127e03f2 100644
--- a/index.js
+++ b/index.js
@@ -4,9 +4,10 @@
import {AppRegistry} from 'react-native';
import App from './App';
-import {name as appName} from './app.json';
import messaging from '@react-native-firebase/messaging';
+const appName = 'app_pool_frontend';
+
messaging().setBackgroundMessageHandler(async remoteMessage => {
console.log('Message handled in the background!', remoteMessage);
onMessageReceived(remoteMessage);
diff --git a/api/auth/index.ts b/src/api/auth/index.ts
similarity index 100%
rename from api/auth/index.ts
rename to src/api/auth/index.ts
diff --git a/api/auth/types.ts b/src/api/auth/types.ts
similarity index 100%
rename from api/auth/types.ts
rename to src/api/auth/types.ts
diff --git a/api/brand/index.ts b/src/api/brand/index.ts
similarity index 100%
rename from api/brand/index.ts
rename to src/api/brand/index.ts
diff --git a/api/brand/types.ts b/src/api/brand/types.ts
similarity index 100%
rename from api/brand/types.ts
rename to src/api/brand/types.ts
diff --git a/api/client.ts b/src/api/client.ts
similarity index 100%
rename from api/client.ts
rename to src/api/client.ts
diff --git a/api/comment/index.ts b/src/api/comment/index.ts
similarity index 100%
rename from api/comment/index.ts
rename to src/api/comment/index.ts
diff --git a/api/comment/types.ts b/src/api/comment/types.ts
similarity index 100%
rename from api/comment/types.ts
rename to src/api/comment/types.ts
diff --git a/api/fcm/index.ts b/src/api/fcm/index.ts
similarity index 100%
rename from api/fcm/index.ts
rename to src/api/fcm/index.ts
diff --git a/api/fcm/types.ts b/src/api/fcm/types.ts
similarity index 100%
rename from api/fcm/types.ts
rename to src/api/fcm/types.ts
diff --git a/api/follow/index.ts b/src/api/follow/index.ts
similarity index 100%
rename from api/follow/index.ts
rename to src/api/follow/index.ts
diff --git a/api/follow/types.ts b/src/api/follow/types.ts
similarity index 100%
rename from api/follow/types.ts
rename to src/api/follow/types.ts
diff --git a/api/message/index.ts b/src/api/message/index.ts
similarity index 100%
rename from api/message/index.ts
rename to src/api/message/index.ts
diff --git a/api/message/types.ts b/src/api/message/types.ts
similarity index 100%
rename from api/message/types.ts
rename to src/api/message/types.ts
diff --git a/api/profile/index.ts b/src/api/profile/index.ts
similarity index 100%
rename from api/profile/index.ts
rename to src/api/profile/index.ts
diff --git a/api/profile/types.ts b/src/api/profile/types.ts
similarity index 100%
rename from api/profile/types.ts
rename to src/api/profile/types.ts
diff --git a/api/web/index.ts b/src/api/web/index.ts
similarity index 100%
rename from api/web/index.ts
rename to src/api/web/index.ts
diff --git a/api/web/types.ts b/src/api/web/types.ts
similarity index 100%
rename from api/web/types.ts
rename to src/api/web/types.ts
diff --git a/components/AlertBox.tsx b/src/components/AlertBox.tsx
similarity index 96%
rename from components/AlertBox.tsx
rename to src/components/AlertBox.tsx
index adcb5914..6bd0256a 100644
--- a/components/AlertBox.tsx
+++ b/src/components/AlertBox.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import {useSelector} from 'react-redux';
import {RootState} from '../slices';
diff --git a/components/MainContainer.tsx b/src/components/MainContainer.tsx
similarity index 94%
rename from components/MainContainer.tsx
rename to src/components/MainContainer.tsx
index 89a30cd3..cf3ce57c 100644
--- a/components/MainContainer.tsx
+++ b/src/components/MainContainer.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, View} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
export const PADDING = 24;
diff --git a/components/ProcessBar.tsx b/src/components/ProcessBar.tsx
similarity index 96%
rename from components/ProcessBar.tsx
rename to src/components/ProcessBar.tsx
index 4977b9f6..1165ea71 100644
--- a/components/ProcessBar.tsx
+++ b/src/components/ProcessBar.tsx
@@ -1,7 +1,7 @@
// import React, {useEffect, useRef} from 'react';
import React, {useEffect, useRef} from 'react';
import {Animated, StyleSheet, View} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
const WIDTH = 167;
const HEIGHT = 4;
diff --git a/components/ScreenBottomButton.tsx b/src/components/ScreenBottomButton.tsx
similarity index 97%
rename from components/ScreenBottomButton.tsx
rename to src/components/ScreenBottomButton.tsx
index 46ba2023..6a9ce83d 100644
--- a/components/ScreenBottomButton.tsx
+++ b/src/components/ScreenBottomButton.tsx
@@ -7,7 +7,7 @@ import {
StyleSheet,
Text,
} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
function ScreenBottomButton({
name,
diff --git a/components/TextInputs.tsx b/src/components/TextInputs.tsx
similarity index 98%
rename from components/TextInputs.tsx
rename to src/components/TextInputs.tsx
index b72f3565..69eef88a 100644
--- a/components/TextInputs.tsx
+++ b/src/components/TextInputs.tsx
@@ -7,7 +7,7 @@ import {
Text,
KeyboardTypeOptions,
} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
interface Props {
diff --git a/components/Title.tsx b/src/components/Title.tsx
similarity index 96%
rename from components/Title.tsx
rename to src/components/Title.tsx
index d430759a..76b99734 100644
--- a/components/Title.tsx
+++ b/src/components/Title.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
interface Props {
title: string;
diff --git a/components/auth/AuthComponents.tsx b/src/components/auth/AuthComponents.tsx
similarity index 98%
rename from components/auth/AuthComponents.tsx
rename to src/components/auth/AuthComponents.tsx
index 1272f740..0c169dff 100644
--- a/components/auth/AuthComponents.tsx
+++ b/src/components/auth/AuthComponents.tsx
@@ -8,7 +8,7 @@ import {
View,
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
export function InputTitle({title}: {title: string}) {
return {title};
diff --git a/components/auth/FirstForm.tsx b/src/components/auth/FirstForm.tsx
similarity index 100%
rename from components/auth/FirstForm.tsx
rename to src/components/auth/FirstForm.tsx
diff --git a/components/auth/LoginButton.tsx b/src/components/auth/LoginButton.tsx
similarity index 94%
rename from components/auth/LoginButton.tsx
rename to src/components/auth/LoginButton.tsx
index 2b457839..e5c890ca 100644
--- a/components/auth/LoginButton.tsx
+++ b/src/components/auth/LoginButton.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {Pressable, StyleSheet, Text} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
function LoginButton({
text,
diff --git a/components/auth/PasswordForm.tsx b/src/components/auth/PasswordForm.tsx
similarity index 98%
rename from components/auth/PasswordForm.tsx
rename to src/components/auth/PasswordForm.tsx
index 9e04644e..a8084dfc 100644
--- a/components/auth/PasswordForm.tsx
+++ b/src/components/auth/PasswordForm.tsx
@@ -4,7 +4,7 @@ import TextInputs from '../TextInputs';
import {InputTitle} from './AuthComponents';
import {CheckPassword} from './Validation';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface PasswordFormProps {
password: string;
diff --git a/components/auth/PhoneAuthForm.tsx b/src/components/auth/PhoneAuthForm.tsx
similarity index 100%
rename from components/auth/PhoneAuthForm.tsx
rename to src/components/auth/PhoneAuthForm.tsx
diff --git a/components/auth/SecondForm.tsx b/src/components/auth/SecondForm.tsx
similarity index 100%
rename from components/auth/SecondForm.tsx
rename to src/components/auth/SecondForm.tsx
diff --git a/components/auth/SignUpForm.tsx b/src/components/auth/SignUpForm.tsx
similarity index 100%
rename from components/auth/SignUpForm.tsx
rename to src/components/auth/SignUpForm.tsx
diff --git a/components/auth/SignUpScreenBottomButton.tsx b/src/components/auth/SignUpScreenBottomButton.tsx
similarity index 100%
rename from components/auth/SignUpScreenBottomButton.tsx
rename to src/components/auth/SignUpScreenBottomButton.tsx
diff --git a/components/auth/ThirdForm.tsx b/src/components/auth/ThirdForm.tsx
similarity index 99%
rename from components/auth/ThirdForm.tsx
rename to src/components/auth/ThirdForm.tsx
index 7dd1400d..f91e7134 100644
--- a/components/auth/ThirdForm.tsx
+++ b/src/components/auth/ThirdForm.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import {Linking, StyleSheet, Text, View} from 'react-native';
import {useQuery} from 'react-query';
import {nickNameExist, usernameExist} from '../../api/auth';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {SignUpScreenProps} from '../../screens/SignUpScreen';
import TextInputs from '../TextInputs';
import Title from '../Title';
diff --git a/components/auth/Validation.ts b/src/components/auth/Validation.ts
similarity index 100%
rename from components/auth/Validation.ts
rename to src/components/auth/Validation.ts
diff --git a/components/brand/BrandAssignForm.tsx b/src/components/brand/BrandAssignForm.tsx
similarity index 97%
rename from components/brand/BrandAssignForm.tsx
rename to src/components/brand/BrandAssignForm.tsx
index 38fe2ed2..ee525303 100644
--- a/components/brand/BrandAssignForm.tsx
+++ b/src/components/brand/BrandAssignForm.tsx
@@ -12,7 +12,7 @@ import {AuthButton, InputTitle} from '../auth/AuthComponents';
import Title from '../Title';
import {launchImageLibrary} from 'react-native-image-picker';
import TextInputs from '../TextInputs';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {useQuery} from 'react-query';
import {brandNameExist} from '../../api/brand';
@@ -71,7 +71,7 @@ function BrandAssignForm({
source={
form.brandProfileImage
? {uri: form.brandProfileImage.uri}
- : require('../../assets/empty/EmptyProfile.png')
+ : require('../../../assets/empty/EmptyProfile.png')
}
resizeMode="cover"
/>
diff --git a/components/brand/BrandAssignTerm.tsx b/src/components/brand/BrandAssignTerm.tsx
similarity index 98%
rename from components/brand/BrandAssignTerm.tsx
rename to src/components/brand/BrandAssignTerm.tsx
index 7c1aed04..d1b9dd96 100644
--- a/components/brand/BrandAssignTerm.tsx
+++ b/src/components/brand/BrandAssignTerm.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import {Pressable, ScrollView, StyleSheet, Text, View} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {BrandAssignParams} from '../../api/brand/types';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Title from '../Title';
function BrandAssignTerm({
diff --git a/components/category/Category.tsx b/src/components/category/Category.tsx
similarity index 100%
rename from components/category/Category.tsx
rename to src/components/category/Category.tsx
diff --git a/components/category/CategoryItem.tsx b/src/components/category/CategoryItem.tsx
similarity index 98%
rename from components/category/CategoryItem.tsx
rename to src/components/category/CategoryItem.tsx
index 2edcb9c3..692d9cca 100644
--- a/components/category/CategoryItem.tsx
+++ b/src/components/category/CategoryItem.tsx
@@ -8,7 +8,7 @@ import {
View,
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
export interface CategoryItemProps {
id: string;
diff --git a/src/components/category/categoryList.ts b/src/components/category/categoryList.ts
new file mode 100644
index 00000000..32d4f858
--- /dev/null
+++ b/src/components/category/categoryList.ts
@@ -0,0 +1,47 @@
+const categoryList = [
+ {id: '1', name: 'IT', img: require('../../../assets/category/1.jpg')},
+ {id: '2', name: 'λ΄μ€', img: require('../../../assets/category/2.jpg')},
+ {id: '3', name: 'νΈλ λ', img: require('../../../assets/category/3.jpg')},
+ {
+ id: '4',
+ name: 'μΌμο½₯μμΈμ΄',
+ img: require('../../../assets/category/4.jpg'),
+ },
+ {id: '5', name: 'μμ
', img: require('../../../assets/category/5.jpg')},
+ {id: '6', name: 'λ·°ν°', img: require('../../../assets/category/6.jpg')},
+ {
+ id: '7',
+ name: 'λΌμ΄νμ€νμΌ',
+ img: require('../../../assets/category/7.jpg'),
+ },
+ {id: '8', name: 'ν¨μ
', img: require('../../../assets/category/8.jpg')},
+ {
+ id: '9',
+ name: 'μ¬νο½₯μμλμ΄',
+ img: require('../../../assets/category/9.jpg'),
+ },
+ {id: '10', name: 'μκΈ°κ³λ°', img: require('../../../assets/category/10.jpg')},
+ {id: '11', name: 'μ μΉ', img: require('../../../assets/category/11.jpg')},
+ {id: '12', name: 'μ€ν¬μΈ ', img: require('../../../assets/category/12.jpg')},
+ {id: '13', name: 'μ² ν', img: require('../../../assets/category/13.jpg')},
+ {id: '14', name: 'μμ¬', img: require('../../../assets/category/14.jpg')},
+ {id: '15', name: 'νΈλ', img: require('../../../assets/category/15.jpg')},
+ {id: '16', name: 'λμμΈ', img: require('../../../assets/category/16.jpg')},
+ {id: '17', name: 'κΈμ΅', img: require('../../../assets/category/17.jpg')},
+ {id: '18', name: 'κ²½μ ', img: require('../../../assets/category/18.jpg')},
+ {
+ id: '19',
+ name: 'κ·Έλ¦Όο½₯μμ ',
+ img: require('../../../assets/category/19.jpg'),
+ },
+ {id: '20', name: 'λΆλμ°', img: require('../../../assets/category/20.jpg')},
+ {id: '21', name: 'λΉμ¦λμ€', img: require('../../../assets/category/21.jpg')},
+ {id: '22', name: 'ν«ο½₯λλ¬Ό', img: require('../../../assets/category/22.jpg')},
+ {
+ id: '23',
+ name: 'μΈν
리μ΄ο½₯리λΉ',
+ img: require('../../../assets/category/23.jpg'),
+ },
+];
+
+export default categoryList;
diff --git a/components/create/CreateMessageComponents.tsx b/src/components/create/CreateMessageComponents.tsx
similarity index 97%
rename from components/create/CreateMessageComponents.tsx
rename to src/components/create/CreateMessageComponents.tsx
index 2bd51eb1..a27f58e0 100644
--- a/components/create/CreateMessageComponents.tsx
+++ b/src/components/create/CreateMessageComponents.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {Text, Pressable, StyleSheet, GestureResponderEvent} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
diff --git a/components/feed/CommentFocusButton.tsx b/src/components/feed/CommentFocusButton.tsx
similarity index 97%
rename from components/feed/CommentFocusButton.tsx
rename to src/components/feed/CommentFocusButton.tsx
index 511fddcd..0daa3676 100644
--- a/components/feed/CommentFocusButton.tsx
+++ b/src/components/feed/CommentFocusButton.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import {StyleSheet, Text, View, TouchableOpacity} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
diff --git a/components/feed/Feed.tsx b/src/components/feed/Feed.tsx
similarity index 99%
rename from components/feed/Feed.tsx
rename to src/components/feed/Feed.tsx
index dfd2023e..1df2154a 100644
--- a/components/feed/Feed.tsx
+++ b/src/components/feed/Feed.tsx
@@ -7,7 +7,7 @@ import MessageHeader from './MessageHeader';
import MessageText from './MessageText';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {Message} from '../../api/message/types';
// μ¬μ© μμλ user νλ‘μ€λ₯Ό μλμ λ£μ΄μ£ΌμΈμ©
diff --git a/components/feed/Hello.tsx b/src/components/feed/Hello.tsx
similarity index 96%
rename from components/feed/Hello.tsx
rename to src/components/feed/Hello.tsx
index 933dd53c..4decb2f9 100644
--- a/components/feed/Hello.tsx
+++ b/src/components/feed/Hello.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
name?: string;
diff --git a/components/feed/MessageHeader.tsx b/src/components/feed/MessageHeader.tsx
similarity index 97%
rename from components/feed/MessageHeader.tsx
rename to src/components/feed/MessageHeader.tsx
index fcd6f752..d1dd9a5d 100644
--- a/components/feed/MessageHeader.tsx
+++ b/src/components/feed/MessageHeader.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View, Image} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
username?: string;
diff --git a/components/feed/MessageImg.tsx b/src/components/feed/MessageImg.tsx
similarity index 100%
rename from components/feed/MessageImg.tsx
rename to src/components/feed/MessageImg.tsx
diff --git a/components/feed/MessageLink.tsx b/src/components/feed/MessageLink.tsx
similarity index 96%
rename from components/feed/MessageLink.tsx
rename to src/components/feed/MessageLink.tsx
index 19659a61..230f5f25 100644
--- a/components/feed/MessageLink.tsx
+++ b/src/components/feed/MessageLink.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, TouchableOpacity, Linking} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
interface Props {
diff --git a/components/feed/MessageText.tsx b/src/components/feed/MessageText.tsx
similarity index 91%
rename from components/feed/MessageText.tsx
rename to src/components/feed/MessageText.tsx
index 09812a8c..7b5eaeab 100644
--- a/components/feed/MessageText.tsx
+++ b/src/components/feed/MessageText.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
messageText: string;
diff --git a/components/feed/NowDate.tsx b/src/components/feed/NowDate.tsx
similarity index 94%
rename from components/feed/NowDate.tsx
rename to src/components/feed/NowDate.tsx
index 3b759e8e..c3bc1594 100644
--- a/components/feed/NowDate.tsx
+++ b/src/components/feed/NowDate.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
msgDate: string;
diff --git a/components/guide/Carousel.tsx b/src/components/guide/Carousel.tsx
similarity index 98%
rename from components/guide/Carousel.tsx
rename to src/components/guide/Carousel.tsx
index 978bf561..00b08036 100644
--- a/components/guide/Carousel.tsx
+++ b/src/components/guide/Carousel.tsx
@@ -9,7 +9,7 @@ import {
View,
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import DATA from './Contents';
const Indicator = ({focused}: {focused: boolean}) => {
diff --git a/components/guide/Contents.ts b/src/components/guide/Contents.ts
similarity index 81%
rename from components/guide/Contents.ts
rename to src/components/guide/Contents.ts
index 7a5c44cc..c3ba3292 100644
--- a/components/guide/Contents.ts
+++ b/src/components/guide/Contents.ts
@@ -3,25 +3,25 @@ const DATA = [
id: 0,
title: `POOLμμλ λͺ¨λκ°${'\n'}βλΈλλβμμ.`,
text: `μ½ν
μΈ μ°½μμ λΆν°, μμ λλ€ μμ κΉμ§${'\n'}λͺ¨λ μΈμμ λ¨ νλ λΏμΈ λΈλλμμ.`,
- img: require('../../assets/guide/0.png'),
+ img: require('../../../assets/guide/0.png'),
},
{
id: 1,
title: `λΈλλλ₯Ό νλ‘μ°νκ³ ${'\n'}1:1 μν΅μ μ¦κ²¨λ³΄μΈμ.`,
text: `λ©μμ§μ νλ‘μ λΆλ€μ λ΅μ₯μ${'\n'}λΈλλμκ² μ λ§ ν° νμ΄ λΌμ!(1ν κ°λ₯)`,
- img: require('../../assets/guide/1.png'),
+ img: require('../../../assets/guide/1.png'),
},
{
id: 2,
title: `λ©μμ§κ° μ°Ύμμ€λλ‘${'\n'}λΈλλλ₯Ό νλ‘μ° νμΈμ.`,
text: `μ±μμ λΈλλλ₯Ό λ°κ²¬νκ³ νλ‘μ° νλ©΄,${'\n'}λ©μμ§λ₯Ό ꡬλ
ν μ μμ΄μ.`,
- img: require('../../assets/guide/2.png'),
+ img: require('../../../assets/guide/2.png'),
},
{
id: 3,
title: `λꡬλ λΈλλκ° λμ΄${'\n'}λ©μμ§λ₯Ό λ³΄λΌ μ μμ΄μ.`,
text: `μ± [μ€μ ] νμμ λΈλλλ‘ λ±λ‘νκ³ ,${'\n'}λ΄ κ·Έλ£Ήμ λͺ¨μ보μΈμ.`,
- img: require('../../assets/guide/3.png'),
+ img: require('../../../assets/guide/3.png'),
},
];
diff --git a/components/message/BorderLine.tsx b/src/components/message/BorderLine.tsx
similarity index 88%
rename from components/message/BorderLine.tsx
rename to src/components/message/BorderLine.tsx
index b9090564..cb0afdf6 100644
--- a/components/message/BorderLine.tsx
+++ b/src/components/message/BorderLine.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, View} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
function BorderLine() {
return ;
diff --git a/components/message/CommentBar.tsx b/src/components/message/CommentBar.tsx
similarity index 100%
rename from components/message/CommentBar.tsx
rename to src/components/message/CommentBar.tsx
diff --git a/components/message/Commentcomponent.tsx b/src/components/message/Commentcomponent.tsx
similarity index 97%
rename from components/message/Commentcomponent.tsx
rename to src/components/message/Commentcomponent.tsx
index 5a39037d..8ff00263 100644
--- a/components/message/Commentcomponent.tsx
+++ b/src/components/message/Commentcomponent.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import {StyleSheet, Text, View, Image} from 'react-native';
// import WrappedText from 'react-native-wrapped-text';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
text: string;
@@ -38,7 +38,7 @@ function Comment({
// userProfileImg !== null
// ? {uri: userProfileImg}
// : require('../../assets/Pool.png')
- require('../../assets/Pool.png')
+ require('../../../assets/Pool.png')
}
/>
diff --git a/components/message/DetailMessageContainer.tsx b/src/components/message/DetailMessageContainer.tsx
similarity index 97%
rename from components/message/DetailMessageContainer.tsx
rename to src/components/message/DetailMessageContainer.tsx
index 7bf4f469..13ed35b1 100644
--- a/components/message/DetailMessageContainer.tsx
+++ b/src/components/message/DetailMessageContainer.tsx
@@ -4,7 +4,7 @@ import MessageHeader from '../message/MessageHeader';
import MessageImg from '../message/MessageImg';
import MessageLink from '../message/MessageLink';
import MessageText from '../message/MessageText';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {Message} from '../../api/message/types';
// μ¬μ© μμλ userμ message νλ‘μ€λ₯Ό μλμ λ£μ΄μ£ΌμΈμ©
diff --git a/components/message/InputCommentContainer.tsx b/src/components/message/InputCommentContainer.tsx
similarity index 97%
rename from components/message/InputCommentContainer.tsx
rename to src/components/message/InputCommentContainer.tsx
index 14c0f542..e668ff19 100644
--- a/components/message/InputCommentContainer.tsx
+++ b/src/components/message/InputCommentContainer.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, TextInput, View} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
commentText?: string;
diff --git a/components/message/MessageHeader.tsx b/src/components/message/MessageHeader.tsx
similarity index 98%
rename from components/message/MessageHeader.tsx
rename to src/components/message/MessageHeader.tsx
index 545665fe..c1e975d1 100644
--- a/components/message/MessageHeader.tsx
+++ b/src/components/message/MessageHeader.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View, TouchableOpacity, Image} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
diff --git a/components/message/MessageImg.tsx b/src/components/message/MessageImg.tsx
similarity index 100%
rename from components/message/MessageImg.tsx
rename to src/components/message/MessageImg.tsx
diff --git a/components/message/MessageLink.tsx b/src/components/message/MessageLink.tsx
similarity index 96%
rename from components/message/MessageLink.tsx
rename to src/components/message/MessageLink.tsx
index 92868580..950bba22 100644
--- a/components/message/MessageLink.tsx
+++ b/src/components/message/MessageLink.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, TouchableOpacity, Linking} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
interface Props {
diff --git a/components/message/MessageText.tsx b/src/components/message/MessageText.tsx
similarity index 92%
rename from components/message/MessageText.tsx
rename to src/components/message/MessageText.tsx
index 68752b47..ec578a95 100644
--- a/components/message/MessageText.tsx
+++ b/src/components/message/MessageText.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
messageText: string;
diff --git a/components/profile/BrandProfileHeader.tsx b/src/components/profile/BrandProfileHeader.tsx
similarity index 98%
rename from components/profile/BrandProfileHeader.tsx
rename to src/components/profile/BrandProfileHeader.tsx
index 85898f39..c1f52c6f 100644
--- a/components/profile/BrandProfileHeader.tsx
+++ b/src/components/profile/BrandProfileHeader.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {Text, StyleSheet, View, ActivityIndicator} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import BrandProfileImageContainer from './BrandProfileImageContainer';
import FollowButton from './FollowButton';
import {useQuery} from 'react-query';
diff --git a/components/profile/BrandProfileImageContainer.tsx b/src/components/profile/BrandProfileImageContainer.tsx
similarity index 95%
rename from components/profile/BrandProfileImageContainer.tsx
rename to src/components/profile/BrandProfileImageContainer.tsx
index 544e132b..4699f081 100644
--- a/components/profile/BrandProfileImageContainer.tsx
+++ b/src/components/profile/BrandProfileImageContainer.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {View, Image, StyleSheet} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
imgSource: any;
diff --git a/components/profile/BrandProfileMessageContainer.tsx b/src/components/profile/BrandProfileMessageContainer.tsx
similarity index 98%
rename from components/profile/BrandProfileMessageContainer.tsx
rename to src/components/profile/BrandProfileMessageContainer.tsx
index eef5602c..c112a8ff 100644
--- a/components/profile/BrandProfileMessageContainer.tsx
+++ b/src/components/profile/BrandProfileMessageContainer.tsx
@@ -8,7 +8,7 @@ import {
Linking,
TouchableOpacity,
} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {Message} from '../../api/message/types';
import MessageBodyContainer from './MessageBodyContainer';
diff --git a/components/profile/FollowButton.tsx b/src/components/profile/FollowButton.tsx
similarity index 96%
rename from components/profile/FollowButton.tsx
rename to src/components/profile/FollowButton.tsx
index ec717e4f..35805ce4 100644
--- a/components/profile/FollowButton.tsx
+++ b/src/components/profile/FollowButton.tsx
@@ -1,10 +1,10 @@
import React from 'react';
import {View, TouchableOpacity, Text, StyleSheet} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {follow, unfollow} from '../../api/follow';
import {useMutation} from 'react-query';
-// import {sendSingleAlarm} from '../../api/fcm';
+// import {sendSingleAlarm} from '../api/fcm';
interface Props {
isFollowed?: boolean;
diff --git a/components/profile/MessageBodyContainer.tsx b/src/components/profile/MessageBodyContainer.tsx
similarity index 92%
rename from components/profile/MessageBodyContainer.tsx
rename to src/components/profile/MessageBodyContainer.tsx
index 75c1c5ec..de634780 100644
--- a/components/profile/MessageBodyContainer.tsx
+++ b/src/components/profile/MessageBodyContainer.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
messageText: string;
diff --git a/components/profile/MessageImgContainer.tsx b/src/components/profile/MessageImgContainer.tsx
similarity index 100%
rename from components/profile/MessageImgContainer.tsx
rename to src/components/profile/MessageImgContainer.tsx
diff --git a/components/profile/ProfileHeader.tsx b/src/components/profile/ProfileHeader.tsx
similarity index 98%
rename from components/profile/ProfileHeader.tsx
rename to src/components/profile/ProfileHeader.tsx
index fe354ecf..10927689 100644
--- a/components/profile/ProfileHeader.tsx
+++ b/src/components/profile/ProfileHeader.tsx
@@ -2,7 +2,7 @@ import React, {useEffect} from 'react';
import {Text, StyleSheet, View, ActivityIndicator} from 'react-native';
import ProfileImageContainer from './ProfileImageContainer';
import ShareButton from './ShareButton';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {useQuery} from 'react-query';
import {getMyBrandProfile} from '../../api/brand';
import SetWelcomeMsg from './SetWelcomeMessage';
diff --git a/components/profile/ProfileImageContainer.tsx b/src/components/profile/ProfileImageContainer.tsx
similarity index 97%
rename from components/profile/ProfileImageContainer.tsx
rename to src/components/profile/ProfileImageContainer.tsx
index 897bc875..f9d93edb 100644
--- a/components/profile/ProfileImageContainer.tsx
+++ b/src/components/profile/ProfileImageContainer.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import {View, Image, TouchableOpacity, StyleSheet} from 'react-native';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {getBrand} from '../../api/brand';
import {useQuery} from 'react-query';
diff --git a/components/profile/ProfileMessageContainer.tsx b/src/components/profile/ProfileMessageContainer.tsx
similarity index 98%
rename from components/profile/ProfileMessageContainer.tsx
rename to src/components/profile/ProfileMessageContainer.tsx
index def592c7..f1a2463b 100644
--- a/components/profile/ProfileMessageContainer.tsx
+++ b/src/components/profile/ProfileMessageContainer.tsx
@@ -8,7 +8,7 @@ import {
Linking,
TouchableOpacity,
} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {Message} from '../../api/message/types';
import MessageBodyContainer from './MessageBodyContainer';
diff --git a/components/profile/SetWelcomeMessage.tsx b/src/components/profile/SetWelcomeMessage.tsx
similarity index 96%
rename from components/profile/SetWelcomeMessage.tsx
rename to src/components/profile/SetWelcomeMessage.tsx
index 2bfbd92f..c01aebac 100644
--- a/components/profile/SetWelcomeMessage.tsx
+++ b/src/components/profile/SetWelcomeMessage.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {Pressable, Text, StyleSheet} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
diff --git a/components/profile/ShareButton.tsx b/src/components/profile/ShareButton.tsx
similarity index 100%
rename from components/profile/ShareButton.tsx
rename to src/components/profile/ShareButton.tsx
diff --git a/components/search/FollowBtn.tsx b/src/components/search/FollowBtn.tsx
similarity index 100%
rename from components/search/FollowBtn.tsx
rename to src/components/search/FollowBtn.tsx
diff --git a/components/search/RecommandBrandUserContainer.tsx b/src/components/search/RecommandBrandUserContainer.tsx
similarity index 99%
rename from components/search/RecommandBrandUserContainer.tsx
rename to src/components/search/RecommandBrandUserContainer.tsx
index e55c1001..7c805075 100644
--- a/components/search/RecommandBrandUserContainer.tsx
+++ b/src/components/search/RecommandBrandUserContainer.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, View, Image, Text, Pressable} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import FollowButton from '../profile/FollowButton';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
diff --git a/components/search/RecommandSubTitle.tsx b/src/components/search/RecommandSubTitle.tsx
similarity index 90%
rename from components/search/RecommandSubTitle.tsx
rename to src/components/search/RecommandSubTitle.tsx
index 1b00b20a..6015d880 100644
--- a/components/search/RecommandSubTitle.tsx
+++ b/src/components/search/RecommandSubTitle.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
function RecommandSubTitle() {
return μΆμ² λΈλλ;
diff --git a/components/search/SearchBar.tsx b/src/components/search/SearchBar.tsx
similarity index 98%
rename from components/search/SearchBar.tsx
rename to src/components/search/SearchBar.tsx
index 5ed09e22..140104c6 100644
--- a/components/search/SearchBar.tsx
+++ b/src/components/search/SearchBar.tsx
@@ -1,6 +1,6 @@
import React, {useState} from 'react';
import {View, StyleSheet, TextInput, TouchableOpacity} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
interface Props {
diff --git a/components/search/SearchResultBrandUserContainer.tsx b/src/components/search/SearchResultBrandUserContainer.tsx
similarity index 98%
rename from components/search/SearchResultBrandUserContainer.tsx
rename to src/components/search/SearchResultBrandUserContainer.tsx
index c70beb49..269386c3 100644
--- a/components/search/SearchResultBrandUserContainer.tsx
+++ b/src/components/search/SearchResultBrandUserContainer.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import {StyleSheet, View, Image, Text, Pressable} from 'react-native';
import FollowButton from '../profile/FollowButton';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {useNavigation} from '@react-navigation/native';
import {RootStackNavigationProp} from '../../screens/types';
import {
diff --git a/components/search/SearchResultSubTitle.tsx b/src/components/search/SearchResultSubTitle.tsx
similarity index 95%
rename from components/search/SearchResultSubTitle.tsx
rename to src/components/search/SearchResultSubTitle.tsx
index c41563b8..a9974e6a 100644
--- a/components/search/SearchResultSubTitle.tsx
+++ b/src/components/search/SearchResultSubTitle.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
interface Props {
searchCount?: number;
diff --git a/components/setting/FollowingButton.tsx b/src/components/setting/FollowingButton.tsx
similarity index 97%
rename from components/setting/FollowingButton.tsx
rename to src/components/setting/FollowingButton.tsx
index 7174cb69..bf2bf422 100644
--- a/components/setting/FollowingButton.tsx
+++ b/src/components/setting/FollowingButton.tsx
@@ -1,6 +1,6 @@
import React, {useRef} from 'react';
import {View, TouchableOpacity, Text, StyleSheet} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {follow, unfollow} from '../../api/follow';
import {useMutation} from 'react-query';
diff --git a/components/setting/FollowingList.tsx b/src/components/setting/FollowingList.tsx
similarity index 94%
rename from components/setting/FollowingList.tsx
rename to src/components/setting/FollowingList.tsx
index 65088e6e..0bf06147 100644
--- a/components/setting/FollowingList.tsx
+++ b/src/components/setting/FollowingList.tsx
@@ -2,7 +2,7 @@ import {useNavigation} from '@react-navigation/native';
import React from 'react';
import {Image, Text, Pressable, View, StyleSheet} from 'react-native';
// import FollowButton from '../profile/FollowButton';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import {RootStackNavigationProp} from '../../screens/types';
import FollowingButton from './FollowingButton';
@@ -34,7 +34,9 @@ function FollowingList({
}>
diff --git a/components/setting/JoinBrand.tsx b/src/components/setting/JoinBrand.tsx
similarity index 97%
rename from components/setting/JoinBrand.tsx
rename to src/components/setting/JoinBrand.tsx
index 3bf6d09a..9e563eca 100644
--- a/components/setting/JoinBrand.tsx
+++ b/src/components/setting/JoinBrand.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {View, StyleSheet, Text, Pressable} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
function JoinBrandContainer({onPress}: {onPress?: any}) {
diff --git a/components/setting/SetArticle.tsx b/src/components/setting/SetArticle.tsx
similarity index 95%
rename from components/setting/SetArticle.tsx
rename to src/components/setting/SetArticle.tsx
index 0da08b29..929e8672 100644
--- a/components/setting/SetArticle.tsx
+++ b/src/components/setting/SetArticle.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {Text, Pressable, StyleSheet} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
import Icon from 'react-native-vector-icons/MaterialIcons';
interface Props {
diff --git a/components/setting/footer.tsx b/src/components/setting/footer.tsx
similarity index 95%
rename from components/setting/footer.tsx
rename to src/components/setting/footer.tsx
index dbdd4938..206ec9b2 100644
--- a/components/setting/footer.tsx
+++ b/src/components/setting/footer.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import {View, StyleSheet, Text} from 'react-native';
-import theme from '../../assets/theme';
+import theme from '../../../assets/theme';
function Footer() {
return (
diff --git a/hooks/useAuthLoadEffect.tsx b/src/hooks/useAuthLoadEffect.tsx
similarity index 100%
rename from hooks/useAuthLoadEffect.tsx
rename to src/hooks/useAuthLoadEffect.tsx
diff --git a/hooks/useFirstLogin.ts b/src/hooks/useFirstLogin.ts
similarity index 100%
rename from hooks/useFirstLogin.ts
rename to src/hooks/useFirstLogin.ts
diff --git a/hooks/useLogin.ts b/src/hooks/useLogin.ts
similarity index 100%
rename from hooks/useLogin.ts
rename to src/hooks/useLogin.ts
diff --git a/hooks/useSignUp.ts b/src/hooks/useSignUp.ts
similarity index 100%
rename from hooks/useSignUp.ts
rename to src/hooks/useSignUp.ts
diff --git a/screens/BrandAssignCompleteScreen.tsx b/src/screens/BrandAssignCompleteScreen.tsx
similarity index 98%
rename from screens/BrandAssignCompleteScreen.tsx
rename to src/screens/BrandAssignCompleteScreen.tsx
index 7bcf8c09..63452434 100644
--- a/screens/BrandAssignCompleteScreen.tsx
+++ b/src/screens/BrandAssignCompleteScreen.tsx
@@ -3,7 +3,7 @@ import React from 'react';
import {ActivityIndicator, Image, StyleSheet, Text, View} from 'react-native';
import {useQuery} from 'react-query';
import {getBrand} from '../api/brand';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import MainContainer from '../components/MainContainer';
import ScreenBottomButton from '../components/ScreenBottomButton';
import Title from '../components/Title';
diff --git a/screens/BrandAssignGuideScreen.tsx b/src/screens/BrandAssignGuideScreen.tsx
similarity index 98%
rename from screens/BrandAssignGuideScreen.tsx
rename to src/screens/BrandAssignGuideScreen.tsx
index 74ce6c7e..ddb577b0 100644
--- a/screens/BrandAssignGuideScreen.tsx
+++ b/src/screens/BrandAssignGuideScreen.tsx
@@ -2,7 +2,7 @@ import {useNavigation} from '@react-navigation/native';
import React, {useEffect} from 'react';
import {StyleSheet, Text, TouchableOpacity, View} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import MainContainer from '../components/MainContainer';
import ScreenBottomButton from '../components/ScreenBottomButton';
import {RootStackNavigationProp} from './types';
diff --git a/screens/BrandAssignScreen.tsx b/src/screens/BrandAssignScreen.tsx
similarity index 100%
rename from screens/BrandAssignScreen.tsx
rename to src/screens/BrandAssignScreen.tsx
diff --git a/screens/BrandProfileScreen.tsx b/src/screens/BrandProfileScreen.tsx
similarity index 97%
rename from screens/BrandProfileScreen.tsx
rename to src/screens/BrandProfileScreen.tsx
index f34be241..d879dd2f 100644
--- a/screens/BrandProfileScreen.tsx
+++ b/src/screens/BrandProfileScreen.tsx
@@ -9,10 +9,10 @@ import {
FlatList,
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import ShareButton from '../components/profile/ShareButton';
import BrandProfileMessageContainer from '../components/profile/BrandProfileMessageContainer';
-import BrandProfileHeader from './../components/profile/BrandProfileHeader';
+import BrandProfileHeader from '../components/profile/BrandProfileHeader';
import {
CommonActions,
RouteProp,
diff --git a/screens/CreateMsgScreen.tsx b/src/screens/CreateMsgScreen.tsx
similarity index 99%
rename from screens/CreateMsgScreen.tsx
rename to src/screens/CreateMsgScreen.tsx
index 820cd3b2..a82466eb 100644
--- a/screens/CreateMsgScreen.tsx
+++ b/src/screens/CreateMsgScreen.tsx
@@ -11,7 +11,7 @@ import {
KeyboardAvoidingView,
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import Title from '../components/Title';
import {
PreviewButton,
diff --git a/screens/EditProfileScreen.tsx b/src/screens/EditProfileScreen.tsx
similarity index 97%
rename from screens/EditProfileScreen.tsx
rename to src/screens/EditProfileScreen.tsx
index 2100fa70..fe10c000 100644
--- a/screens/EditProfileScreen.tsx
+++ b/src/screens/EditProfileScreen.tsx
@@ -10,8 +10,8 @@ import {
Pressable,
Image,
} from 'react-native';
-import theme from '../assets/theme';
-import ScreenBottomButton from './../components/ScreenBottomButton';
+import theme from '../../assets/theme';
+import ScreenBottomButton from '../components/ScreenBottomButton';
import {CommonActions, useNavigation} from '@react-navigation/native';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {useQuery, useMutation} from 'react-query';
diff --git a/screens/EditUserScreen.tsx b/src/screens/EditUserScreen.tsx
similarity index 97%
rename from screens/EditUserScreen.tsx
rename to src/screens/EditUserScreen.tsx
index 504ad5b2..0747a43e 100644
--- a/screens/EditUserScreen.tsx
+++ b/src/screens/EditUserScreen.tsx
@@ -1,6 +1,6 @@
import React, {useState} from 'react';
import {View, StyleSheet, Pressable, SafeAreaView} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import {InputTitle} from '../components/auth/AuthComponents';
import TextInputs from '../components/TextInputs';
import {AuthButton} from '../components/auth/AuthComponents';
@@ -12,7 +12,7 @@ import {getUser, nickNameExist} from '../api/auth';
import {updateNickname} from '../api/profile';
import {useMutation, useQuery} from 'react-query';
import {CheckNickName} from '../components/auth/Validation';
-import ScreenBottomButton from './../components/ScreenBottomButton';
+import ScreenBottomButton from '../components/ScreenBottomButton';
import {AxiosError} from 'axios';
export interface EditUserProps {
diff --git a/screens/FeedMessageScreen.tsx b/src/screens/FeedMessageScreen.tsx
similarity index 99%
rename from screens/FeedMessageScreen.tsx
rename to src/screens/FeedMessageScreen.tsx
index 47dd495a..bc2c8d5a 100644
--- a/screens/FeedMessageScreen.tsx
+++ b/src/screens/FeedMessageScreen.tsx
@@ -12,7 +12,7 @@ import {
NativeModules,
ScrollView,
} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import Commentcomponent from '../components/message/Commentcomponent';
import DetailMessageContainer from '../components/message/DetailMessageContainer';
import InputCommentContainer from '../components/message/InputCommentContainer';
diff --git a/screens/FeedScreen.tsx b/src/screens/FeedScreen.tsx
similarity index 97%
rename from screens/FeedScreen.tsx
rename to src/screens/FeedScreen.tsx
index 3ab083e0..26456736 100644
--- a/screens/FeedScreen.tsx
+++ b/src/screens/FeedScreen.tsx
@@ -9,7 +9,7 @@ import {
RefreshControl,
} from 'react-native';
import Feed from '../components/feed/Feed';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import NowDate from '../components/feed/NowDate';
import Hello from '../components/feed/Hello';
import {getUser} from '../api/auth';
@@ -120,7 +120,7 @@ function FeedScreen() {
}>
diff --git a/screens/FollowingListScreen.tsx b/src/screens/FollowingListScreen.tsx
similarity index 98%
rename from screens/FollowingListScreen.tsx
rename to src/screens/FollowingListScreen.tsx
index e1640a58..8c6458cc 100644
--- a/screens/FollowingListScreen.tsx
+++ b/src/screens/FollowingListScreen.tsx
@@ -4,7 +4,7 @@ import {Text, View, StyleSheet, SafeAreaView, FlatList} from 'react-native';
import {useQuery} from 'react-query';
import {getFollowingList} from '../api/follow';
import {Following} from '../api/follow/types';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import FollowingList from '../components/setting/FollowingList';
import {RootStackParamList} from './types';
diff --git a/screens/GuideScreen.tsx b/src/screens/GuideScreen.tsx
similarity index 97%
rename from screens/GuideScreen.tsx
rename to src/screens/GuideScreen.tsx
index f132f824..47407695 100644
--- a/screens/GuideScreen.tsx
+++ b/src/screens/GuideScreen.tsx
@@ -1,7 +1,7 @@
import {useNavigation} from '@react-navigation/native';
import React, {useState} from 'react';
import {Pressable, StyleSheet, Text, View} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import Carousel from '../components/guide/Carousel';
import ScreenBottomButton from '../components/ScreenBottomButton';
import {RootStackNavigationProp} from './types';
diff --git a/screens/LoginScreen.tsx b/src/screens/LoginScreen.tsx
similarity index 99%
rename from screens/LoginScreen.tsx
rename to src/screens/LoginScreen.tsx
index 9dc78a66..f37c4f84 100644
--- a/screens/LoginScreen.tsx
+++ b/src/screens/LoginScreen.tsx
@@ -16,7 +16,7 @@ import MainContainer from '../components/MainContainer';
import Title from '../components/Title';
import {AuthButton, InputTitle} from '../components/auth/AuthComponents';
import TextInputs from '../components/TextInputs';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import useLogin from '../hooks/useLogin';
import AlertBox from '../components/AlertBox';
diff --git a/screens/MainTab.tsx b/src/screens/MainTab.tsx
similarity index 98%
rename from screens/MainTab.tsx
rename to src/screens/MainTab.tsx
index 9de05139..1c0c76e5 100644
--- a/screens/MainTab.tsx
+++ b/src/screens/MainTab.tsx
@@ -7,7 +7,7 @@ import ProfileScreen from './ProfileScreen';
// import MessageScreen from './MessageScreen';
import {MainTabParamList} from './types';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from './../assets/theme';
+import theme from '../../assets/theme';
import {RootState} from '../slices';
import {useSelector} from 'react-redux';
diff --git a/screens/MessageScreen.tsx b/src/screens/MessageScreen.tsx
similarity index 99%
rename from screens/MessageScreen.tsx
rename to src/screens/MessageScreen.tsx
index 9b34ce2a..8f1e1a9e 100644
--- a/screens/MessageScreen.tsx
+++ b/src/screens/MessageScreen.tsx
@@ -12,7 +12,7 @@ import {
NativeModules,
ScrollView,
} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import Commentcomponent from '../components/message/Commentcomponent';
import DetailMessageContainer from '../components/message/DetailMessageContainer';
import InputCommentContainer from '../components/message/InputCommentContainer';
diff --git a/screens/PasswordScreen.tsx b/src/screens/PasswordScreen.tsx
similarity index 100%
rename from screens/PasswordScreen.tsx
rename to src/screens/PasswordScreen.tsx
diff --git a/screens/PreviewScreen.tsx b/src/screens/PreviewScreen.tsx
similarity index 94%
rename from screens/PreviewScreen.tsx
rename to src/screens/PreviewScreen.tsx
index 881a00a7..58c9200c 100644
--- a/screens/PreviewScreen.tsx
+++ b/src/screens/PreviewScreen.tsx
@@ -7,7 +7,7 @@ import {
Image,
SafeAreaView,
} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import ScreenBottomButton from '../components/ScreenBottomButton';
import {RouteProp, useNavigation, useRoute} from '@react-navigation/native';
import {RootStackNavigationProp, RootStackParamList} from './types';
@@ -30,7 +30,7 @@ function PreviewScreen() {
return (
@@ -42,7 +42,7 @@ function PreviewScreen() {
/>
@@ -57,7 +57,7 @@ function PreviewScreen() {
{isImageExist ? (
) : (
diff --git a/screens/ProfileScreen.tsx b/src/screens/ProfileScreen.tsx
similarity index 99%
rename from screens/ProfileScreen.tsx
rename to src/screens/ProfileScreen.tsx
index 4ced1e7f..f2f382a5 100644
--- a/screens/ProfileScreen.tsx
+++ b/src/screens/ProfileScreen.tsx
@@ -10,7 +10,7 @@ import {
import ProfileHeader from '../components/profile/ProfileHeader';
import ProfileMessageContainer from '../components/profile/ProfileMessageContainer';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import {useIsFocused, useNavigation} from '@react-navigation/native';
import {useQuery} from 'react-query';
import {RootStackNavigationProp} from './types';
diff --git a/screens/RootStack.tsx b/src/screens/RootStack.tsx
similarity index 100%
rename from screens/RootStack.tsx
rename to src/screens/RootStack.tsx
diff --git a/screens/SearchScreen.tsx b/src/screens/SearchScreen.tsx
similarity index 99%
rename from screens/SearchScreen.tsx
rename to src/screens/SearchScreen.tsx
index 71c34d0b..ae51c100 100644
--- a/screens/SearchScreen.tsx
+++ b/src/screens/SearchScreen.tsx
@@ -12,7 +12,7 @@ import RecommandBrandUserContainer from '../components/search/RecommandBrandUser
import RecommandSubTitle from '../components/search/RecommandSubTitle';
// import SearchResultBrandUserContainer from '../components/search/SearchResultBrandUserContainer';
import SearchResultSubTitle from '../components/search/SearchResultSubTitle';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import {useQuery} from 'react-query';
import {getAllBrand} from '../api/brand/index';
import {AllBrandResult} from '../api/brand/types';
diff --git a/screens/SettingScreen.tsx b/src/screens/SettingScreen.tsx
similarity index 98%
rename from screens/SettingScreen.tsx
rename to src/screens/SettingScreen.tsx
index 7a5f446a..cbc21bc4 100644
--- a/screens/SettingScreen.tsx
+++ b/src/screens/SettingScreen.tsx
@@ -16,10 +16,10 @@ import {useNavigation, useIsFocused} from '@react-navigation/native';
import {useDispatch, useSelector} from 'react-redux';
import {useQuery} from 'react-query';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import {RootStackNavigationProp} from './types';
import JoinBrandContainer from '../components/setting/JoinBrand';
-import SetArticle from './../components/setting/SetArticle';
+import SetArticle from '../components/setting/SetArticle';
import {PADDING} from '../components/MainContainer';
import AlertBox from '../components/AlertBox';
import Footer from '../components/setting/footer';
@@ -131,7 +131,7 @@ function SettingScreen() {
) : (
)}
{user?.role === 'BRAND_USER' ? (
diff --git a/screens/SettingStack.tsx b/src/screens/SettingStack.tsx
similarity index 100%
rename from screens/SettingStack.tsx
rename to src/screens/SettingStack.tsx
diff --git a/screens/SignUpScreen.tsx b/src/screens/SignUpScreen.tsx
similarity index 100%
rename from screens/SignUpScreen.tsx
rename to src/screens/SignUpScreen.tsx
diff --git a/screens/WelcomeMsgScreen.tsx b/src/screens/WelcomeMsgScreen.tsx
similarity index 99%
rename from screens/WelcomeMsgScreen.tsx
rename to src/screens/WelcomeMsgScreen.tsx
index e2296adc..f74c1141 100644
--- a/screens/WelcomeMsgScreen.tsx
+++ b/src/screens/WelcomeMsgScreen.tsx
@@ -11,7 +11,7 @@ import {
KeyboardAvoidingView,
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialIcons';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import Title from '../components/Title';
import {
PreviewButton,
diff --git a/screens/WelcomeScreen.tsx b/src/screens/WelcomeScreen.tsx
similarity index 95%
rename from screens/WelcomeScreen.tsx
rename to src/screens/WelcomeScreen.tsx
index 9d9d6a6e..2cf2990a 100644
--- a/screens/WelcomeScreen.tsx
+++ b/src/screens/WelcomeScreen.tsx
@@ -8,7 +8,7 @@ import {
Text,
View,
} from 'react-native';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
import AlertBox from '../components/AlertBox';
import {AuthButton} from '../components/auth/AuthComponents';
import MainContainer from '../components/MainContainer';
@@ -26,7 +26,7 @@ function WelcomeScreen() {
diff --git a/screens/types.ts b/src/screens/types.ts
similarity index 100%
rename from screens/types.ts
rename to src/screens/types.ts
diff --git a/slices/alert.ts b/src/slices/alert.ts
similarity index 100%
rename from slices/alert.ts
rename to src/slices/alert.ts
diff --git a/slices/auth.ts b/src/slices/auth.ts
similarity index 100%
rename from slices/auth.ts
rename to src/slices/auth.ts
diff --git a/slices/index.ts b/src/slices/index.ts
similarity index 100%
rename from slices/index.ts
rename to src/slices/index.ts
diff --git a/storages/authStorage.ts b/src/storages/authStorage.ts
similarity index 100%
rename from storages/authStorage.ts
rename to src/storages/authStorage.ts
diff --git a/tsconfig.json b/tsconfig.json
index 68180408..efb42ad2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -42,7 +42,9 @@
/* Module Resolution Options */
"moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
- // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+ "paths": {
+ "*": [ "./web/types/*"]
+ }, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
// "types": [], /* Type declaration files to be included in compilation. */
diff --git a/App.web.tsx b/web/App.web.tsx
similarity index 75%
rename from App.web.tsx
rename to web/App.web.tsx
index 2d7d51f2..37b0ecdf 100644
--- a/App.web.tsx
+++ b/web/App.web.tsx
@@ -1,13 +1,13 @@
import React from 'react';
import {QueryClient, QueryClientProvider} from 'react-query';
import {Provider} from 'react-redux';
-import store from './slices';
-import ProfileScreen from './web/ProfileScreen.web';
+import store from '../src/slices';
+import ProfileScreen from './pages/ProfileScreen.web';
import {Route, BrowserRouter, Routes} from 'react-router-dom';
-import NotFound from './web/NotFound.web';
-import Home from './web/pages/Home.web';
-import Info from './web/pages/Info.web';
-import SearchScreen from './web/SearchScreen.web';
+import NotFound from './pages/NotFound.web';
+import Home from './pages/Home.web';
+import Info from './pages/Info.web';
+import SearchScreen from './pages/SearchScreen.web';
const queryClient = new QueryClient();
diff --git a/web/components/BrandUserContainer.web.tsx b/web/components/BrandUserContainer.web.tsx
index 1a701ecf..eca1875c 100644
--- a/web/components/BrandUserContainer.web.tsx
+++ b/web/components/BrandUserContainer.web.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import {StyleSheet, View, Image, Text, Pressable} from 'react-native';
import theme from '../../assets/theme';
import FollowButton from './FollowButton.web';
-import {brand} from '../../api/web/types';
+import {brand} from '../../src/api/web/types';
import {useNavigate} from 'react-router-dom';
interface Props {
diff --git a/web/MessageBlock.web.tsx b/web/components/MessageBlock.web.tsx
similarity index 91%
rename from web/MessageBlock.web.tsx
rename to web/components/MessageBlock.web.tsx
index 7753fc7c..78f38eb0 100644
--- a/web/MessageBlock.web.tsx
+++ b/web/components/MessageBlock.web.tsx
@@ -7,12 +7,12 @@ import {
TouchableOpacity,
View,
} from 'react-native';
-import {Message} from '../api/message/types';
-import theme from '../assets/theme';
+import {Message} from '../../src/api/message/types';
+import theme from '../../assets/theme';
import MessageHeader from './MessageHeader.web';
-import MessageImg from '../components/message/MessageImg';
-import MessageText from '../components/message/MessageText';
-import Link from './assets/Link.png';
+import MessageImg from '../../src/components/message/MessageImg';
+import MessageText from '../../src/components/message/MessageText';
+import Link from '../assets/Link.png';
interface Props extends Message {
isHome?: boolean;
diff --git a/web/MessageHeader.web.tsx b/web/components/MessageHeader.web.tsx
similarity index 98%
rename from web/MessageHeader.web.tsx
rename to web/components/MessageHeader.web.tsx
index 17d4e5fa..46984036 100644
--- a/web/MessageHeader.web.tsx
+++ b/web/components/MessageHeader.web.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import {StyleSheet, Text, View, TouchableOpacity, Image} from 'react-native';
import {useNavigate} from 'react-router-dom';
-import theme from '../assets/theme';
+import theme from '../../assets/theme';
interface Props {
brandUsername: string;
diff --git a/web/Profile.web.tsx b/web/components/Profile.web.tsx
similarity index 96%
rename from web/Profile.web.tsx
rename to web/components/Profile.web.tsx
index 32e2616d..6d34dee6 100644
--- a/web/Profile.web.tsx
+++ b/web/components/Profile.web.tsx
@@ -7,9 +7,9 @@ import {
TouchableOpacity,
View,
} from 'react-native';
-import theme from '../assets/theme';
-import PoolLogo from '../assets/PoolLogo.png';
-import {brandProfile} from '../api/web/types';
+import theme from '../../assets/theme';
+import PoolLogo from '../../assets/PoolLogo.png';
+import {brandProfile} from '../../src/api/web/types';
function Profile({data, isLoading}: {data?: brandProfile; isLoading: boolean}) {
return (
diff --git a/web/components/RecommandBrandUserContainer.tsx b/web/components/RecommandBrandUserContainer.tsx
index 34858e63..c5d54004 100644
--- a/web/components/RecommandBrandUserContainer.tsx
+++ b/web/components/RecommandBrandUserContainer.tsx
@@ -8,7 +8,7 @@ import {
RefetchOptions,
RefetchQueryFilters,
} from 'react-query';
-import {AllBrandResult} from '../../api/brand/types';
+import {AllBrandResult} from '../../src/api/brand/types';
interface Props {
brandUsername: string;
diff --git a/index.web.tsx b/web/index.web.tsx
similarity index 100%
rename from index.web.tsx
rename to web/index.web.tsx
diff --git a/web/pages/Home.web.tsx b/web/pages/Home.web.tsx
index 2aa1e600..431f467b 100644
--- a/web/pages/Home.web.tsx
+++ b/web/pages/Home.web.tsx
@@ -1,18 +1,18 @@
import React from 'react';
import {Image, Linking, Pressable, StyleSheet, Text, View} from 'react-native';
import theme from '../../assets/theme';
-import Footer from '../../components/setting/footer';
-import Title from '../../components/Title';
+import Footer from '../../src/components/setting/footer';
+import Title from '../../src/components/Title';
import {Link} from 'react-router-dom';
import PoolLogo from '../../assets/logo/Logo.png';
import GooglePlay from '../assets/home/google-play-badge.png';
import AppStore from '../assets/home/app-store-badge.png';
import {useQuery} from 'react-query';
-import {getRecentBrand, getRecentMessage} from '../../api/web';
-import {brand} from '../../api/web/types';
+import {getRecentBrand, getRecentMessage} from '../../src/api/web';
+import {brand} from '../../src/api/web/types';
import BrandUserContainer from '../components/BrandUserContainer.web';
-import MessageBlock from '../MessageBlock.web';
-import {Message} from '../../api/message/types';
+import MessageBlock from '../components/MessageBlock.web';
+import {Message} from '../../src/api/message/types';
function Home() {
const {data: brandData} = useQuery(
diff --git a/web/pages/Info.web.tsx b/web/pages/Info.web.tsx
index 164fee36..a6d80c02 100644
--- a/web/pages/Info.web.tsx
+++ b/web/pages/Info.web.tsx
@@ -1,9 +1,9 @@
import React from 'react';
import {Image, ScrollView, StyleSheet, Text, View} from 'react-native';
import PoolLogo from '../../assets/logo/Logo.png';
-import Title from '../../components/Title';
+import Title from '../../src/components/Title';
import theme from '../../assets/theme';
-import DATA from '../../components/guide/Contents';
+import DATA from '../../src/components/guide/Contents';
import Img0 from '../../assets/guide/0.png';
import Img1 from '../../assets/guide/1.png';
import Img2 from '../../assets/guide/2.png';
diff --git a/web/NotFound.web.tsx b/web/pages/NotFound.web.tsx
similarity index 88%
rename from web/NotFound.web.tsx
rename to web/pages/NotFound.web.tsx
index 4d07104c..65d4b47c 100644
--- a/web/NotFound.web.tsx
+++ b/web/pages/NotFound.web.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import {View, Text, StyleSheet} from 'react-native';
-import theme from '../assets/theme';
-import Footer from '../components/setting/footer';
+import theme from '../../assets/theme';
+import Footer from '../../src/components/setting/footer';
function NotFound() {
return (
diff --git a/web/ProfileScreen.web.tsx b/web/pages/ProfileScreen.web.tsx
similarity index 90%
rename from web/ProfileScreen.web.tsx
rename to web/pages/ProfileScreen.web.tsx
index 834d6128..f9eb62f9 100644
--- a/web/ProfileScreen.web.tsx
+++ b/web/pages/ProfileScreen.web.tsx
@@ -8,12 +8,12 @@ import {
} from 'react-native';
import {useQuery} from 'react-query';
import {useNavigate, useParams} from 'react-router-dom';
-import {Message} from '../api/message/types';
-import {getBrandWebMessage, getBrandWebProfile} from '../api/web';
-import theme from '../assets/theme';
-import Footer from '../components/setting/footer';
-import MessageBlock from './MessageBlock.web';
-import Profile from './Profile.web';
+import {Message} from '../../src/api/message/types';
+import {getBrandWebMessage, getBrandWebProfile} from '../../src/api/web';
+import theme from '../../assets/theme';
+import Footer from '../../src/components/setting/footer';
+import MessageBlock from '../components/MessageBlock.web';
+import Profile from '../components/Profile.web';
const LENGTH = 10;
diff --git a/web/SearchScreen.web.tsx b/web/pages/SearchScreen.web.tsx
similarity index 93%
rename from web/SearchScreen.web.tsx
rename to web/pages/SearchScreen.web.tsx
index c4162e36..e0235ff2 100644
--- a/web/SearchScreen.web.tsx
+++ b/web/pages/SearchScreen.web.tsx
@@ -9,16 +9,16 @@ import {
Image,
TouchableOpacity,
} from 'react-native';
-import SearchBar from './components/SearchBar';
-import RecommandBrandUserContainer from './components/RecommandBrandUserContainer';
-import RecommandSubTitle from '../components/search/RecommandSubTitle';
+import SearchBar from '../components/SearchBar';
+import RecommandBrandUserContainer from '../components/RecommandBrandUserContainer';
+import RecommandSubTitle from '../../src/components/search/RecommandSubTitle';
// import SearchResultBrandUserContainer from '../components/search/SearchResultBrandUserContainer';
-import SearchResultSubTitle from '../components/search/SearchResultSubTitle';
-import theme from '../assets/theme';
+import SearchResultSubTitle from '../../src/components/search/SearchResultSubTitle';
+import theme from '../../assets/theme';
import {useQuery} from 'react-query';
-import {getAllBrand} from '../api/web/index';
-import {AllBrandResult} from '../api/web/types';
-import Back from './assets/search/Back.png';
+import {getAllBrand} from '../../src/api/web/index';
+import {AllBrandResult} from '../../src/api/web/types';
+import Back from '../assets/search/Back.png';
import {useNavigate} from 'react-router-dom';
// import {follow, unfollow} from '../api/follow';
diff --git a/image.d.ts b/web/types/image.d.ts
similarity index 100%
rename from image.d.ts
rename to web/types/image.d.ts
diff --git a/web/webpack.config.js b/web/webpack.config.js
index d6f8e3ea..86059d41 100644
--- a/web/webpack.config.js
+++ b/web/webpack.config.js
@@ -8,7 +8,7 @@ const webpackEnv = process.env.NODE_ENV || 'development';
module.exports = {
mode: webpackEnv,
entry: {
- app: path.join(rootDir, './index.web.tsx'),
+ app: path.join(rootDir, './web/index.web.tsx'),
},
output: {
path: path.resolve(rootDir, 'dist'),
@@ -19,8 +19,7 @@ module.exports = {
rules: [
{
test: /\.(tsx|ts|jsx|js|mjs)$/,
- exclude:
- /node_modules\/(?!(react-native-elements|react-native-vector-icons)\/).*/,
+ exclude: /node_modules/,
loader: 'ts-loader',
},
{