Compare commits

...

1 Commits

Author SHA1 Message Date
Nero Ignis 00faf546fb WIP new fancy design 4 years ago
  1. 16831
      package-lock.json
  2. 1
      package.json
  3. 133
      src/views/Trackers.vue

16831
package-lock.json generated

File diff suppressed because it is too large Load Diff

1
package.json

@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
"moment": "^2.29.1",
"vue": "^3.0.0",
"vue-router": "^4.0.0-0",
"vuetify": "^3.0.0-alpha.0",
"vuex": "^4.0.0-0"
},
"devDependencies": {

133
src/views/Trackers.vue

@ -8,75 +8,70 @@ @@ -8,75 +8,70 @@
:style="tracker.isTimeBox ? 'background: linear-gradient(90deg, grey ' + ((timeBoxTimeLeft(tracker) * 100) / tracker.timeBoxMinutes)+'% , black 100%':''">
<div class="card-body">
<div class="card-text">
<input type="text"
v-model="tracker.number"
class="form-control trackingNameField"
@keydown="this.$store.commit('saveTrackers')"/>
<div class="row">
<div v-if="tracker.tracking === true">
<div class="text-danger font-weight-bolder float-end tracker-time-info">
<div class="spinner-grow spinner-grow-sm" role="status">
<span class="sr-only">Tracking...</span>
</div>
Tracking
</div>
</div>
</div>
<a class="position-absolute"
data-bs-toggle="dropdown"
aria-expanded="false"
title="Neu">
<i class="fas fa-ellipsis-v"></i>
</a>
<div class="dropdown-menu" aria-labelledby="create-dropdown-menu">
<span @click="archiveTracker(trackerIndex)" title="Archivieren">
<i class="fas fa-archive"></i> <small>Archivieren</small>
</span><br/>
<template v-if="!tracker.isTimeBox">
<div v-if="tracker.tracking === true">
<span class="float-end">{{ getTrackingStartTime(tracker) }}</span>
<span v-if="tracker.tracking === true">Gestartet: </span>
<br/>
<span class="float-end">{{ currentTrackingRunningFor(tracker) }}</span>
<span v-if="tracker.tracking === true">Läuft seit: </span>
</div>
<span @click="openTasksForTracker(tracker)" title="Tasks">
<i class="fas fa-clipboard -check"></i> <small>Tasks
{{ showOpenTasksForTracker(tracker.tasks) }}</small>
</span><br/>
<div>
<span class="float-end">{{ getTotalTime(tracker) }}</span>
<span class="current-tracker-info">Gesamt: </span>
<span @click="deleteTracker(trackerIndex)" title="Löschen">
<i class="fas fa-trash"></i> <small>Löschen</small>
</span>
</div>
<span class="float-end">{{ getTotalTimeToday(tracker) }}</span>
<span class="">Heute: </span>
<input type="text"
v-model="tracker.number"
class="form-control trackingNameField"
@keydown="this.$store.commit('saveTrackers')"/>
<div class="row">
<div class="col-md-6" v-if="!tracker.tracking">
<button type="button" class="btn btn-primary tracker-action-button"
<div class="row time-data-container">
<div v-if="!tracker.tracking">
<button type="button"
class="btn btn-success rounded-circle position-absolute btn-tracker-state"
@click="startTracking(tracker)">
<i class="far fa-play-circle"></i> <small>Starten</small>
<i class="fas fa-play"></i>
</button>
</div>
<div class="col-md-6" v-else>
<button type="button" class="btn btn-danger tracker-action-button"
<div v-else>
<button type="button"
class="btn btn-danger rounded-circle position-absolute btn-tracker-state"
@click="stopTracking(tracker)">
<i class="far fa-stop-circle"></i> <small>Stoppen</small>
<i class="fas fa-stop"></i>
</button>
</div>
<div class="col-md-6">
<button class="btn btn-warning tracker-action-button"
@click="archiveTracker(trackerIndex)" title="Archivieren">
<i class="fas fa-archive"></i> <small>Archivieren</small>
</button>
<template v-if="!tracker.isTimeBox">
<template v-if="tracker.tracking === true">
<div class="col-6 col-sm-3">
<small class="text-muted">Gestartet </small><br/>
<span>{{ getTrackingStartTime(tracker) }}</span>
</div>
<div class="col-md-6">
<button type="button" class="btn btn-info tracker-action-button"
@click="openTasksForTracker(tracker)" title="Tasks">
<i class="fas fa-clipboard -check"></i> <small>Tasks
{{ showOpenTasksForTracker(tracker.tasks) }}</small>
</button>
<div class="col-6 col-sm-3">
<small class="text-muted">Läuft seit </small><br/>
<span>{{ currentTrackingRunningFor(tracker) }}</span>
</div>
</template>
<div class="col-md-6">
<button class="btn btn-danger tracker-action-button"
@click="deleteTracker(trackerIndex)" title="Löschen">
<i class="fas fa-trash"></i> <small>Löschen</small>
</button>
<div class="col-6 col-sm-3">
<small class="text-muted">Gesamt </small><br/>
<span>{{ getTotalTime(tracker) }}</span>
</div>
<div class="col-6 col-sm-3">
<small class="text-muted">Heute </small><br/>
<span>{{ getTotalTimeToday(tracker) }}</span>
</div>
</template>
<template v-else>
@ -85,7 +80,9 @@ @@ -85,7 +80,9 @@
<span class="float-end">{{ getTrackingStartTime(tracker) }}</span>
<span v-if="tracker.tracking === true">Gestartet: </span>
<br/>
<span class="float-end">{{ currentTrackingRunningFor(tracker) }}</span>
<span class="float-end">{{
currentTrackingRunningFor(tracker)
}}</span>
<span v-if="tracker.tracking === true">Läuft seit: </span>
</div>
@ -94,21 +91,24 @@ @@ -94,21 +91,24 @@
Minuten:
</div>
<div class="col">
<button type="button" class="btn btn-secondary tracker-action-button"
<button type="button"
class="btn btn-secondary tracker-action-button"
@click="startTimeBox(tracker, 15)">
<i class="far fa-play-circle"></i> 15
</button>
</div>
<div class="col">
<button type="button" class="btn btn-secondary tracker-action-button"
<button type="button"
class="btn btn-secondary tracker-action-button"
@click="startTimeBox(tracker, 30)">
<i class="far fa-play-circle"></i> 30
</button>
</div>
<div class="col">
<button type="button" class="btn btn-secondary tracker-action-button"
<button type="button"
class="btn btn-secondary tracker-action-button"
@click="startTimeBox(tracker, 60)">
<i class="far fa-play-circle"></i> 60
</button>
@ -117,7 +117,9 @@ @@ -117,7 +117,9 @@
<div class="col-12"
v-if="tracker.timeBoxMinutes && timeBoxTimeLeft(tracker) > 0">
<span class="float-end">{{ timeBoxTimeLeft(tracker) }} Minuten</span>
<span class="float-end">{{
timeBoxTimeLeft(tracker)
}} Minuten</span>
<span>Zeit übrig: </span>
</div>
<div class="col-12 text-center" v-if="timeBoxTimeLeft(tracker) <= 0">
@ -150,6 +152,7 @@ @@ -150,6 +152,7 @@
</div>
</div>
</div>
</div>
</template>
</div>
</div>
@ -164,8 +167,7 @@ import {Offcanvas} from "bootstrap"; @@ -164,8 +167,7 @@ import {Offcanvas} from "bootstrap";
export default {
name: "Trackers",
data() {
return {
}
return {}
},
computed: {
trackers() {
@ -354,14 +356,10 @@ export default { @@ -354,14 +356,10 @@ export default {
</script>
<style scoped>
.tracker-time-info {
margin-top: 1em;
clear: both;
}
.trackingNameField {
max-height: 1em;
margin-bottom: 1px;
width: 80%;
}
.bg-timebox input {
@ -372,4 +370,13 @@ export default { @@ -372,4 +370,13 @@ export default {
color: lightgray;
}
.btn-tracker-state {
margin-top: -2em;
right: 1em;
}
.time-data-container {
padding-top: 2.5em;
}
</style>
Loading…
Cancel
Save