{"version":3,"sources":["logo.svg","components/step.jsx","components/section.jsx","components/timer.jsx","components/setup.jsx","App.js","reportWebVitals.js","index.js"],"names":["Step","props","handleTitleEdit","e","console","log","target","value","step","Title","UpdateStep","Index","handleTypeEdit","Type","handleSecondsEdit","Seconds","handleColorEdit","Color","DeleteStep","state","className","onClick","this","ref","type","onChange","Component","Section","index","section","Steps","UpdateSection","AddStep","push","splice","handleRepsEdit","Reps","DeleteSection","IncreaseReps","DecreaseReps","undefined","map","Timer","Start","Workout","Progress","BuildWorkoutLog","timerId","setInterval","HandleDisplay","Audio","play","Resume","Pause","clearInterval","setState","Started","Stop","WorkoutSections","CurrentSection","CurrentRep","CurrentStep","progress","iCurrentSection","iCurrentRep","iCurrentStep","Sections","StepProgress","parseInt","Duration","prev","StepEnd","x","CurrentSectionStart","length","NotifyShiftStep","$","each","sectionindex","Complete","tPrevReps","Rep","minutes","Math","floor","seconds","ConvertedProgress","progressremaining","rminutes","rseconds","rConvertedProgress","srminutes","srseconds","srConvertedProgress","html","test","WorkoutData","tSections","tSteps","tSection","Required","tIndex","xxx","tStep","src","WO1","Guid","WO2","WO3","WO4","T1","Setup","handleSelectWorkout","option","tSelectedWorkout","itemSelectedWorkout","WorkoutList","filter","g","itemSelectedWorkoutel","WorkoutOptions","label","SelectedStatus","updateBar","w","workout","ShowSetup","ShowTimer","AddSection","StatusOptions","SelectedWorkout","Loaded","List","wo","LoadWorkouts","setTimeout","secTotal","i","j","pps","steptotalseconds","widthinpc","AssetsList","AssetsData","asset","Id","Name","Language","Assets","SetDefaultAsset","min","sec","strsum","options","App","exact","path","component","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","document","getElementById"],"mappings":"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B,SAAU,EACVqB,SAAU,CACR,CACEzD,MAAO,aACPqB,MAAO,CACL,CACErB,MAAO,aACPI,KAAM,SACNE,QAAS,IACTE,MAAO,WAGXmB,KAAM,EACNgE,UAAU,GAEZ,CACE3F,MAAO,cACPqB,MAAO,CACL,CACErB,MAAO,QACPI,KAAM,OACNE,QAAS,GACTE,MAAO,SAET,CACER,MAAO,SACPI,KAAM,MACNE,QAAS,IACTE,MAAO,WAET,CACER,MAAO,QACPI,KAAM,OACNE,QAAS,GACTE,MAAO,SAET,CACER,MAAO,SACPI,KAAM,MACNE,QAAS,IACTE,MAAO,WAET,CACER,MAAO,QACPI,KAAM,OACNE,QAAS,GACTE,MAAO,SAET,CACER,MAAO,QACPI,KAAM,QACNE,QAAS,GACTE,MAAO,SAGXmB,KAAM,EACNgE,UAAU,GAEZ,CACE3F,MAAO,cACPqB,MAAO,CACL,CACErB,MAAO,SACPI,KAAM,UACNE,QAAS,GACTE,MAAO,WAET,CACER,MAAO,QACPI,KAAM,OACNE,QAAS,GACTE,MAAO,UAGXmB,KAAM,EACNgE,UAAU,GAEZ,CACE3F,MAAO,cACPqB,MAAO,CACL,CACErB,MAAO,SACPI,KAAM,MACNE,QAAS,GACTE,MAAO,WAET,CACER,MAAO,QACPI,KAAM,OACNE,QAAS,GACTE,MAAO,UAGXmB,KAAM,EACNgE,UAAU,KAKVU,EAAK,CACTrG,MAAO,OACPiG,KAAM,uCACNrC,SAAU,EACVxB,SAAU,EACVqB,SAAU,CACR,CACEzD,MAAO,aACPqB,MAAO,CACL,CACErB,MAAO,gBACPI,KAAM,UACNE,QAAS,GACTE,MAAO,WAGXmB,KAAM,EACNgE,UAAU,GAEZ,CACE3F,MAAO,cACPqB,MAAO,CACL,CACErB,MAAO,SACPI,KAAM,UACNE,QAAS,GACTE,MAAO,WAET,CACER,MAAO,QACPI,KAAM,UACNE,QAAS,GACTE,MAAO,UAGXmB,KAAM,EACNgE,UAAU,GAEZ,CACE3F,MAAO,cACPqB,MAAO,CACL,CACErB,MAAO,QACPI,KAAM,UACNE,QAAS,EACTE,MAAO,OAET,CACER,MAAO,QAC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","file":"static/js/main.95923f4d.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo.6ce24c58.svg\";","import React, { Component } from \"react\";\r\nimport \"./step.css\";\r\n\r\nclass Step extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n // componentDidMount() {}\r\n\r\n handleTitleEdit = (e) => {\r\n console.log(\"TitleEdit:\", e.target.value);\r\n var step = this.props.Step;\r\n step.Title = e.target.value;\r\n this.props.UpdateStep(step, this.props.Index);\r\n };\r\n\r\n handleTypeEdit = (e) => {\r\n console.log(\"TitleEdit:\", e.target.value);\r\n var step = this.props.Step;\r\n step.Type = e.target.value;\r\n this.props.UpdateStep(step, this.props.Index);\r\n };\r\n\r\n handleSecondsEdit = (e) => {\r\n console.log(\"TitleEdit:\", e.target.value);\r\n var step = this.props.Step;\r\n step.Seconds = e.target.value;\r\n this.props.UpdateStep(step, this.props.Index);\r\n };\r\n\r\n handleColorEdit = (e) => {\r\n console.log(\"TitleEdit:\", e.target.value);\r\n var step = this.props.Step;\r\n step.Color = e.target.value;\r\n this.props.UpdateStep(step, this.props.Index);\r\n };\r\n\r\n DeleteStep = (e) => {\r\n console.log(\"Step->DeleteStep:\", e.target.value);\r\n var step = this.props.Step;\r\n step.Title = e.target.value;\r\n this.props.DeleteStep(step, this.props.Index);\r\n };\r\n\r\n render() {\r\n //console.log(this.props.Step.Title);\r\n\r\n return (\r\n
\r\n
\r\n Step\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Step;\r\n","import React, { Component } from \"react\";\r\nimport \"./section.css\";\r\nimport Step from \"./step\";\r\n\r\nclass Section extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n // componentDidMount() {}\r\n\r\n // handleTitleEdit = (e) => {\r\n // console.log(\"TitleEdit:\", e.target.value);\r\n // };\r\n\r\n UpdateStep = (step, index) => {\r\n console.log(\"Calling UpdateStep with user: \" + step + \" - \" + index);\r\n console.log(step);\r\n\r\n var section = this.props.Section;\r\n section.Steps[index] = step;\r\n\r\n this.props.UpdateSection(section, this.props.Index);\r\n\r\n //this.setState({ User: user });\r\n };\r\n\r\n AddStep = () => {\r\n console.log(\"Calling AddStep\");\r\n\r\n var section = this.props.Section;\r\n var step = {\r\n Title: \"New step\",\r\n Type: \"Running\",\r\n Seconds: 60,\r\n Color: \"darkred\",\r\n };\r\n\r\n section.Steps.push(step);\r\n\r\n this.props.UpdateSection(section, this.props.Index);\r\n\r\n //this.setState({ User: user });\r\n };\r\n\r\n DeleteStep = (step, index) => {\r\n console.log(\"Calling DeleteStep with: \" + step + \" - \" + index);\r\n console.log(step);\r\n\r\n var section = this.props.Section;\r\n section.Steps.splice(index, 1);\r\n\r\n this.props.UpdateSection(section, this.props.Index);\r\n\r\n //this.setState({ User: user });\r\n };\r\n\r\n handleTitleEdit = (e) => {\r\n console.log(\"TitleEdit:\", e.target.value);\r\n var section = this.props.Section;\r\n section.Title = e.target.value;\r\n this.props.UpdateSection(section, this.props.Index);\r\n };\r\n\r\n handleRepsEdit = (e) => {\r\n console.log(\"TitleEdit:\", e.target.value);\r\n var section = this.props.Section;\r\n section.Reps = e.target.value;\r\n this.props.UpdateSection(section, this.props.Index);\r\n };\r\n\r\n DeleteSection = () => {\r\n console.log(\"Calling DeleteStep\");\r\n this.props.DeleteSection(this.props.Index);\r\n };\r\n\r\n IncreaseReps = () => {\r\n console.log(\"Calling IncreaseReps\");\r\n var section = this.props.Section;\r\n section.Reps++;\r\n this.props.UpdateSection(section, this.props.Index);\r\n };\r\n\r\n DecreaseReps = () => {\r\n console.log(\"Calling DecreaseReps\");\r\n var section = this.props.Section;\r\n section.Reps--;\r\n this.props.UpdateSection(section, this.props.Index);\r\n };\r\n\r\n render() {\r\n //console.log(this.props.Section.Title);\r\n var Steps =\r\n this.props.Section.Steps !== undefined ? this.props.Section.Steps : [];\r\n\r\n return (\r\n
\r\n
\r\n Section\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {Steps.map((step, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Section;\r\n","import React, { Component } from \"react\";\r\nimport \"./timer.css\";\r\nimport $ from \"jquery\";\r\n\r\nclass Timer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n WorkoutSections: [],\r\n Started: false,\r\n Progress: 0,\r\n CurrentSection: 1,\r\n CurrentRep: 1,\r\n CurrentStep: 1,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"Component mounted\");\r\n console.log(this.props.Workout);\r\n }\r\n\r\n // handleTitleEdit = (e) => {\r\n // console.log(\"TitleEdit:\", e.target.value);\r\n // };\r\n\r\n HandleDisplay(progress) {\r\n var iCurrentSection = this.state.CurrentSection;\r\n var iCurrentRep = this.state.CurrentRep;\r\n var iCurrentStep = this.state.CurrentStep;\r\n var Workout = this.props.Workout;\r\n\r\n var CurrentSection = Workout.Sections[iCurrentSection - 1];\r\n var CurrentStep = CurrentSection.Steps[iCurrentStep - 1];\r\n\r\n var StepProgress = parseInt(CurrentStep.Seconds, 10);\r\n\r\n // Is section complete\r\n if (\r\n progress <\r\n parseInt(CurrentSection.Duration, 10) + parseInt(CurrentSection.Start, 10)\r\n ) {\r\n //console.log(\"Still in current section\");\r\n // Still in current section\r\n\r\n // Calculate previous steps\r\n var prev = 0;\r\n var StepEnd = 0;\r\n if (iCurrentStep > 1) {\r\n for (var x = 0; x < iCurrentStep - 1; x++) {\r\n prev += parseInt(CurrentSection.Steps[x].Seconds, 10);\r\n }\r\n }\r\n if (iCurrentRep > 1) {\r\n console.log(\"Add prev reps duration\");\r\n prev =\r\n prev +\r\n (parseInt(CurrentSection.Duration, 10) /\r\n parseInt(CurrentSection.Reps, 10)) *\r\n (parseInt(iCurrentRep, 10) - 1);\r\n }\r\n prev = parseInt(prev, 10);\r\n\r\n // Check steps\r\n var CurrentSectionStart = parseInt(CurrentSection.Start, 10);\r\n var CurrentSectionEnd = CurrentSectionStart + CurrentSection.Duration;\r\n var StepStart = CurrentSectionStart + prev;\r\n var StepEnd =\r\n CurrentSectionStart + parseInt(CurrentStep.Seconds, 10) + prev;\r\n\r\n StepProgress = StepEnd - progress;\r\n\r\n if (progress === StepEnd) {\r\n console.log(\"Check for more steps\");\r\n if (CurrentSection.Steps.length > iCurrentStep) {\r\n console.log(\"Move to next step\");\r\n iCurrentStep++;\r\n this.NotifyShiftStep();\r\n StepProgress = CurrentSection.Steps[iCurrentStep - 1].Seconds;\r\n } else {\r\n console.log(\"No more steps - Check for more reps\");\r\n {\r\n if (iCurrentRep < CurrentSection.Reps) {\r\n iCurrentRep++;\r\n iCurrentStep = 1;\r\n StepProgress = CurrentSection.Steps[iCurrentStep - 1].Seconds;\r\n this.NotifyShiftStep();\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (Workout.Sections.length > iCurrentSection) {\r\n // We have more section - go to next\r\n console.log(\"We have more section - go to next\");\r\n iCurrentSection++;\r\n iCurrentRep = 1;\r\n iCurrentStep = 1;\r\n this.NotifyShiftStep();\r\n } else {\r\n // We are done\r\n console.log(\"Section complete!\");\r\n this.Stop();\r\n var audio = new Audio(\"4times.mp3\");\r\n audio.play();\r\n }\r\n }\r\n\r\n // CurrentStep.Seconds\r\n CurrentSection = Workout.Sections[iCurrentSection - 1];\r\n CurrentStep = CurrentSection.Steps[iCurrentStep - 1];\r\n\r\n // Update log\r\n //this.UpdateLog(iCurrentSection, iCurrentStep);\r\n var WorkoutSections = this.state.WorkoutSections;\r\n\r\n $.each(WorkoutSections, function (sectionindex, section) {\r\n if (sectionindex < iCurrentSection - 1) {\r\n section.Complete = true;\r\n }\r\n\r\n if (sectionindex < iCurrentSection - 1) {\r\n // Mark all steps as complete as we are in later section\r\n console.log(\"Mark all steps as complete as we are in later section\");\r\n $.each(section.Steps, function (index, step) {\r\n step.Complete = true;\r\n });\r\n } else if (sectionindex === iCurrentSection - 1) {\r\n //for (var x = 0; x < section.Reps; x++) {\r\n\r\n var tPrevReps = 0;\r\n if (section.Reps > 1) {\r\n tPrevReps = (iCurrentRep - 1) * (section.Steps.length / section.Reps);\r\n }\r\n\r\n $.each(section.Steps, function (index, step) {\r\n if (!step.Complete) {\r\n if (step.Rep < iCurrentRep) {\r\n step.Complete = true;\r\n return false; // breaks\r\n } else if (step.Rep === iCurrentRep) {\r\n console.log(step.Index + \"-\" + iCurrentRep + \"-\" + tPrevReps);\r\n if (step.Index < iCurrentStep - 1 + tPrevReps) {\r\n step.Complete = true;\r\n return false; // breaks\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n //}\r\n });\r\n\r\n var minutes = Math.floor(progress / 60);\r\n var seconds = progress - minutes * 60;\r\n var strseconds = seconds < 10 ? \"0\" + seconds : seconds;\r\n var strminutes = minutes < 10 ? \"0\" + minutes : minutes;\r\n var ConvertedProgress = strminutes + \":\" + strseconds;\r\n\r\n var progressremaining = parseInt(Workout.Duration, 10) - progress;\r\n var rminutes = Math.floor(progressremaining / 60);\r\n var rseconds = progressremaining - rminutes * 60;\r\n var rstrseconds = rseconds < 10 ? \"0\" + rseconds : rseconds;\r\n var rstrminutes = rminutes < 10 ? \"0\" + rminutes : rminutes;\r\n var rConvertedProgress = rstrminutes + \":\" + rstrseconds;\r\n\r\n var srminutes = Math.floor(StepProgress / 60);\r\n var srseconds = StepProgress - srminutes * 60;\r\n var srstrseconds = srseconds < 10 ? \"0\" + srseconds : srseconds;\r\n var srstrminutes = srminutes < 10 ? \"0\" + srminutes : srminutes;\r\n var srConvertedProgress = srstrminutes + \":\" + srstrseconds;\r\n\r\n $(\".counter\").html(srConvertedProgress);\r\n\r\n $(\".elapsedvalue\").html(ConvertedProgress);\r\n $(\".remainingvalue\").html(rConvertedProgress);\r\n\r\n //$(\".stepcounter\").html(StepProgress + \"/\" + CurrentStep.Seconds);\r\n var test =\r\n iCurrentSection +\r\n \"/\" +\r\n parseInt(Workout.Sections.length, 10) +\r\n \" - \" +\r\n CurrentSection.Title;\r\n\r\n console.log(test);\r\n\r\n $(\".currentsection\").html(test);\r\n\r\n $(\".currentrep\").html(iCurrentRep + \"/\" + CurrentSection.Reps);\r\n\r\n $(\".currentstep\").html(\r\n iCurrentStep +\r\n \"/\" +\r\n CurrentSection.Steps.length +\r\n \" - \" +\r\n CurrentStep.Title +\r\n \" i \" +\r\n CurrentStep.Seconds +\r\n \" sek\"\r\n );\r\n\r\n this.setState({\r\n Started: true,\r\n Progress: progress,\r\n CurrentSection: iCurrentSection,\r\n CurrentRep: iCurrentRep,\r\n CurrentStep: iCurrentStep,\r\n WorkoutSections: WorkoutSections,\r\n });\r\n }\r\n\r\n Start = () => {\r\n console.log(\"Calling Start\");\r\n\r\n let Workout = this.props.Workout;\r\n var Progress = this.state.Progress;\r\n\r\n this.BuildWorkoutLog();\r\n\r\n this.timerId = setInterval(() => {\r\n Progress++;\r\n this.HandleDisplay(Progress);\r\n }, 1000);\r\n\r\n // var x = document.getElementById(\"myAudio\");\r\n // x.play();\r\n\r\n var audio = new Audio(\"long.mp3\");\r\n audio.play();\r\n };\r\n\r\n Resume = () => {\r\n console.log(\"Calling Resume\");\r\n\r\n let WorkOut = this.props.Workout;\r\n var Progress = this.state.Progress;\r\n\r\n this.timerId = setInterval(() => {\r\n Progress++;\r\n this.HandleDisplay(Progress);\r\n }, 1000);\r\n var audio = new Audio(\"4times.mp3\");\r\n audio.play();\r\n };\r\n\r\n Pause = () => {\r\n console.log(\"Calling Pause\");\r\n\r\n clearInterval(this.timerId);\r\n\r\n this.setState({\r\n Started: false,\r\n });\r\n\r\n var audio = new Audio(\"4times.mp3\");\r\n audio.play();\r\n };\r\n\r\n Stop = () => {\r\n console.log(\"Calling Stop\");\r\n\r\n clearInterval(this.timerId);\r\n\r\n this.setState({\r\n Started: false,\r\n });\r\n };\r\n\r\n BuildWorkoutLog() {\r\n console.log(\"BuildWorkoutLog\");\r\n\r\n let WorkoutData = this.props.Workout;\r\n let Workout = {};\r\n\r\n Workout.Title = WorkoutData.Title;\r\n Workout.Duration = WorkoutData.Duration;\r\n Workout.Complete = false;\r\n\r\n var tSections = [];\r\n $.each(WorkoutData.Sections, function (index, section) {\r\n var tSteps = [];\r\n var tSection = {};\r\n tSection.Title = section.Title;\r\n tSection.Reps = section.Reps;\r\n tSection.Required = section.Required;\r\n\r\n tSection.Complete = false;\r\n var x;\r\n var tIndex = -1;\r\n for (x = 0; x < section.Reps; x++) {\r\n var xxx = x;\r\n $.each(section.Steps, function (index, step) {\r\n var tStep = {};\r\n tIndex++;\r\n tStep.Title = step.Title;\r\n tStep.Type = step.Type;\r\n tStep.Seconds = step.Seconds;\r\n tStep.Color = step.Color;\r\n\r\n tStep.Rep = xxx + 1;\r\n tStep.Index = tIndex;\r\n tStep.Complete = false;\r\n tSteps.push(tStep);\r\n });\r\n }\r\n\r\n tSection.Steps = tSteps;\r\n tSections.push(tSection);\r\n });\r\n Workout.Sections = tSections;\r\n\r\n console.log(Workout);\r\n\r\n this.setState({\r\n WorkoutSections: Workout.Sections,\r\n });\r\n }\r\n\r\n NotifyShiftStep() {\r\n var audio = new Audio(\"short.mp3\");\r\n audio.play();\r\n }\r\n\r\n render() {\r\n var Sections =\r\n this.props.Workout.Sections !== undefined\r\n ? this.props.Workout.Sections\r\n : [];\r\n\r\n var WorkoutSections =\r\n this.state.WorkoutSections !== undefined\r\n ? this.state.WorkoutSections\r\n : [];\r\n\r\n return (\r\n
\r\n
\r\n
{this.props.Workout.Title}
\r\n
00:00
\r\n
\r\n
\r\n Elapsed:\r\n
\r\n
\r\n
\r\n
\r\n
Section
\r\n
[section]
\r\n
\r\n
\r\n
Reps
\r\n
[rep]
\r\n
\r\n
\r\n
Step
\r\n
[step]
\r\n
\r\n
\r\n
\r\n Remaining:\r\n
\r\n
\r\n
\r\n\r\n {/*
[stepcounter]
*/}\r\n
\r\n
\r\n \r\n Start\r\n \r\n \r\n Stop\r\n \r\n  \r\n
\r\n
\r\n \r\n Pause\r\n \r\n 0 ? \"\" : \"hidden\"\r\n }\r\n onClick={this.Resume}\r\n >\r\n Resume\r\n \r\n
\r\n
\r\n
\r\n {WorkoutSections.map((section) => {\r\n return (\r\n
\r\n \r\n
{section.Title}
\r\n
\r\n \r\n
\r\n
\r\n {section.Steps.map((step) => {\r\n return (\r\n \r\n
\r\n {step.Title}{\" \"}\r\n
{step.Seconds} sek
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Timer;\r\n","import React, { Component } from \"react\";\r\nimport \"./setup.css\";\r\nimport Section from \"./section\";\r\nimport Timer from \"./timer\";\r\nimport $ from \"jquery\";\r\nimport Dropdown from \"react-dropdown\";\r\nimport DropdownButton from \"react-bootstrap/DropdownButton\";\r\n\r\nconst WO1 = {\r\n Title: \"Træningspas 1\",\r\n Guid: \"c537658c-c8ee-4fda-b4bd-13372f0bd288\",\r\n Duration: 0,\r\n Progress: 0,\r\n Sections: [\r\n {\r\n Title: \"Opvarmning\",\r\n Steps: [\r\n {\r\n Title: \"Opvarmning\",\r\n Type: \"Warmup\",\r\n Seconds: 180,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 1,\r\n Required: false,\r\n },\r\n {\r\n Title: \"1. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 120,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 60,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 2,\r\n Required: true,\r\n },\r\n {\r\n Title: \"2. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Running\",\r\n Seconds: 90,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 30,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 3,\r\n Required: true,\r\n },\r\n {\r\n Title: \"3. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 40,\r\n Color: \"orange\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 20,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 8,\r\n Required: true,\r\n },\r\n ],\r\n};\r\n\r\nconst WO2 = {\r\n Title: \"Træningspas 2\",\r\n Guid: \"5dff0e86-8c8d-4028-9793-9614c45c0fd2\",\r\n Duration: 0,\r\n Progress: 0,\r\n Sections: [\r\n {\r\n Title: \"Opvarmning\",\r\n Steps: [\r\n {\r\n Title: \"Opvarmning\",\r\n Type: \"Warmup\",\r\n Seconds: 180,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 1,\r\n Required: false,\r\n },\r\n {\r\n Title: \"1. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 60,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 60,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 5,\r\n Required: true,\r\n },\r\n {\r\n Title: \"2. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Running\",\r\n Seconds: 40,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 20,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 6,\r\n Required: true,\r\n },\r\n {\r\n Title: \"3. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 20,\r\n Color: \"orange\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 10,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 8,\r\n Required: true,\r\n },\r\n ],\r\n};\r\n\r\nconst WO3 = {\r\n Title: \"Træningspas 3\",\r\n Guid: \"66302bc8-af1e-484e-a36e-92e1850e6727\",\r\n Duration: 0,\r\n Progress: 0,\r\n Sections: [\r\n {\r\n Title: \"Opvarmning\",\r\n Steps: [\r\n {\r\n Title: \"Opvarmning\",\r\n Type: \"Warmup\",\r\n Seconds: 180,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 1,\r\n Required: false,\r\n },\r\n {\r\n Title: \"1. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 120,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 60,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 3,\r\n Required: true,\r\n },\r\n {\r\n Title: \"2. interval\",\r\n Steps: [\r\n {\r\n Title: \"Spurt\",\r\n Type: \"Sprint\",\r\n Seconds: 5,\r\n Color: \"red\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 10,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 10,\r\n Required: true,\r\n },\r\n {\r\n Title: \"3. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 90,\r\n Color: \"orange\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 30,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 4,\r\n Required: true,\r\n },\r\n ],\r\n};\r\n\r\nconst WO4 = {\r\n Title: \"Træningspas 4\",\r\n Guid: \"6244dd0d-f44f-4e34-b67f-8aee34ad5af1\",\r\n Duration: 0,\r\n Progress: 0,\r\n Sections: [\r\n {\r\n Title: \"Opvarmning\",\r\n Steps: [\r\n {\r\n Title: \"Opvarmning\",\r\n Type: \"Warmup\",\r\n Seconds: 180,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 1,\r\n Required: false,\r\n },\r\n {\r\n Title: \"1. interval\",\r\n Steps: [\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 60,\r\n Color: \"green\",\r\n },\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 120,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 60,\r\n Color: \"green\",\r\n },\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 120,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 60,\r\n Color: \"green\",\r\n },\r\n {\r\n Title: \"Pause\",\r\n Type: \"pause\",\r\n Seconds: 60,\r\n Color: \"blue\",\r\n },\r\n ],\r\n Reps: 5,\r\n Required: true,\r\n },\r\n {\r\n Title: \"2. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Running\",\r\n Seconds: 90,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 30,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 4,\r\n Required: true,\r\n },\r\n {\r\n Title: \"3. interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Run\",\r\n Seconds: 40,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walk\",\r\n Seconds: 20,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 6,\r\n Required: true,\r\n },\r\n ],\r\n};\r\n\r\nconst T1 = {\r\n Title: \"Test\",\r\n Guid: \"2c1db1fa-e229-4fcf-81ce-0ae750fdb694\",\r\n Duration: 0,\r\n Progress: 0,\r\n Sections: [\r\n {\r\n Title: \"Opvarmning\",\r\n Steps: [\r\n {\r\n Title: \"Roligt løb\",\r\n Type: \"Running\",\r\n Seconds: 10,\r\n Color: \"orange\",\r\n },\r\n ],\r\n Reps: 1,\r\n Required: false,\r\n },\r\n {\r\n Title: \"1. Interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Running\",\r\n Seconds: 10,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Walking\",\r\n Seconds: 10,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 2,\r\n Required: true,\r\n },\r\n {\r\n Title: \"2. Interval\",\r\n Steps: [\r\n {\r\n Title: \"Spurt\",\r\n Type: \"Running\",\r\n Seconds: 5,\r\n Color: \"red\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Pause\",\r\n Seconds: 10,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 4,\r\n Required: true,\r\n },\r\n {\r\n Title: \"3. Interval\",\r\n Steps: [\r\n {\r\n Title: \"Løb\",\r\n Type: \"Running\",\r\n Seconds: 10,\r\n Color: \"darkred\",\r\n },\r\n {\r\n Title: \"Gå\",\r\n Type: \"Pause\",\r\n Seconds: 10,\r\n Color: \"green\",\r\n },\r\n ],\r\n Reps: 4,\r\n Required: true,\r\n },\r\n ],\r\n};\r\n\r\nclass Setup extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n WorkoutData: {},\r\n ShowSetup: true,\r\n ShowTimer: false,\r\n StatusOptions: [\r\n {\r\n value: 1,\r\n label: \"Kladde\",\r\n },\r\n { value: 2, label: \"Aktiv\" },\r\n { value: 4, label: \"Arkiveret\" },\r\n ],\r\n SelectedStatus: \"Vælg workout\",\r\n WorkoutOptions: [],\r\n WorkoutList: [],\r\n SelectedWorkout: {},\r\n };\r\n }\r\n\r\n LoadWorkouts() {\r\n var Loaded = [];\r\n Loaded.push(WO1);\r\n Loaded.push(WO2);\r\n Loaded.push(WO3);\r\n Loaded.push(WO4);\r\n Loaded.push(T1);\r\n\r\n var List = [];\r\n $.each(Loaded, function (index, wo) {\r\n List.push({\r\n value: wo.Guid,\r\n label: wo.Title,\r\n });\r\n });\r\n this.setState({ WorkoutOptions: List, WorkoutList: Loaded });\r\n }\r\n\r\n handleSelectWorkout = (option) => {\r\n var tSelectedWorkout = option.value;\r\n console.log(\"tSelectedWorkout: \" + tSelectedWorkout);\r\n\r\n var itemSelectedWorkout = this.state.WorkoutList.filter(function (g) {\r\n return g.Guid === tSelectedWorkout;\r\n });\r\n\r\n console.log(itemSelectedWorkout[0].Title);\r\n\r\n var itemSelectedWorkoutel = this.state.WorkoutOptions.filter(function (g) {\r\n return g.value === tSelectedWorkout;\r\n });\r\n\r\n console.log(\r\n \"itemSelectedWorkoutel: \" +\r\n itemSelectedWorkoutel[0].value +\r\n \"|\" +\r\n itemSelectedWorkoutel[0].label\r\n );\r\n\r\n this.setState({\r\n SelectedStatus: itemSelectedWorkoutel[0],\r\n });\r\n this.updateBar(itemSelectedWorkout[0]);\r\n };\r\n\r\n componentDidMount() {\r\n this.LoadWorkouts();\r\n\r\n this.setState({ WorkoutData: T1 });\r\n console.log(this.state.WorkoutData);\r\n\r\n setTimeout(() => {\r\n this.updateBar(this.state.WorkoutData);\r\n }, 500);\r\n }\r\n\r\n handleTitleEdit = (e) => {\r\n console.log(\"TitleEdit:\", e.target.value);\r\n\r\n var w = this.state.WorkoutData;\r\n w.Title = e.target.value;\r\n this.setState({\r\n WorkoutData: w,\r\n });\r\n };\r\n\r\n UpdateSection = (section, index) => {\r\n console.log(\"Calling UpdateSection with step: \" + section + \" - \" + index);\r\n console.log(section);\r\n\r\n var workout = this.state.WorkoutData;\r\n workout.Sections[index] = section;\r\n\r\n this.updateBar(workout);\r\n\r\n //this.setState({ User: user });\r\n };\r\n\r\n DeleteSection = (index) => {\r\n console.log(\"Calling DeleteSection with index: \" + index);\r\n var workout = this.state.WorkoutData;\r\n workout.Sections.splice(index, 1);\r\n\r\n this.updateBar(workout);\r\n };\r\n\r\n ShowSetup = () => {\r\n this.setState({\r\n ShowSetup: true,\r\n ShowTimer: false,\r\n });\r\n };\r\n\r\n ShowTimer = () => {\r\n this.setState({\r\n ShowSetup: false,\r\n ShowTimer: true,\r\n });\r\n };\r\n\r\n AddSection = () => {\r\n var workout = this.state.WorkoutData;\r\n var section = {\r\n Title: \"New section\",\r\n Steps: [\r\n {\r\n Title: \"New step\",\r\n Type: \"Running\",\r\n Seconds: 60,\r\n Color: \"grey\",\r\n },\r\n ],\r\n Reps: 1,\r\n Required: false,\r\n };\r\n workout.Sections.push(section);\r\n\r\n this.setState({\r\n WorkoutData: workout,\r\n });\r\n };\r\n\r\n AddStep = (index) => {\r\n var workout = this.state.WorkoutData;\r\n\r\n this.updateBar(workout);\r\n\r\n var step = {\r\n Title: \"New step\",\r\n Type: \"Running\",\r\n Seconds: 60,\r\n Color: \"darkred\",\r\n };\r\n\r\n workout.Sections[index].Steps.push(step);\r\n\r\n this.updateBar(workout);\r\n };\r\n\r\n updateBar(workout) {\r\n var html = \"\";\r\n\r\n var secTotal = 0;\r\n var minTotal = 0;\r\n var progress = 0;\r\n\r\n $.each(workout.Sections, function (i, section) {\r\n var x;\r\n\r\n for (x = 0; x < section.Reps; x++) {\r\n $.each(section.Steps, function (j, step) {\r\n secTotal += parseInt(step.Seconds, 10);\r\n });\r\n }\r\n });\r\n\r\n console.log(\"Seconds: \" + secTotal);\r\n console.log(\"Minutes: \" + secTotal / 60);\r\n\r\n var pps = 100 / secTotal;\r\n //console.log(\"pps: \" + pps);\r\n $.each(workout.Sections, function (i, section) {\r\n var x;\r\n var steptotalseconds = 0;\r\n // Calculate steps duration\r\n $.each(section.Steps, function (j, step) {\r\n steptotalseconds = steptotalseconds + step.Seconds;\r\n });\r\n section.Duration = steptotalseconds * section.Reps;\r\n section.Start = progress;\r\n\r\n for (x = 0; x < section.Reps; x++) {\r\n $.each(section.Steps, function (j, step) {\r\n //step.Start = progress;\r\n progress = progress + step.Seconds;\r\n //step.End = progress;\r\n\r\n var widthinpc = pps * step.Seconds;\r\n //width = width / 1000;\r\n html +=\r\n '
';\r\n });\r\n }\r\n });\r\n\r\n $(\".timer\").html(html);\r\n workout.Duration = secTotal;\r\n this.setState({\r\n WorkoutData: workout,\r\n });\r\n }\r\n\r\n PopulateAssets() {\r\n var AssetsList = [];\r\n $.each(this.state.AssetsData, function (index, asset) {\r\n AssetsList.push({\r\n value: asset.Id,\r\n label: asset.Name + \" (\" + asset.Language + \")\",\r\n });\r\n });\r\n\r\n this.setState({ Assets: AssetsList });\r\n this.SetDefaultAsset();\r\n //this.setState({ SelectedAsset: itemSelectedAsset[0] });\r\n }\r\n\r\n render() {\r\n //console.log(this.state.WorkoutData);\r\n var Sections =\r\n this.state.WorkoutData.Sections !== undefined\r\n ? this.state.WorkoutData.Sections\r\n : [];\r\n\r\n var min = Math.floor(this.state.WorkoutData.Duration / 60);\r\n var sec = this.state.WorkoutData.Duration - min * 60;\r\n var strsec = sec < 10 ? \"0\" + sec : sec;\r\n var strmin = min < 10 ? \"0\" + min : min;\r\n var strsum = strmin + \":\" + strsec;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
WORKOUT TIMER
\r\n \r\n
{strsum}
\r\n {Sections.map((section, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Setup;\r\n","import logo from \"./logo.svg\";\nimport \"./App.css\";\nimport {\n Route,\n StaticRouter,\n Switch,\n Link,\n useHistory,\n} from \"react-router-dom\";\nimport Setup from \"./components/setup\";\n\nfunction App() {\n return (\n
\n
\n \n \n \n
\n
\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport reportWebVitals from \"./reportWebVitals\";\nimport { HashRouter } from \"react-router-dom\";\nimport \"bootstrap/dist/js/bootstrap.bundle.min\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}