add html-validator + fix html ceo code
All checks were successful
Deploy Nuxt App / deploy (push) Successful in 1m31s
All checks were successful
Deploy Nuxt App / deploy (push) Successful in 1m31s
This commit is contained in:
4
app.vue
4
app.vue
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<NuxtLayout>
|
<NuxtLayout>
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
<!-- <link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
||||||
<link
|
<link
|
||||||
href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap"
|
href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap"
|
||||||
@ -9,7 +9,7 @@
|
|||||||
<link
|
<link
|
||||||
href="https://fonts.googleapis.com/css2?family=Russo+One&display=swap"
|
href="https://fonts.googleapis.com/css2?family=Russo+One&display=swap"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
/>
|
/> -->
|
||||||
<NuxtPage />
|
<NuxtPage />
|
||||||
</NuxtLayout>
|
</NuxtLayout>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
export const colorVariants = {
|
export const colorVariants = {
|
||||||
primary: ['bg-accent-50', 'text-primary', 'hover:bg-accent-100', 'active:bg-accent-150'],
|
primary: [
|
||||||
secondary: [
|
"bg-accent-50",
|
||||||
'bg-transparent',
|
"text-primary",
|
||||||
'text-primary',
|
"hover:bg-accent-100",
|
||||||
'hover:bg-accent-50',
|
"active:bg-accent-150",
|
||||||
'border-accent-50',
|
|
||||||
'border',
|
|
||||||
'hover:bg-accent-100',
|
|
||||||
'active:bg-accent-150',
|
|
||||||
'cursor-pointer',
|
|
||||||
],
|
],
|
||||||
}
|
secondary: [
|
||||||
|
"bg-transparent",
|
||||||
|
"text-primary",
|
||||||
|
"hover:bg-accent-50",
|
||||||
|
"border-accent-50",
|
||||||
|
"border",
|
||||||
|
"hover:bg-accent-100",
|
||||||
|
"active:bg-accent-150",
|
||||||
|
],
|
||||||
|
};
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<component
|
<component
|
||||||
:is="tag"
|
:is="tag"
|
||||||
|
:type="tag === 'button' ? 'button' : ''"
|
||||||
class="px-14 py-4 rounded-[20px] text-[30px] cursor-pointer shadow-[0px_16px_50px_-16px_rgba(229,30,125,1)]"
|
class="px-14 py-4 rounded-[20px] text-[30px] cursor-pointer shadow-[0px_16px_50px_-16px_rgba(229,30,125,1)]"
|
||||||
:class="[baseStyle, size]"
|
:class="[baseStyle, size]"
|
||||||
data-ui="ui-button"
|
data-ui="ui-button"
|
||||||
@ -10,36 +11,36 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { toRefs, computed } from 'vue'
|
import { toRefs, computed } from "vue";
|
||||||
import { colorVariants } from './UiButton.params.js'
|
import { colorVariants } from "./UiButton.params.js";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
tag: {
|
tag: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'button',
|
default: "button",
|
||||||
},
|
},
|
||||||
variants: {
|
variants: {
|
||||||
type: String as () => 'primary' | 'secondary',
|
type: String as () => "primary" | "secondary",
|
||||||
default: 'primary',
|
default: "primary",
|
||||||
validator: (value) => {
|
validator: (value) => {
|
||||||
return ['primary', 'secondary'].includes(value as string)
|
return ["primary", "secondary"].includes(value as string);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
size: {
|
size: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'font-bold',
|
default: "font-bold",
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
|
|
||||||
const { tag, variants, size } = toRefs(props)
|
const { tag, variants, size } = toRefs(props);
|
||||||
|
|
||||||
const colorClasses: Record<'primary' | 'secondary', string[]> = {
|
const colorClasses: Record<"primary" | "secondary", string[]> = {
|
||||||
primary: colorVariants.primary,
|
primary: colorVariants.primary,
|
||||||
secondary: colorVariants.secondary,
|
secondary: colorVariants.secondary,
|
||||||
}
|
};
|
||||||
|
|
||||||
const baseStyle = computed(() => {
|
const baseStyle = computed(() => {
|
||||||
const variant = variants.value as 'primary' | 'secondary'
|
const variant = variants.value as "primary" | "secondary";
|
||||||
return colorClasses[variant]?.join(' ') || ''
|
return colorClasses[variant]?.join(" ") || "";
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
||||||
|
28
config/head.ts
Normal file
28
config/head.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
export default {
|
||||||
|
meta: [
|
||||||
|
{ charset: "utf-8" },
|
||||||
|
{
|
||||||
|
name: "viewport",
|
||||||
|
content:
|
||||||
|
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
link: [
|
||||||
|
{
|
||||||
|
rel: "preconnect",
|
||||||
|
href: "https://fonts.googleapis.com",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
rel: "preconnect",
|
||||||
|
href: "https://fonts.gstatic.com",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
rel: "stylesheet",
|
||||||
|
href: "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
rel: "stylesheet",
|
||||||
|
href: "https://fonts.googleapis.com/css2?family=Russo+One&display=swap",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
@ -1,5 +1,5 @@
|
|||||||
import modules from './modules'
|
import modules from "./modules";
|
||||||
import sitemap from './sitemap'
|
import sitemap from "./sitemap";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
modules,
|
modules,
|
||||||
@ -8,4 +8,4 @@ export default {
|
|||||||
strict: true,
|
strict: true,
|
||||||
typeCheck: true,
|
typeCheck: true,
|
||||||
},
|
},
|
||||||
}
|
};
|
||||||
|
@ -7,6 +7,7 @@ export default [
|
|||||||
"@pinia/nuxt",
|
"@pinia/nuxt",
|
||||||
"@nuxtjs/tailwindcss",
|
"@nuxtjs/tailwindcss",
|
||||||
"@pinia/nuxt",
|
"@pinia/nuxt",
|
||||||
|
"@nuxtjs/html-validator",
|
||||||
// '@nuxtjs/robots',
|
// '@nuxtjs/robots',
|
||||||
// '@nuxtjs/sitemap',
|
// '@nuxtjs/sitemap',
|
||||||
];
|
];
|
||||||
|
@ -26,5 +26,10 @@ export default defineConfigWithVueTs(
|
|||||||
|
|
||||||
pluginVue.configs["flat/essential"],
|
pluginVue.configs["flat/essential"],
|
||||||
vueTsConfigs.recommended,
|
vueTsConfigs.recommended,
|
||||||
skipFormatting
|
skipFormatting,
|
||||||
|
{
|
||||||
|
rules: {
|
||||||
|
"vue/multi-word-component-names": "off",
|
||||||
|
},
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import config from "./config";
|
import config from "./config";
|
||||||
|
|
||||||
import { fileURLToPath, URL } from "node:url";
|
import { fileURLToPath, URL } from "node:url";
|
||||||
|
import head from "./config/head";
|
||||||
// import sitemap from "./config/sitemap";
|
// import sitemap from "./config/sitemap";
|
||||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||||
export default defineNuxtConfig({
|
export default defineNuxtConfig({
|
||||||
@ -17,9 +18,24 @@ export default defineNuxtConfig({
|
|||||||
dir: "./dist",
|
dir: "./dist",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
alias: {
|
alias: {
|
||||||
"@": fileURLToPath(new URL("./", import.meta.url)),
|
"@": fileURLToPath(new URL("./", import.meta.url)),
|
||||||
},
|
},
|
||||||
|
|
||||||
css: ["@/assets/css/tailwind.css"],
|
css: ["@/assets/css/tailwind.css"],
|
||||||
...config,
|
...config,
|
||||||
|
htmlValidator: {
|
||||||
|
usePrettier: true,
|
||||||
|
logLevel: "warning",
|
||||||
|
failOnError: false,
|
||||||
|
},
|
||||||
|
app: {
|
||||||
|
head: {
|
||||||
|
htmlAttrs: {
|
||||||
|
lang: "ru",
|
||||||
|
},
|
||||||
|
...head,
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
170
package-lock.json
generated
170
package-lock.json
generated
@ -11,6 +11,7 @@
|
|||||||
"@nuxt/fonts": "^0.11.4",
|
"@nuxt/fonts": "^0.11.4",
|
||||||
"@nuxt/icon": "^1.13.0",
|
"@nuxt/icon": "^1.13.0",
|
||||||
"@nuxt/image": "^1.10.0",
|
"@nuxt/image": "^1.10.0",
|
||||||
|
"@nuxtjs/html-validator": "^2.1.0",
|
||||||
"@nuxtjs/robots": "^5.2.10",
|
"@nuxtjs/robots": "^5.2.10",
|
||||||
"@nuxtjs/sitemap": "^7.4.0",
|
"@nuxtjs/sitemap": "^7.4.0",
|
||||||
"@pinia/nuxt": "^0.5.5",
|
"@pinia/nuxt": "^0.5.5",
|
||||||
@ -1455,6 +1456,27 @@
|
|||||||
"integrity": "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==",
|
"integrity": "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@html-validate/stylish": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-Nl8HCv0hGRSLQ+n1OD4Hk3a+Urwk9HH0vQkAzzCarT4KlA7bRl+6xEiS5PZVwOmjtC7XiH/oNe3as9Fxcr2A1w==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"kleur": "^4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@html-validate/stylish/node_modules/kleur": {
|
||||||
|
"version": "4.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
|
||||||
|
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@humanfs/core": {
|
"node_modules/@humanfs/core": {
|
||||||
"version": "0.19.1",
|
"version": "0.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
|
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
|
||||||
@ -2624,6 +2646,21 @@
|
|||||||
"vue": "^3.3.4"
|
"vue": "^3.3.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@nuxtjs/html-validator": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@nuxtjs/html-validator/-/html-validator-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-ldo8ioSsH3OEumtgwDMokTxlhjgO9FxjJWViAxisq5l/wjvaVX8SYTQ02wjtQcQQPSvS6BwgypAp400RlyFHng==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@nuxt/kit": "^3.15.4",
|
||||||
|
"consola": "^3.4.0",
|
||||||
|
"html-validate": "~9.4.0",
|
||||||
|
"knitwork": "^1.2.0",
|
||||||
|
"pathe": "^2.0.3",
|
||||||
|
"prettier": "^3.5.2",
|
||||||
|
"std-env": "^3.8.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@nuxtjs/mdc": {
|
"node_modules/@nuxtjs/mdc": {
|
||||||
"version": "0.17.0",
|
"version": "0.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@nuxtjs/mdc/-/mdc-0.17.0.tgz",
|
"resolved": "https://registry.npmjs.org/@nuxtjs/mdc/-/mdc-0.17.0.tgz",
|
||||||
@ -4050,6 +4087,30 @@
|
|||||||
"integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
|
"integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@sidvind/better-ajv-errors": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-++1mEYIeozfnwWI9P1ECvOPoacy+CgDASrmGvXPMCcqgx0YUzB01vZ78uHdQ443V6sTY+e9MzHqmN9DOls02aw==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"kleur": "^4.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16.14"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"ajv": "^6.12.3 || ^7.0.0 || ^8.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@sidvind/better-ajv-errors/node_modules/kleur": {
|
||||||
|
"version": "4.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
|
||||||
|
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@sindresorhus/is": {
|
"node_modules/@sindresorhus/is": {
|
||||||
"version": "7.0.2",
|
"version": "7.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.0.2.tgz",
|
||||||
@ -5649,7 +5710,6 @@
|
|||||||
"version": "6.12.6",
|
"version": "6.12.6",
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||||
"devOptional": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fast-deep-equal": "^3.1.1",
|
"fast-deep-equal": "^3.1.1",
|
||||||
@ -9054,7 +9114,6 @@
|
|||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
||||||
"devOptional": true,
|
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/fast-levenshtein": {
|
"node_modules/fast-levenshtein": {
|
||||||
@ -9073,6 +9132,22 @@
|
|||||||
"url": "https://github.com/sponsors/antfu"
|
"url": "https://github.com/sponsors/antfu"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/fast-uri": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/fastify"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/fastify"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
"node_modules/fastq": {
|
"node_modules/fastq": {
|
||||||
"version": "1.19.1",
|
"version": "1.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
|
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
|
||||||
@ -10130,6 +10205,85 @@
|
|||||||
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/html-validate": {
|
||||||
|
"version": "9.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/html-validate/-/html-validate-9.4.2.tgz",
|
||||||
|
"integrity": "sha512-lvorU3Q320MMD6ryh0FupMJ5DOKsNKxwdKba+ig4cUYEBQ3SUnANBMCv5OaxwKqd2VCKQPlveXb3K1zqJsfV0Q==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/html-validate"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@html-validate/stylish": "^4.1.0",
|
||||||
|
"@sidvind/better-ajv-errors": "3.0.1",
|
||||||
|
"ajv": "^8.0.0",
|
||||||
|
"glob": "^10.0.0",
|
||||||
|
"kleur": "^4.1.0",
|
||||||
|
"minimist": "^1.2.0",
|
||||||
|
"prompts": "^2.0.0",
|
||||||
|
"semver": "^7.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"html-validate": "bin/html-validate.mjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.19.0 || >= 20.6.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"jest": "^27.1 || ^28.1.3 || ^29.0.3",
|
||||||
|
"jest-diff": "^27.1 || ^28.1.3 || ^29.0.3",
|
||||||
|
"jest-snapshot": "^27.1 || ^28.1.3 || ^29.0.3",
|
||||||
|
"vitest": "^0.34.0 || ^1.0.0 || ^2.0.0 || ^3.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"jest": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"jest-diff": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"jest-snapshot": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"vitest": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/html-validate/node_modules/ajv": {
|
||||||
|
"version": "8.17.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
||||||
|
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"fast-deep-equal": "^3.1.3",
|
||||||
|
"fast-uri": "^3.0.1",
|
||||||
|
"json-schema-traverse": "^1.0.0",
|
||||||
|
"require-from-string": "^2.0.2"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/epoberezkin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/html-validate/node_modules/json-schema-traverse": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/html-validate/node_modules/kleur": {
|
||||||
|
"version": "4.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
|
||||||
|
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/html-void-elements": {
|
"node_modules/html-void-elements": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
|
||||||
@ -10955,7 +11109,6 @@
|
|||||||
"version": "0.4.1",
|
"version": "0.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||||
"devOptional": true,
|
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/json-stable-stringify-without-jsonify": {
|
"node_modules/json-stable-stringify-without-jsonify": {
|
||||||
@ -15117,7 +15270,6 @@
|
|||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
||||||
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
|
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
|
||||||
"devOptional": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
@ -15744,6 +15896,15 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/require-from-string": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/require-package-name": {
|
"node_modules/require-package-name": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz",
|
||||||
@ -18230,7 +18391,6 @@
|
|||||||
"version": "4.4.1",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
||||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||||
"devOptional": true,
|
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"punycode": "^2.1.0"
|
"punycode": "^2.1.0"
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
"@nuxt/fonts": "^0.11.4",
|
"@nuxt/fonts": "^0.11.4",
|
||||||
"@nuxt/icon": "^1.13.0",
|
"@nuxt/icon": "^1.13.0",
|
||||||
"@nuxt/image": "^1.10.0",
|
"@nuxt/image": "^1.10.0",
|
||||||
|
"@nuxtjs/html-validator": "^2.1.0",
|
||||||
"@nuxtjs/robots": "^5.2.10",
|
"@nuxtjs/robots": "^5.2.10",
|
||||||
"@nuxtjs/sitemap": "^7.4.0",
|
"@nuxtjs/sitemap": "^7.4.0",
|
||||||
"@pinia/nuxt": "^0.5.5",
|
"@pinia/nuxt": "^0.5.5",
|
||||||
|
@ -9,12 +9,7 @@
|
|||||||
<!--левый блок контента-->
|
<!--левый блок контента-->
|
||||||
<section class="relative top-[-20px] min-w-[570px]">
|
<section class="relative top-[-20px] min-w-[570px]">
|
||||||
<div class="flex flex-col items-center">
|
<div class="flex flex-col items-center">
|
||||||
<img
|
<img :src="book.img" :alt="book.buttonText" />
|
||||||
:src="book.img"
|
|
||||||
:alt="book.buttonText"
|
|
||||||
width="100%"
|
|
||||||
height="100%"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!--правый блок контента-->
|
<!--правый блок контента-->
|
||||||
@ -68,12 +63,7 @@
|
|||||||
class="flex flex-row mr-14 items-center justify-between lg:whitespace-nowrap"
|
class="flex flex-row mr-14 items-center justify-between lg:whitespace-nowrap"
|
||||||
>
|
>
|
||||||
<li class="flex flex-row mr-14 gap-3 items-center">
|
<li class="flex flex-row mr-14 gap-3 items-center">
|
||||||
<img
|
<img src="/img/svg/books/book-pages.svg" alt="страниц" />
|
||||||
src="/img/svg/books/book-pages.svg"
|
|
||||||
alt="страниц"
|
|
||||||
width="100%"
|
|
||||||
height="100%"
|
|
||||||
/>
|
|
||||||
<UiParagraph size="250" as="span">
|
<UiParagraph size="250" as="span">
|
||||||
{{ book.pages }}
|
{{ book.pages }}
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
@ -82,20 +72,13 @@
|
|||||||
<img
|
<img
|
||||||
src="/img/svg/books/book-illustrations.svg"
|
src="/img/svg/books/book-illustrations.svg"
|
||||||
alt="иллюстраций"
|
alt="иллюстраций"
|
||||||
width="100%"
|
|
||||||
height="100%"
|
|
||||||
/>
|
/>
|
||||||
<UiParagraph size="250" as="span">
|
<UiParagraph size="250" as="span">
|
||||||
{{ book.illust }}
|
{{ book.illust }}
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
</li>
|
</li>
|
||||||
<li class="flex flex-row mr-14 gap-3 items-center">
|
<li class="flex flex-row mr-14 gap-3 items-center">
|
||||||
<img
|
<img src="/img/svg/books/book-formats.svg" alt="формат" />
|
||||||
src="/img/svg/books/book-formats.svg"
|
|
||||||
alt="формат"
|
|
||||||
width="100%"
|
|
||||||
height="100%"
|
|
||||||
/>
|
|
||||||
<UiParagraph size="250" as="span">
|
<UiParagraph size="250" as="span">
|
||||||
{{ book.format }}
|
{{ book.format }}
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
@ -170,7 +153,7 @@
|
|||||||
<!--нижний блок-->
|
<!--нижний блок-->
|
||||||
<section class="ml-20 mt-32">
|
<section class="ml-20 mt-32">
|
||||||
<div>
|
<div>
|
||||||
<UiHeading tag="H2" size="300" class="text-three">
|
<UiHeading tag="h2" size="300" class="text-three">
|
||||||
Что ты узнаешь
|
Что ты узнаешь
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
<ul class="flex mt-20 flex-row items-center justify-between">
|
<ul class="flex mt-20 flex-row items-center justify-between">
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
class="flex flex-col gap-4"
|
class="flex flex-col gap-4"
|
||||||
>
|
>
|
||||||
<!-- Main section title -->
|
<!-- Main section title -->
|
||||||
<UiHeading tag="H2" size="300" class="text-three [&]:font-normal">
|
<UiHeading tag="h2" size="300" class="text-three [&]:font-normal">
|
||||||
{{ section.title }}
|
{{ section.title }}
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="feedback-section">
|
<section class="feedback-section">
|
||||||
<UiHeading tag="H2" size="300" class="text-three mb-4 pl-16 pr-24">
|
<UiHeading tag="h2" size="300" class="text-three mb-4 pl-16 pr-24">
|
||||||
Что говорят читатели
|
Что говорят читатели
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
|
|
||||||
@ -18,7 +18,9 @@
|
|||||||
class="swiper-slide feedback-slide !w-[356px] !h-[325px]"
|
class="swiper-slide feedback-slide !w-[356px] !h-[325px]"
|
||||||
>
|
>
|
||||||
<div class="feedback-card !w-full !h-full">
|
<div class="feedback-card !w-full !h-full">
|
||||||
<UiParagraph size="250" class="card-text">{{ feedback.text }}</UiParagraph>
|
<UiParagraph size="250" class="card-text">{{
|
||||||
|
feedback.text
|
||||||
|
}}</UiParagraph>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -36,34 +38,34 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted } from 'vue'
|
import { onMounted } from "vue";
|
||||||
import Swiper from 'swiper'
|
import Swiper from "swiper";
|
||||||
import { Pagination, Autoplay } from 'swiper/modules'
|
import { Pagination, Autoplay } from "swiper/modules";
|
||||||
import UiHeading from '@/components/Typography/UiHeading.vue'
|
import UiHeading from "@/components/Typography/UiHeading.vue";
|
||||||
import UiParagraph from '@/components/Typography/UiParagraph.vue'
|
import UiParagraph from "@/components/Typography/UiParagraph.vue";
|
||||||
import feedbackData from './_data/feedback.data'
|
import feedbackData from "./_data/feedback.data";
|
||||||
|
|
||||||
import 'swiper/css'
|
import "swiper/css";
|
||||||
import 'swiper/css/pagination'
|
import "swiper/css/pagination";
|
||||||
import UiButton from '@/components/UiButton/UiButton.vue'
|
import UiButton from "@/components/UiButton/UiButton.vue";
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
new Swiper('.feedback-swiper', {
|
new Swiper(".feedback-swiper", {
|
||||||
modules: [Pagination, Autoplay],
|
modules: [Pagination, Autoplay],
|
||||||
direction: 'horizontal',
|
direction: "horizontal",
|
||||||
loop: true,
|
loop: true,
|
||||||
autoplay: {
|
autoplay: {
|
||||||
delay: 3000,
|
delay: 3000,
|
||||||
disableOnInteraction: false,
|
disableOnInteraction: false,
|
||||||
},
|
},
|
||||||
slidesPerView: 'auto',
|
slidesPerView: "auto",
|
||||||
spaceBetween: 72,
|
spaceBetween: 72,
|
||||||
pagination: {
|
pagination: {
|
||||||
el: '.swiper-pagination',
|
el: ".swiper-pagination",
|
||||||
clickable: false,
|
clickable: false,
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="css" scoped>
|
<style lang="css" scoped>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<section>
|
<section>
|
||||||
<UiHeading tag="H2" size="300" class="text-three">
|
<UiHeading tag="h1" size="300" class="text-three">
|
||||||
Книги для тебя, если ты не знаешь...
|
Книги для тебя, если ты не знаешь...
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
<ul class="flex mt-20 flex-row items-center justify-between">
|
<ul class="flex mt-20 flex-row items-center justify-between">
|
||||||
@ -19,36 +19,36 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import UiHeading from '@/components/Typography/UiHeading.vue'
|
import UiHeading from "@/components/Typography/UiHeading.vue";
|
||||||
import UiParagraph from '@/components/Typography/UiParagraph.vue'
|
import UiParagraph from "@/components/Typography/UiParagraph.vue";
|
||||||
import { reactive } from 'vue'
|
import { reactive } from "vue";
|
||||||
|
|
||||||
const questions = reactive({
|
const questions = reactive({
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
img: '/img/svg/ellipse1.svg',
|
img: "/img/svg/ellipse1.svg",
|
||||||
text: 'Что делать, если у тебя ноги не "от ушей" и ты далеко не Мисс Мира?',
|
text: 'Что делать, если у тебя ноги не "от ушей" и ты далеко не Мисс Мира?',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/img/svg/ellipse2.svg',
|
img: "/img/svg/ellipse2.svg",
|
||||||
text: 'Как начать легко общаться с противоположным полом и о чем надо помолчать?',
|
text: "Как начать легко общаться с противоположным полом и о чем надо помолчать?",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/img/svg/ellipse3.svg',
|
img: "/img/svg/ellipse3.svg",
|
||||||
text: 'Как относиться к сексу и на сколько важна девичья невинность?',
|
text: "Как относиться к сексу и на сколько важна девичья невинность?",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/img/svg/ellipse4.svg',
|
img: "/img/svg/ellipse4.svg",
|
||||||
text: 'Сколько нужно заниматься, чтобы обрести НОВУЮ себя?',
|
text: "Сколько нужно заниматься, чтобы обрести НОВУЮ себя?",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/img/svg/ellipse5.svg',
|
img: "/img/svg/ellipse5.svg",
|
||||||
text: 'Как выработать стратегию долгосрочных отношений?',
|
text: "Как выработать стратегию долгосрочных отношений?",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/img/svg/ellipse6.svg',
|
img: "/img/svg/ellipse6.svg",
|
||||||
text: 'Как добиться того, чтоб парень делал так, как ты хочешь, но думал, что он сам так решил?',
|
text: "Как добиться того, чтоб парень делал так, как ты хочешь, но думал, что он сам так решил?",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<section>
|
<section>
|
||||||
<div class="relative z-50">
|
<div class="relative z-50">
|
||||||
<img
|
<img src="/assets/img/webp/hero-banner-content.webp" alt="Книги" />
|
||||||
src="/assets/img/webp/hero-banner-content.webp"
|
|
||||||
alt="Книги"
|
|
||||||
width="100%"
|
|
||||||
height="100%"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-row justify-between pl-16 pr-24">
|
<div class="flex flex-row justify-between pl-16 pr-24">
|
||||||
<BuyContent />
|
<BuyContent />
|
||||||
@ -14,5 +9,5 @@
|
|||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import BuyContent from './_ui/buyContent.vue'
|
import BuyContent from "./_ui/buyContent.vue";
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,38 +1,37 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="flex flex-row">
|
<section class="flex flex-row">
|
||||||
<div class="lg:w-5/12 pl-5 pr-5 shadow-md bg-[url('/assets/img/png/shadow.png')]">
|
<div
|
||||||
<UiHeading tag="H2" size="300" class="text-three mb-4 mt-5">
|
class="lg:w-5/12 pl-5 pr-5 shadow-md bg-[url('/assets/img/png/shadow.png')]"
|
||||||
|
>
|
||||||
|
<UiHeading tag="h2" size="300" class="text-three mb-4 mt-5">
|
||||||
💔 Ты не одна.
|
💔 Ты не одна.
|
||||||
<br />Я знаю, через что ты<br />
|
<br />Я знаю, через что ты<br />
|
||||||
проходишь.
|
проходишь.
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
<UiParagraph size="250" class="xl:max-w-[392px] mb-5"
|
<UiParagraph size="250" class="xl:max-w-[392px] mb-5"
|
||||||
>Когда ты снова и снова отдаёшь сердце, а в ответ — тишина или игра, это ранит. Я знаю это
|
>Когда ты снова и снова отдаёшь сердце, а в ответ — тишина или игра, это
|
||||||
чувство. Я был по ту сторону: манипулировал, очаровывал, уходил.
|
ранит. Я знаю это чувство. Я был по ту сторону: манипулировал,
|
||||||
|
очаровывал, уходил.
|
||||||
|
|
||||||
<br /><br />Я — бывший Казанова. И однажды я понял: больше так нельзя.
|
<br /><br />Я — бывший Казанова. И однажды я понял: больше так нельзя.
|
||||||
|
|
||||||
<br /><br />Эти книги — не теория. Это ключ к пониманию, как устроена мужская психология,
|
<br /><br />Эти книги — не теория. Это ключ к пониманию, как устроена
|
||||||
чего на самом деле хочет мужчина, и как перестать теряться в отношениях.
|
мужская психология, чего на самом деле хочет мужчина, и как перестать
|
||||||
|
теряться в отношениях.
|
||||||
|
|
||||||
<br /><br />Я написал их для тебя — чтобы ты могла быть счастливой, не прогибаясь, не
|
<br /><br />Я написал их для тебя — чтобы ты могла быть счастливой, не
|
||||||
умоляя, не теряя себя. Если ты устала «играть», если хочешь любви по-настоящему — начни с
|
прогибаясь, не умоляя, не теряя себя. Если ты устала «играть», если
|
||||||
первой страницы. В этих книгах нет воды. Только правда.</UiParagraph
|
хочешь любви по-настоящему — начни с первой страницы. В этих книгах нет
|
||||||
|
воды. Только правда.</UiParagraph
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="lg:w-7/12">
|
<div class="lg:w-7/12">
|
||||||
<NuxtImg
|
<NuxtImg src="/img/webp/meetingAlone.webp" alt="meeting" loading="lazy" />
|
||||||
src="/img/webp/meetingAlone.webp"
|
|
||||||
alt="meeting"
|
|
||||||
width="100%"
|
|
||||||
height="100%"
|
|
||||||
loading="lazy"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import UiHeading from '@/components/Typography/UiHeading.vue'
|
import UiHeading from "@/components/Typography/UiHeading.vue";
|
||||||
import UiParagraph from '@/components/Typography/UiParagraph.vue'
|
import UiParagraph from "@/components/Typography/UiParagraph.vue";
|
||||||
</script>
|
</script>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
предоставляют при использовании нашего сайта.</UiParagraph
|
предоставляют при использовании нашего сайта.</UiParagraph
|
||||||
>
|
>
|
||||||
|
|
||||||
<UiHeading size="300" tag="H2">1. Сбор информации</UiHeading>
|
<UiHeading size="300" tag="h2">1. Сбор информации</UiHeading>
|
||||||
<UiParagraph size="300"
|
<UiParagraph size="300"
|
||||||
>При оформлении заказа на сайте вы предоставляете персональные данные,
|
>При оформлении заказа на сайте вы предоставляете персональные данные,
|
||||||
которые включают:</UiParagraph
|
которые включают:</UiParagraph
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<li><UiParagraph size="300">Имя (по желанию)</UiParagraph></li>
|
<li><UiParagraph size="300">Имя (по желанию)</UiParagraph></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<UiHeading size="300" tag="H2">2. Использование информации</UiHeading>
|
<UiHeading size="300" tag="h2">2. Использование информации</UiHeading>
|
||||||
<UiParagraph size="300" class="mb-3"
|
<UiParagraph size="300" class="mb-3"
|
||||||
>Ваши личные данные используются исключительно для:</UiParagraph
|
>Ваши личные данные используются исключительно для:</UiParagraph
|
||||||
>
|
>
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<UiHeading size="300" tag="H2">3. Защита личных данных</UiHeading>
|
<UiHeading size="300" tag="h2">3. Защита личных данных</UiHeading>
|
||||||
<UiParagraph size="300" class="mb-3">
|
<UiParagraph size="300" class="mb-3">
|
||||||
Мы предпринимаем необходимые меры для защиты ваших личных данных от
|
Мы предпринимаем необходимые меры для защиты ваших личных данных от
|
||||||
несанкционированного доступа, изменения, разглашения или уничтожения.
|
несанкционированного доступа, изменения, разглашения или уничтожения.
|
||||||
@ -48,7 +48,7 @@
|
|||||||
участвующие в обработке заказов.
|
участвующие в обработке заказов.
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
|
|
||||||
<UiHeading size="300" tag="H2"
|
<UiHeading size="300" tag="h2"
|
||||||
>4. Передача информации третьим лицам</UiHeading
|
>4. Передача информации третьим лицам</UiHeading
|
||||||
>
|
>
|
||||||
<UiParagraph size="300" class="mb-3">
|
<UiParagraph size="300" class="mb-3">
|
||||||
@ -56,14 +56,14 @@
|
|||||||
предусмотренных законодательством Российской Федерации.
|
предусмотренных законодательством Российской Федерации.
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
|
|
||||||
<UiHeading size="300" tag="H2">5. Cookies (Куки-файлы)</UiHeading>
|
<UiHeading size="300" tag="h2">5. Cookies (Куки-файлы)</UiHeading>
|
||||||
<UiParagraph size="300" class="mb-3">
|
<UiParagraph size="300" class="mb-3">
|
||||||
Мы используем файлы cookie, чтобы улучшить ваш пользовательский опыт. Вы
|
Мы используем файлы cookie, чтобы улучшить ваш пользовательский опыт. Вы
|
||||||
можете отключить файлы cookie в настройках вашего браузера, однако это
|
можете отключить файлы cookie в настройках вашего браузера, однако это
|
||||||
может ограничить доступ к некоторым функциям сайта.
|
может ограничить доступ к некоторым функциям сайта.
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
|
|
||||||
<UiHeading size="300" tag="H2"
|
<UiHeading size="300" tag="h2"
|
||||||
>6. Изменения в политике конфиденциальности</UiHeading
|
>6. Изменения в политике конфиденциальности</UiHeading
|
||||||
>
|
>
|
||||||
<UiParagraph size="300" class="mb-3">
|
<UiParagraph size="300" class="mb-3">
|
||||||
@ -72,7 +72,7 @@
|
|||||||
странице.
|
странице.
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
|
|
||||||
<UiHeading size="300" tag="H2">7. Ваше согласие</UiHeading>
|
<UiHeading size="300" tag="h2">7. Ваше согласие</UiHeading>
|
||||||
<UiParagraph size="300"
|
<UiParagraph size="300"
|
||||||
>Используя наш сайт, вы соглашаетесь с условиями данной политики
|
>Используя наш сайт, вы соглашаетесь с условиями данной политики
|
||||||
конфиденциальности.</UiParagraph
|
конфиденциальности.</UiParagraph
|
||||||
|
Reference in New Issue
Block a user