1
0
Fork 0
forked from TWS/kalkutago

Whoops, didn't commit for a while. Added button toggling logic, doesn't work

This commit is contained in:
D. Scott Boggs 2023-06-20 08:40:35 -04:00
parent da4f4ba151
commit a60a4c4885
21 changed files with 353 additions and 106 deletions

View file

@ -8,7 +8,7 @@
<tr v-for="date in dates" :key="date.valueOf()">
<th>{{ dateString(date) }}</th>
<td v-for="track in state.tracks" :key="track.id">
<TickComponent :isSet="track.isSetOn(date)" :trackID="track.id" />
<TickComponent :date="date" :track="track" />
</td>
</tr>
</tbody>

View file

@ -1,23 +1,22 @@
<template>
<button :class="className()" @click="toggle"></button>
<button :class="className" @click="toggle"></button>
</template>
<script setup lang="ts">
import { Ref, ref } from 'vue';
import { computed } from 'vue';
import { state } from '../state';
import { Track } from '../track';
const tick: Ref<Tick | undefined> = ref()
const props = defineProps<{ isSet: boolean, track: Track }>()
const props = defineProps<{ date: Date, track: Track }>()
const className = () => props.isSet ? "button is-rounded is-info" : "button is-rounded"
const isSet = computed(() => props.track.isSetOn(props.date))
const className = computed(() => isSet.value ? "button is-rounded is-info" : "button is-rounded")
async function toggle() {
const $tick = tick.value
if ($tick) {
await state.taskMarkedIncomplete($tick)
tick.value = undefined
if (isSet.value) {
await state.taskMarkedIncomplete(props.track)
} else
tick.value = await state.taskCompleted(props.track)
await state.taskCompleted(props.track, props.date)
}
</script>