2021-05-19 22:21:51 +00:00
|
|
|
<template>
|
2021-05-20 04:27:23 +00:00
|
|
|
<div id="app" @mousemove="updateMouse" :style="theme">
|
|
|
|
<Nav />
|
2021-05-20 05:11:03 +00:00
|
|
|
<Tabs />
|
|
|
|
<TPS v-if="showTPS" />
|
2021-05-19 22:48:02 +00:00
|
|
|
</div>
|
2021-05-19 22:21:51 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2021-05-26 01:57:02 +00:00
|
|
|
import Nav from './components/system/Nav';
|
|
|
|
import Tabs from './components/system/Tabs';
|
|
|
|
import TPS from './components/system/TPS';
|
|
|
|
import themes from './data/themes';
|
2021-05-20 04:27:23 +00:00
|
|
|
import { mapState } from 'vuex';
|
|
|
|
|
2021-05-19 22:21:51 +00:00
|
|
|
export default {
|
2021-05-19 22:48:02 +00:00
|
|
|
name: 'App',
|
|
|
|
components: {
|
2021-05-20 05:11:03 +00:00
|
|
|
Nav, Tabs, TPS
|
2021-05-20 04:27:23 +00:00
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
...mapState([ 'showTPS' ]),
|
|
|
|
theme() {
|
|
|
|
return themes[this.$store.state.theme || "default"];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
2021-05-20 05:11:03 +00:00
|
|
|
updateMouse(/* event */) {
|
|
|
|
// TODO use event to update mouse position for particles
|
2021-05-20 04:27:23 +00:00
|
|
|
}
|
2021-05-19 22:48:02 +00:00
|
|
|
}
|
2021-05-20 04:27:23 +00:00
|
|
|
};
|
2021-05-19 22:21:51 +00:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<style>
|
2021-05-20 04:27:23 +00:00
|
|
|
* {
|
|
|
|
transition-duration: 0.5s;
|
|
|
|
font-family: "Roboto Mono", monospace;
|
|
|
|
font-weight: bold;
|
|
|
|
margin: auto;
|
|
|
|
text-size-adjust: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
*:focus {
|
|
|
|
outline: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
body {
|
|
|
|
overflow: hidden;
|
|
|
|
min-width: 640px;
|
|
|
|
transition: none;
|
2021-05-22 20:29:06 +00:00
|
|
|
text-align: center;
|
2021-05-20 04:27:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
html, body, #app {
|
|
|
|
min-height: 100%;
|
|
|
|
height: 100%;
|
|
|
|
}
|
2021-05-19 22:48:02 +00:00
|
|
|
|
2021-05-20 04:27:23 +00:00
|
|
|
h1, h2, h3, b, input {
|
|
|
|
display: inline;
|
|
|
|
}
|
|
|
|
|
|
|
|
a,
|
2021-05-22 20:29:06 +00:00
|
|
|
button,
|
2021-05-20 04:27:23 +00:00
|
|
|
.link {
|
2021-05-22 20:29:06 +00:00
|
|
|
display: block;
|
|
|
|
color: var(--link);
|
|
|
|
background: none;
|
|
|
|
border: none;
|
|
|
|
cursor: pointer;
|
|
|
|
text-decoration: none;
|
2021-05-20 04:27:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
a:hover,
|
2021-05-22 20:29:06 +00:00
|
|
|
button:hover,
|
2021-05-20 04:27:23 +00:00
|
|
|
.link:hover {
|
2021-05-22 20:29:06 +00:00
|
|
|
text-shadow: 5px 0 10px var(--link),
|
|
|
|
-3px 0 12px var(--link);
|
2021-05-20 04:27:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
ul {
|
2021-05-22 20:29:06 +00:00
|
|
|
list-style-type: none;
|
2021-05-20 04:27:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#app {
|
|
|
|
background-color: var(--background);
|
|
|
|
color: var(--color);
|
2021-05-22 20:29:06 +00:00
|
|
|
display: flex;
|
|
|
|
flex-flow: column;
|
2021-05-20 04:27:23 +00:00
|
|
|
}
|
2021-05-19 22:21:51 +00:00
|
|
|
</style>
|