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 Playstorehttps://play.google.com/store/apps/details?id=com.app_pool_frontend
AppStorehttps://apps.apple.com/kr/app/pool/id1640180474
Webhttps://app-pool-firebase.web.app
-**Brand Assign** - +_\* μ„œλ²„ 운영이 2022.11둜 μ’…λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€._ -**Create Message** - +
-**Receive Message(Push Alarm)** +## Demo -**Information Web** - +
+ [Demo] Authentication + + + + + + + + + +
SignUpLogin
+
+
+ [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 MessageReceive 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', }, {