Browse Source

WIP

poc/redesign-trackers
Nero Ignis 4 years ago
parent
commit
7df019e540
  1. 19
      src/App.vue
  2. 45
      src/css/app.scss
  3. 1
      src/store/index.js
  4. 2
      src/views/Archive.vue
  5. 2
      src/views/CustomBookForTracker.vue
  6. 2
      src/views/HistoryForTracker.vue
  7. 19
      src/views/Menu.vue
  8. 58
      src/views/Settings.vue
  9. 59
      src/views/Switcher.vue
  10. 2
      src/views/TasksForTracker.vue
  11. 9
      src/views/Trackers.vue
  12. 2
      src/views/TrackersDetail.vue

19
src/App.vue

@ -1,11 +1,15 @@ @@ -1,11 +1,15 @@
<template>
<div class="container" id="content">
<div class="container-fluid">
<div class="row" id="main-wrapper">
<Menu/>
<div class="col" id="page-wrapper">
<router-view/>
</div>
</div>
</div>
<TasksForTracker/>
<History/>
<Menu/>
</template>
<script>
@ -328,5 +332,16 @@ function playSound(sound, extension = null) { @@ -328,5 +332,16 @@ function playSound(sound, extension = null) {
</script>
<style>
.main-wrapper div {
padding-top: 10px;
}
.menu-wrapper col {
padding: 0;
margin: 0;
}
#page-wrapper {
padding-top: 15px;
}
</style>

45
src/css/app.scss

@ -5,10 +5,6 @@ body { @@ -5,10 +5,6 @@ body {
background-color: #e7e7e7;
}
.container {
margin: 20px auto 20px auto;
}
.tracker-action-button {
margin-top: 10px;
padding: 1px 5px 1px 5px;
@ -97,19 +93,6 @@ nav, .card { @@ -97,19 +93,6 @@ nav, .card {
margin-left: 5%;
}
#left-menu {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 90px;
align-content: center;
background-color: #bdbdbd;
border-right: 1px solid grey;
padding: 0;
}
#content {
margin-left: 90px;
max-width: 85vw;
@ -174,3 +157,31 @@ nav, .card { @@ -174,3 +157,31 @@ nav, .card {
#trackerTasksModal input[type=range] {
width: 100%;
}
#left-menu {
height: 100vh;
width: 90px;
display: inline-block;
background-color: #bdbdbd;
border-right: 1px solid grey;
padding: 15px 0;
margin: 0;
}
.menu-wrapper {
width: 90px;
}
.menu-wrapper col {
margin: 0;
padding: 0;
}
#left-menu:first-of-type(div) {
margin-top: 15px;
}
.left-menu-item {
margin: 0 10px;
}

1
src/store/index.js

@ -75,7 +75,6 @@ export default createStore({ @@ -75,7 +75,6 @@ export default createStore({
state.trashed = {};
state.trackers.pushToBeginning(restoredTracker);
state.updateStorage();
},
archiveTracker(state, index) {
state.archive.pushToBeginning(state.trackers[index]);

2
src/views/Archive.vue

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<template>
<h5 class="modal-title"><i class="fas fa-archive"></i> Archivierte Tracker</h5>
<h5><i class="fas fa-archive"></i> Archivierte Tracker</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<div class="row">
<div class="col-sm-6"></div>

2
src/views/CustomBookForTracker.vue

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-user-edit"></i> Buchung für {{selectedTracker.number}}</h5>
<h5><i class="fas fa-user-edit"></i> Buchung für {{selectedTracker.number}}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">

2
src/views/HistoryForTracker.vue

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-history"></i> History von
<h5><i class="fas fa-history"></i> History von
{{ $store.state.selectedTracker.number }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>

19
src/views/Menu.vue

@ -1,9 +1,6 @@ @@ -1,9 +1,6 @@
<template>
<div id="left-menu">
<div class="container">
<div class="row">
<div class="col">
<div class="dropup">
<div class="dropup left-menu-item">
<button class="btn btn-success text-light bottom-menu-item" type="button"
id="create-dropdown-menu" data-bs-toggle="dropdown" aria-expanded="false" title="Neu">
<i class="fas fa-plus"></i>
@ -21,8 +18,7 @@ @@ -21,8 +18,7 @@
</li>
</ul>
</div>
</div>
<div>
<div class="left-menu-item">
<router-link to="/"
type="button"
class="btn btn-dark text-light bottom-menu-item"
@ -31,7 +27,7 @@ @@ -31,7 +27,7 @@
<i class="fas fa-home"></i>
</router-link>
</div>
<div class="" v-if="$store.state.trackers.length > 0">
<div class="left-menu-item" v-if="$store.state.trackers.length > 0">
<router-link to="/trackers"
type="button"
class="btn btn-primary text-light bottom-menu-item"
@ -40,7 +36,7 @@ @@ -40,7 +36,7 @@
<i class="fas fa-clock"></i>
</router-link>
</div>
<div class="" v-if="$store.state.archive.length > 0">
<div class="left-menu-item" v-if="$store.state.archive.length > 0">
<router-link to="/archive"
type="button"
class="btn btn-warning bottom-menu-item"
@ -49,7 +45,7 @@ @@ -49,7 +45,7 @@
<i class="fas fa-archive"></i>
</router-link>
</div>
<div class="" v-if="($store.state.trackers.length + $store.state.archive.length) > 0">
<div class="left-menu-item" v-if="($store.state.trackers.length + $store.state.archive.length) > 0">
<a type="button"
class="btn btn-info text-light bottom-menu-item"
data-bs-toggle="offcanvas"
@ -59,8 +55,7 @@ @@ -59,8 +55,7 @@
<i class="fas fa-history"></i>
</a>
</div>
<div class="">
<div class="left-menu-item">
<router-link to="/settings"
type="button"
class="btn btn-dark text-light bottom-menu-item"
@ -70,8 +65,6 @@ @@ -70,8 +65,6 @@
</router-link>
</div>
</div>
</div>
</div>
</template>
<script>

58
src/views/Settings.vue

@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
<template>
<h5 class="modal-title"><i class="fas fa-sliders-h"></i> Einstellungen</h5>
<h5><i class="fas fa-sliders-h"></i> Einstellungen</h5>
<hr/>
<div class="row">
<div class="col-md-6">
<h5>Allgemeine Einstellungen</h5>
<!-- <div class="form-group">-->
<!-- <label>Logo-Pfad</label>-->
<!-- <input type="text" v-model="dashboardLogo" class="form-control">-->
<!-- </div>-->
<div class="form-group">
<label>Logo-Pfad</label>
<input type="text" v-model="dashboardLogo" class="form-control">
</div>
<div class="form-group">
<label>Tracker-Link <small>Link zu einem Tracker ohne Trackernummer</small></label>
<label>Ticket-Link <small>Link zu einem Ticket ohne Ticketnummer</small></label>
<input type="text" v-model="trackerSystemUrl" class="form-control">
</div>
<br/>
@ -27,38 +27,38 @@ @@ -27,38 +27,38 @@
</label>
</div>
<br/>
<div class="form-group">
<label>Design</label>
<select v-model="theme" class="form-control">
<option v-for="(availableTheme, themeIndex) in themes" :value="availableTheme.name.toLowerCase()"
v-bind:key="themeIndex">{{ availableTheme.name }}
</option>
</select>
</div>
<br/>
<!-- <div class="form-group">-->
<!-- <label>Design</label>-->
<!-- <select v-model="theme" class="form-control">-->
<!-- <option v-for="(availableTheme, themeIndex) in themes" :value="availableTheme.name.toLowerCase()"-->
<!-- v-bind:key="themeIndex">{{ availableTheme.name }}-->
<!-- </option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <br/>-->
</div>
<div class="col-md-6">
<h5>Zurücksetzen & Löschen</h5>
<div class="row">
<div class="col-md-6">
<button class="btn btn-outline-danger btn-full-width" @click="deleteAllData()">Alle Daten
löschen
</button>
</div>
</div>
<br/>
<!-- <h5>Zurücksetzen & Löschen</h5>-->
<!-- <div class="row">-->
<!-- <div class="col-md-6">-->
<!-- <button class="btn btn-outline-danger btn-full-width" @click="deleteAllData()">Alle Daten-->
<!-- löschen-->
<!-- </button>-->
<!-- </div>-->
<!-- </div>-->
<!-- <br/>-->
<h5>Import & Export</h5>
<div class="row">
<div class="col-md-6">
<h6>Export-Json</h6>
<textarea class="form-control" rows="3" id="exportJsonInput" v-model="exportJson"></textarea>
<button class="btn btn-success btn-full-width" @click="copy2Clipboard">Export-String kopieren
<textarea class="form-control" id="exportJsonInput" v-model="exportJson"></textarea>
<button class="btn btn-success tracker-action-button" @click="copy2Clipboard">Export-String kopieren
</button>
</div>
<div class="col-md-6">
<h6>Import</h6>
<textarea class="form-control" rows="3" v-model="importJson"></textarea>
<button class="btn btn-success btn-full-width" @click="importData">Import</button>
<textarea class="form-control" v-model="importJson"></textarea>
<button class="btn btn-success tracker-action-button" @click="importData">Import</button>
</div>
</div>
</div>
@ -80,7 +80,7 @@ export default { @@ -80,7 +80,7 @@ export default {
importJson: '',
theme: '',
themes: null,
dashboardLogo: 'assets/img/logo.png',
// dashboardLogo: 'assets/img/logo.png',
trackerSystemUrl: '',
showPT: true,
dontShowMinutes: false,

59
src/views/Switcher.vue

@ -1,59 +0,0 @@ @@ -1,59 +0,0 @@
<template>
<div class="modal fade" id="switcherModal" tabindex="-1" role="dialog" aria-labelledby="switcherModalLabel"
aria-hidden="true" v-if="">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-random"></i> Portal Switcher</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12">
<div class="form-group">
<label class="text-muted">Portalname:</label>
<input v-if="!portals || portals.length === 0" class="form-control" @change="updateStorage()" @keydown="updateStorage()" v-model="portal"/>
<select v-else v-model="portal" class="form-control">
<option v-for="selectablePortal in portals" :value="selectablePortal">{{ selectablePortal }}</option>
</select>
<div class="form-group" v-if="experimental.portalSwitcher">
<label>
<input type="checkbox" class="form-control-checkbox" v-model="publicDB">
Auf Standard-DB wechseln?
</label>
</div>
<br/>
</div>
</div>
<template v-if="portal && portal !== ''">
<div class="col-12 switch-portal-button">
<a class="btn btn-danger btn-switcher" href="javascript:" @click="sendPortalChangeRequest">
<i class="fas fa-random"></i> Wechsle Portal
</a>
</div>
<div class="col">
<a class="btn btn-info btn-switcher" href="https://my.vemap.docker" target="_blank">Docker</a>
</div>
<div class="col">
<a class="btn btn-warning btn-switcher" :href="getPortalLink(true)" target="_blank">Test</a>
</div>
<div class="col">
<a class="btn btn-success btn-switcher" :href="getPortalLink()" target="_blank">Live</a>
</div>
</template>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "Switcher"
}
</script>
<style scoped>
</style>

2
src/views/TasksForTracker.vue

@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
aria-labelledby="showTrackerTasksModal"
aria-hidden="true">
<div class="offcanvas-header">
<h5 class="modal-title"><i class="fas fa-clock"></i> Tasks für {{ $store.state.selectedTracker.number }}</h5>
<h5><i class="fas fa-clock"></i> Tasks für {{ $store.state.selectedTracker.number }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">

9
src/views/Trackers.vue

@ -294,6 +294,7 @@ export default { @@ -294,6 +294,7 @@ export default {
return number.indexOf('#') >= 0;
},
deleteTracker(index, archive = false) {
let component = this;
this.$store.commit("deleteTracker", index, archive);
let message = 'Tracker "' + this.$store.state.trashed.number + '" wurde gelöscht';
@ -305,7 +306,8 @@ export default { @@ -305,7 +306,8 @@ export default {
instance.hide({
transitionOut: 'fadeOutUp',
onClosing: function(){
this.$store.commit('restoreTrashed');
component.$store.commit('restoreTrashed');
component.$store.commit('saveTrackers');
}
}, toast, 'buttonName');
}, true]
@ -361,11 +363,6 @@ export default { @@ -361,11 +363,6 @@ export default {
margin-bottom: 1px;
}
.bg-timebox {
background-color: black;
color: white;
}
.bg-timebox input {
color: white;
}

2
src/views/TrackersDetail.vue

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<template>
<div>
<h5 class="modal-title"><i class="fas fa-clock"></i> Tracker</h5>
<h5><i class="fas fa-clock"></i> Tracker</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="row">

Loading…
Cancel
Save