From 9703d247843bb9c8250b5c4767289b52e2c7804e Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Wed, 10 May 2023 22:18:22 +0200 Subject: [PATCH] Working --- package.json | 2 +- src/assets/css/main.scss | 3 +- src/components/Announcement.vue | 12 ++++ src/components/Footer.vue | 5 ++ src/components/Header.vue | 89 +++++++++++++++++++++++++ src/components/MenuBurger.vue | 76 +++++++++++++++++++++ src/layouts/default.vue | 9 +++ src/pages/index.vue | 35 +--------- src/pages/test.vue | 42 ++++++++++++ src/server/trpc/routers/announcement.ts | 12 ++++ src/server/trpc/routers/index.ts | 2 + src/store/theme.ts | 8 +-- uno.config.ts | 15 ++++- yarn.lock | 15 ++++- 14 files changed, 283 insertions(+), 42 deletions(-) create mode 100644 src/components/Announcement.vue create mode 100644 src/components/Footer.vue create mode 100644 src/components/Header.vue create mode 100644 src/components/MenuBurger.vue create mode 100644 src/layouts/default.vue create mode 100644 src/pages/test.vue create mode 100644 src/server/trpc/routers/announcement.ts diff --git a/package.json b/package.json index 1e23958..80d221a 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@types/node": "^18", "@unocss/eslint-config": "^0.51.8", "@unocss/nuxt": "^0.51.8", - "@unocss/transformer-directives": "^0.51.8", + "@unocss/transformer-directives": "^0.51.12", "@unocss/transformer-variant-group": "^0.51.8", "@vueuse/core": "^10.1.0", "@vueuse/nuxt": "^10.1.0", diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index 0ee8b3d..32008dc 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -1,4 +1,5 @@ body { + font-family: 'DM Sans', sans-serif; - @apply bg-gray-100 dark:bg-dark-900 dark:text-white duration-200 + @apply bg-white dark:bg-dark-900 dark:text-white duration-200 } diff --git a/src/components/Announcement.vue b/src/components/Announcement.vue new file mode 100644 index 0000000..37390b0 --- /dev/null +++ b/src/components/Announcement.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/components/Footer.vue b/src/components/Footer.vue new file mode 100644 index 0000000..25b0d68 --- /dev/null +++ b/src/components/Footer.vue @@ -0,0 +1,5 @@ + diff --git a/src/components/Header.vue b/src/components/Header.vue new file mode 100644 index 0000000..887d4c4 --- /dev/null +++ b/src/components/Header.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/components/MenuBurger.vue b/src/components/MenuBurger.vue new file mode 100644 index 0000000..d5aa0a5 --- /dev/null +++ b/src/components/MenuBurger.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/layouts/default.vue b/src/layouts/default.vue new file mode 100644 index 0000000..b9d56c8 --- /dev/null +++ b/src/layouts/default.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/pages/index.vue b/src/pages/index.vue index f0c5758..566f79a 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -1,42 +1,13 @@ diff --git a/src/pages/test.vue b/src/pages/test.vue new file mode 100644 index 0000000..c3f3999 --- /dev/null +++ b/src/pages/test.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/server/trpc/routers/announcement.ts b/src/server/trpc/routers/announcement.ts new file mode 100644 index 0000000..54aa79c --- /dev/null +++ b/src/server/trpc/routers/announcement.ts @@ -0,0 +1,12 @@ +import { publicProcedure, router } from '~/server/trpc/trpc' + +export default router({ + announcement: publicProcedure + .query(async ({ ctx }) => { + return await ctx.prisma.announcement.findFirst({ + orderBy: { + createdAt: 'desc', + }, + }) + }), +}) diff --git a/src/server/trpc/routers/index.ts b/src/server/trpc/routers/index.ts index 5e8f10a..4beb733 100644 --- a/src/server/trpc/routers/index.ts +++ b/src/server/trpc/routers/index.ts @@ -1,4 +1,5 @@ import { z } from 'zod' +import announcement from './announcement' import { publicProcedure, router } from '~/server/trpc/trpc' export const appRouter = router({ @@ -11,6 +12,7 @@ export const appRouter = router({ greeting: `Hello ${input.name ?? 'World'}!`, } }), + announcement, }) export type AppRouter = typeof appRouter diff --git a/src/store/theme.ts b/src/store/theme.ts index 48fe194..53fbd08 100644 --- a/src/store/theme.ts +++ b/src/store/theme.ts @@ -7,7 +7,7 @@ export const useThemeStore = defineStore( () => { const currentTheme = ref(Themes[THEMES.RainbowTheme]) const currentColor = ref(currentTheme.value.colors[0]) - let intervalId: NodeJS.Timeout | null = null + const intervalId = ref(null) const isAvailable = (next: Theme): boolean => { if (!next.availability) @@ -23,10 +23,10 @@ export const useThemeStore = defineStore( } const swapColor = () => { - if (intervalId !== null) - clearInterval(intervalId) + if (intervalId.value !== null) + clearInterval(intervalId.value) - intervalId = setInterval(() => { + intervalId.value = setInterval(() => { const colors = currentTheme.value.colors const currentIndex = colors.indexOf(currentColor.value) const nextIndex = (currentIndex + 1) % colors.length diff --git a/uno.config.ts b/uno.config.ts index a311983..fd10c7d 100644 --- a/uno.config.ts +++ b/uno.config.ts @@ -1,9 +1,8 @@ import { defineConfig, presetAttributify, presetIcons, presetTypography, presetUno, presetWind, + transformerDirectives, transformerVariantGroup, } from 'unocss' -import transformerVariantGroup from '@unocss/transformer-variant-group' -import transformerDirectives from '@unocss/transformer-directives' import { presetScrollbar } from 'unocss-preset-scrollbar' import { ColorsTheme } from './types' @@ -18,17 +17,27 @@ export default defineConfig({ dark: 'class', }), ], + theme: { + boxShadow: { + 'header-active-light': 'inset 0 -1px 0 0 #eaeaea', + 'header-active-dark': 'inset 0 -1px 0 0 #333', + 'announcement-light': '0 0 0 1px rgba(0,0,0,.03), 0 2px 4px rgba(0,0,0,.05), 0 4px 16px rgba(0,0,0,.05)', + 'announcement-dark': '0 0 0 1px rgba(150,150,150,.06), 0 2px 4px rgba(150,150,150,.1), 0 4px 16px rgba(150,150,150,.1)', + }, + }, transformers: [ - transformerDirectives(), transformerVariantGroup(), + transformerDirectives(), ], safelist: [ // Theme text colors ...Object.values(ColorsTheme).map(color => `text-${color}-500`), + ...Object.values(ColorsTheme).map(color => `hover:text-${color}-500`), ...'bg-black dark:bg-white dark:text-black text-white'.split(' '), // Theme background colors ...Object.values(ColorsTheme).map(color => `bg-${color}-500`), + ...Object.values(ColorsTheme).map(color => `hover:bg-${color}-500`), ...'text-black dark:text-white'.split(' '), ], }) diff --git a/yarn.lock b/yarn.lock index d765b08..6e95d62 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1573,6 +1573,11 @@ resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.31.17.tgz#e4f74f0495b8c395f6b0090dbcb371d3ce5d40c7" integrity sha512-DJ3Uk2ePVXvV1qQmgoLK44aqB6f0s+naOEvouI97nzVXDZgxDQPBxIPB/L4vvE4U+gQxEiHwwE3gJ75iPqVzXw== +"@unocss/core@0.51.12": + version "0.51.12" + resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.51.12.tgz#4090deafb62787a7d46429616a9f3fd03905042a" + integrity sha512-H8mLy6ZKu9nGZe5jlHhLPIVwh2G3cCDSBGl5aIZJFI1qpmDC+Zb3iueBGigNpX75IzkjaGKZiK1WUWq8TShjtA== + "@unocss/core@0.51.8": version "0.51.8" resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.51.8.tgz#f44ff566efd0f109f580d8acad069ff1a70eb859" @@ -1745,7 +1750,7 @@ dependencies: "@unocss/core" "0.51.8" -"@unocss/transformer-directives@0.51.8", "@unocss/transformer-directives@^0.51.8": +"@unocss/transformer-directives@0.51.8": version "0.51.8" resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.51.8.tgz#4fee9fa3fb97dbacc744a21f88b45eff5e835698" integrity sha512-Q1vG0dZYaxbdz0pVnvpuFreGoSqmrk7TgKUHNuJP/XzTi04sriQoDSpC2QMIAuOyU7FyGpSjUORiaBm0/VNURw== @@ -1753,6 +1758,14 @@ "@unocss/core" "0.51.8" css-tree "^2.3.1" +"@unocss/transformer-directives@^0.51.12": + version "0.51.12" + resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.51.12.tgz#f33afbf2472c20bb2624fb8bd8abcb4a5dca3913" + integrity sha512-xC1s7BQ2KwiLv2ChsvszELnQYo9DXOpunCkZerjZJm8ptCQJ3D+Zo1HM1C+asc4L4tIZ7BATzhQRGGlpsd37fw== + dependencies: + "@unocss/core" "0.51.12" + css-tree "^2.3.1" + "@unocss/transformer-variant-group@0.51.8", "@unocss/transformer-variant-group@^0.51.8": version "0.51.8" resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.51.8.tgz#342fdade1ece77a0874fd6ff9903c111de1bdfe0"