• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account settings Log out
  • Favorite
  • Project
  • All
Loading...
  • Log in
  • Sign up
jsbyeon / kogas-application-개발 star
  • Project homeH
  • CodeC
  • IssueI
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB
  • Files
  • Commit
  • Branches
kogas-application-개발kogas_appsrcscreensSignInScreen.js
Download as .zip file
File name
Commit message
Commit date
kogas_app
[ADD] design add
2023-10-04
KOGAS_APP
FIRST COMMIT
2023-09-25
README.md
[ADD] login,main,signature page add
2023-09-25
package-lock.json
[ADD] login,main,signature page add
2023-09-25
File name
Commit message
Commit date
.bundle
[ADD] login,main,signature page add
2023-09-25
__tests__
[ADD] login,main,signature page add
2023-09-25
android
[ADD] design add
2023-10-04
ios
[ADD] login,main,signature page add
2023-09-25
src
[ADD] design add
2023-10-04
.eslintrc.js
[ADD] login,main,signature page add
2023-09-25
.gitignore
[ADD] login,main,signature page add
2023-09-25
.prettierrc.js
[ADD] login,main,signature page add
2023-09-25
.watchmanconfig
[ADD] login,main,signature page add
2023-09-25
App.tsx
[ADD] login,main,signature page add
2023-09-25
Gemfile
[ADD] login,main,signature page add
2023-09-25
README.md
[ADD] login,main,signature page add
2023-09-25
app.json
[ADD] login,main,signature page add
2023-09-25
babel.config.js
[ADD] login,main,signature page add
2023-09-25
index.js
[ADD] login,main,signature page add
2023-09-25
jest.config.js
[ADD] login,main,signature page add
2023-09-25
metro.config.js
[ADD] login,main,signature page add
2023-09-25
package-lock.json
[ADD] design add
2023-10-04
package.json
[ADD] design add
2023-10-04
tsconfig.json
[ADD] login,main,signature page add
2023-09-25
yarn.lock
[ADD] design add
2023-10-04
File name
Commit message
Commit date
components
[ADD] design add
2023-10-04
contexts
[ADD] login,main,signature page add
2023-09-25
navigations
[ADD] design add
2023-10-04
screens
[ADD] design add
2023-10-04
test
[ADD] design add
2023-10-04
App.js
[ADD] login,main,signature page add
2023-09-25
color.js
[ADD] login,main,signature page add
2023-09-25
File name
Commit message
Commit date
HomeScreen.js
[ADD] design add
2023-10-04
ListDetailScreen.js
[ADD] design add
2023-10-04
SettingsScreen.js
[ADD] design add
2023-10-04
SignInScreen.js
[ADD] design add
2023-10-04
SignatureListScreen.js
[ADD] design add
2023-10-04
SignatureScreen.js
[ADD] login,main,signature page add
2023-09-25
moonyeju 2023-10-04 af839a7 [ADD] design add UNIX
Raw Open in browser Change history
import React, { useState, useRef, useEffect } from 'react'; import { View, StyleSheet, Text, Keyboard, Alert, TouchableOpacity, Image, TouchableWithoutFeedback, } from 'react-native'; import Button from '../components/Button'; import TextInput, { IconNames, ReturnKeyTypes } from '../components/TextInput'; import PropTypes from 'prop-types'; import {url} from '../url'; const SignInScreen = ({ navigation }) => { const [id, setId] = useState(''); const [password, setPassword] = useState(''); const passwordRef = useRef(null); const [disabled, setDisabled] = useState(true); const [isLoading, setIsLoading] = useState(false); useEffect(() => { setDisabled(!id || !password); }, [id, password]); const handleDismissKeyboard = () => { Keyboard.dismiss(); }; const onSubmit = async () => { if (!disabled && !isLoading) { Keyboard.dismiss(); setIsLoading(true); try { fetch(`${url}/login`, { method: 'POST', body: JSON.stringify({ id: email, password: password, }), headers: { 'Content-Type': 'application/json', }, }) .then((response) => response.json()) .then(async (data) => { //const token = data.token; // 토큰 추출 //console.log(token); try { //await SecureStore.setItemAsync('Token', token); // 로그인 성공 후 메인 화면으로 이동 navigation.navigate('Main'); } catch (e) { Alert.alert('로그인 실패'); console.error('token 에러: ' + e); setIsLoading(false); } }) .catch((error) => { console.error('tokne 만료:' + error); setIsLoading(false); }); } catch (e) { Alert.alert('로그인 실패', e, [ { text: 'Ok', onPress: () => setIsLoading(false), }, ]); } } }; return ( <TouchableWithoutFeedback onPress={handleDismissKeyboard}> <View style={styles.container}> <Text style={styles.text}>스마트 전자서명 시스템</Text> <View style={styles.view}> <TextInput value={id} onChangeText={(text) => setId(text.trim())} title={'아이디'} returnKeyType={ReturnKeyTypes.NEXT} iconName={IconNames.ID} onSubmitEditing={() => passwordRef.current.focus()} /> <TextInput ref={passwordRef} value={password} onChangeText={(text) => setPassword(text.trim())} title={'비밀번호'} secureTextEntry iconName={IconNames.PASSWORD} onSubmitEditing={onSubmit} /> <View style={styles.buttonContainer}> <Button title={'로그인'} onPress={onSubmit} disabled={disabled} isLoading={isLoading} /> </View> </View> </View> </TouchableWithoutFeedback> ); }; SignInScreen.propTypes = { navigation: PropTypes.object, }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, view: { width: '70%', }, view2: { width: '65%', }, buttonContainer: { padding: 5, marginTop: 10, }, textContainer: { padding: 10, flexDirection: 'row', alignItems: 'center', fontSize: 5, justifyContent: 'space-evenly', }, text: { fontSize: 25, padding: 30, fontWeight: 'bold', }, line: { flex: 1, height: 1, backgroundColor: 'black' }, }); export default SignInScreen;

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
Sign in with github login with Google Sign in with Google
Reset password | Sign up