redbean096@khu.ac.kr

edit syntax

[{"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
......
......@@ -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
......
......@@ -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.osstest17.ml"
const domain = "www.ossjaksimsamil.ml"
const sslport = 23023;
const bodyParser = require('body-parser');
......
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;
......