Advertisement
Guest User

kryshelp

a guest
Dec 7th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
  2. import './App.css';
  3. import { useState } from 'react';
  4. import React, { Component } from 'react';
  5.  
  6.  
  7.  
  8. function ReportTime(){
  9. const [localData, setLocalData] = useState(loadData());
  10. const [redirect, setRedirect] = useState(false);
  11.  
  12. //denna eller funktion gör vi i falla att det är null i localstarage
  13. function loadData(){
  14. try {
  15. const storage = JSON.parse(window.localStorage.getItem("data"));
  16. return storage || [];
  17. }
  18. catch (e) {
  19. return [];
  20. }
  21. }
  22.  
  23. function saveData(a){
  24. window.localStorage.setItem("data", JSON.stringify(a));
  25. setRedirect(true);
  26. }
  27.  
  28. function setData(data){
  29. setLocalData(data);
  30. saveData(data);
  31. }
  32.  
  33. function fixObject (a,b) {
  34. console.log(a);
  35. console.log(b);
  36. let r = (Number(a)*60) + Number(b);
  37. const Course = {repTime: r };
  38. addtoList(Course);
  39. }
  40.  
  41. function addtoList(courseToAdd){
  42. localData.push(courseToAdd);
  43. setData(localData);
  44. }
  45.  
  46. let arr = localData;
  47.  
  48. return(
  49.  
  50. <div>
  51. {redirect === false &&
  52. <App fixObjectEtikett={fixObject}/>
  53. }
  54. </div>
  55. );
  56. }
  57.  
  58.  
  59.  
  60. //App är form
  61. function App(props) { // props eller inte props??
  62. const [localData, setLocalData] = useState(loadData());
  63. const [name, setCoursName] = useState('');
  64. const [startDate, setStartDate] = useState(0);
  65. const [endDate, setEndDate] = useState(0);
  66. const [hours, setHours] = useState(0);
  67. const [min, setMin] = useState(0);
  68.  
  69. function loadData(){
  70. try {
  71. const storage = JSON.parse(window.localStorage.getItem("data"));
  72. return storage || [];
  73. }
  74. catch (e) {
  75. return [];
  76. }
  77. }
  78.  
  79.  
  80. let arr = localData;
  81.  
  82.  
  83. function changeInput(event){
  84. if(event.target.id === "name"){
  85. setCoursName(event.target.value);
  86. }
  87. else if(event.target.id === "startDate"){
  88. setStartDate(event.target.value);
  89. }
  90. else if(event.target.id === "endDate"){
  91. setEndDate(event.target.value);
  92. }
  93. else if(event.target.id === "hours"){
  94. setHours(event.target.value);
  95. }
  96. else{
  97. setMin(event.target.value);
  98. }
  99. }
  100.  
  101. function dropMenu(){
  102. console.log("funkar`?");
  103. console.log(localData);
  104. //callDropMenu();
  105. RenderMenu(localData);
  106. }
  107.  
  108. function RenderMenu(arr){
  109. console.log("orkar inte");
  110. return(
  111.  
  112. <div>
  113. <p> hejhjehejeh </p>
  114. {arr.map(c=> (<MenuContent key={c.id} arrData={c} />))}
  115. </div>
  116. );
  117. }
  118.  
  119. function MenuContent(arrData){
  120. let menuList = arrData.arrData;
  121. console.log("fjksadkf");
  122. return(
  123. <div style={{backgroundColor: menuList.color, width: "100px", height: "100px", border: "5px solid red"}}>
  124. <p>{menuList.id}</p>
  125. </div>
  126. );
  127. }
  128.  
  129.  
  130. return (
  131. <div className="center">
  132. <div className="appHeader">
  133. <h1>Report Time</h1>
  134. </div>
  135. {/*wrapper */}
  136. <div className ="WrapperMain">
  137. <div>
  138. <p className ="ReportTimeText"> Activity </p>
  139. <div className ="border" id ="activitySetTime" onClick={dropMenu}>
  140. {RenderMenu(arr)}
  141. </div>
  142. </div>
  143. <p className ="ReportTimeText" id="TimeStudied">Time studied</p>
  144. <div className ="border">
  145. <div className="WrapperAddTime" id="centerDiv">
  146. {/*textfält */}
  147. <input className="TimeBox" id="hours" type="text" placeholder="hh" onChange={changeInput}/>
  148. <p className="timeIndicator" id="hh">h</p>
  149. <input className="TimeBox" id="mm" type="text" placeholder="mm" onChange={changeInput}/>
  150. <p className="timeIndicator" id="minutes" >m</p>
  151. </div>
  152. </div>
  153. </div>
  154. <Link to="/BarSite.js">
  155. <button onClick={() => {props.fixObjectEtikett(hours,min)}} className="ReportButtonText">
  156. <p className="buttonText">Report Time</p>
  157. </button>
  158. </Link>
  159. </div>
  160. );
  161. }
  162.  
  163. export default ReportTime;//ska det vara parent eller app här?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement