first commit

This commit is contained in:
2022-02-27 18:53:29 +01:00
parent f6cbcac12e
commit 4db28eb1a2
14 changed files with 270 additions and 41 deletions

View File

@@ -18,7 +18,7 @@
<li class="header">CPHA</li>
<router-link tag="li" class="pageLink" to="/personalfinances">
<a>
<i class="mdi mdi-money"></i>
<i class="fa fa-money"></i>
<span class="page">Personal Finances</span>
</a>
</router-link>
@@ -38,7 +38,9 @@
</span>
</a>
<ul class="treeview-menu">
<li><a href="#"><i class="fa fa-cog"></i> Configurations</a></li>
<router-link tag="li" class="pageLink" to="/configurations">
<li><a href="#"><i class="fa fa-cog"></i> Configurations</a></li>
</router-link>
<li><a href="#"><i class="fa fa-google"></i> Google</a></li>
<li><a href="#"><i class="fa fa-connectdevelop"></i> MQTT / Home Assistant</a></li>
<li><a href="#"><i class="fa fa-server"></i> Backup/Restore</a></li>

View File

@@ -0,0 +1,125 @@
<template>
<div>
<h1 class="text-center">Settings</h1>
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box box-info">
<!-- Input Addons -->
<div class="box-header with-border">
<h3 class="box-title">Inputs</h3>
</div>
<div class="box-body">
<!-- calendar group -->
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-fw fa-calendar"></i>
</span>
<datepicker :readonly="true" format="MMM/D/YYYY" id="dateInput" width="100%"></datepicker>
</div>
<br />
<br />
<!-- with characthers -->
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-fw fa-at" aria-hidden="true"></i>
</span>
<input class="form-control" placeholder="Username" type="text">
</div>
<br />
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-fw fa-usd" aria-hidden="true"></i>
</span>
<input class="form-control" type="text">
<span class="input-group-addon">.00</span>
</div>
<br />
<!-- with icons from font awesome -->
<h4>With icons</h4>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-fw fa-envelope"></i></span>
<input class="form-control" placeholder="Email" type="email">
</div>
<br />
<div class="input-group">
<input class="form-control" type="text">
<span class="input-group-addon"><i class="fa fa-fw fa-check"></i></span>
</div>
<br>
<!-- Success/Error heads up input -->
<h4>With border indicator</h4>
<div class="form-group has-success">
<label class="control-label" for="inputSuccess"><i class="fa fa-fw fa-check"></i> Input with success</label>
<input class="form-control" id="inputSuccess" placeholder="Enter ..." type="text">
<span class="help-block">Help block with success</span>
</div>
<br />
<div class="form-group has-error">
<label class="control-label" for="inputError"><i class="fa fa-fw fa-times-circle-o"></i> Input with error</label>
<input class="form-control" id="inputError" placeholder="Enter ..." type="text">
<span class="help-block">Help block with error</span>
</div>
<!-- select examples -->
<h4>Select Options</h4>
<div class="form-group">
<label>Select</label>
<select class="form-control">
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
<option>option 4</option>
<option>option 5</option>
</select>
</div>
<br />
<div class="form-group">
<label>Select Multiple</label>
<select multiple="" class="form-control">
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
<option>option 4</option>
<option>option 5</option>
</select>
</div>
<!-- /input-group -->
</div>
<!-- /.box-body -->
</div>
</div>
</div>
</section>
</div>
</template>
<script>
require('moment')
import datepicker from 'vue-date-picker'
export default {
name: 'Settings',
components: { datepicker },
computed: {
datetime () {
return new Date()
}
},
methods: {
clearInput (vueModel) {
vueModel = ''
}
}
}
</script>
<style>
.datetime-picker input {
height: 4em !important;
}
</style>

View File

