This commit is contained in:
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
|||||||
.PHONY: server-python server-node
|
.PHONY: server-python server-node
|
||||||
|
|
||||||
server-python:
|
server-python:
|
||||||
cd server-python; poetry run fastapi dev app.py --port 3000; cd -
|
cd server-python; uv run fastapi dev app.py --port 3000; cd -
|
||||||
server-node:
|
server-node:
|
||||||
npm run server:dev
|
npm run server:dev
|
||||||
fe:
|
fe:
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en" data-theme="light">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="theme-color" content="#2ecc71">
|
<meta name="theme-color" content="#2ecc71">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="https://fonts.googleapis.com/css?family=Fira+Sans&display=swap"
|
||||||
|
/>
|
||||||
<link
|
<link
|
||||||
rel="icon"
|
rel="icon"
|
||||||
href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🌡️</text></svg>"
|
href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🌡️</text></svg>"
|
||||||
|
|||||||
6516
package-lock.json
generated
6516
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@@ -16,7 +16,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vueuse/core": "^10.5.0",
|
"@vueuse/core": "^10.5.0",
|
||||||
"bulma": "^0.9.4",
|
"bulma": "^1.0.4",
|
||||||
"dayjs": "^1.11.7",
|
"dayjs": "^1.11.7",
|
||||||
"dotenv": "^16.0.3",
|
"dotenv": "^16.0.3",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
@@ -24,14 +24,14 @@
|
|||||||
"mongodb": "^4.13.0",
|
"mongodb": "^4.13.0",
|
||||||
"openapi-fetch": "^0.10.2",
|
"openapi-fetch": "^0.10.2",
|
||||||
"sass": "^1.69.5",
|
"sass": "^1.69.5",
|
||||||
"vue": "^3.4.3",
|
"vue": "^3.5.30",
|
||||||
"vue-router": "^4.2.5"
|
"vue-router": "^5.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rushstack/eslint-patch": "^1.5.1",
|
"@rushstack/eslint-patch": "^1.5.1",
|
||||||
"@types/express": "^4.17.21",
|
"@types/express": "^4.17.21",
|
||||||
"@types/node": "^20.9.0",
|
"@types/node": "^20.9.0",
|
||||||
"@vitejs/plugin-vue": "^4.4.1",
|
"@vitejs/plugin-vue": "^6.0.5",
|
||||||
"@vue/eslint-config-prettier": "^9.0.0",
|
"@vue/eslint-config-prettier": "^9.0.0",
|
||||||
"@vue/eslint-config-typescript": "^12.0.0",
|
"@vue/eslint-config-typescript": "^12.0.0",
|
||||||
"@vue/test-utils": "^2.4.3",
|
"@vue/test-utils": "^2.4.3",
|
||||||
@@ -45,8 +45,8 @@
|
|||||||
"prettier": "^3.0.3",
|
"prettier": "^3.0.3",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"typescript": "^5.2.2",
|
"typescript": "^5.2.2",
|
||||||
"vite": "^4.5.0",
|
"vite": "^8.0.0",
|
||||||
"vitest": "^1.1.1",
|
"vitest": "^4.1.0",
|
||||||
"vue-tsc": "^1.8.27"
|
"vue-tsc": "^1.8.27"
|
||||||
},
|
},
|
||||||
"type": "module"
|
"type": "module"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, watch } from 'vue'
|
import { ref, watch } from 'vue'
|
||||||
import * as Highcharts from 'highcharts'
|
import * as Highcharts from 'highcharts'
|
||||||
import 'highcharts/css/highcharts.scss'
|
import 'highcharts/css/highcharts.css'
|
||||||
import Loader from '@/components/Loader.vue'
|
import Loader from '@/components/Loader.vue'
|
||||||
import { capitalizeFirstLetter } from '@/utils/helpers'
|
import { capitalizeFirstLetter } from '@/utils/helpers'
|
||||||
import type { Window, NavTypes } from '@/utils/types'
|
import type { Window, NavTypes } from '@/utils/types'
|
||||||
@@ -68,8 +68,7 @@ const renderChart = () => {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style>
|
||||||
@import '@/style/_variables.scss';
|
|
||||||
.chart-container {
|
.chart-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -90,17 +89,17 @@ const renderChart = () => {
|
|||||||
stroke-width: 3px;
|
stroke-width: 3px;
|
||||||
}
|
}
|
||||||
.highcharts-color-0 {
|
.highcharts-color-0 {
|
||||||
fill: $primary;
|
fill: var(--bulma-primary);
|
||||||
stroke: $primary;
|
stroke: var(--bulma-primary);
|
||||||
}
|
}
|
||||||
.highcharts-axis-line {
|
.highcharts-axis-line {
|
||||||
// stroke-width: 1px !important;
|
/* stroke-width: 1px !important; */
|
||||||
stroke: $border !important;
|
stroke: var(--bulma-border) !important;
|
||||||
}
|
}
|
||||||
.highcharts-grid-line {
|
.highcharts-grid-line {
|
||||||
stroke-width: 1px !important;
|
stroke-width: 1px !important;
|
||||||
stroke-dasharray: 5, 5 !important;
|
stroke-dasharray: 5, 5 !important;
|
||||||
stroke: $border !important;
|
stroke: var(--bulma-border) !important;
|
||||||
}
|
}
|
||||||
text {
|
text {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
|
|||||||
@@ -6,8 +6,7 @@
|
|||||||
<div></div>
|
<div></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<style scoped lang="scss">
|
<style scoped>
|
||||||
@import '@/style/_variables.scss';
|
|
||||||
.lds-ring {
|
.lds-ring {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -21,10 +20,10 @@
|
|||||||
width: 51px;
|
width: 51px;
|
||||||
height: 51px;
|
height: 51px;
|
||||||
margin: 6px;
|
margin: 6px;
|
||||||
border: 6px solid $border;
|
border: 6px solid var(--bulma-border);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
animation: lds-ring 0.8s cubic-bezier(0.5, 0, 0.5, 1) infinite;
|
animation: lds-ring 0.8s cubic-bezier(0.5, 0, 0.5, 1) infinite;
|
||||||
border-color: $border transparent transparent transparent;
|
border-color: var(--bulma-border) transparent transparent transparent;
|
||||||
}
|
}
|
||||||
.lds-ring div:nth-child(1) {
|
.lds-ring div:nth-child(1) {
|
||||||
animation-delay: -0.3s;
|
animation-delay: -0.3s;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<router-link to="/" class="navbar-item nav-title">dht22</router-link>
|
<router-link to="/" class="navbar-item nav-title">dht22</router-link>
|
||||||
<a
|
<a
|
||||||
role="button"
|
role="button"
|
||||||
class="navbar-burger burger"
|
class="navbar-burger has-text-white"
|
||||||
aria-label="menu"
|
aria-label="menu"
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
data-target="navbar"
|
data-target="navbar"
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
<span aria-hidden="true"></span>
|
<span aria-hidden="true"></span>
|
||||||
<span aria-hidden="true"></span>
|
<span aria-hidden="true"></span>
|
||||||
<span aria-hidden="true"></span>
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -48,12 +49,11 @@ const navTypes: NavTypes[] = ['temperatuur', 'luchtvochtigheid']
|
|||||||
if (!activeType.value) setType(navTypes[0])
|
if (!activeType.value) setType(navTypes[0])
|
||||||
const toggleMenu = () => (toggled.value = !toggled.value)
|
const toggleMenu = () => (toggled.value = !toggled.value)
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped>
|
||||||
@import '@/style/_variables.scss';
|
|
||||||
.nav-title {
|
.nav-title {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
@media screen and (max-width: $navbar-breakpoint) {
|
@media screen and (max-width: 1024px) {
|
||||||
.navbar {
|
.navbar {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
@@ -63,4 +63,8 @@ const toggleMenu = () => (toggled.value = !toggled.value)
|
|||||||
right: 0;
|
right: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.navbar-item,
|
||||||
|
.navbar-link {
|
||||||
|
color: var(--bulma-white) !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { createApp } from 'vue'
|
import { createApp } from 'vue'
|
||||||
import App from '@/App.vue'
|
import App from '@/App.vue'
|
||||||
import router from '@/router'
|
import router from '@/router'
|
||||||
|
import 'bulma/css/bulma.css'
|
||||||
import '@/style/style.scss'
|
import '@/style/style.scss'
|
||||||
|
|
||||||
const app = createApp(App)
|
const app = createApp(App)
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
$primary: #2ecc71;
|
|
||||||
$link: #3498db;
|
|
||||||
$family-sans-serif: 'Fira Sans', sans-serif;
|
|
||||||
$gap: 32px !default;
|
|
||||||
$navbar-breakpoint: 960px + (2 * $gap);
|
|
||||||
@import "bulma/sass/utilities/_all.sass";
|
|
||||||
@@ -1,8 +1,17 @@
|
|||||||
@charset "utf-8";
|
@charset "utf-8";
|
||||||
@import url('https://fonts.googleapis.com/css?family=Fira+Sans&display=swap');
|
|
||||||
|
:root {
|
||||||
|
--bulma-primary-h: 145deg;
|
||||||
|
--bulma-primary-s: 63%;
|
||||||
|
--bulma-primary-l: 49%;
|
||||||
|
--bulma-link-h: 204deg;
|
||||||
|
--bulma-link-s: 70%;
|
||||||
|
--bulma-link-l: 53%;
|
||||||
|
--bulma-family-primary: 'Fira Sans', sans-serif;
|
||||||
|
--bulma-family-secondary: 'Fira Sans', sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
html, body {
|
html, body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: auto!important;
|
overflow: auto!important;
|
||||||
}
|
}
|
||||||
@import "./variables";
|
|
||||||
@import "bulma/bulma";
|
|
||||||
|
|||||||
Reference in New Issue
Block a user