Click on the Tauri, Vite, and Vue logos to learn more.
- -- Recommended IDE setup: - VS Code - + - Volar - + - Tauri - + - rust-analyzer -
- -{{ greetMsg }}
- diff --git a/src/main.ts b/src/main.ts index 5eea099..d239914 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,5 +1,19 @@ import { createApp } from "vue"; -import "./styles.css"; import App from "./App.vue"; -createApp(App).mount("#app"); +import PrimeVue from 'primevue/config'; +import Aura from '@primevue/themes/aura'; + +const app = createApp(App) +app.use(PrimeVue, { + theme: { + preset: Aura, + options: { + prefix: 'p', + darkModeSelector: '.dark', + cssLayer: false + } + } +}); + +app.mount("#app"); diff --git a/src/styles.css b/src/styles.css deleted file mode 100644 index f7de85b..0000000 --- a/src/styles.css +++ /dev/null @@ -1,109 +0,0 @@ -:root { - font-family: Inter, Avenir, Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 24px; - font-weight: 400; - - color: #0f0f0f; - background-color: #f6f6f6; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; -} - -.container { - margin: 0; - padding-top: 10vh; - display: flex; - flex-direction: column; - justify-content: center; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; - transition: 0.75s; -} - -.logo.tauri:hover { - filter: drop-shadow(0 0 2em #24c8db); -} - -.row { - display: flex; - justify-content: center; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} - -a:hover { - color: #535bf2; -} - -h1 { - text-align: center; -} - -input, -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - color: #0f0f0f; - background-color: #ffffff; - transition: border-color 0.25s; - box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); -} - -button { - cursor: pointer; -} - -button:hover { - border-color: #396cd8; -} -button:active { - border-color: #396cd8; - background-color: #e8e8e8; -} - -input, -button { - outline: none; -} - -#greet-input { - margin-right: 5px; -} - -@media (prefers-color-scheme: dark) { - :root { - color: #f6f6f6; - background-color: #2f2f2f; - } - - a:hover { - color: #24c8db; - } - - input, - button { - color: #ffffff; - background-color: #0f0f0f98; - } - button:active { - background-color: #0f0f0f69; - } -} diff --git a/uno.config.ts b/uno.config.ts new file mode 100644 index 0000000..6d366dd --- /dev/null +++ b/uno.config.ts @@ -0,0 +1,31 @@ +import { + defineConfig, + presetAttributify, + presetIcons, + presetTypography, + presetUno, + presetWebFonts, +} from "unocss"; + +export default defineConfig({ + rules: [ + [ + /^bg-p-(.*)$/, + ([, c]) => ({ + "--bg-opacity": 1, + "background-color": `var(--p-${c})`, + }), + ], + ], + presets: [ + presetUno({ + attributifyPseudo: true, + }), + presetAttributify(), + presetIcons({ + scale: 1.2, + }), + presetTypography(), + presetWebFonts(), + ], +}); diff --git a/vite.config.ts b/vite.config.ts index 7b7dacd..f102d83 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,13 +1,24 @@ import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import { internalIpV4 } from "internal-ip"; +import Components from "unplugin-vue-components/vite"; +import { PrimeVueResolver } from "@primevue/auto-import-resolver"; +import TurboConsole from "unplugin-turbo-console/vite"; +import UnoCSS from "unocss/vite"; // @ts-expect-error process is a nodejs global const mobile = !!/android|ios/.exec(process.env.TAURI_ENV_PLATFORM); // https://vitejs.dev/config/ export default defineConfig(async () => ({ - plugins: [vue()], + plugins: [ + vue(), + UnoCSS(), + Components({ + resolvers: [PrimeVueResolver()], + }), + TurboConsole(), + ], // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` //