@@ -4,17 +4,17 @@
<!-- Info boxes -->
<div class="col-md-3 col-sm-6 col-xs-12">
<info-box color-class="bg-aqua"
:icon-classes="['ion', 'ion-ios-gear-outline']"
text="CPU Traffic"
number="90%"></info-box>
<info-box color-class="bg-green"
:icon-classes="['ion', 'ion-cash']"
text="Total Income"
number="5868.26€"></info-box>
</div>
<!-- /.col -->
<div class="col-md-3 col-sm-6 col-xs-12">
<info-box color-class="bg-red"
:icon-classes="['fa', 'fa-google-plus']"
text="Likes"
number="41,410"></info-box>
:icon-classes="['ion', 'ion-ios-cart-outline']"
text="Total Expenses"
number="1854.54€"></info-box>
</div>
<!-- /.col -->
@@ -22,17 +22,17 @@
<div class="clearfix visible-sm-block"></div>
<div class="col-md-3 col-sm-6 col-xs-12">
<info-box color-class="bg-green"
:icon-classes="['ion', 'ion-ios-cart-outline']"
text="Sales"
number="760"></info-box>
<info-box color-class="bg-aqua"
:icon-classes="['ion', 'ion-card']"
text="Total Saved"
number="13580.21€"></info-box>
</div>
<!-- /.col -->
<div class="col-md-3 col-sm-6 col-xs-12">
<info-box color-class="bg-yellow"
:icon-classes="['ion', 'ion-ios-people-outline']"
text="New Members"
number="2,000"></info-box>
text="Members"
number="2"></info-box>
</div>
<!-- /.col -->
@@ -46,66 +46,63 @@
<div class="box-body">
<div class="col-sm-6 col-xs-12">
<p class="text-center">
<strong>Web Traffic Overview</strong>
<strong>Income vs Expenses</strong>
</p>
<canvas id="trafficBar" ></canvas>
<canvas id="iveBar" ></canvas>
</div>
<hr class="visible-xs-block">
<div class="col-sm-6 col-xs-12">
<p class="text-center">
<strong>Language Overview</strong>
<strong>Income</strong>
</p>
<canvas id="languagePie"></canvas>
<canvas id="incomePie"></canvas>
</div>
</div>
</div>
<!-- <div class="text-center">
<small><b>Pro Tip</b> Don't forget to star us on github!</small>
</div> -->
</div>
</div>
<!-- /.row -->
<!-- Main row -->
<div class="row">
<div class="col-md-3 col-sm-6 col-xs-12">
<!-- <div class="row"> -->
<!-- <div class="col-md-3 col-sm-6 col-xs-12">
<process-info-box color-class="bg-yellow"
:icon-classes="['ion', 'ion-ios-pricetag-outline']"
text="Inventory"
number="5,200"
:progress="50"
description="50% increase since May"></process-info-box>
</div>
</div> -->
<!-- /.col -->
<div class="col-md-3 col-sm-6 col-xs-12">
<!-- <div class="col-md-3 col-sm-6 col-xs-12">
<process-info-box color-class="bg-green"
:icon-classes="['ion', 'ion-ios-heart-outline']"
text="Mentions"
number="92,050"
:progress="20"
description="20% increase in 30 days"></process-info-box>
</div>
</div> -->
<!-- /.col -->
<div class="col-md-3 col-sm-6 col-xs-12">
<!-- <div class="col-md-3 col-sm-6 col-xs-12">
<process-info-box color-class="bg-red"
:icon-classes="['ion', 'ion-ios-cloud-download-outline']"
text="Downloads"
number="114,381"
:progress="70"
description="70% increase since yesterday"></process-info-box>
</div>
</div> -->
<!-- /.col -->
<div class="col-md-3 col-sm-6 col-xs-12">
<!-- <div class="col-md-3 col-sm-6 col-xs-12">
<process-info-box color-class="bg-aqua"
:icon-classes="['ion', 'ion-ios-chatbubble-outline']"
text="Direct Messages"
number="163,921"
:progress="40"
description="40% increase compared to last year"></process-info-box>
</div>
</div> -->
<!-- /.col -->
<!-- </div> -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
@@ -148,20 +145,20 @@ export default {
},
mounted () {
this.$nextTick(() => {
var ctx = document.getElementById('trafficBar').getContext('2d')
var ctx = document.getElementById('iveBar').getContext('2d')
var config = {
type: 'line',
data: {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
datasets: [{
label: 'CoPilot',
label: 'Income',
fill: false,
borderColor: '#284184',
pointBackgroundColor: '#284184',
backgroundColor: 'rgba(0, 0, 0, 0)',
data: this.coPilotNumbers
}, {
label: 'Personal Site',
label: 'Expenses',
borderColor: '#4BC0C0',
pointBackgroundColor: '#4BC0C0',
backgroundColor: 'rgba(0, 0, 0, 0)',
@@ -186,11 +183,11 @@ export default {
new Chart(ctx, config) // eslint-disable-line no-new
var pieChartCanvas = document.getElementById('languagePie').getContext('2d')
var pieChartCanvas = document.getElementById('incomePie').getContext('2d')
var pieConfig = {
type: 'pie',
data: {
labels: ['HTML', 'JavaScript', 'CSS'],
labels: ['Person1', 'Person2', 'Others'],
datasets: [{
data: [56.6, 37.7, 4.1],
backgroundColor: ['#00a65a', '#f39c12', '#00c0ef'],

View File

@@ -11,6 +11,7 @@ import AccessView from './components/views/Access.vue'
import ServerView from './components/views/Server.vue'
import CryptosView from './components/views/Cryptos.vue'
import PersonalFinancesView from './components/views/PersonalFinances.vue'
import ConfigurationsView from './components/views/Configurations.vue'
// Routes
const routes = [
@@ -65,6 +66,11 @@ const routes = [
component: CryptosView,
name: 'Cryptos',
meta: {description: 'List of popular javascript repos', requiresAuth: false}
}, {
path: 'configurations',
component: ConfigurationsView,
name: 'Configurations',
meta: {description: 'List of popular javascript repos', requiresAuth: false}
}
]
}, {