diff --git a/ios/meokguskku.xcodeproj/project.pbxproj b/ios/meokguskku.xcodeproj/project.pbxproj index de0b3b0..c97674b 100644 --- a/ios/meokguskku.xcodeproj/project.pbxproj +++ b/ios/meokguskku.xcodeproj/project.pbxproj @@ -41,7 +41,7 @@ 00E356EE1AD99517003FC87E /* meokguskkuTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = meokguskkuTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* meokguskkuTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = meokguskkuTests.m; sourceTree = ""; }; - 05A0D76595064C7D82FC26A9 /* NanumSquareRoundB.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundB.otf; path = ../src/assets/fonts/NanumSquareRoundB.otf; sourceTree = ""; }; + 05A0D76595064C7D82FC26A9 /* NanumSquareRoundB.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundB.otf; path = ../src/assets/fonts/NanumSquareRoundB.otf; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* meokguskku.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = meokguskku.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = meokguskku/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = meokguskku/AppDelegate.mm; sourceTree = ""; }; @@ -49,23 +49,23 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = meokguskku/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = meokguskku/main.m; sourceTree = ""; }; 19F6CBCC0A4E27FBF8BF4A61 /* libPods-meokguskku-meokguskkuTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-meokguskku-meokguskkuTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1C6B42C5E19141E9895D2EC6 /* NanumSquareRoundL.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundL.otf; path = ../src/assets/fonts/NanumSquareRoundL.otf; sourceTree = ""; }; + 1C6B42C5E19141E9895D2EC6 /* NanumSquareRoundL.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundL.otf; path = ../src/assets/fonts/NanumSquareRoundL.otf; sourceTree = ""; }; 1EA088AE07AA4A008F5DECC0 /* NanumSquareRoundB.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundB.ttf; path = ../src/assets/fonts/NanumSquareRoundB.ttf; sourceTree = ""; }; 3105D155E65943C28C5F5FDB /* NanumSquareRoundR.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundR.ttf; path = ../src/assets/fonts/NanumSquareRoundR.ttf; sourceTree = ""; }; 3B4392A12AC88292D35C810B /* Pods-meokguskku.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-meokguskku.debug.xcconfig"; path = "Target Support Files/Pods-meokguskku/Pods-meokguskku.debug.xcconfig"; sourceTree = ""; }; 5709B34CF0A7D63546082F79 /* Pods-meokguskku.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-meokguskku.release.xcconfig"; path = "Target Support Files/Pods-meokguskku/Pods-meokguskku.release.xcconfig"; sourceTree = ""; }; 5B7EB9410499542E8C5724F5 /* Pods-meokguskku-meokguskkuTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-meokguskku-meokguskkuTests.debug.xcconfig"; path = "Target Support Files/Pods-meokguskku-meokguskkuTests/Pods-meokguskku-meokguskkuTests.debug.xcconfig"; sourceTree = ""; }; 5DCACB8F33CDC322A6C60F78 /* libPods-meokguskku.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-meokguskku.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 74704C3B020D4AC293BF0FF9 /* NanumSquareRoundEB.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundEB.otf; path = ../src/assets/fonts/NanumSquareRoundEB.otf; sourceTree = ""; }; + 74704C3B020D4AC293BF0FF9 /* NanumSquareRoundEB.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundEB.otf; path = ../src/assets/fonts/NanumSquareRoundEB.otf; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = meokguskku/LaunchScreen.storyboard; sourceTree = ""; }; 89C6BE57DB24E9ADA2F236DE /* Pods-meokguskku-meokguskkuTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-meokguskku-meokguskkuTests.release.xcconfig"; path = "Target Support Files/Pods-meokguskku-meokguskkuTests/Pods-meokguskku-meokguskkuTests.release.xcconfig"; sourceTree = ""; }; AD65022AAA184922BE36CA7C /* NanumSquareRoundEB.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundEB.ttf; path = ../src/assets/fonts/NanumSquareRoundEB.ttf; sourceTree = ""; }; - BF3E8CB4790F421288F1C7F9 /* NanumSquareRoundR.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundR.otf; path = ../src/assets/fonts/NanumSquareRoundR.otf; sourceTree = ""; }; + BF3E8CB4790F421288F1C7F9 /* NanumSquareRoundR.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundR.otf; path = ../src/assets/fonts/NanumSquareRoundR.otf; sourceTree = ""; }; CA822710062140ACB7F5B758 /* NanumSquareRoundL.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = NanumSquareRoundL.ttf; path = ../src/assets/fonts/NanumSquareRoundL.ttf; sourceTree = ""; }; CE1AB077A2FE48F1BC9E56AE /* NIXGONFONTS L 2.0.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "NIXGONFONTS L 2.0.ttf"; path = "../src/assets/fonts/NIXGONFONTS L 2.0.ttf"; sourceTree = ""; }; E734FDCFB6374063BE1E6506 /* NIXGONFONTS M 2.0.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "NIXGONFONTS M 2.0.ttf"; path = "../src/assets/fonts/NIXGONFONTS M 2.0.ttf"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; - EE95F34BC81444CEAE8A7E42 /* NIXGONFONTS M 2.0.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "NIXGONFONTS M 2.0.otf"; path = "../src/assets/fonts/NIXGONFONTS M 2.0.otf"; sourceTree = ""; }; + EE95F34BC81444CEAE8A7E42 /* NIXGONFONTS M 2.0.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "NIXGONFONTS M 2.0.otf"; path = "../src/assets/fonts/NIXGONFONTS M 2.0.otf"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -521,6 +521,8 @@ DEVELOPMENT_TEAM = B4BSCLJVA5; ENABLE_BITCODE = NO; INFOPLIST_FILE = meokguskku/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "먹구스꾸"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.food-and-drink"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -548,6 +550,8 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = B4BSCLJVA5; INFOPLIST_FILE = meokguskku/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "먹구스꾸"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.food-and-drink"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/ios/meokguskku/Info.plist b/ios/meokguskku/Info.plist index d363253..4184c3d 100644 --- a/ios/meokguskku/Info.plist +++ b/ios/meokguskku/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - meokguskku + 먹구스꾸 CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -38,31 +38,17 @@ NSCameraUsageDescription - 리뷰/프로필 이미지 업로드를 위해 카메라 접근 권한이 필요합니다. - NSPhotoLibraryUsageDescription - 리뷰/프로필 이미지 업로드를 위해 카메라 접근 권한이 필요합니다. + 리뷰/프로필 이미지 업로드를 위해 카메라 접근 권한이 필요합니다. NSLocationAlwaysAndWhenInUseUsageDescription 위치 기반 서비스 이용을 위해 위치 정보 접근 권한이 필요합니다. - NSLocationWhenInUseUsageDescription - 위치 기반 서비스 이용을 위해 위치 정보 접근 권한이 필요합니다. NSLocationAlwaysUsageDescription 위치 기반 서비스 이용을 위해 위치 정보 접근 권한이 필요합니다. - NSPhotoLibraryAddUsageDescription - 리뷰/및 프로필 사진 업로드를 위해 갤러리 접근 권한이 필요합니다. - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - + NSLocationWhenInUseUsageDescription + 위치 기반 서비스 이용을 위해 위치 정보 접근 권한이 필요합니다. + NSPhotoLibraryAddUsageDescription + 리뷰/및 프로필 사진 업로드를 위해 갤러리 접근 권한이 필요합니다. + NSPhotoLibraryUsageDescription + 리뷰/프로필 이미지 업로드를 위해 카메라 접근 권한이 필요합니다. UIAppFonts NanumSquareRoundB.ttf @@ -77,5 +63,23 @@ NanumSquareRoundL.otf NanumSquareRoundR.otf + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationPortrait + + UIViewControllerBasedStatusBarAppearance + diff --git a/src/assets/svg.js b/src/assets/svg.js index 238bf37..4d64da7 100644 --- a/src/assets/svg.js +++ b/src/assets/svg.js @@ -201,6 +201,16 @@ export const svgXml = { `, + gpsWhite: ` + + + + + + + + + `, refresh: ` diff --git a/src/components/Header.js b/src/components/Header.js index 8f194b8..cb51976 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -13,6 +13,7 @@ import { COLOR_BACKGROUND, COLOR_GRAY, COLOR_PRIMARY, + COLOR_TEXT_BLACK, } from '../assets/color'; import AnimatedButton from './AnimationButton'; import {useNavigation} from '@react-navigation/native'; @@ -22,7 +23,8 @@ import {StatusBarHeight} from './Safe'; export default function Header(props) { const navigation = useNavigation(); - const {title, isBackButton, noSafe} = props; + const {title, isBackButton, noSafe, color} = props; + return ( { navigation.goBack(); }}> - + ) : null} - {isBackButton ? ( - { - navigation.goBack(); - }}> - - - ) : null} - - {title} - - - ); -} - -const styles = StyleSheet.create({}); diff --git a/src/screens/detail/StoreDetailScreen.js b/src/screens/detail/StoreDetailScreen.js index 5ad7ed3..bf17db9 100644 --- a/src/screens/detail/StoreDetailScreen.js +++ b/src/screens/detail/StoreDetailScreen.js @@ -100,7 +100,7 @@ export default function StoreDetailScreen(props) { const data = response.data.data; const dataReview = responseReview.data.data; - console.log('storedata: ', data); + // console.log('storedata: ', data); setRestaurant(data); setIsHearted(data.restaurant.isLike); @@ -280,7 +280,7 @@ export default function StoreDetailScreen(props) { ) : ( )} - {item.username} + {' ' + item.username} - {restaurant.restaurant.name} + + {restaurant.restaurant.name + ' '} + {restaurant.restaurant.categories} @@ -453,12 +455,13 @@ export default function StoreDetailScreen(props) { 위치: {restaurant.restaurant.detailInfo.address} - { onCopy(restaurant.restaurant.detailInfo.address); - }}> + }} + style={styles.copyButton}> 복사 - + @@ -468,15 +471,16 @@ export default function StoreDetailScreen(props) { width={24} height={24} /> - + 전화번호: {restaurant.restaurant.detailInfo.contactNumber} - { onCopy(restaurant.restaurant.detailInfo.contactNumber); - }}> + }} + style={styles.copyButton}> 복사 - + @@ -525,10 +529,9 @@ export default function StoreDetailScreen(props) { noSafe={true} style={{backgroundColor: 'trasparent'}} /> - + + + { + mapRef.current.animateToRegion( + { + latitude: myLocation.latitude, + longitude: myLocation.longitude, + latitudeDelta: 0.005, + longitudeDelta: 0.005, + }, + 1000, + ); + }; + useEffect(() => { getStoreDatas(); }, [ @@ -272,6 +285,12 @@ export default function MapScreen() { search, ]); + useEffect(() => { + if (myLocation.latitude !== 0) { + focusOnCoordinate(); + } + }, [myLocation]); + return ( <>
@@ -625,19 +644,30 @@ export default function MapScreen() { {/* 나침반 버튼*/} {/* gps 버튼*/} { console.log('press gps'); getMyLocation(); }}> - + {myLocation.latitude === 0 ? ( + + ) : ( + + )}
@@ -857,7 +887,6 @@ const styles = StyleSheet.create({ cornerButton: { position: 'absolute', bottom: 16, - backgroundColor: 'white', borderRadius: 15, height: 30, width: 30, diff --git a/src/screens/signup/CheckEmailScreen.js b/src/screens/signup/CheckEmailScreen.js index aa7d029..5b096d2 100644 --- a/src/screens/signup/CheckEmailScreen.js +++ b/src/screens/signup/CheckEmailScreen.js @@ -29,12 +29,12 @@ import AnimatedButton from '../../components/AnimationButton'; import {useNavigation} from '@react-navigation/native'; import {API_URL} from '@env'; import axios, {AxiosError} from 'axios'; -import HeaderWhite from '../../components/HeaderWhite'; import {SvgXml} from 'react-native-svg'; import {svgXml} from '../../assets/svg'; import LongPrimaryButton from '../../components/LongPrimaryButton'; import AsyncStorage from '@react-native-async-storage/async-storage'; import AppContext from '../../components/AppContext'; +import Header from '../../components/Header'; export default function CheckEmailScreen(props) { const navigation = useNavigation(); @@ -88,7 +88,12 @@ export default function CheckEmailScreen(props) { return ( <> - +
diff --git a/src/screens/signup/CheckEmailScreen2.js b/src/screens/signup/CheckEmailScreen2.js index 33c6c9f..55a633b 100644 --- a/src/screens/signup/CheckEmailScreen2.js +++ b/src/screens/signup/CheckEmailScreen2.js @@ -29,7 +29,7 @@ import AnimatedButton from '../../components/AnimationButton'; import {useNavigation} from '@react-navigation/native'; import {API_URL} from '@env'; import axios, {AxiosError} from 'axios'; -import HeaderWhite from '../../components/HeaderWhite'; +import Header from '../../components/Header'; import {SvgXml} from 'react-native-svg'; import {svgXml} from '../../assets/svg'; import LongPrimaryButton from '../../components/LongPrimaryButton'; @@ -84,7 +84,12 @@ export default function CheckEmailScreen2(props) { return ( <> - +
@@ -137,13 +142,14 @@ const styles = StyleSheet.create({ flex: 1, backgroundColor: COLOR_BACKGROUND, alignItems: 'center', - justifyContent: 'center', + // justifyContent: 'center', }, container: { width: '90%', // backgroundColor: 'green', alignItems: 'center', justifyContent: 'center', + marginTop: 160, marginHorizontal: 16, }, textAndInput: { diff --git a/src/screens/signup/FindPasswordScreen.js b/src/screens/signup/FindPasswordScreen.js index b61a314..a3b2ee6 100644 --- a/src/screens/signup/FindPasswordScreen.js +++ b/src/screens/signup/FindPasswordScreen.js @@ -28,7 +28,7 @@ import AnimatedButton from '../../components/AnimationButton'; import {useNavigation} from '@react-navigation/native'; import {API_URL} from '@env'; import axios, {AxiosError} from 'axios'; -import HeaderWhite from '../../components/HeaderWhite'; +import Header from '../../components/Header'; import {SvgXml} from 'react-native-svg'; import {svgXml} from '../../assets/svg'; import LongPrimaryButton from '../../components/LongPrimaryButton'; @@ -75,7 +75,12 @@ export default function FindPasswordScreen() { return ( <> - +
diff --git a/src/screens/signup/LoginScreen.js b/src/screens/signup/LoginScreen.js index b15b705..bff07a2 100644 --- a/src/screens/signup/LoginScreen.js +++ b/src/screens/signup/LoginScreen.js @@ -30,7 +30,7 @@ import Toast from 'react-native-toast-message'; import {useNavigation} from '@react-navigation/native'; import {API_URL} from '@env'; import axios from 'axios'; -import HeaderWhite from '../../components/HeaderWhite'; +import Header from '../../components/Header'; import {SvgXml} from 'react-native-svg'; import {svgXml} from '../../assets/svg'; import LongPrimaryButton from '../../components/LongPrimaryButton'; diff --git a/src/screens/signup/ProfileSetScreen.js b/src/screens/signup/ProfileSetScreen.js index c7e75d8..9bb855d 100644 --- a/src/screens/signup/ProfileSetScreen.js +++ b/src/screens/signup/ProfileSetScreen.js @@ -31,7 +31,7 @@ import AnimatedButton from '../../components/AnimationButton'; import {useNavigation} from '@react-navigation/native'; import {API_URL, IMG_URL} from '@env'; import axios, {AxiosError} from 'axios'; -import HeaderWhite from '../../components/HeaderWhite'; +import Header from '../../components/Header'; import {SvgXml} from 'react-native-svg'; import {svgXml} from '../../assets/svg'; import LongPrimaryButton from '../../components/LongPrimaryButton'; @@ -143,7 +143,12 @@ export default function ProfileSetScreen(props) { //check return ( <> - +
- +
@@ -194,11 +199,12 @@ const styles = StyleSheet.create({ flex: 1, backgroundColor: COLOR_BACKGROUND, alignItems: 'center', - justifyContent: 'center', + // justifyContent: 'center', }, container: { width: '90%', // backgroundColor: 'green', + marginTop: 160, alignItems: 'center', justifyContent: 'center', marginHorizontal: 16, diff --git a/src/screens/signup/SignupScreen.js b/src/screens/signup/SignupScreen.js index 6f56809..ff0bb70 100644 --- a/src/screens/signup/SignupScreen.js +++ b/src/screens/signup/SignupScreen.js @@ -28,7 +28,7 @@ import AnimatedButton from '../../components/AnimationButton'; import {useNavigation} from '@react-navigation/native'; import {API_URL} from '@env'; import axios, {AxiosError} from 'axios'; -import HeaderWhite from '../../components/HeaderWhite'; +import Header from '../../components/Header'; import {SvgXml} from 'react-native-svg'; import {svgXml} from '../../assets/svg'; import LongPrimaryButton from '../../components/LongPrimaryButton'; @@ -127,7 +127,12 @@ export default function SignupScreen() { return ( <> - +
@@ -269,6 +274,7 @@ const styles = StyleSheet.create({ }, container: { width: '90%', + // marginTop: 80, // backgroundColor: 'green', alignItems: 'center', justifyContent: 'center',