{"version":3,"sources":["App.js","logo.svg","serviceWorker.js","index.js"],"names":["library","add","faIgloo","faTimes","JSON","parse","localStorage","getItem","styleCustomizedLabel","backgroundColor","color","CustomizedLabel","_this$props","this","props","x","y","index","label","data","map","item","title","react__WEBPACK_IMPORTED_MODULE_8___default","a","createElement","dy","fill","fontSize","textAnchor","style","Component","CustomizedAxisTick","_this$props2","payload","transform","concat","value","styleCustomTooltip","border","whiteSpace","height","opacity","display","flexDirection","styleCustomTooltipLeft","styleCustomTooltipRight","styleCustomTooltipTitle","styleCustomTooltipAge","CustomTooltip","$","addClass","name","age","Object","_Users_yoshimotokazuhiro_git_graph_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__","ageLabel","happiness","description","happiness_image_path","Promise","resolve","then","reject","setTimeout","attr","id","class","className","src","href","target","removeClass","recharts_lib_component_DefaultTooltipContent__WEBPACK_IMPORTED_MODULE_12___default","CustomizedDot","_this$props3","cx","cy","r","strokeWidth","width","App","_this","_Users_yoshimotokazuhiro_git_graph_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__","_Users_yoshimotokazuhiro_git_graph_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__","_Users_yoshimotokazuhiro_git_graph_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__","call","state","color_cd","getLifeLog","tooltip","React","createRef","current","location","host","protocol","pathname","getHost","match","url","getUrl","dispLoading","axios","get","res","status","console","log","process","exit","remove","setState","life_logs","graph_color_cd","msg","undefined","dispMsg","length","append","graphNo","ColorClass","ClassNames","recharts__WEBPACK_IMPORTED_MODULE_13__","ref","margin","top","right","left","position","recharts__WEBPACK_IMPORTED_MODULE_14__","strokeDasharray","stroke","recharts__WEBPACK_IMPORTED_MODULE_15__","dataKey","tick","recharts__WEBPACK_IMPORTED_MODULE_16__","tickMargin","recharts__WEBPACK_IMPORTED_MODULE_17__","wrapperStyle","content","recharts__WEBPACK_IMPORTED_MODULE_18__","type","dot","module","exports","__webpack_require__","p","Boolean","window","hostname","document","getElementById","clientWidth","ReactDOM","render","react_default","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.00211cf4.chunk.js","sourcesContent":["import React, {Component} from 'react';\nimport axios from 'axios';\nimport logo from './logo.svg';\nimport './App.css';\nimport DefaultTooltipContent from 'recharts/lib/component/DefaultTooltipContent';\nimport {LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend} from 'recharts';\nimport ClassNames from 'classnames';\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faIgloo, faTimes } from '@fortawesome/free-solid-svg-icons'\nimport $ from 'jquery'\n\n\nlibrary.add(faIgloo)\nlibrary.add(faTimes)\n\nconst labels = JSON.parse(localStorage.getItem('labels'))\n\nconst styleCustomizedLabel = {\n backgroundColor: \"#8CC152\",\n color: \"#8CC152\",\n}\n\nclass CustomizedLabel extends Component {\n render() {\n const {x, y, index, data} = this.props;\n const labels = data.map(item => {\n if (item.title == null) {\n return \"NOW\"\n }\n return item.title\n })\n const label = labels[index]\n return (\n {label}\n );\n }\n};\n\nclass CustomizedAxisTick extends Component {\n render() {\n const {x, y, payload} = this.props;\n return (\n \n {payload.value}\n \n );\n }\n};\n\n\nconst styleCustomTooltip = {\n // backgroundColor: '#000',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap',\n height: 270,\n opacity: 0.5,\n color: '#fff',\n display: 'flex',\n flexDirection: 'row',\n}\nconst styleCustomTooltipLeft = {\n // width: '75%',\n}\nconst styleCustomTooltipRight = {\n // width: '25%',\n}\nconst styleCustomTooltipTitle = {}\nconst styleCustomTooltipAge = {}\nconst styleCustomTooltipDescription = {}\n\nconst CustomTooltip = props => {\n if (props.payload != null && props.payload[0] != null) {\n $('#jsi-graph-bottom').addClass(\"u-v-h\");\n $(\"footer:not(.life-log-detail-footer)\").addClass(\"u-v-h\");\n const newPayload = [\n {\n name: 'Name',\n value: props.payload[0].payload.age,\n },\n ...props.payload,\n ];\n\n const {data, label} = props;\n let age = props.payload[0].payload.age\n let happiness = props.payload[0].payload.happiness\n let title = props.payload[0].payload.title\n let description = props.payload[0].payload.description\n let happiness_image_path = props.payload[0].payload.happiness_image_path\n\n Promise.resolve()\n .then(function () {\n return new Promise(function(resolve, reject) {\n setTimeout(function () {\n $('.recharts-active-dot circle').attr('r',20)\n $('.recharts-active-dot circle').attr('fill','white')\n $('.recharts-active-dot circle').attr('fill-opacity',0.5)\n resolve();\n }, 100);\n });\n })\n let ageLabel;\n if(title == 'NOW'){\n title = '現在'\n ageLabel = ''\n }else {\n ageLabel = '当時'\n }\n return (\n
\n
\n
\n
\n

Turning point

\n
\n
\n \n
\n
\n

{title}

\n

{ageLabel}{age}歳

\n
\n {description}\n
\n
\n
\n \n
\n
\n )\n } else {\n $('#jsi-graph-bottom').removeClass(\"u-v-h\");\n $(\"footer:not(.life-log-detail-footer)\").removeClass(\"u-v-h\");\n }\n return ;\n};\n\nclass CustomizedDot extends Component {\n render() {\n const {cx, cy, value} = this.props;\n\n if (value == 100) {\n return (\n \n \n \n \n {value}\n \n \n );\n }else if (value == -100) {\n return (\n \n \n \n \n {value}\n \n \n );\n }else if (value >= 0) {\n return (\n \n \n \n \n {value}\n \n \n );\n } else {\n return (\n \n \n \n \n {value}\n \n \n );\n }\n }\n};\n\nconst style = {\n backgroundColor: \"#8CC152\",\n color: \"#8CC152\",\n}\n\nclass App extends Component {\n\n constructor(props) {\n super(props);\n this.state = {data: [], color_cd: null};\n this.getLifeLog()\n this.tooltip = React.createRef()\n const node = this.tooltip.current;\n }\n\n getHost(){\n if (process.env.NODE_ENV === 'production'){\n // eslint-disable-next-line no-restricted-globals\n return location.host\n }else {\n return '127.0.0.1:3000'\n }\n }\n\n getUrl() {\n // eslint-disable-next-line no-restricted-globals\n const protocol = location.protocol\n // eslint-disable-next-line no-restricted-globals\n const pathname = location.pathname\n const host = this.getHost()\n // const pathname = location.pathname\n if (pathname == '/' || pathname == '/life_log' || pathname == '/life_log/') {\n return protocol + '//' + host + '/api/v1/life_log'\n } else {\n const id = pathname.match(/\\d+/);\n return protocol + '//' + host + '/api/v1/life_logs/' + id\n }\n }\n\n async getLifeLog() {\n const url = this.getUrl()\n\n this.dispLoading()\n const res = await axios.get(url);\n if (res.status !== 200) {\n console.log(\"Error!!\");\n process.exit();\n }\n setTimeout(() => {\n $('#loading').remove()\n }, 3000)\n this.setState({data: res.data.life_logs});\n this.setState({color_cd: res.data.graph_color_cd});\n };\n\n dispLoading(msg){\n // 引数なし(メッセージなし)を許容\n if( msg == undefined ){\n msg = \"\";\n }\n // 画面表示メッセージ\n var dispMsg = \"
\" + msg + \"
\";\n // ローディング画像が表示されていない場合のみ出力\n if($(\"#loading\").length == 0){\n $(\"body\").append(\"
\" + dispMsg + \"
\");\n }\n }\n\n render() {\n const graphNo = this.state.color_cd\n const ColorClass = ClassNames({\n graphNo: true\n });\n return (\n
\n
\n \n \n } stroke=\"white\"/>\n \n }/>\n }\n dot={}\n />\n \n
\n
\n );\n }\n}\n\nexport default App;\n","module.exports = __webpack_public_path__ + \"static/media/logo.5d5d9eef.svg\";","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\n );\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n\n // Execute callback\n if (config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\n\nconst width =document.getElementById('root').clientWidth;\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}