diff --git a/app.vue b/app.vue index 1eafeaa..8604810 100644 --- a/app.vue +++ b/app.vue @@ -2,6 +2,8 @@ const config = useRuntimeConfig() const apiBase = config.public.apiBase +import k_logo from '@/assets/logo.svg' + type ApiKpType = { id: number title: string @@ -44,7 +46,7 @@ const about = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'about') const reviews = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'clients') const { data: reviewsData } = await useFetch(`${apiBase}/review/`) - + - +
+ +
+ diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000..81d8838 --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/main.scss b/assets/main.scss index 4e56bbc..2f47fe3 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -28,6 +28,26 @@ a[href^="/#"]:not([class*="btn"]) { @apply underline decoration-dotted underline-offset-4 decoration-neutral-500; } +.footer { + @apply px-2 py-4 bg-slate-200; + + .k-logo { + @apply col-span-2 text-9xl text-orange-400; + + svg { + @apply my-0 mx-auto; + } + } + + &-text { + @apply col-span-4 prose prose-p:text-sm; + + &-small { + @apply col-span-8 col-start-3 prose prose-p:text-xs; + } + } +} + .block { @apply py-10; diff --git a/nuxt.config.ts b/nuxt.config.ts index f549015..7032e41 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,7 +1,7 @@ // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ devtools: { enabled: true }, - modules: ['@nuxtjs/tailwindcss', "@nuxt/image"], + modules: ['@nuxtjs/tailwindcss', "@nuxt/image", "nuxt-svgo"], runtimeConfig: { public: { apiBase: '/api', diff --git a/package-lock.json b/package-lock.json index 493f742..1cceef1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,12 +11,12 @@ "@nuxtjs/tailwindcss": "^6.12.0", "@tailwindcss/typography": "^0.5.13", "nuxt": "^3.11.2", + "nuxt-svgo": "^4.0.1", "sass": "^1.77.4", "tailwindcss": "^3.4.3", "vue": "^3.4.27", "vue-router": "^4.3.2" - }, - "devDependencies": {} + } }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", @@ -7628,6 +7628,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, "node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -8466,6 +8474,33 @@ } } }, + "node_modules/nuxt-svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nuxt-svgo/-/nuxt-svgo-4.0.1.tgz", + "integrity": "sha512-jN82aehGXMXMkapNnk15Vr712EXtPIfG8SX8O//m5Ls/QgD7bbIMkGRbfJKfoX6a4NZm0ojkwvv/hWex8aVY/A==", + "dependencies": { + "@nuxt/kit": "^3.4.0", + "mini-svg-data-uri": "^1.4.4", + "svgo": "^3.0.2" + }, + "peerDependencies": { + "svgo-loader": "^4.0.0", + "vue": ">=3.2.13", + "vue-loader": "^17.0.0", + "vue-svg-loader": "0.17.0-beta.2" + }, + "peerDependenciesMeta": { + "svgo-loader": { + "optional": true + }, + "vue-loader": { + "optional": true + }, + "vue-svg-loader": { + "optional": true + } + } + }, "node_modules/nypm": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz", diff --git a/package.json b/package.json index 3ea0392..4ea3dec 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@nuxtjs/tailwindcss": "^6.12.0", "@tailwindcss/typography": "^0.5.13", "nuxt": "^3.11.2", + "nuxt-svgo": "^4.0.1", "sass": "^1.77.4", "tailwindcss": "^3.4.3", "vue": "^3.4.27", diff --git a/pages/index.vue b/pages/index.vue deleted file mode 100644 index c8c4615..0000000 --- a/pages/index.vue +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file