Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2020-2_open_source_sw_development_Han
/
Jaksimsamil
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
redbean096@khu.ac.kr
2020-12-09 03:18:32 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
4d359a621e26e5d133dbaeefa9b08314ffce0c21
4d359a62
1 parent
2a42b655
edit syntax
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
115 additions
and
10 deletions
jaksimsamil-page/.eslintcache
jaksimsamil-server/src/api/index.js
jaksimsamil-server/src/api/line/app.js
jaksimsamil-server/src/api/line/line.ctrl.js
jaksimsamil-page/.eslintcache
View file @
4d359a6
[{"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\index.js":"1","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\App.js":"2","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\serviceWorker.js":"3","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\user.js":"4","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\index.js":"5","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\LoginPage.js":"6","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\RegisterPage.js":"7","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\SettingPage.js":"8","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\HomePage.js":"9","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\createRequestSaga.js":"10","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\api\\auth.js":"11","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\auth.js":"12","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\loading.js":"13","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\profile.js":"14","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\api\\client.js":"15","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\auth\\LoginForm.js":"16","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\auth\\RegisterForm.js":"17","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\common\\HeaderContainer.js":"18","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\home\\HomeContainer.js":"19","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\setting\\SettingContainer.js":"20","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\auth\\AuthTemplate.js":"21","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\api\\profile.js":"22","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\auth\\AuthForm.js":"23","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\home\\HomeForm.js":"24","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\SettingForm.js":"25","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\styles\\palette.js":"26","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Header.js":"27","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Button.js":"28","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\BJIDForm.js":"29","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\SlackForm.js":"30","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\GoalNumForm.js":"31","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\KakaoLogin.js":"32","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Responsive.js":"33","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Categories.js":"34","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\scripts\\getRecommend.js":"35"},{"size":1381,"mtime":1607049804685,"results":"36","hashOfConfig":"37"},{"size":598,"mtime":1607049804646,"results":"38","hashOfConfig":"37"},{"size":5227,"mtime":1607049804713,"results":"39","hashOfConfig":"37"},{"size":1697,"mtime":1607178574200,"results":"40","hashOfConfig":"37"},{"size":464,"mtime":1607049804700,"results":"41","hashOfConfig":"37"},{"size":299,"mtime":1607049804708,"results":"42","hashOfConfig":"37"},{"size":317,"mtime":1607049804710,"results":"43","hashOfConfig":"37"},{"size":348,"mtime":1607049804712,"results":"44","hashOfConfig":"37"},{"size":313,"mtime":1607049804707,"results":"45","hashOfConfig":"37"},{"size":822,"mtime":1607049804693,"results":"46","hashOfConfig":"37"},{"size":502,"mtime":1607179035551,"results":"47","hashOfConfig":"37"},{"size":2300,"mtime":1607049804698,"results":"48","hashOfConfig":"37"},{"size":689,"mtime":1607049804701,"results":"49","hashOfConfig":"37"},{"size":4472,"mtime":1607049804703,"results":"50","hashOfConfig":"37"},{"size":84,"mtime":1607049804690,"results":"51","hashOfConfig":"37"},{"size":1846,"mtime":1607049804674,"results":"52","hashOfConfig":"37"},{"size":2415,"mtime":1607049804675,"results":"53","hashOfConfig":"37"},{"size":475,"mtime":1607049804678,"results":"54","hashOfConfig":"37"},{"size":1144,"mtime":1607049804680,"results":"55","hashOfConfig":"37"},{"size":2526,"mtime":1607049804682,"results":"56","hashOfConfig":"37"},{"size":1047,"mtime":1607049804652,"results":"57","hashOfConfig":"37"},{"size":476,"mtime":1607049804692,"results":"58","hashOfConfig":"37"},{"size":2472,"mtime":1607049804651,"results":"59","hashOfConfig":"37"},{"size":3350,"mtime":1607049804662,"results":"60","hashOfConfig":"37"},{"size":2702,"mtime":1606936169401,"results":"61","hashOfConfig":"37"},{"size":453,"mtime":1607049804695,"results":"62","hashOfConfig":"37"},{"size":1574,"mtime":1607049804658,"results":"63","hashOfConfig":"37"},{"size":1078,"mtime":1607049804655,"results":"64","hashOfConfig":"37"},{"size":1144,"mtime":1607049804665,"results":"65","hashOfConfig":"37"},{"size":994,"mtime":1607049804670,"results":"66","hashOfConfig":"37"},{"size":1043,"mtime":1607049804667,"results":"67","hashOfConfig":"37"},{"size":746,"mtime":1607233016374,"results":"68","hashOfConfig":"37"},{"size":460,"mtime":1607049804660,"results":"69","hashOfConfig":"37"},{"size":1228,"mtime":1607049804656,"results":"70","hashOfConfig":"37"},{"size":966,"mtime":1607239812081,"results":"71","hashOfConfig":"37"},{"filePath":"72","messages":"73","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},"ecom5p",{"filePath":"75","messages":"76","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"77","messages":"78","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"81","messages":"82","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"83","messages":"84","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"85","messages":"86","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"91","messages":"92","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"97","messages":"98","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"103","messages":"104","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"105","messages":"106","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"107","messages":"108","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"109","messages":"110","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"111","messages":"112","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"113","usedDeprecatedRules":"74"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"122","usedDeprecatedRules":"74"},{"filePath":"123","messages":"124","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"125","messages":"126","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"127","messages":"128","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"129","messages":"130","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"131","messages":"132","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"133","messages":"134","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"135","messages":"136","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"137","messages":"138","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"139","messages":"140","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"141","messages":"142","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"143","messages":"144","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\index.js",[],["145","146"],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\App.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\serviceWorker.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\user.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\index.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\LoginPage.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\RegisterPage.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\SettingPage.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\pages\\HomePage.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\createRequestSaga.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\api\\auth.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\auth.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\loading.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\modules\\profile.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\api\\client.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\auth\\LoginForm.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\auth\\RegisterForm.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\common\\HeaderContainer.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\home\\HomeContainer.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\containers\\setting\\SettingContainer.js",["147"],"import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { withRouter } from 'react-router-dom';\r\nimport {\r\n changeField,\r\n setBJID,\r\n getPROFILE,\r\n syncBJID,\r\n initializeProfile,\r\n setSLACK,\r\n setGOALNUM,\r\n} from '../../modules/profile';\r\nimport SettingForm from '../../components/setting/SettingForm';\r\n\r\nconst SettingContainer = ({ history }) => {\r\n const [isLoading, setLoading] = useState(false);\r\n\r\n const dispatch = useDispatch();\r\n const { user, profile, loading } = useSelector(\r\n ({ user, profile, loading }) => ({\r\n user: user.user,\r\n profile: profile,\r\n loading: loading,\r\n }),\r\n );\r\n\r\n const onChange = (e) => {\r\n const { value, name } = e.target;\r\n dispatch(\r\n changeField({\r\n key: name,\r\n value: value,\r\n }),\r\n );\r\n };\r\n\r\n const onSyncBJIDSubmit = (e) => {\r\n e.preventDefault();\r\n let username = profile.username;\r\n dispatch(syncBJID({ username }));\r\n };\r\n\r\n const onGoalNumSubmit = (e) => {\r\n e.preventDefault();\r\n let username = profile.username;\r\n let goalNum = profile.goalNum;\r\n dispatch(setGOALNUM({ username, goalNum }));\r\n };\r\n const onSlackURLSubmit = (e) => {\r\n e.preventDefault();\r\n let username = profile.username;\r\n let slackWebHookURL = profile.slackWebHookURL;\r\n dispatch(setSLACK({ username, slackWebHookURL }));\r\n };\r\n\r\n const onBJIDSubmit = (e) => {\r\n e.preventDefault();\r\n let username = profile.username;\r\n let userBJID = profile.userBJID;\r\n\r\n dispatch(setBJID({ username, userBJID }));\r\n };\r\n\r\n useEffect(() => {\r\n if (!user) {\r\n alert('로그인이 필요합니다 ');\r\n history.push('/login');\r\n } else {\r\n let username = user.username;\r\n dispatch(getPROFILE({ username }));\r\n return () => {\r\n dispatch(initializeProfile());\r\n };\r\n }\r\n }, [dispatch, user, history]);\r\n useEffect(() => {\r\n if (loading['profile/SYNC_BJID'] == true) {\r\n setLoading(true);\r\n } else {\r\n setLoading(false);\r\n }\r\n }, [dispatch, loading]);\r\n\r\n return (\r\n <div>\r\n <SettingForm\r\n type=\"setting\"\r\n onChange={onChange}\r\n onBJIDSubmit={onBJIDSubmit}\r\n onSyncBJIDSubmit={onSyncBJIDSubmit}\r\n onSlackURLSubmit={onSlackURLSubmit}\r\n onGoalNumSubmit={onGoalNumSubmit}\r\n profile={profile}\r\n isLoading={isLoading}\r\n ></SettingForm>\r\n </div>\r\n );\r\n};\r\n\r\nexport default withRouter(SettingContainer);\r\n","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\auth\\AuthTemplate.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\api\\profile.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\auth\\AuthForm.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\home\\HomeForm.js",["148","149","150","151","152","153","154"],"import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport palette from '../../lib/styles/palette';\r\nimport AuthForm from '../auth/AuthForm';\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n background: palette.gray[2],\r\n padding: theme.spacing(8),\r\n },\r\n paper: {\r\n padding: theme.spacing(8),\r\n margin: 'auto',\r\n textAlign: 'center',\r\n color: theme.palette.text.secondary,\r\n },\r\n}));\r\nconst HomeForm = ({ PSdata, goalNum }) => {\r\n const classes = useStyles();\r\n return PSdata ? (\r\n <div className={classes.root}>\r\n <Grid container spacing={5}>\r\n <Grid item xs={12}>\r\n <Paper className={classes.paper}>\r\n <h1>{PSdata.recommend_data.problem_number}</h1>\r\n <h1>{PSdata.recommend_data.problem_title}</h1>\r\n <a\r\n href={'http://www.boj.kr/' + PSdata.recommend_data.problem_number}\r\n >\r\n 바로가기\r\n </a>\r\n\r\n <h3>오늘의 추천 문제</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={6}>\r\n <Paper className={classes.paper}>\r\n <h1>{PSdata.presentNum + '/' + goalNum}</h1>\r\n <h3>오늘 푼 문제</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={6}>\r\n <Paper className={classes.paper}>\r\n <h1>{PSdata.latestSolve.problem_number}</h1>\r\n <h1>{PSdata.latestSolve.problem_title}</h1>\r\n <h3>마지막으로 푼 문제</h3>\r\n </Paper>\r\n </Grid>\r\n\r\n <Grid item xs={4}>\r\n <Paper className={classes.paper}>\r\n <h1>{PSdata.weekNum}</h1>\r\n <h3>7일</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Paper className={classes.paper}>\r\n <h1>{PSdata.monthNum}</h1>\r\n <h3>30일</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Paper className={classes.paper}>\r\n <h1>{PSdata.totalNum}</h1>\r\n <h3>전체</h3>\r\n </Paper>\r\n </Grid>\r\n </Grid>\r\n </div>\r\n ) : (\r\n <div className={classes.root}>\r\n <Grid container spacing={5}>\r\n <Grid item xs={12}>\r\n <Paper className={classes.paper}>\r\n <h1></h1>\r\n <h3>오늘의 추천 문제</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={6}>\r\n <Paper className={classes.paper}>\r\n <h1></h1>\r\n <h3>오늘</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={6}>\r\n <Paper className={classes.paper}>\r\n <h1></h1>\r\n <h3>마지막 날</h3>\r\n </Paper>\r\n </Grid>\r\n\r\n <Grid item xs={4}>\r\n <Paper className={classes.paper}>\r\n <h1></h1>\r\n <h3>7일</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Paper className={classes.paper}>\r\n <h1></h1>\r\n <h3>30일</h3>\r\n </Paper>\r\n </Grid>\r\n <Grid item xs={4}>\r\n <Paper className={classes.paper}>\r\n <h1></h1>\r\n <h3>전체</h3>\r\n </Paper>\r\n </Grid>\r\n </Grid>\r\n </div>\r\n );\r\n};\r\n\r\nexport default HomeForm;\r\n","C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\SettingForm.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\lib\\styles\\palette.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Header.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Button.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\BJIDForm.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\SlackForm.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\GoalNumForm.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\setting\\KakaoLogin.js",["155","156","157","158"],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Responsive.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\components\\common\\Categories.js",[],"C:\\Users\\SJH\\Desktop\\Document\\2017103998\\2020-2\\OpenSourceSW\\Project\\Jaksimsamil\\jaksimsamil-page\\src\\scripts\\getRecommend.js",[],{"ruleId":"159","replacedBy":"160"},{"ruleId":"161","replacedBy":"162"},{"ruleId":"163","severity":1,"message":"164","line":78,"column":38,"nodeType":"165","messageId":"166","endLine":78,"endColumn":40},{"ruleId":"167","severity":1,"message":"168","line":6,"column":8,"nodeType":"169","messageId":"170","endLine":6,"endColumn":16},{"ruleId":"171","severity":1,"message":"172","line":77,"column":13,"nodeType":"173","endLine":77,"endColumn":17},{"ruleId":"171","severity":1,"message":"172","line":83,"column":13,"nodeType":"173","endLine":83,"endColumn":17},{"ruleId":"171","severity":1,"message":"172","line":89,"column":13,"nodeType":"173","endLine":89,"endColumn":17},{"ruleId":"171","severity":1,"message":"172","line":96,"column":13,"nodeType":"173","endLine":96,"endColumn":17},{"ruleId":"171","severity":1,"message":"172","line":102,"column":13,"nodeType":"173","endLine":102,"endColumn":17},{"ruleId":"171","severity":1,"message":"172","line":108,"column":13,"nodeType":"173","endLine":108,"endColumn":17},{"ruleId":"167","severity":1,"message":"174","line":1,"column":10,"nodeType":"169","messageId":"170","endLine":1,"endColumn":20},{"ruleId":"167","severity":1,"message":"175","line":2,"column":8,"nodeType":"169","messageId":"170","endLine":2,"endColumn":17},{"ruleId":"176","severity":1,"message":"177","line":18,"column":38,"nodeType":"178","messageId":"179","endLine":18,"endColumn":67},{"ruleId":"180","severity":1,"message":"181","line":19,"column":9,"nodeType":"173","endLine":22,"endColumn":11},"no-native-reassign",["182"],"no-negated-in-lhs",["183"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","no-unused-vars","'AuthForm' is defined but never used.","Identifier","unusedVar","jsx-a11y/heading-has-content","Headings must have content and the content must be accessible by a screen reader.","JSXOpeningElement","'makeStyles' is defined but never used.","'TextField' is defined but never used.","no-script-url","Script URL is a form of eval.","Literal","unexpectedScriptURL","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
[{"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/index.js":"1","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/serviceWorker.js":"2","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/App.js":"3","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/user.js":"4","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/index.js":"5","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/SettingPage.js":"6","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/HomePage.js":"7","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/RegisterPage.js":"8","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/LoginPage.js":"9","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/auth.js":"10","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/createRequestSaga.js":"11","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/auth.js":"12","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/loading.js":"13","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/profile.js":"14","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/client.js":"15","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/home/HomeContainer.js":"16","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/LoginForm.js":"17","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/setting/SettingContainer.js":"18","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/common/HeaderContainer.js":"19","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/RegisterForm.js":"20","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthTemplate.js":"21","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/profile.js":"22","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthForm.js":"23","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/home/HomeForm.js":"24","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Header.js":"25","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SettingForm.js":"26","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/styles/palette.js":"27","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Button.js":"28","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SlackForm.js":"29","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/GoalNumForm.js":"30","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/KakaoLogin.js":"31","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/BJIDForm.js":"32","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Categories.js":"33","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Responsive.js":"34","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/scripts/getRecommend.js":"35"},{"size":1335,"mtime":1607445627213,"results":"36","hashOfConfig":"37"},{"size":5086,"mtime":1607445627213,"results":"38","hashOfConfig":"37"},{"size":578,"mtime":1607445627213,"results":"39","hashOfConfig":"37"},{"size":1630,"mtime":1607445627213,"results":"40","hashOfConfig":"37"},{"size":445,"mtime":1607445627213,"results":"41","hashOfConfig":"37"},{"size":334,"mtime":1607445627213,"results":"42","hashOfConfig":"37"},{"size":299,"mtime":1607445627213,"results":"43","hashOfConfig":"37"},{"size":304,"mtime":1607445627213,"results":"44","hashOfConfig":"37"},{"size":286,"mtime":1607445627213,"results":"45","hashOfConfig":"37"},{"size":486,"mtime":1607477932790,"results":"46","hashOfConfig":"37"},{"size":791,"mtime":1607445627213,"results":"47","hashOfConfig":"37"},{"size":2207,"mtime":1607445627213,"results":"48","hashOfConfig":"37"},{"size":657,"mtime":1607445627213,"results":"49","hashOfConfig":"37"},{"size":4307,"mtime":1607445627213,"results":"50","hashOfConfig":"37"},{"size":81,"mtime":1607445627213,"results":"51","hashOfConfig":"37"},{"size":1108,"mtime":1607445627213,"results":"52","hashOfConfig":"37"},{"size":1772,"mtime":1607445627213,"results":"53","hashOfConfig":"37"},{"size":2425,"mtime":1607445627213,"results":"54","hashOfConfig":"37"},{"size":461,"mtime":1607445627213,"results":"55","hashOfConfig":"37"},{"size":2328,"mtime":1607445627213,"results":"56","hashOfConfig":"37"},{"size":998,"mtime":1607445627213,"results":"57","hashOfConfig":"37"},{"size":462,"mtime":1607445627213,"results":"58","hashOfConfig":"37"},{"size":2366,"mtime":1607445627213,"results":"59","hashOfConfig":"37"},{"size":3233,"mtime":1607448407782,"results":"60","hashOfConfig":"37"},{"size":1505,"mtime":1607445627213,"results":"61","hashOfConfig":"37"},{"size":2602,"mtime":1607477932790,"results":"62","hashOfConfig":"37"},{"size":423,"mtime":1607445627213,"results":"63","hashOfConfig":"37"},{"size":1028,"mtime":1607445627213,"results":"64","hashOfConfig":"37"},{"size":950,"mtime":1607445627213,"results":"65","hashOfConfig":"37"},{"size":996,"mtime":1607445627213,"results":"66","hashOfConfig":"37"},{"size":611,"mtime":1607477932790,"results":"67","hashOfConfig":"37"},{"size":1095,"mtime":1607445627213,"results":"68","hashOfConfig":"37"},{"size":1162,"mtime":1607445627213,"results":"69","hashOfConfig":"37"},{"size":438,"mtime":1607445627213,"results":"70","hashOfConfig":"37"},{"size":932,"mtime":1607477932790,"results":"71","hashOfConfig":"37"},{"filePath":"72","messages":"73","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},"hwvb7u",{"filePath":"75","messages":"76","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"77","messages":"78","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"81","messages":"82","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"83","messages":"84","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"85","messages":"86","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"91","messages":"92","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"97","messages":"98","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"103","messages":"104","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"105","messages":"106","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"107","messages":"108","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"109","usedDeprecatedRules":"74"},{"filePath":"110","messages":"111","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"122","usedDeprecatedRules":"74"},{"filePath":"123","messages":"124","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"125","messages":"126","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"127","messages":"128","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"129","messages":"130","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"131","messages":"132","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"133","messages":"134","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"135","messages":"136","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"137","usedDeprecatedRules":"74"},{"filePath":"138","messages":"139","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"140","messages":"141","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"142","messages":"143","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"74"},{"filePath":"144","messages":"145","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/index.js",[],["146","147"],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/serviceWorker.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/App.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/user.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/index.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/SettingPage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/HomePage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/RegisterPage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/pages/LoginPage.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/auth.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/createRequestSaga.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/auth.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/loading.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/modules/profile.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/client.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/home/HomeContainer.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/LoginForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/setting/SettingContainer.js",["148"],"import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { withRouter } from 'react-router-dom';\nimport {\n changeField,\n setBJID,\n getPROFILE,\n syncBJID,\n initializeProfile,\n setSLACK,\n setGOALNUM,\n} from '../../modules/profile';\nimport SettingForm from '../../components/setting/SettingForm';\n\nconst SettingContainer = ({ history }) => {\n const [isLoading, setLoading] = useState(false);\n\n const dispatch = useDispatch();\n const { user, profile, loading } = useSelector(\n ({ user, profile, loading }) => ({\n user: user.user,\n profile: profile,\n loading: loading,\n }),\n );\n\n const onChange = (e) => {\n const { value, name } = e.target;\n dispatch(\n changeField({\n key: name,\n value: value,\n }),\n );\n };\n\n const onSyncBJIDSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n dispatch(syncBJID({ username }));\n };\n\n const onGoalNumSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n let goalNum = profile.goalNum;\n dispatch(setGOALNUM({ username, goalNum }));\n };\n const onSlackURLSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n let slackWebHookURL = profile.slackWebHookURL;\n dispatch(setSLACK({ username, slackWebHookURL }));\n };\n\n const onBJIDSubmit = (e) => {\n e.preventDefault();\n let username = profile.username;\n let userBJID = profile.userBJID;\n\n dispatch(setBJID({ username, userBJID }));\n };\n\n useEffect(() => {\n if (!user) {\n alert('로그인이 필요합니다 ');\n history.push('/login');\n } else {\n let username = user.username;\n dispatch(getPROFILE({ username }));\n return () => {\n dispatch(initializeProfile());\n };\n }\n }, [dispatch, user, history]);\n useEffect(() => {\n if (loading['profile/SYNC_BJID'] == true) {\n setLoading(true);\n } else {\n setLoading(false);\n }\n }, [dispatch, loading]);\n\n return (\n <div>\n <SettingForm\n type=\"setting\"\n onChange={onChange}\n onBJIDSubmit={onBJIDSubmit}\n onSyncBJIDSubmit={onSyncBJIDSubmit}\n onSlackURLSubmit={onSlackURLSubmit}\n onGoalNumSubmit={onGoalNumSubmit}\n profile={profile}\n isLoading={isLoading}\n ></SettingForm>\n </div>\n );\n};\n\nexport default withRouter(SettingContainer);\n","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/common/HeaderContainer.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/containers/auth/RegisterForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthTemplate.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/api/profile.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/auth/AuthForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/home/HomeForm.js",["149","150","151","152","153","154","155"],"import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Grid from '@material-ui/core/Grid';\nimport palette from '../../lib/styles/palette';\nimport AuthForm from '../auth/AuthForm';\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n background: palette.gray[2],\n padding: theme.spacing(8),\n },\n paper: {\n padding: theme.spacing(8),\n margin: 'auto',\n textAlign: 'center',\n color: theme.palette.text.secondary,\n },\n}));\nconst HomeForm = ({ PSdata, goalNum }) => {\n const classes = useStyles();\n return PSdata ? (\n <div className={classes.root}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <Paper className={classes.paper}>\n <h1>{PSdata.recommend_data.problem_number}</h1>\n <h1>{PSdata.recommend_data.problem_title}</h1>\n <a\n href={'http://www.boj.kr/' + PSdata.recommend_data.problem_number}\n >\n 바로가기\n </a>\n\n <h3>오늘의 추천 문제</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1>{PSdata.presentNum + '/' + goalNum}</h1>\n <h3>오늘 푼 문제</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1>{PSdata.latestSolve.problem_number}</h1>\n <h1>{PSdata.latestSolve.problem_title}</h1>\n <h3>마지막으로 푼 문제</h3>\n </Paper>\n </Grid>\n\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1>{PSdata.weekNum}</h1>\n <h3>7일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1>{PSdata.monthNum}</h1>\n <h3>30일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1>{PSdata.totalNum}</h1>\n <h3>전체</h3>\n </Paper>\n </Grid>\n </Grid>\n </div>\n ) : (\n <div className={classes.root}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>오늘의 추천 문제</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>오늘</h3>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>마지막 날</h3>\n </Paper>\n </Grid>\n\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>7일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>30일</h3>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper className={classes.paper}>\n <h1></h1>\n <h3>전체</h3>\n </Paper>\n </Grid>\n </Grid>\n </div>\n );\n};\n\nexport default HomeForm;\n","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Header.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SettingForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/lib/styles/palette.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Button.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/SlackForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/GoalNumForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/KakaoLogin.js",["156","157"],"import React from 'react';\nimport getRecommend from \"../../scripts/getRecommend\";\n\nconst KakaoLoginBtn = () => {\n const KakaoLogin = function () {\n window.Kakao.Auth.login({\n success: getRecommend,\n fail: function (err) {\n console.log(\"login failed\", err);\n }\n })\n }\n return (\n <div>\n <button onClick={KakaoLogin}\n a id=\"custom-login-btn\" href=\"javascript:loginWithKakao()\">\n <img\n src=\"//k.kakaocdn.net/14/dn/btqCn0WEmI3/nijroPfbpCa4at5EIsjyf0/o.jpg\"\n width=\"140\"\n />\n </button>\n </div>\n );\n};\n\nexport default KakaoLoginBtn","/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/setting/BJIDForm.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Categories.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/components/common/Responsive.js",[],"/home/ubuntu/Jaksimsamil/jaksimsamil-page/src/scripts/getRecommend.js",[],{"ruleId":"158","replacedBy":"159"},{"ruleId":"160","replacedBy":"161"},{"ruleId":"162","severity":1,"message":"163","line":78,"column":38,"nodeType":"164","messageId":"165","endLine":78,"endColumn":40},{"ruleId":"166","severity":1,"message":"167","line":6,"column":8,"nodeType":"168","messageId":"169","endLine":6,"endColumn":16},{"ruleId":"170","severity":1,"message":"171","line":77,"column":13,"nodeType":"172","endLine":77,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":83,"column":13,"nodeType":"172","endLine":83,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":89,"column":13,"nodeType":"172","endLine":89,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":96,"column":13,"nodeType":"172","endLine":96,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":102,"column":13,"nodeType":"172","endLine":102,"endColumn":17},{"ruleId":"170","severity":1,"message":"171","line":108,"column":13,"nodeType":"172","endLine":108,"endColumn":17},{"ruleId":"173","severity":1,"message":"174","line":16,"column":38,"nodeType":"175","messageId":"176","endLine":16,"endColumn":67},{"ruleId":"177","severity":1,"message":"178","line":17,"column":9,"nodeType":"172","endLine":20,"endColumn":11},"no-native-reassign",["179"],"no-negated-in-lhs",["180"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","no-unused-vars","'AuthForm' is defined but never used.","Identifier","unusedVar","jsx-a11y/heading-has-content","Headings must have content and the content must be accessible by a screen reader.","JSXOpeningElement","no-script-url","Script URL is a form of eval.","Literal","unexpectedScriptURL","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
...
...
jaksimsamil-server/src/api/index.js
View file @
4d359a6
...
...
@@ -6,11 +6,13 @@ const friend = require("./friend");
const
notify
=
require
(
"./notify"
);
const
user
=
require
(
"./user"
);
const
profile
=
require
(
"./profile"
);
const
line
=
require
(
"./line"
)
api
.
use
(
"/auth"
,
auth
.
routes
());
api
.
use
(
"/friend"
,
friend
.
routes
());
api
.
use
(
"/notify"
,
notify
.
routes
());
api
.
use
(
"/user"
,
user
.
routes
());
api
.
use
(
"/profile"
,
profile
.
routes
());
api
.
use
(
"/line"
,
line
.
routes
());
module
.
exports
=
api
;
module
.
exports
=
api
;
\ No newline at end of file
...
...
jaksimsamil-server/src/api/line/app.js
View file @
4d359a6
...
...
@@ -3,11 +3,11 @@ const lineCtrl = require("./line.ctrl");
var
Koa
=
require
(
'koa'
);
const
request
=
require
(
'request'
);
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/reply'
const
TOKEN
=
'
tdN03DyXDAcKGZsuiPndaU7UC2GzuEQYUhPCkDnGWXGGdiPmV15QYbFU1U5JP5EpiETIKLqOmci/RxFZTfD7FRMED0OpT+3qgEYBNf8T9/jRzHRm7rblBLtzFBVOeXeYRcluOsz4koE4JaAJaUtMtwdB04t89/1O/w1cDnyilFU='
const
TOKEN
=
'
iaoVQEV5adLHh7MbW8bZvHKoULoKZUD6B0bXD2l0srO+yXyXKRe4HBLvWQwrkKQx2fwdsz1O/qVpVh9eucUf9GxRb8w2dSaaWCXd9FTqDLP5Yu9xovneGprYlU/0VKSAVw1iphi9BfJWfjIjwWY2pAdB04t89/1O/w1cDnyilFU='
;
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
HTTPS
=
require
(
'https'
);
const
domain
=
"www.oss
test17
.ml"
const
domain
=
"www.oss
jaksimsamil
.ml"
const
sslport
=
23023
;
const
bodyParser
=
require
(
'body-parser'
);
...
...
jaksimsamil-server/src/api/line/line.ctrl.js
View file @
4d359a6
var
Koa
=
require
(
'koa'
);
const
request
=
require
(
'request'
);
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/reply'
const
TOKEN
=
'iaoVQEV5adLHh7MbW8bZvHKoULoKZUD6B0bXD2l0srO+yXyXKRe4HBLvWQwrkKQx2fwdsz1O/qVpVh9eucUf9GxRb8w2dSaaWCXd9FTqDLP5Yu9xovneGprYlU/0VKSAVw1iphi9BfJWfjIjwWY2pAdB04t89/1O/w1cDnyilFU='
;
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
HTTPS
=
require
(
'https'
);
const
domain
=
"www.ossjaksimsamil.ml"
const
sslport
=
23023
;
const
bodyParser
=
require
(
'body-parser'
);
const
Profile
=
require
(
"../../models/profile"
);
const
problem_set
=
require
(
"../../data/problem_set"
);
const
compareBJ
=
require
(
"../../util/compareBJ"
);
exports
.
linestart
=
function
(
req
,
res
)
{
var
eventObj
=
req
.
body
.
events
[
0
];
//var source = eventObj.source;
//var message = eventObj.message;
// request log
console
.
log
(
'======================'
,
new
Date
()
,
'======================'
);
console
.
log
(
'[request]'
,
req
.
body
);
console
.
log
(
'[request source] '
,
eventObj
.
source
);
console
.
log
(
'[request message]'
,
eventObj
.
message
);
if
((
eventObj
.
message
.
text
==
'문제추천'
)
&&
(
username
!=
undefined
)){
console
.
log
(
"문제를 추천합니다."
);
recommendData
=
lineCtrl
.
lineRecommend
(
username
);
recommendBJ
(
eventObj
.
replyToken
,
recommendData
);
}
else
{
let
isExist
=
lineCtrl
.
findID
(
eventObj
.
message
.
text
);
if
(
isExist
==
true
)
username
=
eventObj
.
message
.
text
;
else
{
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:
"작심삼일 혹은 백준 사이트의 ID값이 올바르지 않습니다. 다시 입력해주세요."
}
]
}
},(
body
)
=>
{
console
.
log
(
body
)
});
}
recommendBJ
(
eventObj
.
replyToken
,
eventObj
.
message
.
text
);
}
res
.
sendStatus
(
200
);
}
function
recommendBJ
(
replyToken
,
message
)
{
var
recommendProblem
=
"오늘의 추천문제는 "
+
message
.
problem_title
+
"입니다."
;
var
problemURL
=
"https://www.boj.kr/"
+
recommendData
.
problem_number
;
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:
recommendProblem
},
{
"type"
:
"text"
,
"text"
:
problemURL
}
]
}
},(
body
)
=>
{
console
.
log
(
body
)
});
res
.
sendStatus
(
200
);
}
try
{
const
option
=
{
ca
:
fs
.
readFileSync
(
'/etc/letsencrypt/live/'
+
domain
+
'/fullchain.pem'
),
key
:
fs
.
readFileSync
(
path
.
resolve
(
process
.
cwd
(),
'/etc/letsencrypt/live/'
+
domain
+
'/privkey.pem'
),
'utf8'
).
toString
(),
cert
:
fs
.
readFileSync
(
path
.
resolve
(
process
.
cwd
(),
'/etc/letsencrypt/live/'
+
domain
+
'/cert.pem'
),
'utf8'
).
toString
(),
};
HTTPS
.
createServer
(
option
,
app
).
listen
(
sslport
,
()
=>
{
console
.
log
(
`[HTTPS] Server is started on port
${
sslport
}
`
);
});
}
catch
(
error
)
{
console
.
log
(
'[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'
);
console
.
log
(
error
);
}
/*
POST api/notify/slack/recommend
{
username: "username"
}
*/
exports
.
lineRecommend
=
(
username
)
=>
{
function
lineRecommend
(
username
)
{
const
profile
=
await
Profile
.
findByUsername
(
username
);
if
(
!
profile
)
{
...
...
@@ -24,13 +127,13 @@ exports.lineRecommend = (username) => {
if
(
!
recommendData
)
{
console
.
log
(
"402"
);
return
;
}
else
{
return
recommendData
;
}
}
return
recommendData
;
};
exports
.
isExist
=
(
id
)
=>
{
function
isExist
(
username
)
{
const
profile
=
await
Profile
.
findByUsername
(
username
);
if
(
!
profile
)
{
return
false
;
...
...
Please
register
or
login
to post a comment