skill-calorie 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +10 -9
- package/dist/.gen-inputs.json +16 -100
- package/dist/analysis/anomaly/common.d.ts +11 -1
- package/dist/analysis/anomaly/common.d.ts.map +1 -1
- package/dist/analysis/anomaly/common.js +11 -12
- package/dist/analysis/anomaly/common.js.map +1 -1
- package/dist/analysis/anomaly/diet.d.ts.map +1 -1
- package/dist/analysis/anomaly/diet.js +11 -3
- package/dist/analysis/anomaly/diet.js.map +1 -1
- package/dist/analysis/deficit.d.ts +4 -2
- package/dist/analysis/deficit.d.ts.map +1 -1
- package/dist/analysis/deficit.js +2 -1
- package/dist/analysis/deficit.js.map +1 -1
- package/dist/analysis/historyStore.d.ts +2 -2
- package/dist/analysis/historyStore.d.ts.map +1 -1
- package/dist/analysis/historyStore.js +2 -2
- package/dist/analysis/historyStore.js.map +1 -1
- package/dist/analysis/index.d.ts +7 -13
- package/dist/analysis/index.d.ts.map +1 -1
- package/dist/analysis/index.js +15 -21
- package/dist/analysis/index.js.map +1 -1
- package/dist/analysis/reportDocTracked.d.ts.map +1 -1
- package/dist/analysis/reportDocTracked.js +3 -2
- package/dist/analysis/reportDocTracked.js.map +1 -1
- package/dist/analysis/review.d.ts.map +1 -1
- package/dist/analysis/review.js +5 -3
- package/dist/analysis/review.js.map +1 -1
- package/dist/analysis/simulate.d.ts +4 -2
- package/dist/analysis/simulate.d.ts.map +1 -1
- package/dist/analysis/simulate.js +5 -2
- package/dist/analysis/simulate.js.map +1 -1
- package/dist/analysis/simulate2.d.ts.map +1 -1
- package/dist/analysis/simulate2.js +4 -1
- package/dist/analysis/simulate2.js.map +1 -1
- package/dist/analysis/utils.d.ts +21 -25
- package/dist/analysis/utils.d.ts.map +1 -1
- package/dist/analysis/utils.js +34 -38
- package/dist/analysis/utils.js.map +1 -1
- package/dist/body/commands.d.ts +5 -1
- package/dist/body/commands.d.ts.map +1 -1
- package/dist/body/commands.js +5 -4
- package/dist/body/commands.js.map +1 -1
- package/dist/body/index.d.ts +9 -13
- package/dist/body/index.d.ts.map +1 -1
- package/dist/body/index.js +14 -19
- package/dist/body/index.js.map +1 -1
- package/dist/body/wizardDocs.js +1 -1
- package/dist/body/wizardPlate.d.ts +1 -1
- package/dist/cli/cmd_read.d.ts.map +1 -1
- package/dist/cli/cmd_read.js +23 -4
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/config.d.ts +16 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +68 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/delivery.d.ts +2 -1
- package/dist/cli/delivery.d.ts.map +1 -1
- package/dist/cli/delivery.js +4 -3
- package/dist/cli/delivery.js.map +1 -1
- package/dist/cli/health.d.ts +7 -0
- package/dist/cli/health.d.ts.map +1 -0
- package/dist/cli/health.js +21 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/keys.d.ts +1 -2
- package/dist/cli/keys.d.ts.map +1 -1
- package/dist/cli/keys.js.map +1 -1
- package/dist/cli/readArgs.d.ts.map +1 -1
- package/dist/cli/readArgs.js +6 -5
- package/dist/cli/readArgs.js.map +1 -1
- package/dist/cli/write.d.ts +9 -12
- package/dist/cli/write.d.ts.map +1 -1
- package/dist/cli/write.js +7 -27
- package/dist/cli/write.js.map +1 -1
- package/dist/config.d.ts +55 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +64 -0
- package/dist/config.js.map +1 -0
- package/dist/diet/commands.d.ts +6 -1
- package/dist/diet/commands.d.ts.map +1 -1
- package/dist/diet/commands.js +15 -14
- package/dist/diet/commands.js.map +1 -1
- package/dist/diet/dietEngine.d.ts.map +1 -1
- package/dist/diet/dietEngine.js +3 -1
- package/dist/diet/dietEngine.js.map +1 -1
- package/dist/diet/dietUi.d.ts +8 -3
- package/dist/diet/dietUi.d.ts.map +1 -1
- package/dist/diet/dietUi.js +18 -25
- package/dist/diet/dietUi.js.map +1 -1
- package/dist/diet/index.d.ts +7 -11
- package/dist/diet/index.d.ts.map +1 -1
- package/dist/diet/index.js +18 -19
- package/dist/diet/index.js.map +1 -1
- package/dist/diet/nutritionPort.d.ts +2 -5
- package/dist/diet/nutritionPort.d.ts.map +1 -1
- package/dist/diet/nutritionPort.js +14 -12
- package/dist/diet/nutritionPort.js.map +1 -1
- package/dist/diet/precheckPort.d.ts.map +1 -1
- package/dist/diet/precheckPort.js +3 -1
- package/dist/diet/precheckPort.js.map +1 -1
- package/dist/diet/review.d.ts.map +1 -1
- package/dist/diet/review.js +3 -18
- package/dist/diet/review.js.map +1 -1
- package/dist/exercise/cardio.js +1 -1
- package/dist/exercise/cardio.js.map +1 -1
- package/dist/exercise/commands.d.ts +1 -1
- package/dist/exercise/commands.d.ts.map +1 -1
- package/dist/exercise/commands.js +3 -3
- package/dist/exercise/commands.js.map +1 -1
- package/dist/exercise/distribution.js +1 -1
- package/dist/exercise/distribution.js.map +1 -1
- package/dist/exercise/edit.d.ts.map +1 -1
- package/dist/exercise/edit.js +4 -2
- package/dist/exercise/edit.js.map +1 -1
- package/dist/exercise/exerciseStore.d.ts.map +1 -1
- package/dist/exercise/exerciseStore.js +16 -10
- package/dist/exercise/exerciseStore.js.map +1 -1
- package/dist/exercise/index.d.ts +7 -12
- package/dist/exercise/index.d.ts.map +1 -1
- package/dist/exercise/index.js +14 -19
- package/dist/exercise/index.js.map +1 -1
- package/dist/exercise/recap.js +1 -1
- package/dist/exercise/recap.js.map +1 -1
- package/dist/exercise/sportPortDocs.d.ts +9 -0
- package/dist/exercise/sportPortDocs.d.ts.map +1 -0
- package/dist/exercise/sportPortDocs.js +896 -0
- package/dist/exercise/sportPortDocs.js.map +1 -0
- package/dist/exercise/sportUi.d.ts +4 -2
- package/dist/exercise/sportUi.d.ts.map +1 -1
- package/dist/exercise/sportUi.js +13 -44
- package/dist/exercise/sportUi.js.map +1 -1
- package/dist/exercise/strength.js +1 -1
- package/dist/exercise/strength.js.map +1 -1
- package/dist/exercise/trend.js +1 -1
- package/dist/exercise/trend.js.map +1 -1
- package/dist/fetch/body.d.ts.map +1 -1
- package/dist/fetch/body.js +15 -12
- package/dist/fetch/body.js.map +1 -1
- package/dist/fetch/diet.d.ts +6 -5
- package/dist/fetch/diet.d.ts.map +1 -1
- package/dist/fetch/diet.js +19 -25
- package/dist/fetch/diet.js.map +1 -1
- package/dist/goal/commands.d.ts +5 -1
- package/dist/goal/commands.d.ts.map +1 -1
- package/dist/goal/commands.js +7 -6
- package/dist/goal/commands.js.map +1 -1
- package/dist/goal/goalExtraPlate.d.ts.map +1 -1
- package/dist/goal/goalExtraPlate.js +3 -1
- package/dist/goal/goalExtraPlate.js.map +1 -1
- package/dist/goal/goalHistory.d.ts +2 -2
- package/dist/goal/goalHistory.d.ts.map +1 -1
- package/dist/goal/goalHistory.js +4 -9
- package/dist/goal/goalHistory.js.map +1 -1
- package/dist/goal/index.d.ts +6 -10
- package/dist/goal/index.d.ts.map +1 -1
- package/dist/goal/index.js +11 -19
- package/dist/goal/index.js.map +1 -1
- package/dist/goal/nutritionGoal.d.ts.map +1 -1
- package/dist/goal/nutritionGoal.js +4 -1
- package/dist/goal/nutritionGoal.js.map +1 -1
- package/dist/goal/read.d.ts +1 -1
- package/dist/goal/read.d.ts.map +1 -1
- package/dist/goal/read.js +1 -1
- package/dist/goal/read.js.map +1 -1
- package/dist/goal/set.d.ts.map +1 -1
- package/dist/goal/set.js +2 -2
- package/dist/goal/set.js.map +1 -1
- package/dist/health.d.ts +41 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +501 -0
- package/dist/health.js.map +1 -0
- package/dist/help-missing.json +1 -1
- package/dist/home/index.d.ts +8 -9
- package/dist/home/index.d.ts.map +1 -1
- package/dist/home/index.js +11 -11
- package/dist/home/index.js.map +1 -1
- package/dist/index.d.ts +24 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -12
- package/dist/index.js.map +1 -1
- package/dist/migrate/migrate.js +2 -2
- package/dist/migrate/migrate.js.map +1 -1
- package/dist/output.d.ts +4 -3
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +12 -5
- package/dist/output.js.map +1 -1
- package/dist/paths.d.ts +6 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +28 -17
- package/dist/paths.js.map +1 -1
- package/dist/photo/commands.d.ts +1 -1
- package/dist/photo/commands.d.ts.map +1 -1
- package/dist/photo/commands.js +3 -3
- package/dist/photo/commands.js.map +1 -1
- package/dist/photo/compareDoc.js +1 -1
- package/dist/photo/compareDoc.js.map +1 -1
- package/dist/photo/dir.d.ts +1 -1
- package/dist/photo/dir.d.ts.map +1 -1
- package/dist/photo/dir.js +6 -5
- package/dist/photo/dir.js.map +1 -1
- package/dist/photo/gifDoc.d.ts.map +1 -1
- package/dist/photo/gifDoc.js +10 -4
- package/dist/photo/gifDoc.js.map +1 -1
- package/dist/photo/helpCenter.js +1 -1
- package/dist/photo/helpCenter.js.map +1 -1
- package/dist/photo/helpFile.js +1 -1
- package/dist/photo/helpFile.js.map +1 -1
- package/dist/photo/helpPaths.d.ts +1 -1
- package/dist/photo/helpPaths.js +1 -1
- package/dist/photo/helpShell.d.ts +16 -0
- package/dist/photo/helpShell.d.ts.map +1 -0
- package/dist/photo/helpShell.js +27 -0
- package/dist/photo/helpShell.js.map +1 -0
- package/dist/photo/index.d.ts +7 -11
- package/dist/photo/index.d.ts.map +1 -1
- package/dist/photo/index.js +11 -19
- package/dist/photo/index.js.map +1 -1
- package/dist/photo/photos.d.ts +5 -3
- package/dist/photo/photos.d.ts.map +1 -1
- package/dist/photo/photos.js +15 -14
- package/dist/photo/photos.js.map +1 -1
- package/dist/photo/pickerDoc.js +1 -1
- package/dist/photo/templates.d.ts +4 -0
- package/dist/photo/templates.d.ts.map +1 -0
- package/dist/photo/templates.js +29 -0
- package/dist/photo/templates.js.map +1 -0
- package/dist/photo/viewerDoc.js +1 -1
- package/dist/photo/viewerDoc.js.map +1 -1
- package/dist/photo/wizard.d.ts +1 -1
- package/dist/photo/wizard.js +2 -2
- package/dist/photo/wizard.js.map +1 -1
- package/dist/photo/wizardPort.d.ts +70 -0
- package/dist/photo/wizardPort.d.ts.map +1 -0
- package/dist/photo/wizardPort.js +232 -0
- package/dist/photo/wizardPort.js.map +1 -0
- package/dist/photo/wizardPortDocs.d.ts +6 -0
- package/dist/photo/wizardPortDocs.d.ts.map +1 -0
- package/dist/photo/wizardPortDocs.js +322 -0
- package/dist/photo/wizardPortDocs.js.map +1 -0
- package/dist/profile/commands.d.ts +5 -1
- package/dist/profile/commands.d.ts.map +1 -1
- package/dist/profile/commands.js +4 -3
- package/dist/profile/commands.js.map +1 -1
- package/dist/profile/index.d.ts +7 -13
- package/dist/profile/index.d.ts.map +1 -1
- package/dist/profile/index.js +14 -19
- package/dist/profile/index.js.map +1 -1
- package/dist/profile/setup.d.ts +1 -1
- package/dist/render/analysisPlate.d.ts +3 -3
- package/dist/render/analysisPlate.d.ts.map +1 -1
- package/dist/render/analysisPlate.js +4 -21
- package/dist/render/analysisPlate.js.map +1 -1
- package/dist/render/diet.d.ts +10 -6
- package/dist/render/diet.d.ts.map +1 -1
- package/dist/render/diet.js +8 -23
- package/dist/render/diet.js.map +1 -1
- package/dist/render/exercisePort.d.ts +1 -1
- package/dist/render/html.d.ts +0 -6
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +2 -44
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +0 -3
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +2 -2
- package/dist/render/index.js.map +1 -1
- package/dist/render/planWizardDocs.js +1 -1
- package/dist/render/planWizardDocs.js.map +1 -1
- package/dist/render/trendMiscPort.d.ts.map +1 -1
- package/dist/render/trendMiscPort.js +6 -4
- package/dist/render/trendMiscPort.js.map +1 -1
- package/dist/render/workoutPlanDocs.js +1 -1
- package/dist/render/workoutPlanDocs.js.map +1 -1
- package/dist/shared/alive.d.ts +22 -0
- package/dist/shared/alive.d.ts.map +1 -0
- package/dist/shared/alive.js +22 -0
- package/dist/shared/alive.js.map +1 -0
- package/dist/shared/commandSpec.d.ts +14 -4
- package/dist/shared/commandSpec.d.ts.map +1 -1
- package/dist/shared/copyBlock.d.ts +4 -0
- package/dist/shared/copyBlock.d.ts.map +1 -0
- package/dist/shared/copyBlock.js +26 -0
- package/dist/shared/copyBlock.js.map +1 -0
- package/dist/shared/docPage.js +1 -1
- package/dist/shared/healthRate.d.ts +21 -0
- package/dist/shared/healthRate.d.ts.map +1 -0
- package/dist/shared/healthRate.js +21 -0
- package/dist/shared/healthRate.js.map +1 -0
- package/dist/shared/kcalPerKg.d.ts +16 -0
- package/dist/shared/kcalPerKg.d.ts.map +1 -0
- package/dist/shared/kcalPerKg.js +16 -0
- package/dist/shared/kcalPerKg.js.map +1 -0
- package/dist/shared/meal.d.ts +46 -0
- package/dist/shared/meal.d.ts.map +1 -0
- package/dist/shared/meal.js +75 -0
- package/dist/shared/meal.js.map +1 -0
- package/dist/shared/nutritionRange.d.ts +28 -0
- package/dist/shared/nutritionRange.d.ts.map +1 -0
- package/dist/shared/nutritionRange.js +28 -0
- package/dist/shared/nutritionRange.js.map +1 -0
- package/dist/shared/pageStrips.d.ts +81 -0
- package/dist/shared/pageStrips.d.ts.map +1 -0
- package/dist/shared/pageStrips.js +166 -0
- package/dist/shared/pageStrips.js.map +1 -0
- package/dist/shared/planCopyBlock.d.ts +32 -0
- package/dist/shared/planCopyBlock.d.ts.map +1 -0
- package/dist/shared/planCopyBlock.js +34 -0
- package/dist/shared/planCopyBlock.js.map +1 -0
- package/dist/shared/sourceLine.d.ts +5 -5
- package/dist/shared/sourceLine.d.ts.map +1 -1
- package/dist/shared/sourceLine.js +3 -1
- package/dist/shared/sourceLine.js.map +1 -1
- package/dist/shared/time.d.ts +28 -0
- package/dist/shared/time.d.ts.map +1 -0
- package/dist/shared/time.js +37 -0
- package/dist/shared/time.js.map +1 -0
- package/dist/triggers/routeSpec.d.ts +3 -3
- package/dist/triggers/routeSpec.js +3 -3
- package/dist/triggers/routes.generated.d.ts +2 -2
- package/dist/weight/commands.d.ts +4 -1
- package/dist/weight/commands.d.ts.map +1 -1
- package/dist/weight/commands.js +5 -4
- package/dist/weight/commands.js.map +1 -1
- package/dist/weight/figures.d.ts.map +1 -1
- package/dist/weight/figures.js +3 -1
- package/dist/weight/figures.js.map +1 -1
- package/dist/weight/index.d.ts +11 -17
- package/dist/weight/index.d.ts.map +1 -1
- package/dist/weight/index.js +16 -19
- package/dist/weight/index.js.map +1 -1
- package/dist/weight/records.d.ts.map +1 -1
- package/dist/weight/records.js +4 -2
- package/dist/weight/records.js.map +1 -1
- package/dist/weight/review.js +2 -2
- package/dist/weight/review.js.map +1 -1
- package/dist/weight/weightUi.d.ts +16 -4
- package/dist/weight/weightUi.d.ts.map +1 -1
- package/dist/weight/weightUi.js +23 -53
- package/dist/weight/weightUi.js.map +1 -1
- package/dist/workout/commands.d.ts +16 -2
- package/dist/workout/commands.d.ts.map +1 -1
- package/dist/workout/commands.js +17 -16
- package/dist/workout/commands.js.map +1 -1
- package/dist/workout/index.d.ts +10 -19
- package/dist/workout/index.d.ts.map +1 -1
- package/dist/workout/index.js +17 -31
- package/dist/workout/index.js.map +1 -1
- package/dist/workout/land.d.ts +1 -1
- package/dist/workout/land.js +3 -3
- package/dist/workout/land.js.map +1 -1
- package/dist/workout/landBatch.d.ts +7 -5
- package/dist/workout/landBatch.d.ts.map +1 -1
- package/dist/workout/landBatch.js +17 -15
- package/dist/workout/landBatch.js.map +1 -1
- package/dist/workout/landBatchPages.d.ts.map +1 -1
- package/dist/workout/landBatchPages.js +2 -23
- package/dist/workout/landBatchPages.js.map +1 -1
- package/dist/workout/landPages.d.ts.map +1 -1
- package/dist/workout/landPages.js +2 -23
- package/dist/workout/landPages.js.map +1 -1
- package/dist/workout/landRunner.d.ts +8 -10
- package/dist/workout/landRunner.d.ts.map +1 -1
- package/dist/workout/landRunner.js +35 -56
- package/dist/workout/landRunner.js.map +1 -1
- package/dist/workout/planCopyBlock.d.ts +9 -0
- package/dist/workout/planCopyBlock.d.ts.map +1 -0
- package/dist/workout/planCopyBlock.js +9 -0
- package/dist/workout/planCopyBlock.js.map +1 -0
- package/dist/workout/planEditor.d.ts +94 -0
- package/dist/workout/planEditor.d.ts.map +1 -0
- package/dist/workout/planEditor.js +38 -0
- package/dist/workout/planEditor.js.map +1 -0
- package/dist/workout/planEditorCss.d.ts +13 -0
- package/dist/workout/planEditorCss.d.ts.map +1 -0
- package/dist/workout/planEditorCss.js +140 -0
- package/dist/workout/planEditorCss.js.map +1 -0
- package/dist/workout/planEditorDocs.d.ts +7 -0
- package/dist/workout/planEditorDocs.d.ts.map +1 -0
- package/dist/workout/planEditorDocs.js +56 -0
- package/dist/workout/planEditorDocs.js.map +1 -0
- package/dist/workout/planEditorPort.d.ts +45 -0
- package/dist/workout/planEditorPort.d.ts.map +1 -0
- package/dist/workout/planEditorPort.js +217 -0
- package/dist/workout/planEditorPort.js.map +1 -0
- package/dist/workout/planEditorRuntime.d.ts +15 -0
- package/dist/workout/planEditorRuntime.d.ts.map +1 -0
- package/dist/workout/planEditorRuntime.js +427 -0
- package/dist/workout/planEditorRuntime.js.map +1 -0
- package/dist/workout/planStore.d.ts.map +1 -1
- package/dist/workout/planStore.js +1 -3
- package/dist/workout/planStore.js.map +1 -1
- package/dist/workout/receipt.d.ts +1 -1
- package/dist/workout/receipt.js +1 -1
- package/dist/workout/receipt.js.map +1 -1
- package/dist/workout/review.d.ts +1 -1
- package/dist/workout/review.js +1 -1
- package/dist/workout/review.js.map +1 -1
- package/dist/workout/reviewDocs.d.ts +3 -0
- package/dist/workout/reviewDocs.d.ts.map +1 -0
- package/dist/{render → workout}/reviewDocs.js +2 -2
- package/dist/workout/reviewDocs.js.map +1 -0
- package/dist/workout/reviewDocsCss.d.ts.map +1 -0
- package/dist/{render → workout}/reviewDocsCss.js +1 -1
- package/dist/workout/reviewDocsCss.js.map +1 -0
- package/dist/workout/xunjiBackfill.d.ts.map +1 -1
- package/dist/workout/xunjiBackfill.js +4 -25
- package/dist/workout/xunjiBackfill.js.map +1 -1
- package/dist/workout/xunjiPush.d.ts.map +1 -1
- package/dist/workout/xunjiPush.js +4 -25
- package/dist/workout/xunjiPush.js.map +1 -1
- package/dist/workout/xunjiRunner.d.ts +11 -5
- package/dist/workout/xunjiRunner.d.ts.map +1 -1
- package/dist/workout/xunjiRunner.js +29 -29
- package/dist/workout/xunjiRunner.js.map +1 -1
- package/dist/xunji/backfill.d.ts +5 -3
- package/dist/xunji/backfill.d.ts.map +1 -1
- package/dist/xunji/backfill.js +11 -5
- package/dist/xunji/backfill.js.map +1 -1
- package/dist/xunji/catalog.d.ts +3 -1
- package/dist/xunji/catalog.d.ts.map +1 -1
- package/dist/xunji/catalog.js +12 -6
- package/dist/xunji/catalog.js.map +1 -1
- package/dist/xunji/fetch.d.ts +3 -4
- package/dist/xunji/fetch.d.ts.map +1 -1
- package/dist/xunji/fetch.js +8 -9
- package/dist/xunji/fetch.js.map +1 -1
- package/dist/xunji/key.d.ts +16 -56
- package/dist/xunji/key.d.ts.map +1 -1
- package/dist/xunji/key.js +44 -104
- package/dist/xunji/key.js.map +1 -1
- package/dist/xunji/planSource.d.ts +3 -3
- package/dist/xunji/planSource.js +6 -6
- package/dist/xunji/planSource.js.map +1 -1
- package/dist/xunji/rateLimit.d.ts +7 -2
- package/dist/xunji/rateLimit.d.ts.map +1 -1
- package/dist/xunji/rateLimit.js +12 -3
- package/dist/xunji/rateLimit.js.map +1 -1
- package/dist/xunji/run-sync.d.ts +3 -3
- package/dist/xunji/run-sync.d.ts.map +1 -1
- package/dist/xunji/run-sync.js +5 -5
- package/dist/xunji/run-sync.js.map +1 -1
- package/dist/xunji/run.d.ts +2 -4
- package/dist/xunji/run.d.ts.map +1 -1
- package/dist/xunji/run.js +5 -5
- package/dist/xunji/run.js.map +1 -1
- package/dist/xunji/subcommands.d.ts.map +1 -1
- package/dist/xunji/subcommands.js +2 -3
- package/dist/xunji/subcommands.js.map +1 -1
- package/dist/xunji/upsert.d.ts +4 -4
- package/dist/xunji/upsert.d.ts.map +1 -1
- package/dist/xunji/upsert.js +6 -6
- package/dist/xunji/upsert.js.map +1 -1
- package/package.json +2 -9
- package/dist/cli/legacy/index.d.ts +0 -25
- package/dist/cli/legacy/index.d.ts.map +0 -1
- package/dist/cli/legacy/index.js +0 -37
- package/dist/cli/legacy/index.js.map +0 -1
- package/dist/cli/legacy/routes/index.d.ts +0 -8
- package/dist/cli/legacy/routes/index.d.ts.map +0 -1
- package/dist/cli/legacy/routes/index.js +0 -23
- package/dist/cli/legacy/routes/index.js.map +0 -1
- package/dist/cli/legacy/routes/scene-01.d.ts +0 -12
- package/dist/cli/legacy/routes/scene-01.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-01.js +0 -2
- package/dist/cli/legacy/routes/scene-01.js.map +0 -1
- package/dist/cli/legacy/routes/scene-02.d.ts +0 -18
- package/dist/cli/legacy/routes/scene-02.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-02.js +0 -2
- package/dist/cli/legacy/routes/scene-02.js.map +0 -1
- package/dist/cli/legacy/routes/scene-03.d.ts +0 -13
- package/dist/cli/legacy/routes/scene-03.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-03.js +0 -2
- package/dist/cli/legacy/routes/scene-03.js.map +0 -1
- package/dist/cli/legacy/routes/scene-04.d.ts +0 -10
- package/dist/cli/legacy/routes/scene-04.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-04.js +0 -2
- package/dist/cli/legacy/routes/scene-04.js.map +0 -1
- package/dist/cli/legacy/routes/scene-05.d.ts +0 -10
- package/dist/cli/legacy/routes/scene-05.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-05.js +0 -2
- package/dist/cli/legacy/routes/scene-05.js.map +0 -1
- package/dist/cli/legacy/routes/scene-06.d.ts +0 -10
- package/dist/cli/legacy/routes/scene-06.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-06.js +0 -2
- package/dist/cli/legacy/routes/scene-06.js.map +0 -1
- package/dist/cli/legacy/routes/scene-07.d.ts +0 -10
- package/dist/cli/legacy/routes/scene-07.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-07.js +0 -2
- package/dist/cli/legacy/routes/scene-07.js.map +0 -1
- package/dist/cli/legacy/routes/scene-08.d.ts +0 -12
- package/dist/cli/legacy/routes/scene-08.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-08.js +0 -2
- package/dist/cli/legacy/routes/scene-08.js.map +0 -1
- package/dist/cli/legacy/routes/scene-09.d.ts +0 -12
- package/dist/cli/legacy/routes/scene-09.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-09.js +0 -2
- package/dist/cli/legacy/routes/scene-09.js.map +0 -1
- package/dist/cli/legacy/routes/scene-10.d.ts +0 -10
- package/dist/cli/legacy/routes/scene-10.d.ts.map +0 -1
- package/dist/cli/legacy/routes/scene-10.js +0 -2
- package/dist/cli/legacy/routes/scene-10.js.map +0 -1
- package/dist/cli/legacy/scene-01.d.ts +0 -13
- package/dist/cli/legacy/scene-01.d.ts.map +0 -1
- package/dist/cli/legacy/scene-01.js +0 -2
- package/dist/cli/legacy/scene-01.js.map +0 -1
- package/dist/cli/legacy/scene-02.d.ts +0 -12
- package/dist/cli/legacy/scene-02.d.ts.map +0 -1
- package/dist/cli/legacy/scene-02.js +0 -2
- package/dist/cli/legacy/scene-02.js.map +0 -1
- package/dist/cli/legacy/scene-03.d.ts +0 -14
- package/dist/cli/legacy/scene-03.d.ts.map +0 -1
- package/dist/cli/legacy/scene-03.js +0 -2
- package/dist/cli/legacy/scene-03.js.map +0 -1
- package/dist/cli/legacy/scene-04.d.ts +0 -12
- package/dist/cli/legacy/scene-04.d.ts.map +0 -1
- package/dist/cli/legacy/scene-04.js +0 -2
- package/dist/cli/legacy/scene-04.js.map +0 -1
- package/dist/cli/legacy/scene-05.d.ts +0 -14
- package/dist/cli/legacy/scene-05.d.ts.map +0 -1
- package/dist/cli/legacy/scene-05.js +0 -2
- package/dist/cli/legacy/scene-05.js.map +0 -1
- package/dist/cli/legacy/scene-06.d.ts +0 -15
- package/dist/cli/legacy/scene-06.d.ts.map +0 -1
- package/dist/cli/legacy/scene-06.js +0 -2
- package/dist/cli/legacy/scene-06.js.map +0 -1
- package/dist/cli/legacy/scene-07.d.ts +0 -15
- package/dist/cli/legacy/scene-07.d.ts.map +0 -1
- package/dist/cli/legacy/scene-07.js +0 -2
- package/dist/cli/legacy/scene-07.js.map +0 -1
- package/dist/cli/legacy/scene-08.d.ts +0 -13
- package/dist/cli/legacy/scene-08.d.ts.map +0 -1
- package/dist/cli/legacy/scene-08.js +0 -2
- package/dist/cli/legacy/scene-08.js.map +0 -1
- package/dist/cli/legacy/scene-09.d.ts +0 -13
- package/dist/cli/legacy/scene-09.d.ts.map +0 -1
- package/dist/cli/legacy/scene-09.js +0 -2
- package/dist/cli/legacy/scene-09.js.map +0 -1
- package/dist/cli/legacy/scene-10.d.ts +0 -13
- package/dist/cli/legacy/scene-10.d.ts.map +0 -1
- package/dist/cli/legacy/scene-10.js +0 -2
- package/dist/cli/legacy/scene-10.js.map +0 -1
- package/dist/cli/legacy/types.d.ts +0 -16
- package/dist/cli/legacy/types.d.ts.map +0 -1
- package/dist/cli/legacy/types.js +0 -2
- package/dist/cli/legacy/types.js.map +0 -1
- package/dist/render/reviewDocs.d.ts +0 -3
- package/dist/render/reviewDocs.d.ts.map +0 -1
- package/dist/render/reviewDocs.js.map +0 -1
- package/dist/render/reviewDocsCss.d.ts.map +0 -1
- package/dist/render/reviewDocsCss.js.map +0 -1
- /package/dist/{render → workout}/reviewDocsCss.d.ts +0 -0
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
/** T351-v14 · **计划编辑器页面运行时**(唯一产出者;形状见 `./planEditor.ts` 件头)。
|
|
2
|
+
*
|
|
3
|
+
* 这一段是整台编辑器的行为:周页签、每天最多 4 个时间段(点加一次训练先选时段,
|
|
4
|
+
* 建好后定起止时间)、第 2 周起锁动作只改参数、段内加动作、按当前状态重写复制指令与产物表。
|
|
5
|
+
*
|
|
6
|
+
* 三条硬要求(都会被下一个人问到):
|
|
7
|
+
* ① **无模板字符串、无箭头函数**——这段文本要逐字进页面;整段住在一个 TS 模板字符串里,
|
|
8
|
+
* 所以**注释里不许出现反引号**(出现过一次,字符串当场截断、编译报 TS1127)。
|
|
9
|
+
* ② **零内联处理器**:事件一律在容器上委派(`addEventListener` + `data-act`),不产 `on*` 属性。
|
|
10
|
+
* ③ **文案零分隔符**(负责人 2026-09-15 第 4 条):不拿 `|`/`-`/`·` 拼一句话;
|
|
11
|
+
* 要并列就摆成元素(页签、胶囊、表格列、缩进行)。**日期也走 `cnDate`**(2026年9月7日)。
|
|
12
|
+
* ④ **不重写共享运行时的职责**:复制仍由共享 helpers 的 `bindCopyAction` 委派,本件只更新 `data-t`。
|
|
13
|
+
*/
|
|
14
|
+
export const PLAN_EDITOR_JS = `
|
|
15
|
+
(function(){
|
|
16
|
+
var root = document.getElementById('pe-root');
|
|
17
|
+
if (!root) return;
|
|
18
|
+
var S = JSON.parse(document.getElementById('pe-state').textContent);
|
|
19
|
+
var SLOTS = S.slots || ['凌晨','上午','下午','晚上'];
|
|
20
|
+
var MAXD = S.maxSessionsPerDay || 4;
|
|
21
|
+
var MAXM = S.maxMovesPerSession || 6;
|
|
22
|
+
var LIB = S.lib || [];
|
|
23
|
+
var DOW = ['周一','周二','周三','周四','周五','周六','周日'];
|
|
24
|
+
var week = S.openWeek || 0;
|
|
25
|
+
var daySel = 0; // 日页签:一次只显示这一天
|
|
26
|
+
var picker = S.openPicker || null;
|
|
27
|
+
var slotPick = null; // 新建时间段选时段:null=没在选,否则=正在选的那天(0基)
|
|
28
|
+
var filt = { part: null, kind: null, equip: null };
|
|
29
|
+
var query = '';
|
|
30
|
+
|
|
31
|
+
function esc(x){
|
|
32
|
+
return String(x == null ? '' : x).replace(/[&<>"']/g, function(c){
|
|
33
|
+
return ({ '&':'&','<':'<','>':'>','"':'"',"'":''' })[c];
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function cnDate(iso){
|
|
37
|
+
var m = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(String(iso || ''));
|
|
38
|
+
return m === null ? String(iso || '') : (m[1] + '年' + Number(m[2]) + '月' + Number(m[3]) + '日');
|
|
39
|
+
}
|
|
40
|
+
/* 「结构禁」与「参数开」是**两件事**——本件两处 S1 的根因,是把它们绑在了同一个 locked 开关上:
|
|
41
|
+
于是需求正件 §1③ 的三句在任何可达状态都不同真——locked 真=结构禁真/参数开假;locked 假=结构禁假/参数开真。
|
|
42
|
+
本件按下面这份分工落代码:
|
|
43
|
+
① 结构禁=增删训练段/增删动作/换时段:由 lock() 分支与这些控件上的 disabled 挡;
|
|
44
|
+
② 参数开=组数/次数/负重(含 RM↔kg 切换)/时长:**任何周都可改**,与 locked 无关。
|
|
45
|
+
凡 lock() 分支,只许换「增删」那几处控件:
|
|
46
|
+
不许把参数面换成纯文本、也不许摘掉它的坐标。 */
|
|
47
|
+
function lock(){ return S.weeks[week].locked; }
|
|
48
|
+
function days(){ return S.weeks[week].days; }
|
|
49
|
+
function day(d){ return days()[d]; }
|
|
50
|
+
function trainCount(){
|
|
51
|
+
var n = 0;
|
|
52
|
+
for (var w = 0; w < S.weeks.length; w++) for (var d = 0; d < 7; d++)
|
|
53
|
+
for (var s = 0; s < S.weeks[w].days[d].sessions.length; s++) n += 1;
|
|
54
|
+
return n;
|
|
55
|
+
}
|
|
56
|
+
function moveCount(){
|
|
57
|
+
var n = 0;
|
|
58
|
+
for (var w = 0; w < S.weeks.length; w++) for (var d = 0; d < 7; d++)
|
|
59
|
+
for (var i = 0; i < S.weeks[w].days[d].sessions.length; i++) n += S.weeks[w].days[d].sessions[i].moves.length;
|
|
60
|
+
return n;
|
|
61
|
+
}
|
|
62
|
+
/** 新周照抄母版:动作一样(负责人③「第 2 周只能看到和第一周一样的动作」),参数各周独立。 */
|
|
63
|
+
function cloneWeek(){
|
|
64
|
+
return { locked: false, days: JSON.parse(JSON.stringify(S.weeks[0].days)) };
|
|
65
|
+
}
|
|
66
|
+
function blankDays(){
|
|
67
|
+
var a = [], i;
|
|
68
|
+
for (i = 0; i < 7; i++) a.push({ sessions: [] });
|
|
69
|
+
return a;
|
|
70
|
+
}
|
|
71
|
+
function setWeeks(n){
|
|
72
|
+
n = Math.max(1, Math.min(52, n));
|
|
73
|
+
while (S.weeks.length < n) S.weeks.push(cloneWeek());
|
|
74
|
+
while (S.weeks.length > n) S.weeks.pop();
|
|
75
|
+
if (week > S.weeks.length - 1) week = S.weeks.length - 1;
|
|
76
|
+
render();
|
|
77
|
+
}
|
|
78
|
+
/* ── 渲染 ── */
|
|
79
|
+
function render(){
|
|
80
|
+
root.innerHTML = (S.weeks.length === 0 ? emptyHtml() : setupHtml() + tabsHtml() + weekHtml()) + pickerHtml();
|
|
81
|
+
syncCopy();
|
|
82
|
+
var s = root.querySelector('.pe-search');
|
|
83
|
+
if (s) s.focus();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function emptyHtml(){
|
|
87
|
+
return '<div class="pe-empty">'
|
|
88
|
+
+ '<div class="pe-empty-ico"><svg viewBox="0 0 24 24" width="34" height="34" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="3"/><path d="M8 3v4M16 3v4M3 10h18M12 14v4M10 16h4"/></svg></div>'
|
|
89
|
+
+ '<p class="pe-empty-t">还没有训练计划</p>'
|
|
90
|
+
+ '<p class="pe-empty-d">先排第 1 周。它就是母版,后面的周都照它走,各周只改时间、重量与次数这类参数。'
|
|
91
|
+
+ '每天可以排 4 个时间段,新建时挑时段,建好后定时间、加动作。</p>'
|
|
92
|
+
+ '<button type="button" class="pe-cta" data-act="start">定一份计划</button>'
|
|
93
|
+
+ '</div>';
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function setupHtml(){
|
|
97
|
+
return '<div class="pe-setup">'
|
|
98
|
+
+ '<span class="pe-pair"><span class="pe-lab">总周数</span>'
|
|
99
|
+
+ '<span class="pe-step">'
|
|
100
|
+
+ '<button type="button" data-act="wk-minus" aria-label="减一周"' + (S.weeks.length <= 1 ? ' disabled' : '') + '>−</button>'
|
|
101
|
+
+ '<span class="pe-step-n">' + S.weeks.length + ' 周</span>'
|
|
102
|
+
+ '<button type="button" data-act="wk-plus" aria-label="加一周">+</button>'
|
|
103
|
+
+ '</span></span>'
|
|
104
|
+
+ '<span class="pe-pair"><span class="pe-lab">起日</span>'
|
|
105
|
+
+ '<button type="button" class="pe-date" data-act="pick-start">' + esc(cnDate(S.startDate)) + '</button></span>'
|
|
106
|
+
+ '<span class="pe-count">已排 ' + trainCount() + ' 次训练,' + moveCount() + ' 个动作</span>'
|
|
107
|
+
+ '</div>';
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function tabsHtml(){
|
|
111
|
+
var out = [];
|
|
112
|
+
for (var i = 0; i < S.weeks.length; i++){
|
|
113
|
+
out.push('<button type="button" class="pe-tab' + (i === week ? ' is-on' : '') + '" data-act="go-week" data-w="' + i + '"'
|
|
114
|
+
+ ' aria-current="' + (i === week ? 'true' : 'false') + '">'
|
|
115
|
+
+ '<span class="pe-tab-n">第 ' + (i + 1) + ' 周</span>'
|
|
116
|
+
+ (i === 0 ? '<span class="pe-tab-b">母版</span>' : '')
|
|
117
|
+
+ '</button>');
|
|
118
|
+
}
|
|
119
|
+
out.push('<button type="button" class="pe-tab pe-tab-add" data-act="wk-plus">加一周</button>');
|
|
120
|
+
return '<div class="pe-tabs" role="tablist">' + out.join('') + '</div>';
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function weekHtml(){
|
|
124
|
+
var head = '<div class="pe-weekbar">'
|
|
125
|
+
+ '<span class="pe-week-t">第 ' + (week + 1) + ' 周</span>'
|
|
126
|
+
+ (lock()
|
|
127
|
+
? '<span class="pe-lock">动作与第 1 周相同,只改参数</span>'
|
|
128
|
+
: '<span class="pe-master">母版周,动作在这一周排</span>')
|
|
129
|
+
+ '</div>';
|
|
130
|
+
var tabs = [];
|
|
131
|
+
for (var d = 0; d < 7; d++){
|
|
132
|
+
var n = day(d).sessions.length;
|
|
133
|
+
tabs.push('<button type="button" class="pe-daytab' + (d === daySel ? ' is-on' : '') + '" data-act="go-day" data-d="' + d + '"'
|
|
134
|
+
+ ' aria-current="' + (d === daySel ? 'true' : 'false') + '">' + DOW[d]
|
|
135
|
+
+ (n > 0 ? '<span class="pe-daytab-n">' + n + '</span>' : '') + '</button>');
|
|
136
|
+
}
|
|
137
|
+
return head + '<div class="pe-daytabs">' + tabs.join('') + '</div>'
|
|
138
|
+
+ '<div class="pe-week">' + dayHtml(daySel) + '</div>';
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function dayHtml(d){
|
|
142
|
+
var ss = day(d).sessions, out = [], i;
|
|
143
|
+
for (i = 0; i < ss.length; i++) out.push(sessionHtml(d, i));
|
|
144
|
+
var full = ss.length >= MAXD;
|
|
145
|
+
out.push('<button type="button" class="pe-add" data-act="add-train" data-d="' + d + '"' + (full || lock() ? ' disabled' : '') + '>'
|
|
146
|
+
+ (lock() ? '训练安排由第 1 周决定,这里只改参数' : (full ? '这天已排满 ' + MAXD + ' 个时间段' : '加一次训练')) + '</button>');
|
|
147
|
+
if (slotPick === d && !full && !lock()) out.push(slotPickHtml(d));
|
|
148
|
+
if (ss.length === 0 && !lock()) out.push('<p class="pe-hint">这天还没排。点「加一次训练」,先挑时段,再定时间、加动作。</p>');
|
|
149
|
+
return '<div class="pe-day"><div class="pe-day-main">' + out.join('') + '</div></div>';
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* 新建时间段先选时段:时段是分类签(tab)不是唯一键,一天里同一时段可建多段(靠起止时间区分)——
|
|
153
|
+
四个都摆出来,一个不禁用;选完建段,建完定时间、加动作。 */
|
|
154
|
+
function slotPickHtml(d){
|
|
155
|
+
var out = [], i;
|
|
156
|
+
for (i = 0; i < SLOTS.length; i++){
|
|
157
|
+
out.push('<button type="button" class="pe-slot" data-act="pick-slot" data-d="' + d + '" data-slot="' + esc(SLOTS[i]) + '">'
|
|
158
|
+
+ esc(SLOTS[i]) + '</button>');
|
|
159
|
+
}
|
|
160
|
+
return '<div class="pe-slotpick"><span class="pe-slotpick-t">新建时间段,选一个时段</span>'
|
|
161
|
+
+ '<span class="pe-hint">同一时段可以建多段,靠起止时间区分</span>'
|
|
162
|
+
+ '<span class="pe-slot-set">' + out.join('') + '</span>'
|
|
163
|
+
+ '<button type="button" class="pe-x" data-act="cancel-slot" data-d="' + d + '" aria-label="不建了">✕</button></div>';
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function sessionHtml(d, s){
|
|
167
|
+
var se = day(d).sessions[s], moves = [], i;
|
|
168
|
+
for (i = 0; i < se.moves.length; i++) moves.push(moveHtml(d, s, i));
|
|
169
|
+
var chips = [];
|
|
170
|
+
for (i = 0; i < SLOTS.length; i++){
|
|
171
|
+
chips.push('<button type="button" class="pe-slot' + (se.slot === SLOTS[i] ? ' is-on' : '') + '"'
|
|
172
|
+
+ ' data-act="set-slot" data-d="' + d + '" data-s="' + s + '" data-slot="' + esc(SLOTS[i]) + '"'
|
|
173
|
+
+ (lock() ? ' disabled' : '') + '>' + esc(SLOTS[i]) + '</button>');
|
|
174
|
+
}
|
|
175
|
+
var add = '<button type="button" class="pe-add sm" data-act="add-move" data-d="' + d + '" data-s="' + s + '"'
|
|
176
|
+
+ (lock() || se.moves.length >= MAXM ? ' disabled' : '') + '>'
|
|
177
|
+
+ (lock() ? '加动作' : (se.moves.length >= MAXM ? '这一节已满 ' + MAXM + ' 个动作' : '加动作')) + '</button>';
|
|
178
|
+
var del = lock() ? '' : '<button type="button" class="pe-x" data-act="del-train" data-d="' + d + '" data-s="' + s + '" aria-label="删掉这次训练">✕</button>';
|
|
179
|
+
/* 起止时间两格:它是参数不是结构,锁住的周照样可填(与组数/次数/时长同一口径);
|
|
180
|
+
故这里**不跟 disabled**,也没有 data-m(探针只数动作行里的格,见门探针 inputs 注释)。 */
|
|
181
|
+
var time = '<span class="pe-time"><input type="time" value="' + esc(se.timeStart || '') + '"'
|
|
182
|
+
+ ' data-act="set-tstart" data-d="' + d + '" data-s="' + s + '" aria-label="开始时间">'
|
|
183
|
+
+ '<span class="pe-time-to">到</span>'
|
|
184
|
+
+ '<input type="time" value="' + esc(se.timeEnd || '') + '"'
|
|
185
|
+
+ ' data-act="set-tend" data-d="' + d + '" data-s="' + s + '" aria-label="结束时间"></span>';
|
|
186
|
+
return '<div class="pe-sess' + (lock() ? ' is-locked' : '') + '">'
|
|
187
|
+
+ '<div class="pe-sess-head">'
|
|
188
|
+
+ '<span class="pe-slot-set">' + chips.join('') + '</span>'
|
|
189
|
+
+ time
|
|
190
|
+
+ del
|
|
191
|
+
+ '</div>'
|
|
192
|
+
+ (moves.length > 0 ? '<ul class="pe-moves">' + moves.join('') + '</ul>' : '<p class="pe-hint">这一节还没有动作。</p>')
|
|
193
|
+
+ add
|
|
194
|
+
+ '</div>';
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
function moveHtml(d, s, m){
|
|
198
|
+
var mv = day(d).sessions[s].moves[m];
|
|
199
|
+
var tags = '<span class="pe-tag">' + esc(mv.part) + '</span><span class="pe-tag">' + esc(mv.type) + '</span>'
|
|
200
|
+
+ (mv.equip ? '<span class="pe-tag">' + esc(mv.equip) + '</span>' : '');
|
|
201
|
+
var goal = mv.goal ? '<span class="pe-tag is-goal">' + esc(mv.goal) + '</span>' : '';
|
|
202
|
+
var params;
|
|
203
|
+
var at = ' data-d="' + d + '" data-s="' + s + '" data-m="' + m + '"';
|
|
204
|
+
if (mv.kind === '有氧'){
|
|
205
|
+
params = '<span class="pe-param"><input type="number" min="1" max="600" value="' + mv.minutes + '" data-act="set-min"' + at + ' aria-label="时长"><span class="pe-param-u">分钟</span></span>';
|
|
206
|
+
} else {
|
|
207
|
+
params = '<span class="pe-param"><input type="number" min="1" max="30" value="' + mv.sets + '" data-act="set-sets"' + at + ' aria-label="组数"><span class="pe-param-u">组</span></span>'
|
|
208
|
+
+ '<span class="pe-param">乘<input type="number" min="1" max="100" value="' + mv.reps + '" data-act="set-reps"' + at + ' aria-label="每组次数"><span class="pe-param-u">次</span></span>'
|
|
209
|
+
+ '<button type="button" class="pe-mode" data-act="toggle-mode"' + at + '>' + (mv.mode === 'rm' ? 'RM' : 'kg') + '</button>'
|
|
210
|
+
+ '<span class="pe-param"><input type="number" min="0" max="500" step="0.5" value="' + mv.load + '" data-act="set-load"' + at + ' aria-label="负重"><span class="pe-param-u">' + (mv.mode === 'rm' ? 'RM' : 'kg') + '</span></span>';
|
|
211
|
+
}
|
|
212
|
+
/* 参数面**不跟着 lock() 走**(负责人③「任何动作内参数都可改」):锁住的周只锁结构——增删训练段与
|
|
213
|
+
动作、换时段;第 1 周排好的动作,组数/次数/负重(含 RM↔kg 切换)/有氧时长照样是可填的格。
|
|
214
|
+
坐标必须跟着出(data-d/data-s/data-m):缺了它,写进去的值会落到别的行——底部那张表是落库依据。 */
|
|
215
|
+
var del = lock() ? '<span class="pe-lockico" title="第 1 周之外不能改动作" aria-label="已锁"><svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.9"><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></svg></span>'
|
|
216
|
+
: '<button type="button" class="pe-x" data-act="del-move"' + at + ' aria-label="删掉这个动作">✕</button>';
|
|
217
|
+
return '<li class="pe-move">'
|
|
218
|
+
+ '<div class="pe-move-main"><div class="pe-move-nm">' + esc(mv.name) + '</div><div class="pe-move-tags">' + goal + tags + '</div></div>'
|
|
219
|
+
+ '<div class="pe-params">' + params + '</div>'
|
|
220
|
+
+ del + '</li>';
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* 筛选胶囊一颗:dim 只认 part/kind/equip 三档;点已选中的那颗即松开本档。 */
|
|
224
|
+
function fchip(dim, v){
|
|
225
|
+
var on = filt[dim] === v;
|
|
226
|
+
return '<button type="button" class="pe-filter' + (on ? ' is-on' : '') + '" data-act="filter" data-dim="' + dim + '" data-v="' + esc(v) + '">' + esc(v) + '</button>';
|
|
227
|
+
}
|
|
228
|
+
function pickerHtml(){
|
|
229
|
+
if (!picker) return '';
|
|
230
|
+
var ps = [], ks = [], es = [], seenP = {}, seenK = {}, seenE = {}, i, m0;
|
|
231
|
+
for (i = 0; i < LIB.length; i++){
|
|
232
|
+
m0 = LIB[i];
|
|
233
|
+
if (!seenP[m0.part]){ seenP[m0.part] = 1; ps.push(m0.part); }
|
|
234
|
+
if (!seenK[m0.kind]){ seenK[m0.kind] = 1; ks.push(m0.kind); }
|
|
235
|
+
if (m0.equip && !seenE[m0.equip]){ seenE[m0.equip] = 1; es.push(m0.equip); }
|
|
236
|
+
}
|
|
237
|
+
var chips = [];
|
|
238
|
+
chips.push('<button type="button" class="pe-filter' + (filt.part === null && filt.kind === null && filt.equip === null ? ' is-on' : '') + '" data-act="filter-clear">全部</button>');
|
|
239
|
+
for (i = 0; i < ps.length; i++) chips.push(fchip('part', ps[i]));
|
|
240
|
+
for (i = 0; i < ks.length; i++) chips.push(fchip('kind', ks[i]));
|
|
241
|
+
for (i = 0; i < es.length; i++) chips.push(fchip('equip', es[i]));
|
|
242
|
+
var used = day(picker.d).sessions[picker.s].moves.length;
|
|
243
|
+
var rows = [];
|
|
244
|
+
for (i = 0; i < LIB.length; i++){
|
|
245
|
+
var m = LIB[i];
|
|
246
|
+
if (filt.part !== null && m.part !== filt.part) continue;
|
|
247
|
+
if (filt.kind !== null && m.kind !== filt.kind) continue;
|
|
248
|
+
if (filt.equip !== null && m.equip !== filt.equip) continue;
|
|
249
|
+
if (query && m.name.toLowerCase().indexOf(query) < 0 && m.part.indexOf(query) < 0) continue;
|
|
250
|
+
rows.push('<li><button type="button" class="pe-lib-row" data-act="pick" data-name="' + esc(m.name) + '"' + (used >= MAXM ? ' disabled' : '') + '>'
|
|
251
|
+
+ '<span class="pe-lib-nm">' + esc(m.name) + '</span>'
|
|
252
|
+
+ '<span class="pe-lib-tags"><span class="pe-tag">' + esc(m.part) + '</span><span class="pe-tag">' + esc(m.kind) + '</span>'
|
|
253
|
+
+ (m.equip ? '<span class="pe-tag">' + esc(m.equip) + '</span>' : '') + '</span>'
|
|
254
|
+
+ '</button></li>');
|
|
255
|
+
}
|
|
256
|
+
var list = rows.length ? '<ul class="pe-lib">' + rows.join('') + '</ul>'
|
|
257
|
+
: '<p class="pe-lib-empty">这个筛选下没有动作。换个筛选,或把搜索词清掉。</p>';
|
|
258
|
+
return '<div class="pe-sheet">'
|
|
259
|
+
+ '<div class="pe-sheet-box">'
|
|
260
|
+
+ '<div class="pe-sheet-head"><span class="pe-sheet-t">选动作</span>'
|
|
261
|
+
+ '<span class="pe-sheet-sub">' + DOW[picker.d] + ' 的 ' + esc(day(picker.d).sessions[picker.s].slot) + ',这一节已有 ' + used + ' 个</span>'
|
|
262
|
+
+ '<button type="button" class="pe-x" data-act="close-picker" aria-label="关掉">✕</button></div>'
|
|
263
|
+
+ '<div class="pe-sheet-filters">' + chips.join('') + '</div>'
|
|
264
|
+
+ '<input class="pe-search" type="search" placeholder="搜动作名或部位" value="' + esc(query) + '" data-act="search">'
|
|
265
|
+
+ list
|
|
266
|
+
+ '</div></div>';
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/* ── 产物:一张规范表 + 一段缩进文本(**不用分隔符**,并列靠换行与缩进) ── */
|
|
270
|
+
/* 时间上屏:起止都有就连起来,只一边就有哪边说哪边,两边都没有就直说没定(不留空让人猜)。 */
|
|
271
|
+
function timeText(a, b){
|
|
272
|
+
a = a || ''; b = b || '';
|
|
273
|
+
if (a === '' && b === '') return '没定时间';
|
|
274
|
+
if (a !== '' && b !== '') return a + '到' + b;
|
|
275
|
+
if (a !== '') return a + '起';
|
|
276
|
+
return '到' + b;
|
|
277
|
+
}
|
|
278
|
+
function planRows(){
|
|
279
|
+
var out = [], w, d, s, i, j;
|
|
280
|
+
for (w = 0; w < S.weeks.length; w++){
|
|
281
|
+
for (d = 0; d < 7; d++){
|
|
282
|
+
for (s = 0; s < S.weeks[w].days[d].sessions.length; s++){
|
|
283
|
+
var se = S.weeks[w].days[d].sessions[s];
|
|
284
|
+
for (i = 0; i < se.moves.length; i++){
|
|
285
|
+
var mv = se.moves[i];
|
|
286
|
+
out.push({
|
|
287
|
+
week: w + 1, dow: DOW[d], slot: se.slot, time: timeText(se.timeStart, se.timeEnd),
|
|
288
|
+
name: mv.name, part: mv.part, type: mv.type,
|
|
289
|
+
amount: mv.kind === '有氧' ? (mv.minutes + ' 分钟')
|
|
290
|
+
: (mv.sets + ' 组乘 ' + mv.reps + ' 次'),
|
|
291
|
+
load: mv.kind === '有氧' ? '' : (mv.mode === 'rm' ? (mv.load + ' RM') : (mv.load ? (mv.load + ' kg') : '自重')),
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return out;
|
|
298
|
+
}
|
|
299
|
+
function promptText(){
|
|
300
|
+
var rows = planRows(), lines = [], curWeek = 0, curDay = '', i;
|
|
301
|
+
lines.push('请你加载技能 卡路里,执行唤醒词「' + S.wakeWord + '」。');
|
|
302
|
+
lines.push('');
|
|
303
|
+
lines.push('计划名称:' + S.title);
|
|
304
|
+
lines.push('开始日期:' + cnDate(S.startDate));
|
|
305
|
+
lines.push('总周数:' + S.weeks.length + ' 周');
|
|
306
|
+
lines.push('');
|
|
307
|
+
for (i = 0; i < rows.length; i++){
|
|
308
|
+
var r = rows[i];
|
|
309
|
+
if (r.week !== curWeek){ lines.push('第 ' + r.week + ' 周'); curWeek = r.week; curDay = ''; }
|
|
310
|
+
if (r.dow !== curDay){ lines.push(' ' + r.dow); curDay = r.dow; }
|
|
311
|
+
lines.push(' ' + r.slot + (r.time === '没定时间' ? '' : (' ' + r.time)) + ' ' + r.name + ' ' + r.part + ' ' + r.type + ' ' + r.amount + (r.load ? (' ' + r.load) : ''));
|
|
312
|
+
}
|
|
313
|
+
lines.push('');
|
|
314
|
+
lines.push('请按这份表落库,完成后给我回执 HTML。');
|
|
315
|
+
return lines.join('\\n');
|
|
316
|
+
}
|
|
317
|
+
function syncCopy(){
|
|
318
|
+
var btn = document.querySelector('[data-action-id="ilife-help-copy-prompt"]');
|
|
319
|
+
if (btn) btn.setAttribute('data-t', promptText());
|
|
320
|
+
var out = document.getElementById('pe-out-body');
|
|
321
|
+
if (!out) return;
|
|
322
|
+
var rows = planRows(), tr = [], i;
|
|
323
|
+
for (i = 0; i < rows.length; i++){
|
|
324
|
+
var r = rows[i];
|
|
325
|
+
tr.push('<tr><td>第 ' + r.week + ' 周</td><td>' + esc(r.dow) + '</td><td>' + esc(r.slot) + '</td><td>' + esc(r.name)
|
|
326
|
+
+ '</td><td>' + esc(r.part) + '</td><td>' + esc(r.type) + '</td><td>' + esc(r.amount) + '</td><td>' + esc(r.load)
|
|
327
|
+
+ '</td><td>' + esc(r.time) + '</td></tr>');
|
|
328
|
+
}
|
|
329
|
+
out.innerHTML = '<table class="ilife-block-data-table"><caption class="ilife-block-data-table-caption">计划明细(' + rows.length + ' 行)</caption>'
|
|
330
|
+
+ '<thead><tr><th>周次</th><th>星期</th><th>时段</th><th>动作</th><th>部位</th><th>类型</th><th>量</th><th>负重</th><th>时间</th></tr></thead>'
|
|
331
|
+
+ '<tbody>' + (tr.length ? tr.join('') : '<tr><td colspan="9">还没有排动作</td></tr>') + '</tbody></table>';
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* ── 事件:一处委派,零内联处理器 ── */
|
|
335
|
+
root.addEventListener('click', function(e){
|
|
336
|
+
var el = e.target.closest ? e.target.closest('[data-act]') : null;
|
|
337
|
+
if (!el) return;
|
|
338
|
+
var act = el.getAttribute('data-act');
|
|
339
|
+
var w = Number(el.getAttribute('data-w')), d = Number(el.getAttribute('data-d')), s = Number(el.getAttribute('data-s')), m = Number(el.getAttribute('data-m'));
|
|
340
|
+
if (act === 'start'){ S.weeks = [ { locked: false, days: blankDays() } ]; setWeeks(4); return; }
|
|
341
|
+
if (act === 'wk-plus'){ setWeeks(S.weeks.length + 1); return; }
|
|
342
|
+
if (act === 'wk-minus'){ setWeeks(S.weeks.length - 1); return; }
|
|
343
|
+
if (act === 'go-week'){ week = w; picker = null; slotPick = null; render(); return; }
|
|
344
|
+
if (act === 'go-day'){ daySel = d; picker = null; slotPick = null; render(); return; }
|
|
345
|
+
if (act === 'add-train'){
|
|
346
|
+
if (lock()) return;
|
|
347
|
+
if (day(d).sessions.length >= MAXD) return;
|
|
348
|
+
slotPick = d; render(); return;
|
|
349
|
+
}
|
|
350
|
+
/* 新建时间段落子:锁周与满员在上面那颗钮就拦住了,这里再守一次(合成派发点 disabled 钮的旧账 #558 不在本题扩散)。 */
|
|
351
|
+
if (act === 'pick-slot'){
|
|
352
|
+
if (lock()) return;
|
|
353
|
+
var wantSlot = el.getAttribute('data-slot');
|
|
354
|
+
if (day(d).sessions.length >= MAXD){ slotPick = null; render(); return; }
|
|
355
|
+
day(d).sessions.push({ slot: wantSlot, timeStart: '', timeEnd: '', moves: [] });
|
|
356
|
+
slotPick = null; render(); return;
|
|
357
|
+
}
|
|
358
|
+
if (act === 'cancel-slot'){ slotPick = null; render(); return; }
|
|
359
|
+
if (act === 'del-train'){ if (lock()) return; day(d).sessions.splice(s, 1); render(); return; }
|
|
360
|
+
if (act === 'set-slot'){
|
|
361
|
+
if (lock()) return;
|
|
362
|
+
var want = el.getAttribute('data-slot');
|
|
363
|
+
day(d).sessions[s].slot = want; render(); return;
|
|
364
|
+
}
|
|
365
|
+
if (act === 'add-move'){ picker = { w: week, d: d, s: s }; query = ''; filt = { part: null, kind: null, equip: null }; render(); return; }
|
|
366
|
+
if (act === 'close-picker'){ picker = null; render(); return; }
|
|
367
|
+
if (act === 'filter'){
|
|
368
|
+
var dim = el.getAttribute('data-dim'), vv = el.getAttribute('data-v');
|
|
369
|
+
if (dim !== 'part' && dim !== 'kind' && dim !== 'equip') return;
|
|
370
|
+
filt[dim] = (filt[dim] === vv ? null : vv); render(); return;
|
|
371
|
+
}
|
|
372
|
+
if (act === 'filter-clear'){ filt = { part: null, kind: null, equip: null }; render(); return; }
|
|
373
|
+
if (act === 'pick'){
|
|
374
|
+
if (!picker) return;
|
|
375
|
+
if (lock()) return;
|
|
376
|
+
var name = el.getAttribute('data-name'), hit = null, i;
|
|
377
|
+
for (i = 0; i < LIB.length; i++) if (LIB[i].name === name) hit = LIB[i];
|
|
378
|
+
if (!hit) return;
|
|
379
|
+
var se = day(picker.d).sessions[picker.s];
|
|
380
|
+
if (se.moves.length >= MAXM) return;
|
|
381
|
+
se.moves.push({ name: hit.name, part: hit.part, type: hit.type, equip: hit.equip, kind: hit.kind, goal: hit.goal || '',
|
|
382
|
+
sets: 4, reps: 8, mode: 'kg', load: 0, minutes: hit.kind === '有氧' ? 30 : 0 });
|
|
383
|
+
picker = null; render(); return;
|
|
384
|
+
}
|
|
385
|
+
if (act === 'del-move'){ if (lock()) return; day(d).sessions[s].moves.splice(m, 1); render(); return; }
|
|
386
|
+
if (act === 'toggle-mode'){
|
|
387
|
+
var mv = day(d).sessions[s].moves[m];
|
|
388
|
+
mv.mode = mv.mode === 'rm' ? 'kg' : 'rm'; render(); return;
|
|
389
|
+
}
|
|
390
|
+
if (act === 'pick-start'){
|
|
391
|
+
var v = window.prompt('开始日期(写成 2026-09-07 这种)', S.startDate);
|
|
392
|
+
if (v && /^\\d{4}-\\d{2}-\\d{2}$/.test(v)){ S.startDate = v; render(); }
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
root.addEventListener('input', function(e){
|
|
397
|
+
var el = e.target, act = el.getAttribute && el.getAttribute('data-act');
|
|
398
|
+
if (!act) return;
|
|
399
|
+
if (act === 'search'){ query = String(el.value || '').trim().toLowerCase(); render(); return; }
|
|
400
|
+
/* 起止时间是参数:锁周不拦(与组数/次数同口径),只写回状态并刷新产物,不整页重渲(焦点不丢)。 */
|
|
401
|
+
if (act === 'set-tstart' || act === 'set-tend'){
|
|
402
|
+
var td = Number(el.getAttribute('data-d')), ts = Number(el.getAttribute('data-s'));
|
|
403
|
+
var tse = (day(td).sessions || [])[ts];
|
|
404
|
+
if (!tse) return;
|
|
405
|
+
if (act === 'set-tstart') tse.timeStart = String(el.value || '');
|
|
406
|
+
else tse.timeEnd = String(el.value || '');
|
|
407
|
+
syncCopy(); return;
|
|
408
|
+
}
|
|
409
|
+
var d = Number(el.getAttribute('data-d')), s = Number(el.getAttribute('data-s')), m = Number(el.getAttribute('data-m'));
|
|
410
|
+
var mv = (day(d).sessions[s] || { moves: [] }).moves[m];
|
|
411
|
+
if (!mv) return;
|
|
412
|
+
var v = Number(el.value);
|
|
413
|
+
if (isNaN(v)) return;
|
|
414
|
+
if (act === 'set-sets') mv.sets = v;
|
|
415
|
+
if (act === 'set-reps') mv.reps = v;
|
|
416
|
+
if (act === 'set-load') mv.load = v;
|
|
417
|
+
if (act === 'set-min') mv.minutes = v;
|
|
418
|
+
syncCopy();
|
|
419
|
+
});
|
|
420
|
+
root.addEventListener('keydown', function(e){
|
|
421
|
+
if (e.key === 'Escape' && picker){ picker = null; render(); }
|
|
422
|
+
});
|
|
423
|
+
|
|
424
|
+
render();
|
|
425
|
+
})();
|
|
426
|
+
`;
|
|
427
|
+
//# sourceMappingURL=planEditorRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planEditorRuntime.js","sourceRoot":"","sources":["../../src/workout/planEditorRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Z7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planStore.d.ts","sourceRoot":"","sources":["../../src/workout/planStore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"planStore.d.ts","sourceRoot":"","sources":["../../src/workout/planStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FetchError } from '../fetch/errors.js';
|
|
2
2
|
import { dayPhrase } from './dayPhrase.js';
|
|
3
3
|
import { typeZh } from './movementType.js';
|
|
4
|
+
import { todayISO } from '../shared/time.js';
|
|
4
5
|
export const LEVEL_CONFIG = {
|
|
5
6
|
'新手': { maxPerPartPerDay: 6, maxPerPartPerWeek: 10, restHours: 72 },
|
|
6
7
|
'中手': { maxPerPartPerDay: 10, maxPerPartPerWeek: 20, restHours: 48 },
|
|
@@ -125,9 +126,6 @@ export function validatePlan(plan, opts = {}) {
|
|
|
125
126
|
}
|
|
126
127
|
return { errors, warnings };
|
|
127
128
|
}
|
|
128
|
-
function todayISO() {
|
|
129
|
-
return new Date().toISOString().slice(0, 10);
|
|
130
|
-
}
|
|
131
129
|
export function writePlan(db, plan, opts = {}) {
|
|
132
130
|
const { errors, warnings } = validatePlan(plan, opts);
|
|
133
131
|
if (opts.dryRun)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planStore.js","sourceRoot":"","sources":["../../src/workout/planStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"planStore.js","sourceRoot":"","sources":["../../src/workout/planStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `statusCard`/`reconcileDisclosure`),只换内容:老实物 `crud_receipt.html` 的
|
|
6
6
|
* 标识卡+差异卡落点为状态卡+改动对照表,M5 四要素(记录编号/写入时间/影响行数/
|
|
7
7
|
* 写入字段)全部上页;操作名一律中文,不出现 `op=` 裸词与 `# 成功 ·` 前缀。
|
|
8
|
-
* 底部复制区与场景 05 各页同形(共用件
|
|
8
|
+
* 底部复制区与场景 05 各页同形(共用件 `./planCopyBlock.js` 的冻结双按钮,
|
|
9
9
|
* 不出三格式菜单)。必须在 `withM5` 之后调用(见 `src/cli/write.ts`)。
|
|
10
10
|
*/
|
|
11
11
|
import type { DatabaseSync } from 'node:sqlite';
|
package/dist/workout/receipt.js
CHANGED
|
@@ -2,7 +2,7 @@ import { renderDataTable, renderKpiGrid } from 'base-paint/blocks';
|
|
|
2
2
|
import { getPlan } from './planStore.js';
|
|
3
3
|
import { assembleDocPage } from '../shared/docPage.js';
|
|
4
4
|
import { pageChromeCss } from '../render/pageChromeCss.js';
|
|
5
|
-
import { planCopyBlock } from '
|
|
5
|
+
import { planCopyBlock } from './planCopyBlock.js';
|
|
6
6
|
import { copyLog } from '../shared/copyArea.js';
|
|
7
7
|
import { reconcileDisclosure, statusCard } from '../shared/receiptParts.js';
|
|
8
8
|
import { commandLine } from '../shared/writeParts.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/workout/receipt.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/workout/receipt.ts"],"names":[],"mappings":"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"}
|
package/dist/workout/review.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** 计划复盘(HELP 场景 05「健身计划」下一级「计划复盘」):`calorie.view.exercise-review` 读。
|
|
2
2
|
*
|
|
3
3
|
* 窗口口径走共用位 `shared/params.ts` 的 `defaultRange`(恰与分派层原来那几行同一份口径),
|
|
4
|
-
* 复盘取数住视图层 `render/exercisePort.ts` 的 `buildReviewView
|
|
4
|
+
* 复盘取数住视图层 `render/exercisePort.ts` 的 `buildReviewView`、整页住同目录 `reviewDocs.ts`
|
|
5
5
|
* 的 `buildReviewDoc`(T351-v7 从 `render/sportPortDocs.ts` 搬进复盘族自己的姊妹件)——
|
|
6
6
|
* 本能力只调公开函数,不另写一份「计划 vs 实际」的算式。
|
|
7
7
|
*/
|
package/dist/workout/review.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buildReviewView } from '../render/exercisePort.js';
|
|
2
|
-
import { buildReviewDoc } from '
|
|
2
|
+
import { buildReviewDoc } from './reviewDocs.js';
|
|
3
3
|
import { defaultRange, nums } from '../shared/params.js';
|
|
4
4
|
/** `calorie.view.exercise-review` · 计划复盘(窗口内 计划 vs 实际:场次/动作两路完成率)。 */
|
|
5
5
|
export function viewExerciseReview(params, db) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/workout/review.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/workout/review.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEzD,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAAC,MAA+B,EAAE,EAAgB;IAClF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC;QACnB,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;QAC9D,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;KACzD,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC"}
|