Files
gym-bro/frontend/js/logic/cardio.js
T

36 lines
1.1 KiB
JavaScript

import { state, saveState, genId } from '../state.js';
import { renderMainScreen } from '../render/main-screen.js';
import { showCardioDialog } from '../modals/cardio-modal.js';
export function addCardio(workoutId) {
showCardioDialog(null, (cardio) => {
if (!cardio) return;
const w = state.workouts.find(x => x.id === workoutId);
cardio.id = genId();
w.cardio.push(cardio);
saveState();
renderMainScreen();
});
}
export function editCardio(workoutId, cardioId) {
const w = state.workouts.find(x => x.id === workoutId);
const cardio = w.cardio.find(c => c.id === cardioId);
showCardioDialog(cardio, (newData) => {
if (!newData) return;
Object.assign(cardio, newData);
saveState();
renderMainScreen();
});
}
export function deleteCardio(workoutId, cardioId) {
if (!confirm('Удалить кардио?')) return;
const w = state.workouts.find(x => x.id === workoutId);
w.cardio = w.cardio.filter(c => c.id !== cardioId);
saveState();
renderMainScreen();
}
window.CL = { addCardio, editCardio, deleteCardio };