Profectus/src/App.vue

93 lines
1.4 KiB
Vue
Raw Normal View History

2021-05-19 22:21:51 +00:00
<template>
<div id="app" @mousemove="updateMouse" :style="theme">
<Nav />
2021-05-20 05:11:03 +00:00
<Tabs />
<TPS v-if="showTPS" />
</div>
2021-05-19 22:21:51 +00:00
</template>
<script>
import Nav from './components/system/Nav.vue';
2021-05-20 05:11:03 +00:00
import Tabs from './components/system/Tabs.vue';
import TPS from './components/system/TPS.vue';
import themes from './data/themes.js';
import { mapState } from 'vuex';
2021-05-19 22:21:51 +00:00
export default {
name: 'App',
components: {
2021-05-20 05:11:03 +00:00
Nav, Tabs, TPS
},
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-19 22:21:51 +00:00
</script>
<style>
* {
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;
}
html, body, #app {
min-height: 100%;
height: 100%;
}
h1, h2, h3, b, input {
display: inline;
}
a,
2021-05-22 20:29:06 +00:00
button,
.link {
2021-05-22 20:29:06 +00:00
display: block;
color: var(--link);
background: none;
border: none;
cursor: pointer;
text-decoration: none;
}
a:hover,
2021-05-22 20:29:06 +00:00
button:hover,
.link:hover {
2021-05-22 20:29:06 +00:00
text-shadow: 5px 0 10px var(--link),
-3px 0 12px var(--link);
}
ul {
2021-05-22 20:29:06 +00:00
list-style-type: none;
}
#app {
background-color: var(--background);
color: var(--color);
2021-05-22 20:29:06 +00:00
display: flex;
flex-flow: column;
}
2021-05-19 22:21:51 +00:00
</style>