@@ -7,6 +7,7 @@ import { writeFile, utils } from "xlsx";
77// import UpdateCheckout from "@/Components/UpdateCheckout";
88import { useState } from "react" ;
99import DatePicker from "react-date-picker" ;
10+ import { useUser } from "@auth0/nextjs-auth0" ;
1011
1112const fetcher = ( ...args ) => fetch ( ...args ) . then ( ( res ) => res . json ( ) ) ;
1213
@@ -22,6 +23,20 @@ export default function Dashboard() {
2223
2324 const [ currentEditId , setCurrentEditId ] = useState ( 0 ) ;
2425 const [ currentDueDate , setCurrentDueDate ] = useState ( new Date ( ) ) ;
26+ const [ currentStrikeID , setCurrentStrikeId ] = useState ( 0 ) ;
27+
28+ const handleCancelOrStrike = ( id ) => {
29+ if ( currentStrikeID != 0 ) {
30+ setCurrentStrikeId ( 0 ) ;
31+ return ;
32+ }
33+ if ( currentEditId != 0 ) {
34+ setCurrentEditId ( 0 ) ;
35+ return ;
36+ }
37+
38+ setCurrentStrikeId ( id ) ;
39+ } ;
2540
2641 const handleDateUpdate = async ( logId , theDueDate ) => {
2742 const reqData = {
@@ -38,19 +53,32 @@ export default function Dashboard() {
3853 mutate ( ) ;
3954 } ;
4055
41- const editCheckoutEvent = ( id , dueDate ) => {
56+ const editCheckoutEvent = ( id , dueDate , teamId ) => {
4257 // console.log(id);
4358 if ( currentEditId != 0 && id == currentEditId ) {
4459 // const basicDueDate = new Date(currentDueDate);
4560 const theDueDate = new Date ( currentDueDate . setHours ( 23 , 59 ) ) ;
4661 // console.log(theDueDate);
4762 handleDateUpdate ( id , theDueDate ) ;
4863 setCurrentEditId ( 0 ) ;
49- } else {
50- // console.log(dueDate);
51- setCurrentDueDate ( new Date ( dueDate ) ) ;
52- setCurrentEditId ( id ) ;
64+ return ;
5365 }
66+
67+ if ( currentStrikeID != 0 && id == currentStrikeID ) {
68+ addStrike ( teamId ) ;
69+ setCurrentStrikeId ( 0 ) ;
70+ return ;
71+ }
72+ // console.log(dueDate);
73+ setCurrentDueDate ( new Date ( dueDate ) ) ;
74+ setCurrentEditId ( id ) ;
75+ } ;
76+
77+ const addStrike = async ( teamId ) => {
78+ const apiString = "/api/teams/strikes/add/" + String ( teamId ) ;
79+ const res = await fetch ( apiString ) ;
80+ console . log ( await res . json ( ) ) ;
81+ mutate ( ) ;
5482 } ;
5583
5684 const logCleanup = ( logIn ) => {
@@ -163,26 +191,45 @@ export default function Dashboard() {
163191 < p > { item . notes } </ p >
164192 </ div >
165193 < div className = "cell" >
166- < p >
167- < button
168- onClick = { ( ) => {
169- // console.log(item);
170- editCheckoutEvent ( item . id , item . dateDue ) ;
171- } }
172- >
173- { item . id === currentEditId ? "Submit" : "Edit" }
174- </ button >
175- { item . id === currentEditId ? (
176- < button
177- style = { { marginTop : "1em" } }
178- onClick = { ( ) => setCurrentEditId ( 0 ) }
194+ { /* <p> */ }
195+ < div >
196+ < div className = "column-grid" >
197+ < div className = "cell" style = { { borderStyle : "none" } } >
198+ < button
199+ onClick = { ( ) => {
200+ // console.log(item);
201+ // console.log(user);
202+ editCheckoutEvent (
203+ item . id ,
204+ item . dateDue ,
205+ item . teamId
206+ ) ;
207+ } }
208+ >
209+ { item . id === currentEditId ||
210+ item . id == currentStrikeID
211+ ? "Submit"
212+ : "Edit" }
213+ </ button >
214+ </ div >
215+ < div
216+ className = "cell"
217+ style = { { borderStyle : "none" , padding : "0" } }
179218 >
180- Cancel
181- </ button >
182- ) : (
183- ""
184- ) }
185- </ p >
219+ { new Date ( item . dateDue ) < loadTime ||
220+ item . id === currentEditId ||
221+ item . id == currentStrikeID ? (
222+ < button onClick = { ( ) => handleCancelOrStrike ( item . id ) } >
223+ { item . id === currentEditId ||
224+ item . id == currentStrikeID
225+ ? "Cancel"
226+ : "Strike" }
227+ </ button >
228+ ) : null }
229+ </ div >
230+ </ div >
231+ </ div >
232+ { /* </p> */ }
186233 </ div >
187234 </ div >
188235 ) ) }
0 commit comments