aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package-lock.json17
-rw-r--r--package.json1
-rw-r--r--src/App.vue49
-rw-r--r--src/components/HomePage.vue33
-rw-r--r--src/components/MainPage.vue21
-rw-r--r--src/components/SubCard.vue6
6 files changed, 98 insertions, 29 deletions
diff --git a/package-lock.json b/package-lock.json
index 22b8985..ad48368 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,6 +10,7 @@
"dependencies": {
"@mdi/font": "5.9.55",
"core-js": "^3.8.3",
+ "marked": "^4.0.18",
"roboto-fontface": "*",
"vue": "^3.2.13",
"vuetify": "^3.0.0-beta.0",
@@ -7183,6 +7184,17 @@
"node": ">=8"
}
},
+ "node_modules/marked": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmmirror.com/marked/-/marked-4.0.18.tgz",
+ "integrity": "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
"node_modules/mdn-data": {
"version": "2.0.14",
"resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz",
@@ -16772,6 +16784,11 @@
"semver": "^6.0.0"
}
},
+ "marked": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmmirror.com/marked/-/marked-4.0.18.tgz",
+ "integrity": "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw=="
+ },
"mdn-data": {
"version": "2.0.14",
"resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz",
diff --git a/package.json b/package.json
index feb4215..de2e14a 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
"dependencies": {
"@mdi/font": "5.9.55",
"core-js": "^3.8.3",
+ "marked": "^4.0.18",
"roboto-fontface": "*",
"vue": "^3.2.13",
"vuetify": "^3.0.0-beta.0",
diff --git a/src/App.vue b/src/App.vue
index 8c80550..80e462e 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,29 +1,70 @@
<template>
- <v-app :style="bg">
+ <v-app @keyup.shift.tab="toggleDrawer" :style="bg">
+ <v-navigation-drawer temporary v-model="drawer" location="right"
+ ><v-list density="compact" nav>
+ <v-list-item
+ prepend-icon="mdi-home"
+ title="Home"
+ value="home"
+ ></v-list-item>
+ <v-list-item
+ prepend-icon="mdi-pencil"
+ title="Edit"
+ value="edit"
+ ></v-list-item>
+ <v-list-item
+ prepend-icon="mdi-theme-light-dark"
+ title="Theme"
+ value="theme"
+ @click="toggleTheme"
+ ></v-list-item> </v-list
+ ></v-navigation-drawer>
<v-main>
<v-container>
- <MainPage class="float-end w-50" />
+ <HomePage class="float-end w-50" />
</v-container>
</v-main>
</v-app>
</template>
<script>
-import MainPage from "./components/MainPage.vue";
+import { useTheme } from "vuetify";
+import HomePage from "./components/HomePage.vue";
export default {
name: "App",
components: {
- MainPage,
+ HomePage,
},
data: () => ({
+ drawer: null,
+ snackbar: false,
+ snackbarColor: "black",
bg: {
backgroundColor: "grey",
// backgroundImage: "url(https://wallpapercave.com/wp/wp9649930.jpg)",
backgroundPosition: "center",
},
}),
+
+ setup() {
+ const theme = useTheme();
+
+ return {
+ theme,
+ toggleTheme: () =>
+ (theme.global.name.value = theme.global.current.value.dark
+ ? "light"
+ : "dark"),
+ };
+ },
+
+ methods: {
+ toggleDrawer() {
+ this.drawer = !this.drawer;
+ },
+ },
};
</script>
diff --git a/src/components/HomePage.vue b/src/components/HomePage.vue
new file mode 100644
index 0000000..9aaf6c4
--- /dev/null
+++ b/src/components/HomePage.vue
@@ -0,0 +1,33 @@
+<template>
+ <div class="d-flex align-end justify-start flex-row-reverse flex-wrap">
+ <SubCard
+ class="ma-2 pa-2"
+ v-for="n in 6"
+ :key="n"
+ :content="markdownToHtml"
+ />
+ </div>
+</template>
+
+<script>
+import SubCard from "./SubCard.vue";
+import { marked } from "marked";
+
+export default {
+ name: "HomePage",
+
+ components: {
+ SubCard,
+ },
+
+ computed: {
+ markdownToHtml() {
+ return marked(this.content);
+ },
+ },
+
+ data: () => ({
+ content: `~~Default content :D~~`,
+ }),
+};
+</script>
diff --git a/src/components/MainPage.vue b/src/components/MainPage.vue
deleted file mode 100644
index 97dad53..0000000
--- a/src/components/MainPage.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-<template>
- <div class="d-flex align-end justify-start flex-row-reverse flex-wrap">
- <SubCard class="ma-2 pa-2" v-for="n in 6" :key="n" />
- </div>
-</template>
-
-<script>
-import SubCard from "./SubCard.vue";
-
-export default {
- name: "MainPage",
-
- components: {
- SubCard,
- },
-
- data: () => ({
- //
- }),
-};
-</script>
diff --git a/src/components/SubCard.vue b/src/components/SubCard.vue
index 5b611f6..ab03ac3 100644
--- a/src/components/SubCard.vue
+++ b/src/components/SubCard.vue
@@ -2,9 +2,7 @@
<v-card variant="outlined">
<v-card-item>
<v-card-title>{{ title }}</v-card-title>
- <div class="text-caption">
- {{ content }}
- </div>
+ <div v-html="content"></div>
</v-card-item>
</v-card>
</template>
@@ -14,7 +12,7 @@ export default {
name: "SubCard",
data: () => ({
title: "Default Title",
- content: "Bruh",
}),
+ props: ["content"],
};
</script>