diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
new file mode 100644
index 0000000..0ae4d62
--- /dev/null
+++ b/.github/workflows/main.yaml
@@ -0,0 +1,137 @@
+name: Build and deploy
+
+on:
+ push:
+ branches:
+ - 'main'
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Notify Telegram start building
+ uses: appleboy/telegram-action@master
+ with:
+ to: ${{ secrets.TELEGRAM_CHAT_ID }}
+ token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+ message: |
+ 🚀 Запуск сборки!
+ Сервер: ${{ secrets.SERVER_NAME }}
+ Репозиторий: ${{ github.repository }}
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Build and push
+ uses: docker/build-push-action@v5
+ with:
+ push: true
+ tags: smallbuster/ocenka-web:latest
+ build-args: |
+ NEXT_PUBLIC_MAIL_USER=${{ secrets.NEXT_PUBLIC_MAIL_USER }}
+ NEXT_PUBLIC_MAIL_PASS=${{ secrets.NEXT_PUBLIC_MAIL_PASS }}
+ NEXT_PUBLIC_MAIL_FROM=${{ secrets.NEXT_PUBLIC_MAIL_FROM }}
+ NEXT_PUBLIC_MAIL_TO=${{ secrets.NEXT_PUBLIC_MAIL_TO }}
+ NEXT_PUBLIC_MAIL_SECURE_KEY=${{ secrets.NEXT_PUBLIC_MAIL_SECURE_KEY }}
+
+ - name: Notify Telegram about success
+ if: success()
+ uses: appleboy/telegram-action@master
+ with:
+ to: ${{ secrets.TELEGRAM_CHAT_ID }}
+ token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+ message: |
+ ✅ Сборка успешно завершена!
+ Сервер: ${{ secrets.SERVER_NAME }}
+ Репозиторий: ${{ github.repository }}
+ Ветка: ${{ github.ref_name }}
+ Коммит: ${{ github.sha }}
+
+ - name: Notify Telegram about failure
+ if: failure()
+ uses: appleboy/telegram-action@master
+ with:
+ to: ${{ secrets.TELEGRAM_CHAT_ID }}
+ token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+ message: |
+ ❌ Сборка проекта неудачна!
+ Сервер: ${{ secrets.SERVER_NAME }}
+ Репозиторий: ${{ github.repository }}
+ Ветка: ${{ github.ref_name }}
+ Коммит: ${{ github.sha }}
+ Подробности: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+
+ deploy:
+ runs-on: self-hosted
+ needs: build
+ steps:
+ - name: Notify Telegram start deploy
+ uses: appleboy/telegram-action@master
+ with:
+ to: ${{ secrets.TELEGRAM_CHAT_ID }}
+ token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+ message: |
+ 🐳 Запуск деплоя!
+ Сервер: ${{ secrets.SERVER_NAME }}
+ Репозиторий: ${{ github.repository }}
+
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Set up Docker Compose
+ run: |
+ docker compose version
+
+ - name: Stop and remove existing containers
+ run: |
+ docker compose -f docker-compose.yaml down || true
+
+ - name: Pull Docker images
+ run: |
+ docker compose -f docker-compose.yaml pull
+
+ - name: Start containers
+ run: |
+ docker compose -f docker-compose.yaml up -d
+
+ - name: Notify Telegram about success
+ if: success()
+ uses: appleboy/telegram-action@master
+ with:
+ to: ${{ secrets.TELEGRAM_CHAT_ID }}
+ token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+ message: |
+ ✅ Деплой успешно завершен!
+ Сервер: ${{ secrets.SERVER_NAME }}
+ Репозиторий: ${{ github.repository }}
+ Ветка: ${{ github.ref_name }}
+ Коммит: ${{ github.sha }}
+
+ - name: Notify Telegram about failure
+ if: failure()
+ uses: appleboy/telegram-action@master
+ with:
+ to: ${{ secrets.TELEGRAM_CHAT_ID }}
+ token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+ message: |
+ ❌ Деплой не удался!
+ Сервер: ${{ secrets.SERVER_NAME }}
+ Репозиторий: ${{ github.repository }}
+ Ветка: ${{ github.ref_name }}
+ Коммит: ${{ github.sha }}
+ Подробности: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..e6ef4f3
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 2d3eca1..1b5e612 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,31 +5,105 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -37,7 +111,7 @@
-
+
@@ -65,36 +139,39 @@
- {
+ "keyToString": {
+ "ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
+ "ModuleVcsDetector.initialDetectionPerformed": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
+ "RunOnceActivity.git.unshallow": "true",
+ "RunOnceActivity.typescript.service.memoryLimit.init": "true",
+ "SHARE_PROJECT_CONFIGURATION_FILES": "true",
+ "com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true",
+ "git-widget-placeholder": "dev",
+ "ignore.virus.scanning.warn.message": "true",
+ "javascript.preferred.runtime.type.id": "node",
+ "js.debugger.nextJs.config.created.client": "true",
+ "js.debugger.nextJs.config.created.server": "true",
+ "junie.onboarding.icon.badge.shown": "true",
+ "list.type.of.created.stylesheet": "SCSS",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "npm.Next.js: server-side.executor": "Run",
+ "prettierjs.PrettierConfiguration.Package": "C:\\dev-personal\\ocenka-web\\node_modules\\prettier",
+ "settings.editor.selected.configurable": "terminal",
+ "to.speed.mode.migration.done": "true",
+ "ts.external.directory.path": "C:\\dev-personal\\ocenka-web\\node_modules\\typescript\\lib",
+ "vue.rearranger.settings.migration": "true"
}
-}]]>
+}
+
@@ -139,9 +216,12 @@
-
-
-
+
+
+
+
+
+
diff --git a/Dockerfile b/Dockerfile
index d9242e6..7685290 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,6 +13,19 @@ RUN npm install --frozen-lockfile
# Копируем все файлы проекта
COPY . .
+# Аргумент сборки для переменной окружения
+ARG NEXT_PUBLIC_MAIL_USER
+ARG NEXT_PUBLIC_MAIL_PASS
+ARG NEXT_PUBLIC_MAIL_FROM
+ARG NEXT_PUBLIC_MAIL_TO
+ARG NEXT_PUBLIC_MAIL_SECURE_KEY
+
+ENV NEXT_PUBLIC_MAIL_USER=$NEXT_PUBLIC_MAIL_USER \
+ NEXT_PUBLIC_MAIL_PASS=$NEXT_PUBLIC_MAIL_PASS \
+ NEXT_PUBLIC_MAIL_FROM=$NEXT_PUBLIC_MAIL_FROM \
+ NEXT_PUBLIC_MAIL_TO=$NEXT_PUBLIC_MAIL_TO \
+ NEXT_PUBLIC_MAIL_SECURE_KEY=$NEXT_PUBLIC_MAIL_SECURE_KEY
+
# Собираем приложение
RUN npm run build
@@ -21,7 +34,12 @@ FROM node:22-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production \
- NEXT_TELEMETRY_DISABLED=1
+ NEXT_TELEMETRY_DISABLED=1 \
+ NEXT_PUBLIC_MAIL_USER=$NEXT_PUBLIC_MAIL_USER \
+ NEXT_PUBLIC_MAIL_PASS=$NEXT_PUBLIC_MAIL_PASS \
+ NEXT_PUBLIC_MAIL_FROM=$NEXT_PUBLIC_MAIL_FROM \
+ NEXT_PUBLIC_MAIL_TO=$NEXT_PUBLIC_MAIL_TO \
+ NEXT_PUBLIC_MAIL_SECURE_KEY=$NEXT_PUBLIC_MAIL_SECURE_KEY
# Включаем node пользователя
RUN addgroup -g 1001 -S nodejs
diff --git a/package-lock.json b/package-lock.json
index 3c1ea54..b11a7aa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,7 +15,7 @@
"libphonenumber-js": "^1.12.9",
"next": "^15.5.7",
"nodemailer": "7.0.11",
- "puppeteer": "^24.32.0",
+ "puppeteer": "^24.32.1",
"react": "19.1.1",
"react-dom": "19.1.1",
"react-hook-form": "^7.60.0",
@@ -31,7 +31,7 @@
"@types/react": "19.1.11",
"@types/react-dom": "19.1.8",
"clsx": "^2.1.1",
- "eslint": "^9",
+ "eslint": "^9.39.1",
"eslint-config-next": "15.5.2",
"husky": "^9.1.7",
"lint-staged": "^16.1.2",
@@ -97,9 +97,9 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
- "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -139,13 +139,13 @@
}
},
"node_modules/@eslint/config-array": {
- "version": "0.20.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz",
- "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
+ "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/object-schema": "^2.1.6",
+ "@eslint/object-schema": "^2.1.7",
"debug": "^4.3.1",
"minimatch": "^3.1.2"
},
@@ -154,19 +154,22 @@
}
},
"node_modules/@eslint/config-helpers": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz",
- "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
+ "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
"dev": true,
"license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0"
+ },
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@eslint/core": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
- "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
+ "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -201,9 +204,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.29.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz",
- "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==",
+ "version": "9.39.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz",
+ "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -214,9 +217,9 @@
}
},
"node_modules/@eslint/object-schema": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
+ "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -224,32 +227,19 @@
}
},
"node_modules/@eslint/plugin-kit": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz",
- "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
+ "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/core": "^0.15.0",
+ "@eslint/core": "^0.17.0",
"levn": "^0.4.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz",
- "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
"node_modules/@hookform/resolvers": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.1.1.tgz",
@@ -2035,20 +2025,6 @@
"node": ">= 0.4"
}
},
- "node_modules/b4a": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz",
- "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==",
- "license": "Apache-2.0",
- "peerDependencies": {
- "react-native-b4a": "*"
- },
- "peerDependenciesMeta": {
- "react-native-b4a": {
- "optional": true
- }
- }
- },
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -3057,26 +3033,25 @@
}
},
"node_modules/eslint": {
- "version": "9.29.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz",
- "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==",
+ "version": "9.39.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz",
+ "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.20.1",
- "@eslint/config-helpers": "^0.2.1",
- "@eslint/core": "^0.14.0",
+ "@eslint/config-array": "^0.21.1",
+ "@eslint/config-helpers": "^0.4.2",
+ "@eslint/core": "^0.17.0",
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.29.0",
- "@eslint/plugin-kit": "^0.3.1",
+ "@eslint/js": "9.39.1",
+ "@eslint/plugin-kit": "^0.4.1",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
"@types/estree": "^1.0.6",
- "@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.6",
@@ -5607,9 +5582,9 @@
}
},
"node_modules/puppeteer": {
- "version": "24.32.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.32.0.tgz",
- "integrity": "sha512-exyxHPV5DSsigIhM/pzLcyzl5XU4Dp5lNP+APwIeStDxAdYqpMnJ1qN0QHXghjJx+cQJczby+ySH5rgv/5GQLw==",
+ "version": "24.32.1",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.32.1.tgz",
+ "integrity": "sha512-wa8vGswFjH1iCyG6bGGydIYssEBluXixbMibK4x2x6/lIAuR87gF+c+Jjzom2Wiw/dDOtuki89VBurRWrgYaUA==",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
@@ -5617,7 +5592,7 @@
"chromium-bidi": "11.0.0",
"cosmiconfig": "^9.0.0",
"devtools-protocol": "0.0.1534754",
- "puppeteer-core": "24.32.0",
+ "puppeteer-core": "24.32.1",
"typed-query-selector": "^2.12.0"
},
"bin": {
@@ -5628,9 +5603,9 @@
}
},
"node_modules/puppeteer-core": {
- "version": "24.32.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.32.0.tgz",
- "integrity": "sha512-MqzLLeJjqjtHK9J44+KE3kjtXXhFpPvg+AvXl/oy/jB8MeeNH66/4MNotOTqGZ6MPaxWi51YJ1ASga6OIff6xw==",
+ "version": "24.32.1",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.32.1.tgz",
+ "integrity": "sha512-GdWTOgy3RqaW6Etgx93ydlVJ4FBJ6TmhMksG5W7v4uawKAzLHNj33k4kBQ1SFZ9NvoXNjhdQuIQ+uik2kWnarA==",
"license": "Apache-2.0",
"dependencies": {
"@puppeteer/browsers": "2.11.0",
@@ -6609,6 +6584,20 @@
"streamx": "^2.15.0"
}
},
+ "node_modules/tar-stream/node_modules/b4a": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz",
+ "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==",
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "react-native-b4a": "*"
+ },
+ "peerDependenciesMeta": {
+ "react-native-b4a": {
+ "optional": true
+ }
+ }
+ },
"node_modules/text-decoder": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
@@ -6618,6 +6607,20 @@
"b4a": "^1.6.4"
}
},
+ "node_modules/text-decoder/node_modules/b4a": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz",
+ "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==",
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "react-native-b4a": "*"
+ },
+ "peerDependenciesMeta": {
+ "react-native-b4a": {
+ "optional": true
+ }
+ }
+ },
"node_modules/tinyglobby": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
diff --git a/package.json b/package.json
index 1ac4e9d..1a8351b 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"libphonenumber-js": "^1.12.9",
"next": "^15.5.7",
"nodemailer": "7.0.11",
- "puppeteer": "^24.32.0",
+ "puppeteer": "^24.32.1",
"react": "19.1.1",
"react-dom": "19.1.1",
"react-hook-form": "^7.60.0",
@@ -34,7 +34,7 @@
"@types/react": "19.1.11",
"@types/react-dom": "19.1.8",
"clsx": "^2.1.1",
- "eslint": "^9",
+ "eslint": "^9.39.1",
"eslint-config-next": "15.5.2",
"husky": "^9.1.7",
"lint-staged": "^16.1.2",
diff --git a/public/BingSiteAuth.xml b/public/BingSiteAuth.xml
new file mode 100644
index 0000000..8977952
--- /dev/null
+++ b/public/BingSiteAuth.xml
@@ -0,0 +1,4 @@
+
+
+ 4B63A47B97DDCABE6EE4E276394ED761
+
\ No newline at end of file
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000..1853e2c
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 0000000..a99fb44
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/google33cf6327f5b28464.html b/public/google33cf6327f5b28464.html
new file mode 100644
index 0000000..8c8cf1c
--- /dev/null
+++ b/public/google33cf6327f5b28464.html
@@ -0,0 +1 @@
+google-site-verification: google33cf6327f5b28464.html
\ No newline at end of file
diff --git a/public/images/opengraph/expertise/auto.png b/public/images/opengraph/expertise/auto.png
new file mode 100644
index 0000000..204baf1
Binary files /dev/null and b/public/images/opengraph/expertise/auto.png differ
diff --git a/public/images/opengraph/expertise/buh.png b/public/images/opengraph/expertise/buh.png
new file mode 100644
index 0000000..bc5f593
Binary files /dev/null and b/public/images/opengraph/expertise/buh.png differ
diff --git a/public/images/opengraph/expertise/computer.png b/public/images/opengraph/expertise/computer.png
new file mode 100644
index 0000000..4b0aeea
Binary files /dev/null and b/public/images/opengraph/expertise/computer.png differ
diff --git a/public/images/opengraph/expertise/crime.png b/public/images/opengraph/expertise/crime.png
new file mode 100644
index 0000000..f672dca
Binary files /dev/null and b/public/images/opengraph/expertise/crime.png differ
diff --git a/public/images/opengraph/expertise/documents.png b/public/images/opengraph/expertise/documents.png
new file mode 100644
index 0000000..4cfcf2c
Binary files /dev/null and b/public/images/opengraph/expertise/documents.png differ
diff --git a/public/images/opengraph/expertise/finance.png b/public/images/opengraph/expertise/finance.png
new file mode 100644
index 0000000..2ed515e
Binary files /dev/null and b/public/images/opengraph/expertise/finance.png differ
diff --git a/public/images/opengraph/expertise/kadastr.png b/public/images/opengraph/expertise/kadastr.png
new file mode 100644
index 0000000..f8f2921
Binary files /dev/null and b/public/images/opengraph/expertise/kadastr.png differ
diff --git a/public/images/opengraph/expertise/ocenka.png b/public/images/opengraph/expertise/ocenka.png
new file mode 100644
index 0000000..4adf352
Binary files /dev/null and b/public/images/opengraph/expertise/ocenka.png differ
diff --git a/public/images/opengraph/expertise/pocherk.png b/public/images/opengraph/expertise/pocherk.png
new file mode 100644
index 0000000..005d97a
Binary files /dev/null and b/public/images/opengraph/expertise/pocherk.png differ
diff --git a/public/images/opengraph/expertise/pojar.png b/public/images/opengraph/expertise/pojar.png
new file mode 100644
index 0000000..c33aa57
Binary files /dev/null and b/public/images/opengraph/expertise/pojar.png differ
diff --git a/public/images/opengraph/expertise/recenzia.png b/public/images/opengraph/expertise/recenzia.png
new file mode 100644
index 0000000..5d55aff
Binary files /dev/null and b/public/images/opengraph/expertise/recenzia.png differ
diff --git a/public/images/opengraph/expertise/stroika.png b/public/images/opengraph/expertise/stroika.png
new file mode 100644
index 0000000..283d800
Binary files /dev/null and b/public/images/opengraph/expertise/stroika.png differ
diff --git a/public/images/opengraph/expertise/tovar.png b/public/images/opengraph/expertise/tovar.png
new file mode 100644
index 0000000..2e5ec3a
Binary files /dev/null and b/public/images/opengraph/expertise/tovar.png differ
diff --git a/public/images/opengraph/expertise/trasologia.png b/public/images/opengraph/expertise/trasologia.png
new file mode 100644
index 0000000..b948fc7
Binary files /dev/null and b/public/images/opengraph/expertise/trasologia.png differ
diff --git a/public/images/opengraph/expertise/zemlya.png b/public/images/opengraph/expertise/zemlya.png
new file mode 100644
index 0000000..57230db
Binary files /dev/null and b/public/images/opengraph/expertise/zemlya.png differ
diff --git a/public/images/opengraph/justice/bankrot.png b/public/images/opengraph/justice/bankrot.png
new file mode 100644
index 0000000..6191859
Binary files /dev/null and b/public/images/opengraph/justice/bankrot.png differ
diff --git a/public/images/opengraph/justice/jurid-dolgi.png b/public/images/opengraph/justice/jurid-dolgi.png
new file mode 100644
index 0000000..341019c
Binary files /dev/null and b/public/images/opengraph/justice/jurid-dolgi.png differ
diff --git a/public/images/opengraph/justice/pomosch-doljnikam.png b/public/images/opengraph/justice/pomosch-doljnikam.png
new file mode 100644
index 0000000..ed24567
Binary files /dev/null and b/public/images/opengraph/justice/pomosch-doljnikam.png differ
diff --git a/public/images/opengraph/justice/predstavitelstvo.png b/public/images/opengraph/justice/predstavitelstvo.png
new file mode 100644
index 0000000..0b722b5
Binary files /dev/null and b/public/images/opengraph/justice/predstavitelstvo.png differ
diff --git a/public/images/opengraph/justice/sdelki.png b/public/images/opengraph/justice/sdelki.png
new file mode 100644
index 0000000..bd4be1d
Binary files /dev/null and b/public/images/opengraph/justice/sdelki.png differ
diff --git a/public/images/opengraph/justice/spori-semeinye.png b/public/images/opengraph/justice/spori-semeinye.png
new file mode 100644
index 0000000..3490354
Binary files /dev/null and b/public/images/opengraph/justice/spori-semeinye.png differ
diff --git a/public/images/opengraph/justice/spori-strah.png b/public/images/opengraph/justice/spori-strah.png
new file mode 100644
index 0000000..353d649
Binary files /dev/null and b/public/images/opengraph/justice/spori-strah.png differ
diff --git a/public/images/opengraph/justice/spori-trud.png b/public/images/opengraph/justice/spori-trud.png
new file mode 100644
index 0000000..a27b1e2
Binary files /dev/null and b/public/images/opengraph/justice/spori-trud.png differ
diff --git a/public/images/opengraph/justice/spori-zem-imushestv.png b/public/images/opengraph/justice/spori-zem-imushestv.png
new file mode 100644
index 0000000..67abd81
Binary files /dev/null and b/public/images/opengraph/justice/spori-zem-imushestv.png differ
diff --git a/public/images/opengraph/justice/spory-dtp.png b/public/images/opengraph/justice/spory-dtp.png
new file mode 100644
index 0000000..3c1da4c
Binary files /dev/null and b/public/images/opengraph/justice/spory-dtp.png differ
diff --git a/public/images/opengraph/justice/vozvrat-strahovki.png b/public/images/opengraph/justice/vozvrat-strahovki.png
new file mode 100644
index 0000000..67794c9
Binary files /dev/null and b/public/images/opengraph/justice/vozvrat-strahovki.png differ
diff --git a/public/images/opengraph/main.png b/public/images/opengraph/main.png
new file mode 100644
index 0000000..5518509
Binary files /dev/null and b/public/images/opengraph/main.png differ
diff --git a/public/images/opengraph/ocenka/commerce/arenda.png b/public/images/opengraph/ocenka/commerce/arenda.png
new file mode 100644
index 0000000..5a456be
Binary files /dev/null and b/public/images/opengraph/ocenka/commerce/arenda.png differ
diff --git a/public/images/opengraph/ocenka/commerce/building.png b/public/images/opengraph/ocenka/commerce/building.png
new file mode 100644
index 0000000..611e4a2
Binary files /dev/null and b/public/images/opengraph/ocenka/commerce/building.png differ
diff --git a/public/images/opengraph/ocenka/commerce/commerce.png b/public/images/opengraph/ocenka/commerce/commerce.png
new file mode 100644
index 0000000..c5279a6
Binary files /dev/null and b/public/images/opengraph/ocenka/commerce/commerce.png differ
diff --git a/public/images/opengraph/ocenka/commerce/nezavers.png b/public/images/opengraph/ocenka/commerce/nezavers.png
new file mode 100644
index 0000000..7080896
Binary files /dev/null and b/public/images/opengraph/ocenka/commerce/nezavers.png differ
diff --git a/public/images/opengraph/ocenka/commerce/office.png b/public/images/opengraph/ocenka/commerce/office.png
new file mode 100644
index 0000000..70dd8b0
Binary files /dev/null and b/public/images/opengraph/ocenka/commerce/office.png differ
diff --git a/public/images/opengraph/ocenka/commerce/zdanie.png b/public/images/opengraph/ocenka/commerce/zdanie.png
new file mode 100644
index 0000000..0c8dfd3
Binary files /dev/null and b/public/images/opengraph/ocenka/commerce/zdanie.png differ
diff --git a/public/images/opengraph/ocenka/commerce/zemlya.png b/public/images/opengraph/ocenka/commerce/zemlya.png
new file mode 100644
index 0000000..af5fe8d
Binary files /dev/null and b/public/images/opengraph/ocenka/commerce/zemlya.png differ
diff --git a/public/images/opengraph/ocenka/ipoteka/sber.png b/public/images/opengraph/ocenka/ipoteka/sber.png
new file mode 100644
index 0000000..fe04a67
Binary files /dev/null and b/public/images/opengraph/ocenka/ipoteka/sber.png differ
diff --git a/public/images/opengraph/ocenka/ipoteka/vtb.png b/public/images/opengraph/ocenka/ipoteka/vtb.png
new file mode 100644
index 0000000..2e22775
Binary files /dev/null and b/public/images/opengraph/ocenka/ipoteka/vtb.png differ
diff --git a/public/images/opengraph/ocenka/property/business.png b/public/images/opengraph/ocenka/property/business.png
new file mode 100644
index 0000000..ce42b2a
Binary files /dev/null and b/public/images/opengraph/ocenka/property/business.png differ
diff --git a/public/images/opengraph/ocenka/property/cenn-bumagi.png b/public/images/opengraph/ocenka/property/cenn-bumagi.png
new file mode 100644
index 0000000..50828ce
Binary files /dev/null and b/public/images/opengraph/ocenka/property/cenn-bumagi.png differ
diff --git a/public/images/opengraph/ocenka/property/nedviga.png b/public/images/opengraph/ocenka/property/nedviga.png
new file mode 100644
index 0000000..007cfb0
Binary files /dev/null and b/public/images/opengraph/ocenka/property/nedviga.png differ
diff --git a/public/images/opengraph/ocenka/property/nmt.png b/public/images/opengraph/ocenka/property/nmt.png
new file mode 100644
index 0000000..ec57bdc
Binary files /dev/null and b/public/images/opengraph/ocenka/property/nmt.png differ
diff --git a/public/images/opengraph/ocenka/property/oborudov.png b/public/images/opengraph/ocenka/property/oborudov.png
new file mode 100644
index 0000000..ffde968
Binary files /dev/null and b/public/images/opengraph/ocenka/property/oborudov.png differ
diff --git a/public/images/opengraph/ocenka/property/recenzia.png b/public/images/opengraph/ocenka/property/recenzia.png
new file mode 100644
index 0000000..bac1f1a
Binary files /dev/null and b/public/images/opengraph/ocenka/property/recenzia.png differ
diff --git a/public/images/opengraph/ocenka/property/spec-tehnika.png b/public/images/opengraph/ocenka/property/spec-tehnika.png
new file mode 100644
index 0000000..255fffb
Binary files /dev/null and b/public/images/opengraph/ocenka/property/spec-tehnika.png differ
diff --git a/public/images/opengraph/ocenka/residential/cottage.png b/public/images/opengraph/ocenka/residential/cottage.png
new file mode 100644
index 0000000..73179cf
Binary files /dev/null and b/public/images/opengraph/ocenka/residential/cottage.png differ
diff --git a/public/images/opengraph/ocenka/residential/garazh.png b/public/images/opengraph/ocenka/residential/garazh.png
new file mode 100644
index 0000000..d771f76
Binary files /dev/null and b/public/images/opengraph/ocenka/residential/garazh.png differ
diff --git a/public/images/opengraph/ocenka/residential/kvartira.png b/public/images/opengraph/ocenka/residential/kvartira.png
new file mode 100644
index 0000000..9ef60ce
Binary files /dev/null and b/public/images/opengraph/ocenka/residential/kvartira.png differ
diff --git a/public/images/opengraph/ocenka/residential/pojar.png b/public/images/opengraph/ocenka/residential/pojar.png
new file mode 100644
index 0000000..c4201b1
Binary files /dev/null and b/public/images/opengraph/ocenka/residential/pojar.png differ
diff --git a/public/images/opengraph/ocenka/residential/uchastok.png b/public/images/opengraph/ocenka/residential/uchastok.png
new file mode 100644
index 0000000..6e01fb5
Binary files /dev/null and b/public/images/opengraph/ocenka/residential/uchastok.png differ
diff --git a/public/images/opengraph/ocenka/residential/uscherb.png b/public/images/opengraph/ocenka/residential/uscherb.png
new file mode 100644
index 0000000..e979a62
Binary files /dev/null and b/public/images/opengraph/ocenka/residential/uscherb.png differ
diff --git a/public/images/opengraph/ocenka/residential/zaliv.png b/public/images/opengraph/ocenka/residential/zaliv.png
new file mode 100644
index 0000000..adde8c3
Binary files /dev/null and b/public/images/opengraph/ocenka/residential/zaliv.png differ
diff --git a/public/images/opengraph/ocenka/situation/bank.png b/public/images/opengraph/ocenka/situation/bank.png
new file mode 100644
index 0000000..a559bde
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/bank.png differ
diff --git a/public/images/opengraph/ocenka/situation/bankrot.png b/public/images/opengraph/ocenka/situation/bankrot.png
new file mode 100644
index 0000000..4d7784e
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/bankrot.png differ
diff --git a/public/images/opengraph/ocenka/situation/ipoteka.png b/public/images/opengraph/ocenka/situation/ipoteka.png
new file mode 100644
index 0000000..50ccf49
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/ipoteka.png differ
diff --git a/public/images/opengraph/ocenka/situation/nasledstvo.png b/public/images/opengraph/ocenka/situation/nasledstvo.png
new file mode 100644
index 0000000..e914754
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/nasledstvo.png differ
diff --git a/public/images/opengraph/ocenka/situation/nedvijimost-sud.png b/public/images/opengraph/ocenka/situation/nedvijimost-sud.png
new file mode 100644
index 0000000..007cfb0
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/nedvijimost-sud.png differ
diff --git a/public/images/opengraph/ocenka/situation/nezavisim.png b/public/images/opengraph/ocenka/situation/nezavisim.png
new file mode 100644
index 0000000..93cef70
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/nezavisim.png differ
diff --git a/public/images/opengraph/ocenka/situation/notarius.png b/public/images/opengraph/ocenka/situation/notarius.png
new file mode 100644
index 0000000..d3e9c5f
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/notarius.png differ
diff --git a/public/images/opengraph/ocenka/situation/opeka.png b/public/images/opengraph/ocenka/situation/opeka.png
new file mode 100644
index 0000000..a29d3f6
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/opeka.png differ
diff --git a/public/images/opengraph/ocenka/situation/razvod.png b/public/images/opengraph/ocenka/situation/razvod.png
new file mode 100644
index 0000000..c1232ca
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/razvod.png differ
diff --git a/public/images/opengraph/ocenka/situation/strahovka.png b/public/images/opengraph/ocenka/situation/strahovka.png
new file mode 100644
index 0000000..c3495b2
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/strahovka.png differ
diff --git a/public/images/opengraph/ocenka/situation/uscherb.png b/public/images/opengraph/ocenka/situation/uscherb.png
new file mode 100644
index 0000000..4a5888e
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/uscherb.png differ
diff --git a/public/images/opengraph/ocenka/situation/ustavnoi.png b/public/images/opengraph/ocenka/situation/ustavnoi.png
new file mode 100644
index 0000000..a90efd7
Binary files /dev/null and b/public/images/opengraph/ocenka/situation/ustavnoi.png differ
diff --git a/public/images/opengraph/ocenka/transport/auto-rynok.png b/public/images/opengraph/ocenka/transport/auto-rynok.png
new file mode 100644
index 0000000..821565b
Binary files /dev/null and b/public/images/opengraph/ocenka/transport/auto-rynok.png differ
diff --git a/public/images/opengraph/ocenka/transport/auto-sud.png b/public/images/opengraph/ocenka/transport/auto-sud.png
new file mode 100644
index 0000000..0ec7589
Binary files /dev/null and b/public/images/opengraph/ocenka/transport/auto-sud.png differ
diff --git a/public/images/opengraph/ocenka/transport/avia.png b/public/images/opengraph/ocenka/transport/avia.png
new file mode 100644
index 0000000..764d9b2
Binary files /dev/null and b/public/images/opengraph/ocenka/transport/avia.png differ
diff --git a/public/images/opengraph/ocenka/transport/dtp.png b/public/images/opengraph/ocenka/transport/dtp.png
new file mode 100644
index 0000000..2aa1de6
Binary files /dev/null and b/public/images/opengraph/ocenka/transport/dtp.png differ
diff --git a/public/images/opengraph/ocenka/transport/moto.png b/public/images/opengraph/ocenka/transport/moto.png
new file mode 100644
index 0000000..08d0aff
Binary files /dev/null and b/public/images/opengraph/ocenka/transport/moto.png differ
diff --git a/public/images/opengraph/ocenka/transport/sea-boats.png b/public/images/opengraph/ocenka/transport/sea-boats.png
new file mode 100644
index 0000000..4183aca
Binary files /dev/null and b/public/images/opengraph/ocenka/transport/sea-boats.png differ
diff --git a/public/images/opengraph/ocenka/transport/uts.png b/public/images/opengraph/ocenka/transport/uts.png
new file mode 100644
index 0000000..c1e67b2
Binary files /dev/null and b/public/images/opengraph/ocenka/transport/uts.png differ
diff --git a/public/yandex_df77543931ea96af.html b/public/yandex_df77543931ea96af.html
new file mode 100644
index 0000000..8b4f686
--- /dev/null
+++ b/public/yandex_df77543931ea96af.html
@@ -0,0 +1,6 @@
+
+
+
+
+ Verification: df77543931ea96af
+
\ No newline at end of file
diff --git a/public/yml_ditraso.yml b/public/yml_ditraso.yml
new file mode 100644
index 0000000..bc9da2f
--- /dev/null
+++ b/public/yml_ditraso.yml
@@ -0,0 +1,555 @@
+
+
+
+ ООО "ДИ ТРАСО"
+ ООО "ДИ ТРАСО"
+ ocenka-sochi.ru
+ WordPress
+ 5
+ spo-71@ya.ru
+
+
+
+
+ Экспертиза
+ Юриспруденция
+ Оценка
+
+
+
+
+ 1
+
+
+ https://ocenka-sochi.ru/ekspertiza/avtoekspertiza/
+ 2500
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Автотехническая экспертиза
+ Автотехническая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/buhgalterskaya/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Бухгалтерская экспертиза
+ Бухгалтерская экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/kadastrovaya/
+ 10000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Кадастровая экспертиза
+ Кадастровая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/kompyuterno-tekhnicheskaya/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Компьютерно-техническая экспертиза
+ Компьютерно-техническая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/kompyuterno-tekhnicheskaya/ekspertiza-bytovoj-tekhniki/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Экспертиза бытовой техники
+ Экспертиза бытовой техники
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/kompyuterno-tekhnicheskaya/fototekhnicheskaya-ekspertiza/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Фототехническая экспертиза
+ Фототехническая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/kompyuterno-tekhnicheskaya/informacionno-kompyuternaya-ekspertiza/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Информационно-компьютерная экспертиза
+ Информационно-компьютерная экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelnaya/
+ 15000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Строительно-техническая экспертиза
+ Строительно-техническая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelnaya/ekspertiza-kachestva-remonta/
+ 15000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Экспертиза качества ремонта
+ Экспертиза качества ремонта
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelnaya/ekspertiza-razdeleniya-nedvizhimosti/
+ 15000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Экспертиза разделения недвижимости
+ Экспертиза разделения недвижимости
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelnaya/ekspertiza-stroitelnyh-proektov/
+ 25000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Экспертиза строительных проектов
+ Экспертиза строительных проектов
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelnaya/ekspertiza-ushcherba-posle-zaliva-ili-pozhara/
+ 15000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Экспертиза ущерба после залива или пожара
+ Экспертиза ущерба после залива или пожара
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelnaya/issledovanie-razrusheniya-stroitelnyh-obektov/
+ 20000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Исследование разрушения строительных объектов
+ Исследование разрушения строительных объектов
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelnaya/tekhnicheskoe-obsledovanie-zdanij-i-sooruzhenij/
+ 15000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Техническое обследование зданий и сооружений
+ Техническое обследование зданий и сооружений
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/tehniko-kriminalisticheskaya/
+ 16000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Технико-криминалистическая экспертиза
+ Технико-криминалистическая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/tehniko-kriminalisticheskaya/pocherkovedcheskaya-ekspertiza/
+ 20000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Почерковедческая экспертиза
+ Почерковедческая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/tehniko-kriminalisticheskaya/portretnaya-ekspertiza/
+ 16000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Портретная экспертиза
+ Портретная экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/tehniko-kriminalisticheskaya/tekhnicheskaya-ekspertiza-dokumentov/
+ 16000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Техническая экспертиза документов
+ Техническая экспертиза документов
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/tovarovedcheskaya/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Товароведческая экспертиза
+ Товароведческая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/tovarovedcheskaya/ekspertiza-neprodovolstvennyh-tovarov/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Экспертиза непродовольственных товаров
+ Экспертиза непродовольственных товаров
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/tovarovedcheskaya/ekspertiza-prodovolstvennyh-tovarov/
+ 1000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Экспертиза продовольственных товаров
+ Экспертиза продовольственных товаров
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/ekspertiza/trasologicheskaya/
+ 8000
+ RUR
+ 1
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Трасологическая экспертиза
+ Трасологическая экспертиза
+ Экспертиза
+
+
+ https://ocenka-sochi.ru/jurist/bankrotstvo-fizicheskih-lic/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Банкротство физических лиц
+ Банкротство физических лиц
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/pomosh-dolzhnikam/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Помощь должникам
+ Помощь должникам
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/predstavitelstvo-v-sude/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Представительство в суде
+ Представительство в суде
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/semejnye-i-nasledstvennye-spory/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Семейные и наследственные споры
+ Семейные и наследственные споры
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/soprovozhdenie-sdelok-sostavlenie-dogovorov-konsultaciya/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Сопровождение сделок и составление договоров
+ Сопровождение сделок и составление договоров
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/spory-po-dtp/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Споры по ДТП
+ Споры по ДТП
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/spory-s-zastroishikami/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Споры с застройщиком
+ Споры с застройщиком
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/strahovye-spory/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Страховые споры
+ Страховые споры
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/trudovye-spory/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Трудовые споры
+ Трудовые споры
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/vozvrat-strahovki-i-komissij-bankov/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Возврат страховки и комиссий банков
+ Возврат страховки и комиссий банков
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/vzyskanie-dolgov-s-juridicheskih-lic/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Взыскание долгов с юридических лиц
+ Взыскание долгов с юридических лиц
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/jurist/zemelnye-i-imushhestvennye-spory/
+ 1000
+ RUR
+ 2
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Земельные и имущественные споры
+ Земельные и имущественные споры
+ Юриспруденция
+
+
+ https://ocenka-sochi.ru/ocenka/aktivy-predpriyatiya
+ 1000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка активов предприятия
+ Оценка активов предприятия
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/arendnoy-platy/
+ 8000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка арендной платы
+ Оценка арендной платы
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/avtomobilya/
+ 2000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка автомобиля
+ Оценка автомобиля
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/biznesa/
+ 8000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка бизнеса
+ Оценка бизнеса
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/dlya-notariusa/
+ 1500
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка для нотариуса
+ Оценка для нотариуса
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/dlya-vstupleniya-v-nasledstvo/
+ 1500
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка для вступления в наследство
+ Оценка для вступления в наследство
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/dlya-zaloga/
+ 4000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка для залога
+ Оценка для залога
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/imushchestva-posle-razvoda/
+ 2000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка имущества после развода
+ Оценка имущества после развода
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/intellektualnoy-sobstvennosti/
+ 16500
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка интеллектуальной собственности
+ Оценка интеллектуальной собственности
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti/
+ 2000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка недвижимости
+ Оценка недвижимости
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti/dlya-ipoteki-sberbanka/
+ 3500
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка для ипотеки сбербанка
+ Оценка для ипотеки сбербанка
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti/kvartiry/
+ 3800
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка квартиры
+ Оценка квартиры
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti/sklada/
+ 6000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка склада
+ Оценка склада
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti/zemli/
+ 5000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка земли
+ Оценка земли
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti/zhilogo-doma/
+ 5000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка жилого дома
+ Оценка жилого дома
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/sudna/
+ 2000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка судна
+ Оценка судна
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/transport/
+ 2000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка транспорта
+ Оценка транспорта
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/ushcherba-posle-pozhara/
+ 5000
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка ущерба после пожара
+ Оценка ущерба после пожара
+ Оценка
+
+
+ https://ocenka-sochi.ru/ocenka/ushcherba-posle-zaliva/
+ 2500
+ RUR
+ 3
+ https://ocenka-sochi.ru/wp-content/uploads/2019/06/%D0%94%D0%98-%D0%A2%D0%A0%D0%90%D0%A1%D0%9E-logo.png
+ Оценка ущерба после залива
+ Оценка ущерба после залива
+ Оценка
+
+
+
+
\ No newline at end of file
diff --git a/src/app/contacts/page.tsx b/src/app/contacts/page.tsx
index dd14e5d..a414a29 100644
--- a/src/app/contacts/page.tsx
+++ b/src/app/contacts/page.tsx
@@ -1,19 +1,32 @@
+import { headers } from 'next/headers';
import { Contacts } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
- title: 'Контакты',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+const metainfo: TMetainfo = {
+ title: 'Адрес и телефон офиса',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/cookies/page.tsx b/src/app/cookies/page.tsx
index f4f3bd6..7f1ec0e 100644
--- a/src/app/cookies/page.tsx
+++ b/src/app/cookies/page.tsx
@@ -1,19 +1,32 @@
import { Cookie } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
- title: 'Независимая оценка и судебная экспертиза',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+const metainfo: TMetainfo = {
+ title: 'Соглашение об использовании систем аналитики',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/ekspertiza/avtotehnicheskaja/page.tsx b/src/app/ekspertiza/avtotehnicheskaja/page.tsx
index 7b93c44..67dabc5 100644
--- a/src/app/ekspertiza/avtotehnicheskaja/page.tsx
+++ b/src/app/ekspertiza/avtotehnicheskaja/page.tsx
@@ -1,12 +1,33 @@
import { AutoTech } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Автотехническая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Автотехническая экспертиза',
+ description: `Проведение автотехнической экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/auto.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/buhgalterskaja/page.tsx b/src/app/ekspertiza/buhgalterskaja/page.tsx
index 9514c4f..8675303 100644
--- a/src/app/ekspertiza/buhgalterskaja/page.tsx
+++ b/src/app/ekspertiza/buhgalterskaja/page.tsx
@@ -1,12 +1,33 @@
import { Buhgalter } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Бухгалтерская экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Бухгалтерская экспертиза',
+ description: `Проведение бухгалтерской экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/buh.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/dokumentov/page.tsx b/src/app/ekspertiza/dokumentov/page.tsx
index c399ec0..f1dfb3f 100644
--- a/src/app/ekspertiza/dokumentov/page.tsx
+++ b/src/app/ekspertiza/dokumentov/page.tsx
@@ -1,12 +1,33 @@
import { Document } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Экспертиза документов | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Экспертиза документов',
+ description: `Экспертиза документов. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/buh.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/finansovo-jekonomicheskaja/page.tsx b/src/app/ekspertiza/finansovo-jekonomicheskaja/page.tsx
index b20921e..0a8d274 100644
--- a/src/app/ekspertiza/finansovo-jekonomicheskaja/page.tsx
+++ b/src/app/ekspertiza/finansovo-jekonomicheskaja/page.tsx
@@ -1,12 +1,33 @@
import { Finans } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Финансово-экономическая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Финансово-экономическая экспертиза',
+ description: `Проведение финансово-экономической экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/finance.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/kadastrovaja/page.tsx b/src/app/ekspertiza/kadastrovaja/page.tsx
index 06bb90e..d1d3923 100644
--- a/src/app/ekspertiza/kadastrovaja/page.tsx
+++ b/src/app/ekspertiza/kadastrovaja/page.tsx
@@ -1,12 +1,33 @@
import { Kadastr } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Кадастровая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Кадастровая экспертиза',
+ description: `Проведение кадастровой экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/kadastr.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/kompjuterno-tehnicheskaja/page.tsx b/src/app/ekspertiza/kompjuterno-tehnicheskaja/page.tsx
index 9204b0f..ebab8fa 100644
--- a/src/app/ekspertiza/kompjuterno-tehnicheskaja/page.tsx
+++ b/src/app/ekspertiza/kompjuterno-tehnicheskaja/page.tsx
@@ -1,12 +1,33 @@
import { Computer } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Компьютерно-техническая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Компьютерно-техническая экспертиза',
+ description: `Проведение компьютерно-технической экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/computer.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/page.tsx b/src/app/ekspertiza/page.tsx
index b52a42c..91923f8 100644
--- a/src/app/ekspertiza/page.tsx
+++ b/src/app/ekspertiza/page.tsx
@@ -1,12 +1,33 @@
import { ExpertiseCategory } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Проведение экспертиз | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Проведение судебных экспертиз',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function ExpertizaPage() {
return ;
}
diff --git a/src/app/ekspertiza/pocherkovedcheskaja/page.tsx b/src/app/ekspertiza/pocherkovedcheskaja/page.tsx
index 867b5a0..51d42b2 100644
--- a/src/app/ekspertiza/pocherkovedcheskaja/page.tsx
+++ b/src/app/ekspertiza/pocherkovedcheskaja/page.tsx
@@ -1,12 +1,33 @@
import { Pocherk } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Почерковедческая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Почерковедческая экспертиза',
+ description: `Проведение почерковедческой экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/pocherk.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/pozharno-tehnicheskaja/page.tsx b/src/app/ekspertiza/pozharno-tehnicheskaja/page.tsx
index 358a8e4..d50f8ae 100644
--- a/src/app/ekspertiza/pozharno-tehnicheskaja/page.tsx
+++ b/src/app/ekspertiza/pozharno-tehnicheskaja/page.tsx
@@ -1,12 +1,33 @@
import { Pozhar } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Пожарно-техническая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Пожарно-техническая экспертиза',
+ description: `Проведение пожарно-технической экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/pojar.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/recenzirovanie/page.tsx b/src/app/ekspertiza/recenzirovanie/page.tsx
index 8dc5623..6940a01 100644
--- a/src/app/ekspertiza/recenzirovanie/page.tsx
+++ b/src/app/ekspertiza/recenzirovanie/page.tsx
@@ -1,12 +1,33 @@
import { Recenzii } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Строительно-техническая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Рецензирование экспертизы',
+ description: `Рецензирование экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/recenzia.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/stroitelno-tehnicheskaja/page.tsx b/src/app/ekspertiza/stroitelno-tehnicheskaja/page.tsx
index bea214d..ee7e41e 100644
--- a/src/app/ekspertiza/stroitelno-tehnicheskaja/page.tsx
+++ b/src/app/ekspertiza/stroitelno-tehnicheskaja/page.tsx
@@ -1,12 +1,33 @@
import { Stroit } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Рецензирование экспертизы | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Строительно-техническая экспертиза',
+ description: `Проведение строительно-технической экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/stroika.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/tehniko-kriminalisticheskaja/page.tsx b/src/app/ekspertiza/tehniko-kriminalisticheskaja/page.tsx
index 90fad5d..a0abda2 100644
--- a/src/app/ekspertiza/tehniko-kriminalisticheskaja/page.tsx
+++ b/src/app/ekspertiza/tehniko-kriminalisticheskaja/page.tsx
@@ -1,12 +1,33 @@
import { TechCrim } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Технико-криминалистическая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Технико-криминалистическая экспертиза',
+ description: `Проведение технико-криминалистической экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/crime.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/tovarovedcheskaja/page.tsx b/src/app/ekspertiza/tovarovedcheskaja/page.tsx
index 03c3229..6e1636a 100644
--- a/src/app/ekspertiza/tovarovedcheskaja/page.tsx
+++ b/src/app/ekspertiza/tovarovedcheskaja/page.tsx
@@ -1,12 +1,33 @@
import { Tovar } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Товароведческая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Товароведческая экспертиза',
+ description: `Проведение товароведческой экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/tovar.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/trasologicheskaja/page.tsx b/src/app/ekspertiza/trasologicheskaja/page.tsx
index ffbe9da..ea09902 100644
--- a/src/app/ekspertiza/trasologicheskaja/page.tsx
+++ b/src/app/ekspertiza/trasologicheskaja/page.tsx
@@ -1,12 +1,33 @@
import { Trasologia } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Трасологическая экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Трасологическая экспертиза',
+ description: `Проведение трасологической экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/trasologia.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ekspertiza/zemle-ustroitelnaja/page.tsx b/src/app/ekspertiza/zemle-ustroitelnaja/page.tsx
index 7e00d9f..af10079 100644
--- a/src/app/ekspertiza/zemle-ustroitelnaja/page.tsx
+++ b/src/app/ekspertiza/zemle-ustroitelnaja/page.tsx
@@ -1,12 +1,33 @@
import { ZemStroy } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Земле-устроительная экспертиза | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Землеустроительная экспертиза',
+ description: `Проведение землеустроительной экспертизы. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/expertise/zemlya.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/experts/borodin-vitalij-petrovich/page.tsx b/src/app/experts/borodin-vitalij-petrovich/page.tsx
index 0cb07ee..08fb970 100644
--- a/src/app/experts/borodin-vitalij-petrovich/page.tsx
+++ b/src/app/experts/borodin-vitalij-petrovich/page.tsx
@@ -1,19 +1,32 @@
import { ExpertBorodin } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Бородин Виталий Петрович',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/gjulmamedov-javar-firmamed-ogly/page.tsx b/src/app/experts/gjulmamedov-javar-firmamed-ogly/page.tsx
index 8432543..2596436 100644
--- a/src/app/experts/gjulmamedov-javar-firmamed-ogly/page.tsx
+++ b/src/app/experts/gjulmamedov-javar-firmamed-ogly/page.tsx
@@ -1,19 +1,32 @@
import { ExpertGulmamedov } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Гюльмамедов Явар Фирмамед-оглы',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/jancen-jana-nikolaevna/page.tsx b/src/app/experts/jancen-jana-nikolaevna/page.tsx
index 9da6795..9655eaa 100644
--- a/src/app/experts/jancen-jana-nikolaevna/page.tsx
+++ b/src/app/experts/jancen-jana-nikolaevna/page.tsx
@@ -1,19 +1,32 @@
import { ExpertYancen } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Янцен Яна Николаевна',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/kaminskij-dmitrij-olegovich/page.tsx b/src/app/experts/kaminskij-dmitrij-olegovich/page.tsx
index d3ab2f2..52d80d1 100644
--- a/src/app/experts/kaminskij-dmitrij-olegovich/page.tsx
+++ b/src/app/experts/kaminskij-dmitrij-olegovich/page.tsx
@@ -1,19 +1,32 @@
import { ExpertKaminskiy } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Каминский Дмитрий Олегович',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/kolodij-aleksandr-sergeevich/page.tsx b/src/app/experts/kolodij-aleksandr-sergeevich/page.tsx
index 79f2089..c9f0852 100644
--- a/src/app/experts/kolodij-aleksandr-sergeevich/page.tsx
+++ b/src/app/experts/kolodij-aleksandr-sergeevich/page.tsx
@@ -1,19 +1,32 @@
import { ExpertKolodiy } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Колодий Александр Сергеевич',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/mikova-inna-georgievna/page.tsx b/src/app/experts/mikova-inna-georgievna/page.tsx
index 18d4db5..b209915 100644
--- a/src/app/experts/mikova-inna-georgievna/page.tsx
+++ b/src/app/experts/mikova-inna-georgievna/page.tsx
@@ -1,19 +1,32 @@
import { ExpertMikova } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Микова Инна Георгиевна',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/mitjaev-aleksej-aleksandrovich/page.tsx b/src/app/experts/mitjaev-aleksej-aleksandrovich/page.tsx
index 96239fe..59651a3 100644
--- a/src/app/experts/mitjaev-aleksej-aleksandrovich/page.tsx
+++ b/src/app/experts/mitjaev-aleksej-aleksandrovich/page.tsx
@@ -1,19 +1,32 @@
import { ExpertMityaev } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Митяев Алексей Александрович',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/page.tsx b/src/app/experts/page.tsx
index e68c740..9d9c523 100644
--- a/src/app/experts/page.tsx
+++ b/src/app/experts/page.tsx
@@ -1,19 +1,32 @@
import { Experts } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперты',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/polinov-andrej-vladimirovich/page.tsx b/src/app/experts/polinov-andrej-vladimirovich/page.tsx
index 13bc377..89c8bf0 100644
--- a/src/app/experts/polinov-andrej-vladimirovich/page.tsx
+++ b/src/app/experts/polinov-andrej-vladimirovich/page.tsx
@@ -1,19 +1,32 @@
import { ExpertPolinov } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Полинов Андрей Владимирович',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/experts/volkova-goncharova-tatjana-anatolevna/page.tsx b/src/app/experts/volkova-goncharova-tatjana-anatolevna/page.tsx
index 4aa32dd..7000c89 100644
--- a/src/app/experts/volkova-goncharova-tatjana-anatolevna/page.tsx
+++ b/src/app/experts/volkova-goncharova-tatjana-anatolevna/page.tsx
@@ -1,19 +1,32 @@
import { ExpertVolkovaGoncharova } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Эксперт - Волкова-Гончарова Татьяна Анатольевна',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Оценщики и судебные эксперты в Сочи, ${CONTACTS.COMPANY_FULL}. Сертифицированы РОО. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}.`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/app/favicon.ico b/src/app/favicon.ico
index 718d6fe..50720e3 100644
Binary files a/src/app/favicon.ico and b/src/app/favicon.ico differ
diff --git a/src/app/jurist/bankrotstvo-fizicheskih-lic/page.tsx b/src/app/jurist/bankrotstvo-fizicheskih-lic/page.tsx
index bd46006..d220ec0 100644
--- a/src/app/jurist/bankrotstvo-fizicheskih-lic/page.tsx
+++ b/src/app/jurist/bankrotstvo-fizicheskih-lic/page.tsx
@@ -1,12 +1,33 @@
import { JuristBankrotstvo } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Банкротство физических лиц | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Банкротство физических лиц',
+ description: `Банкротство физических лиц. Подготовка документов. Помощь в возникающих вопросах. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/bankrot.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/page.tsx b/src/app/jurist/page.tsx
index 914a02f..217f629 100644
--- a/src/app/jurist/page.tsx
+++ b/src/app/jurist/page.tsx
@@ -1,12 +1,33 @@
import { JuristCategory } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Юридические услуги | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Юридические услуги',
+ description: `Юридические услуги. Консультация. Подготовка искового заявления. Участие в суде. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function JuristPage() {
return ;
}
diff --git a/src/app/jurist/pomoshh-dolzhnikam/page.tsx b/src/app/jurist/pomoshh-dolzhnikam/page.tsx
index 5534267..053dadf 100644
--- a/src/app/jurist/pomoshh-dolzhnikam/page.tsx
+++ b/src/app/jurist/pomoshh-dolzhnikam/page.tsx
@@ -1,12 +1,33 @@
import { JuristDolzhnikam } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Помощь должникам | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Помощь должникам',
+ description: `Помощь должникам. Подготовка документов. Помощь в возникающих вопросах. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/pomosch-doljnikam.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/predstavitelstvo-v-sude/page.tsx b/src/app/jurist/predstavitelstvo-v-sude/page.tsx
index 4e03872..9346f7a 100644
--- a/src/app/jurist/predstavitelstvo-v-sude/page.tsx
+++ b/src/app/jurist/predstavitelstvo-v-sude/page.tsx
@@ -1,12 +1,33 @@
import { JuristPredstavitelstvo } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Представительство в суде | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Представительство в суде',
+ description: `Представительство в суде. Подготовка документов. Помощь в возникающих вопросах. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/predstavitelstvo.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/semejnye-i-nasledstvennye-spory/page.tsx b/src/app/jurist/semejnye-i-nasledstvennye-spory/page.tsx
index 362e560..9d86742 100644
--- a/src/app/jurist/semejnye-i-nasledstvennye-spory/page.tsx
+++ b/src/app/jurist/semejnye-i-nasledstvennye-spory/page.tsx
@@ -1,12 +1,33 @@
import { JuristSporSemya } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Семейные и наследственные споры | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Семейные и наследственные споры',
+ description: `Семейные и наследственные споры. Подготовка искового заявления. Ведение дела. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/spori-semeinye.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/soprovozhdenie-sdelok-sostavlenie-dogovorov-konsultaciya/page.tsx b/src/app/jurist/soprovozhdenie-sdelok-sostavlenie-dogovorov-konsultaciya/page.tsx
index 6e6e7de..1bda1b6 100644
--- a/src/app/jurist/soprovozhdenie-sdelok-sostavlenie-dogovorov-konsultaciya/page.tsx
+++ b/src/app/jurist/soprovozhdenie-sdelok-sostavlenie-dogovorov-konsultaciya/page.tsx
@@ -1,12 +1,33 @@
import { JuristSdelki } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Сопровождение сделок и составление договоров | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Сопровождение сделок и составление договоров',
+ description: `Сопровождение сделок и составление договоров. Подготовка документов. Помощь в возникающих вопросах. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/sdelki.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/spory-po-dtp/page.tsx b/src/app/jurist/spory-po-dtp/page.tsx
index 0502af6..779dfcb 100644
--- a/src/app/jurist/spory-po-dtp/page.tsx
+++ b/src/app/jurist/spory-po-dtp/page.tsx
@@ -1,12 +1,33 @@
import { JuristSporDTP } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Споры по ДТП | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Споры по ДТП',
+ description: `Споры по ДТП. Досудебная претензия. Подготовка искового заявления. Ведение дела. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/spory-dtp.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/strahovye-spory/page.tsx b/src/app/jurist/strahovye-spory/page.tsx
index ad35b1c..e9f6029 100644
--- a/src/app/jurist/strahovye-spory/page.tsx
+++ b/src/app/jurist/strahovye-spory/page.tsx
@@ -1,12 +1,33 @@
import { JuristSporStrahovka } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Страховые споры | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Страховые споры',
+ description: `Страховые споры. Досудебная претензия. Подготовка искового заявления. Ведение дела. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/spori-strah.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/trudovye-spory/page.tsx b/src/app/jurist/trudovye-spory/page.tsx
index bcb14e8..65f22aa 100644
--- a/src/app/jurist/trudovye-spory/page.tsx
+++ b/src/app/jurist/trudovye-spory/page.tsx
@@ -1,12 +1,33 @@
import { JuristSporTrud } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Трудовые споры | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Трудовые споры',
+ description: `Трудовые споры. Досудебная претензия. Подготовка искового заявления. Ведение дела. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/spori-trud.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/vozvrat-strahovki-i-komissij-bankov/page.tsx b/src/app/jurist/vozvrat-strahovki-i-komissij-bankov/page.tsx
index cbde0bb..d035aa4 100644
--- a/src/app/jurist/vozvrat-strahovki-i-komissij-bankov/page.tsx
+++ b/src/app/jurist/vozvrat-strahovki-i-komissij-bankov/page.tsx
@@ -1,12 +1,33 @@
import { JuristBanki } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Возврат страховки и комиссий банков | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Возврат страховки и комиссий банков',
+ description: `Возврат страховки и комиссий банков. Подготовка искового заявления. Ведение дела. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/vozvrat-strahovki.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/vzyskanie-dolgov-s-juridicheskih-lic/page.tsx b/src/app/jurist/vzyskanie-dolgov-s-juridicheskih-lic/page.tsx
index e8a1822..df69524 100644
--- a/src/app/jurist/vzyskanie-dolgov-s-juridicheskih-lic/page.tsx
+++ b/src/app/jurist/vzyskanie-dolgov-s-juridicheskih-lic/page.tsx
@@ -1,12 +1,33 @@
import { JuristBusinessDolgi } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Взыскание долгов с юридических лиц | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Взыскание долгов с юридических лиц',
+ description: `Взыскание долгов с юридических лиц. Подготовка искового заявления. Ведение дела. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/jurid-dolgi.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/jurist/zemelnye-i-imushhestvennye-spory/page.tsx b/src/app/jurist/zemelnye-i-imushhestvennye-spory/page.tsx
index cd10ae3..4bbd0b8 100644
--- a/src/app/jurist/zemelnye-i-imushhestvennye-spory/page.tsx
+++ b/src/app/jurist/zemelnye-i-imushhestvennye-spory/page.tsx
@@ -1,12 +1,33 @@
import { JuristSporZemelImush } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Земельные и имущественные споры | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Земельные и имущественные споры',
+ description: `Земельные и имущественные споры. Подготовка искового заявления. Ведение дела. Консультация - бесплатно! Тел.: ${phoneBeautify(CONTACTS.PHONE)}`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/justice/spori-zem-imushestv.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/avtomobilja-dlja-suda/page.tsx b/src/app/ocenka/avtomobilja-dlja-suda/page.tsx
index b210e2b..0c08a83 100644
--- a/src/app/ocenka/avtomobilja-dlja-suda/page.tsx
+++ b/src/app/ocenka/avtomobilja-dlja-suda/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaAutoSud } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка автомобиля для суда | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка автомобиля для суда',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/transport/auto-sud.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/cennyh-bumag/page.tsx b/src/app/ocenka/cennyh-bumag/page.tsx
index c89c66f..2469884 100644
--- a/src/app/ocenka/cennyh-bumag/page.tsx
+++ b/src/app/ocenka/cennyh-bumag/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaCennyhBumag } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка ценных бумаг | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка ценных бумаг',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/property/cenn-bumagi.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-banka-vtb/page.tsx b/src/app/ocenka/dlja-banka-vtb/page.tsx
index cf872c5..6cbd9e0 100644
--- a/src/app/ocenka/dlja-banka-vtb/page.tsx
+++ b/src/app/ocenka/dlja-banka-vtb/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaIpotekaVTB } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка для ипотеки в банке ВТБ | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка для ипотеки в банке ВТБ',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/ipoteka/vtb.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-banka/page.tsx b/src/app/ocenka/dlja-banka/page.tsx
index e0d558c..8d79899 100644
--- a/src/app/ocenka/dlja-banka/page.tsx
+++ b/src/app/ocenka/dlja-banka/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaDlyaBanka } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка для банка | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка для банка',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/bank.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-ipoteki/page.tsx b/src/app/ocenka/dlja-ipoteki/page.tsx
index 3142687..72e63ce 100644
--- a/src/app/ocenka/dlja-ipoteki/page.tsx
+++ b/src/app/ocenka/dlja-ipoteki/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaIpoteka } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка недвижимости для ипотеки | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка недвижимости для ипотеки',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/ipoteka.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-notariusa/page.tsx b/src/app/ocenka/dlja-notariusa/page.tsx
index c27ae90..075c94a 100644
--- a/src/app/ocenka/dlja-notariusa/page.tsx
+++ b/src/app/ocenka/dlja-notariusa/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaNotarius } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка для нотариуса | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка для нотариуса',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/notaruis.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-opeki/page.tsx b/src/app/ocenka/dlja-opeki/page.tsx
index a4fb219..d744a16 100644
--- a/src/app/ocenka/dlja-opeki/page.tsx
+++ b/src/app/ocenka/dlja-opeki/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaOpeka } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка для опеки | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка для опеки',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/opeka.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-opredelenija-stoimosti-ushherba/page.tsx b/src/app/ocenka/dlja-opredelenija-stoimosti-ushherba/page.tsx
index 30d5af8..3529e4b 100644
--- a/src/app/ocenka/dlja-opredelenija-stoimosti-ushherba/page.tsx
+++ b/src/app/ocenka/dlja-opredelenija-stoimosti-ushherba/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaUsherb } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка для определения стоимости ущерба | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка для определения стоимости ущерба',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/uscherb.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-sberbanka/page.tsx b/src/app/ocenka/dlja-sberbanka/page.tsx
index b8f7e34..1530e59 100644
--- a/src/app/ocenka/dlja-sberbanka/page.tsx
+++ b/src/app/ocenka/dlja-sberbanka/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaIpotekaSber } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка для ипотеки в Сбербанке | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка для ипотеки в Сбербанке',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/ipoteka/sber.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/dlja-strahovanija/page.tsx b/src/app/ocenka/dlja-strahovanija/page.tsx
index f98593e..eb9ef50 100644
--- a/src/app/ocenka/dlja-strahovanija/page.tsx
+++ b/src/app/ocenka/dlja-strahovanija/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaStrahovka } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка для страхования | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка для страхования',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/strahovka.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/garazha/page.tsx b/src/app/ocenka/garazha/page.tsx
index f19e34b..748f485 100644
--- a/src/app/ocenka/garazha/page.tsx
+++ b/src/app/ocenka/garazha/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaGarazh } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка гаража | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка гаража',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/residential/garazh.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/imushhestva-dlja-bankrotstva/page.tsx b/src/app/ocenka/imushhestva-dlja-bankrotstva/page.tsx
index 2829315..c3f0ebc 100644
--- a/src/app/ocenka/imushhestva-dlja-bankrotstva/page.tsx
+++ b/src/app/ocenka/imushhestva-dlja-bankrotstva/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaBankrot } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка имущества для банкротства | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка имущества для банкротства',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/bankrot.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/page.tsx b/src/app/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/page.tsx
index 8c11f19..e03ecbb 100644
--- a/src/app/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/page.tsx
+++ b/src/app/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaUstavKapital } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка имущества для внесения в уставной капитал | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка имущества для внесения в уставной капитал',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/ustavnoi.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/page.tsx b/src/app/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/page.tsx
index 9514db3..c30ec72 100644
--- a/src/app/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/page.tsx
+++ b/src/app/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaNasledstva } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка имущества для вступления в наследство | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка имущества для вступления в наследство',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/nasledstvo.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/page.tsx b/src/app/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/page.tsx
index cc0bc09..f5de68d 100644
--- a/src/app/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/page.tsx
+++ b/src/app/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaRecenzia } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Экспертиза и рецензирование отчета об оценке | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Экспертиза и рецензирование отчета об оценке',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/property/recenzia.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/kvartiry/page.tsx b/src/app/ocenka/kvartiry/page.tsx
index 4e19c2c..aabe6fb 100644
--- a/src/app/ocenka/kvartiry/page.tsx
+++ b/src/app/ocenka/kvartiry/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaKvartiry } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка квартиры | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка квартиры',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/residential/kvartira.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/mashin-i-oborudovanija/page.tsx b/src/app/ocenka/mashin-i-oborudovanija/page.tsx
index 2b60bf0..d9b1e77 100644
--- a/src/app/ocenka/mashin-i-oborudovanija/page.tsx
+++ b/src/app/ocenka/mashin-i-oborudovanija/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaMashin } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка машин и оборудования | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка машин и оборудования',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/property/oborudov.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/morskih-i-rechnyh-sudov/page.tsx b/src/app/ocenka/morskih-i-rechnyh-sudov/page.tsx
index c6ac9cc..d60798b 100644
--- a/src/app/ocenka/morskih-i-rechnyh-sudov/page.tsx
+++ b/src/app/ocenka/morskih-i-rechnyh-sudov/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaPlavsredsvt } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка морских и речных судов | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка морских и речных судов',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/transport/sea-boats.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/motociklov-i-mototehniki/page.tsx b/src/app/ocenka/motociklov-i-mototehniki/page.tsx
index 6981261..7e7d048 100644
--- a/src/app/ocenka/motociklov-i-mototehniki/page.tsx
+++ b/src/app/ocenka/motociklov-i-mototehniki/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaMoto } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка мотоциклов и мототехники | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка мотоциклов и мототехники',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/transport/moto.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/nedvizhimosti-dlja-suda/page.tsx b/src/app/ocenka/nedvizhimosti-dlja-suda/page.tsx
index 703cf58..9011c65 100644
--- a/src/app/ocenka/nedvizhimosti-dlja-suda/page.tsx
+++ b/src/app/ocenka/nedvizhimosti-dlja-suda/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaNedvigaSud } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка недвижимости для суда | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка недвижимости для суда',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/nedvijimost-sud.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/nedvizhimosti/page.tsx b/src/app/ocenka/nedvizhimosti/page.tsx
index d8278e3..a0f735e 100644
--- a/src/app/ocenka/nedvizhimosti/page.tsx
+++ b/src/app/ocenka/nedvizhimosti/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaNedviga } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка недвижимости | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка недвижимости',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/property/nedviga.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/nematerialnyh-aktivov/page.tsx b/src/app/ocenka/nematerialnyh-aktivov/page.tsx
index 90ddf25..fd105e8 100644
--- a/src/app/ocenka/nematerialnyh-aktivov/page.tsx
+++ b/src/app/ocenka/nematerialnyh-aktivov/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaAktivov } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка нематериальных активов | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка нематериальных активов',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/property/nmt.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/nezavershennogo-stroitelstva/page.tsx b/src/app/ocenka/nezavershennogo-stroitelstva/page.tsx
index f5b436a..d6f4d6b 100644
--- a/src/app/ocenka/nezavershennogo-stroitelstva/page.tsx
+++ b/src/app/ocenka/nezavershennogo-stroitelstva/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaNezavStroit } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка незавершенного строительства | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка незавершенного строительства',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/commerce/nezavers.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/nezavisimaja/page.tsx b/src/app/ocenka/nezavisimaja/page.tsx
index 0d243f0..f57df04 100644
--- a/src/app/ocenka/nezavisimaja/page.tsx
+++ b/src/app/ocenka/nezavisimaja/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaNezavisim } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Независимая оценка | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Независимая оценка',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/nezavisim.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/nezhilogo-pomeshhenija/page.tsx b/src/app/ocenka/nezhilogo-pomeshhenija/page.tsx
index a195c79..44ef1f1 100644
--- a/src/app/ocenka/nezhilogo-pomeshhenija/page.tsx
+++ b/src/app/ocenka/nezhilogo-pomeshhenija/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaNezhilogo } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка нежилого помещения | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка нежилого помещения',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/commerce/commerce.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/ocenka-imushhestva-pri-razvode/page.tsx b/src/app/ocenka/ocenka-imushhestva-pri-razvode/page.tsx
index 6710f69..139d26e 100644
--- a/src/app/ocenka/ocenka-imushhestva-pri-razvode/page.tsx
+++ b/src/app/ocenka/ocenka-imushhestva-pri-razvode/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaRazvod } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка имущества при разводе | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка имущества при разводе',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/situation/razvod.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/ofisa/page.tsx b/src/app/ocenka/ofisa/page.tsx
index e4eaee1..7e86912 100644
--- a/src/app/ocenka/ofisa/page.tsx
+++ b/src/app/ocenka/ofisa/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaOffice } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка офиса | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка офиса',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/commerce/office.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/page.tsx b/src/app/ocenka/page.tsx
index c783653..0a3685b 100644
--- a/src/app/ocenka/page.tsx
+++ b/src/app/ocenka/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaCategory } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Услуги оценки | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Услуги оценки',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function OcenkaPage() {
return ;
}
diff --git a/src/app/ocenka/rynochnoj-stoimosti-avtomobilja/page.tsx b/src/app/ocenka/rynochnoj-stoimosti-avtomobilja/page.tsx
index e7ce218..9df750a 100644
--- a/src/app/ocenka/rynochnoj-stoimosti-avtomobilja/page.tsx
+++ b/src/app/ocenka/rynochnoj-stoimosti-avtomobilja/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaAutoRynok } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка рыночной стоимости автомобиля | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка рыночной стоимости автомобиля',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/transport/auto-rynok.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/sooruzhenij/page.tsx b/src/app/ocenka/sooruzhenij/page.tsx
index ee18eca..673bc0c 100644
--- a/src/app/ocenka/sooruzhenij/page.tsx
+++ b/src/app/ocenka/sooruzhenij/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaSooruzheniy } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка сооружений | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка сооружений',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/commerce/building.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/spectehniki/page.tsx b/src/app/ocenka/spectehniki/page.tsx
index ea4be60..b909cb3 100644
--- a/src/app/ocenka/spectehniki/page.tsx
+++ b/src/app/ocenka/spectehniki/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaSpecTech } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка спецтехники | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка спецтехники',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/property/spec-tehnika.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/stoimosti-arendnoj-stavki/page.tsx b/src/app/ocenka/stoimosti-arendnoj-stavki/page.tsx
index ab4da50..758bf0b 100644
--- a/src/app/ocenka/stoimosti-arendnoj-stavki/page.tsx
+++ b/src/app/ocenka/stoimosti-arendnoj-stavki/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaArenda } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка стоимости арендной ставки | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка стоимости арендной ставки',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/commerce/arenda.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/stoimosti-predprijatija-biznesa/page.tsx b/src/app/ocenka/stoimosti-predprijatija-biznesa/page.tsx
index 54ce97d..e743550 100644
--- a/src/app/ocenka/stoimosti-predprijatija-biznesa/page.tsx
+++ b/src/app/ocenka/stoimosti-predprijatija-biznesa/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaBusiness } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка стоимости предприятия (бизнеса) | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка стоимости предприятия (бизнеса)',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/property/business.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/ushherba-nedvizhimosti/page.tsx b/src/app/ocenka/ushherba-nedvizhimosti/page.tsx
index c9aca87..cd72254 100644
--- a/src/app/ocenka/ushherba-nedvizhimosti/page.tsx
+++ b/src/app/ocenka/ushherba-nedvizhimosti/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaUsherbNedvigi } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка ущерба недвижимости | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка ущерба недвижимости',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/residential/uscherb.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/ushherba-ot-pozhara/page.tsx b/src/app/ocenka/ushherba-ot-pozhara/page.tsx
index 967c253..81e20de 100644
--- a/src/app/ocenka/ushherba-ot-pozhara/page.tsx
+++ b/src/app/ocenka/ushherba-ot-pozhara/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaPozhar } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка ущерба от пожара | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка ущерба от пожара',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/residential/pojar.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/ushherba-ot-zaliva/page.tsx b/src/app/ocenka/ushherba-ot-zaliva/page.tsx
index fdcb996..f6cd562 100644
--- a/src/app/ocenka/ushherba-ot-zaliva/page.tsx
+++ b/src/app/ocenka/ushherba-ot-zaliva/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaZatoplenie } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка ущерба от залива | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка ущерба от залива',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/residential/zaliv.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/ushherba-v-dtp/page.tsx b/src/app/ocenka/ushherba-v-dtp/page.tsx
index 1ae3fb7..6f27a44 100644
--- a/src/app/ocenka/ushherba-v-dtp/page.tsx
+++ b/src/app/ocenka/ushherba-v-dtp/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaDTP } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка ущерба в ДТП | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка ущерба в ДТП',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/transport/dtp.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/page.tsx b/src/app/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/page.tsx
index e03a6bd..c067b73 100644
--- a/src/app/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/page.tsx
+++ b/src/app/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaUTS } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка УТС – Утраты товарной стоимости автомобиля | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка УТС – Утраты товарной стоимости автомобиля',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/transport/uts.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/page.tsx b/src/app/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/page.tsx
index 3210ebb..0d0ead1 100644
--- a/src/app/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/page.tsx
+++ b/src/app/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaVozdushSudna } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка воздушных судов и летательных аппаратов | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка воздушных судов и летательных аппаратов',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/transport/avia.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/zdanija/page.tsx b/src/app/ocenka/zdanija/page.tsx
index 9ed5885..969187f 100644
--- a/src/app/ocenka/zdanija/page.tsx
+++ b/src/app/ocenka/zdanija/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaZdaniya } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка здания | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка здания',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/commerce/zdanie.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/zemel/page.tsx b/src/app/ocenka/zemel/page.tsx
index 630e743..a39b7b9 100644
--- a/src/app/ocenka/zemel/page.tsx
+++ b/src/app/ocenka/zemel/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaZememel } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка земель | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка земель',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/commerce/zemlya.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/zemelnogo-uchastka/page.tsx b/src/app/ocenka/zemelnogo-uchastka/page.tsx
index b66d1c4..b650b2f 100644
--- a/src/app/ocenka/zemelnogo-uchastka/page.tsx
+++ b/src/app/ocenka/zemelnogo-uchastka/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaUchastok } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка земельного участка | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка земельного участка',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/residential/uchastok.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/ocenka/zhilogo-doma/page.tsx b/src/app/ocenka/zhilogo-doma/page.tsx
index fdca173..d095c0a 100644
--- a/src/app/ocenka/zhilogo-doma/page.tsx
+++ b/src/app/ocenka/zhilogo-doma/page.tsx
@@ -1,12 +1,33 @@
import { OcenkaDom } from '@/views';
import type { Metadata } from 'next';
+import { headers } from 'next/headers';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-export const metadata: Metadata = {
- title: 'Оценка жилого дома | Компания ДИТРАСО',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре. Тел. +7 (900) 241-34-34',
+const metainfo: TMetainfo = {
+ title: 'Оценка жилого дома',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/ocenka/residential/cottage.png',
};
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
+
export default function Page() {
return ;
}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 9d0272c..e2af592 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,19 +1,32 @@
import { Home } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
+const metainfo: TMetainfo = {
title: 'Независимая оценка и судебная экспертиза',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function HomePage() {
return ;
diff --git a/src/app/privacy-policy/page.tsx b/src/app/privacy-policy/page.tsx
index 4dad5d2..56d33ae 100644
--- a/src/app/privacy-policy/page.tsx
+++ b/src/app/privacy-policy/page.tsx
@@ -1,19 +1,32 @@
import { PrivacyPolicy } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
- title: 'Независимая оценка и судебная экспертиза',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+const metainfo: TMetainfo = {
+ title: 'Политика конфиденциальности',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/public/robots.txt b/src/app/robots.txt
similarity index 86%
rename from public/robots.txt
rename to src/app/robots.txt
index 75abe0e..ba7f399 100644
--- a/public/robots.txt
+++ b/src/app/robots.txt
@@ -1,6 +1,6 @@
User-agent: *
Disallow: /api/
-Disallow: /cookie/
+Disallow: /cookies/
Disallow: /privacy-policy/
Disallow: /user-agreement/
Sitemap: https://ocenka-sochi.ru/sitemap.xml
\ No newline at end of file
diff --git a/src/app/sitemap.xml b/src/app/sitemap.xml
new file mode 100644
index 0000000..0b8c846
--- /dev/null
+++ b/src/app/sitemap.xml
@@ -0,0 +1,430 @@
+
+
+
+
+ https://ocenka-sochi.ru/
+ 2025-12-12T08:08:10+00:00
+ 1.00
+
+
+ https://ocenka-sochi.ru/ekspertiza
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/avtotehnicheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/trasologicheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/pozharno-tehnicheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/tovarovedcheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/recenzirovanie
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/dokumentov
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/buhgalterskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/finansovo-jekonomicheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/zemle-ustroitelnaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/kadastrovaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/stroitelno-tehnicheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/kompjuterno-tehnicheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/pocherkovedcheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/tehniko-kriminalisticheskaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/nezavisimaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-opeki
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-notariusa
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-strahovanija
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-opredelenija-stoimosti-ushherba
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/ocenka-imushhestva-pri-razvode
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti-dlja-suda
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-ipoteki
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-banka
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/imushhestva-dlja-bankrotstva
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/kvartiry
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/zhilogo-doma
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/zemelnogo-uchastka
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/garazha
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/ushherba-nedvizhimosti
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/ushherba-ot-zaliva
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/ushherba-ot-pozhara
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/stoimosti-arendnoj-stavki
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/zdanija
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/zemel
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/nezhilogo-pomeshhenija
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/ofisa
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/sooruzhenij
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/nezavershennogo-stroitelstva
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/nedvizhimosti
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/mashin-i-oborudovanija
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/spectehniki
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/nematerialnyh-aktivov
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/stoimosti-predprijatija-biznesa
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/cennyh-bumag
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-sberbanka
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/dlja-banka-vtb
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/ushherba-v-dtp
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/rynochnoj-stoimosti-avtomobilja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/avtomobilja-dlja-suda
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/motociklov-i-mototehniki
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/morskih-i-rechnyh-sudov
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/strahovye-spory
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/zemelnye-i-imushhestvennye-spory
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/semejnye-i-nasledstvennye-spory
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/trudovye-spory
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/spory-po-dtp
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/soprovozhdenie-sdelok-sostavlenie-dogovorov-konsultaciya
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/predstavitelstvo-v-sude
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/bankrotstvo-fizicheskih-lic
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/vzyskanie-dolgov-s-juridicheskih-lic
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/pomoshh-dolzhnikam
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/jurist/vozvrat-strahovki-i-komissij-bankov
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/experts
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/contacts
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/ekspertiza/ocenochnaja
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/privacy-policy
+ 2025-12-12T08:08:10+00:00
+ 0.80
+
+
+ https://ocenka-sochi.ru/experts/jancen-jana-nikolaevna
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/kaminskij-dmitrij-olegovich
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/kolodij-aleksandr-sergeevich
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/mikova-inna-georgievna
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/polinov-andrej-vladimirovich
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/mitjaev-aleksej-aleksandrovich
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/borodin-vitalij-petrovich
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/volkova-goncharova-tatjana-anatolevna
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+ https://ocenka-sochi.ru/experts/gjulmamedov-javar-firmamed-ogly
+ 2025-12-12T08:08:10+00:00
+ 0.64
+
+
+
+
\ No newline at end of file
diff --git a/src/app/user-agreement/page.tsx b/src/app/user-agreement/page.tsx
index 06b3497..9074813 100644
--- a/src/app/user-agreement/page.tsx
+++ b/src/app/user-agreement/page.tsx
@@ -1,19 +1,32 @@
import { UserAgreement } from '@/views';
import type { Metadata } from 'next';
-import { metaInfo } from '@shared/lib';
+import { metaInfo, phoneBeautify } from '@shared/lib';
+import { headers } from 'next/headers';
+import { TMetainfo } from '@shared/types/metainfo';
+import { CONTACTS } from '@shared/const/contacts';
-const metainfo = {
- title: 'Независимая оценка и судебная экспертиза',
- description:
- 'Услуги независимой оценки и судебной экспертизы в Сочи и Краснодаре.',
- companyName: 'Компания ДИТРАСО',
- phone: '+7 (900) 241-34-34',
- url: 'https://ocenka-sochi.ru',
- ogImageTitle: 'Оценка и экспертиза',
- ogImageDescription: 'Независимая оценка и судебная экспертиза',
+const metainfo: TMetainfo = {
+ title: 'Согласие на обработку персональных данных',
+ description: `Услуги оценки имущества и проведение судебных экспертиз Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
+ companyName: CONTACTS.COMPANY_FULL,
+ phone: phoneBeautify(CONTACTS.PHONE),
+ ogImageUrl: '/images/opengraph/main.png',
};
-export const metadata: Metadata = metaInfo(metainfo);
+export async function generateMetadata(): Promise {
+ const h = await headers();
+ const referer = h.get('referer') ?? '';
+ const host = h.get('host') ?? '';
+ const proto = h.get('x-forwarded-proto') ?? '';
+ const path = referer ? new URL(referer).pathname : '';
+
+ const metainfoExtended = Object.assign({}, metainfo, {
+ host: `${proto}://${host}`,
+ path: path,
+ });
+
+ return metaInfo(metainfoExtended);
+}
export default function Page() {
return ;
diff --git a/src/entities/base-menu/styles.module.scss b/src/entities/base-menu/styles.module.scss
index 3a06f21..4aa56d4 100644
--- a/src/entities/base-menu/styles.module.scss
+++ b/src/entities/base-menu/styles.module.scss
@@ -13,18 +13,18 @@
gap: rem(20px);
@include iftablet {
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
max-width: rem(1540px);
- padding: 0 28px;
+ padding: 0 rem(28px);
height: rem(100px);
gap: rem(20px);
}
@include ifdesktop {
- padding: 0 40px;
+ padding: 0 rem(40px);
}
.Logotype {
diff --git a/src/entities/beauty-button/styles.module.scss b/src/entities/beauty-button/styles.module.scss
index 7be7163..0f6731b 100644
--- a/src/entities/beauty-button/styles.module.scss
+++ b/src/entities/beauty-button/styles.module.scss
@@ -2,10 +2,10 @@
display: flex;
flex-direction: column;
align-items: center;
- gap: 4px;
+ gap: rem(4px);
@include ifdesktop {
- gap: 8px;
+ gap: rem(8px);
}
.Button {
@@ -13,28 +13,28 @@
display: flex;
justify-content: center;
align-items: center;
- gap: 4px;
- padding: 6px 10px;
- border-radius: 28px;
+ gap: rem(4px);
+ padding: rem(6px) rem(10px);
+ border-radius: rem(28px);
background: #58c644;
background: -webkit-gradient(linear, left top, right top, from(#58c644), to(#009283));
background: linear-gradient(to right, #58c644 0%, #009283 100%);
@include ifdesktop {
- gap: 8px;
- padding: 10px 20px;
+ gap: rem(8px);
+ padding: rem(10px) rem(20px);
}
}
.Phone {
font-family: $font-roboto;
font-weight: 600;
- font-size: 14px;
+ font-size: rem(14px);
line-height: 100%;
color: $color-white;
@include ifdesktop {
- font-size: 16px;
+ font-size: rem(16px);
}
}
diff --git a/src/entities/callback-form/styles.module.scss b/src/entities/callback-form/styles.module.scss
index 47a5d7c..b4313c4 100644
--- a/src/entities/callback-form/styles.module.scss
+++ b/src/entities/callback-form/styles.module.scss
@@ -3,10 +3,10 @@
width: 100%;
border-radius: rem(16px);
padding: rem(30px) rem(20px);
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
display: flex;
flex-direction: column;
- max-width: 460px;
+ max-width: rem(460px);
align-self: center;
@include iftablet{
@@ -19,26 +19,22 @@
.Title {
font-family: $font-roboto;
font-weight: 500;
- font-size: 20px;
+ font-size: rem(20px);
line-height: 130%;
color: $color-white;
align-self: center;
- margin-bottom: 30px;
+ margin-bottom: rem(30px);
}
.Form {
display: grid;
grid-template-rows: repeat(3, 1fr);
grid-template-columns: auto;
- gap: 10px;
+ gap: rem(10px);
@include iftablet{
display: grid;
grid-template-rows: auto;
grid-template-columns: repeat(3, 1fr);
}
- @include iflaptop{
- }
- @include ifdesktop{
- }
}
\ No newline at end of file
diff --git a/src/entities/connect/style.module.scss b/src/entities/connect/style.module.scss
index 0e0aacb..f0ab87e 100644
--- a/src/entities/connect/style.module.scss
+++ b/src/entities/connect/style.module.scss
@@ -5,10 +5,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.Text {
@@ -17,27 +17,27 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.Container {
display: grid;
grid-template-columns: auto;
- gap: 20px;
+ gap: rem(20px);
@include iftablet{
- grid-template-columns: auto 200px;
- gap: 40px;
+ grid-template-columns: auto rem(200px);
+ gap: rem(40px);
}
@include iflaptop{
- grid-template-columns: auto 200px;
- gap: 40px;
+ grid-template-columns: auto rem(200px);
+ gap: rem(40px);
}
@include ifdesktop{
- grid-template-columns: auto 200px;
- gap: 100px;
+ grid-template-columns: auto rem(200px);
+ gap: rem(100px);
}
}
@@ -52,18 +52,15 @@
align-items: center;
.Image {
- margin-bottom: 16px;
- width: 100px;
+ margin-bottom: rem(16px);
+ width: rem(100px);
height: auto;
@include iftablet{
- width: 120px;
- height: auto;
- }
- @include iflaptop{
- width: 120px;
+ width: rem(120px);
height: auto;
}
+
@include ifdesktop{
width: 150px;
height: auto;
@@ -73,7 +70,7 @@
.Description {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-green;
text-transform: uppercase;
@@ -86,27 +83,27 @@
flex-direction: column;
justify-content: center;
align-items: center;
- gap: 16px;
+ gap: rem(16px);
.Title {
font-family: $font-roboto;
font-weight: 400;
- font-size: 20px;
+ font-size: rem(20px);
line-height: 100%;
color: $color-text;
}
.Btn {
- border-width: 1px 1px 1px 1px;
+ border-width: rem(1px);
border-color: $color-green;
- border-radius: 15px 15px 15px 15px;
+ border-radius: rem(15px);
box-shadow: 2px 2px 5px 0px $color-green;
}
.Description {
font-family: $font-roboto;
font-weight: 300;
- font-size: 14px;
+ font-size: rem(14px);
line-height: 100%;
color: $color-text;
}
diff --git a/src/entities/order-schema/styles.module.scss b/src/entities/order-schema/styles.module.scss
index 8d93d37..ac27836 100644
--- a/src/entities/order-schema/styles.module.scss
+++ b/src/entities/order-schema/styles.module.scss
@@ -5,10 +5,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.Text {
@@ -17,13 +17,13 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.Container {
display: grid;
grid-template-columns: 1fr;
- gap: 20px 0;
+ gap: rem(20px) 0;
background: $color-green;
padding: rem(20px);
border-radius: rem(16px);
@@ -32,15 +32,14 @@
@include iftablet{
grid-template-columns: repeat(4, 1fr);
grid-template-rows: auto auto;
- gap: 20px 0;
+ gap: rem(20px) 0;
}
+
@include iflaptop{
grid-template-columns: repeat(7, 1fr);
grid-template-rows: auto;
justify-content: center;
}
- @include ifdesktop{
- }
.Block {
display: flex;
@@ -74,20 +73,20 @@
.Image {
width: auto;
- height: 150px;
+ height: rem(150px);
@include iftablet{
width: auto;
- height: 120px;
+ height: rem(120px);
}
@include iflaptop{
width: auto;
- height: 80px;
+ height: rem(80px);
}
@include ifdesktop{
width: auto;
- height: 140px;
+ height: rem(140px);
}
}
diff --git a/src/entities/top-menu/styles.module.scss b/src/entities/top-menu/styles.module.scss
index b32c9f7..10e1269 100644
--- a/src/entities/top-menu/styles.module.scss
+++ b/src/entities/top-menu/styles.module.scss
@@ -6,18 +6,18 @@
.Top {
margin: 0 auto;
max-width: rem(1540px);
- padding: 0 10px;
+ padding: 0 rem(10px);
display: flex;
justify-content: space-between;
@include iftablet {
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
+ padding: 0 rem(28px);
}
@include ifdesktop {
- padding: 0 40px;
+ padding: 0 rem(40px);
}
.Icons {
diff --git a/src/feature/article/consultation/styles.module.scss b/src/feature/article/consultation/styles.module.scss
index 837b3a5..e1758dc 100644
--- a/src/feature/article/consultation/styles.module.scss
+++ b/src/feature/article/consultation/styles.module.scss
@@ -5,26 +5,26 @@
grid-template-columns: auto;
grid-template-rows: auto auto;
justify-content: center;
- gap: 10px;
- padding: 0 10px;
+ gap: rem(10px);
+ padding: 0 rem(10px);
@include iftablet{
- grid-template-columns: auto 200px;
+ grid-template-columns: auto rem(200px);
grid-template-rows: auto;
justify-content: unset;
- gap: 20px;
- padding: 0 20px;
+ gap: rem(20px);
+ padding: 0 rem(20px);
}
@include iflaptop{
- grid-template-columns: auto 300px;
- gap: 40px;
- padding: 0 28px;
+ grid-template-columns: auto rem(300px);
+ gap: rem(40px);
+ padding: 0 rem(28px);
}
@include ifdesktop{
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -97,7 +97,7 @@
margin: rem(20px) 0;
padding: rem(20px);
border-radius: rem(20px);
- max-width: 460px;
+ max-width: rem(460px);
@include iftablet{
margin: rem(10px) 0;
diff --git a/src/feature/article/documents/styles.module.scss b/src/feature/article/documents/styles.module.scss
index 2f57bd5..1f8c9cb 100644
--- a/src/feature/article/documents/styles.module.scss
+++ b/src/feature/article/documents/styles.module.scss
@@ -5,10 +5,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.Text {
@@ -17,21 +17,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
diff --git a/src/feature/article/partners/styles.module.scss b/src/feature/article/partners/styles.module.scss
index 7dc1a1e..4317e30 100644
--- a/src/feature/article/partners/styles.module.scss
+++ b/src/feature/article/partners/styles.module.scss
@@ -9,8 +9,8 @@
display: flex;
width: 100%;
margin: 0 auto;
- min-height: 15px;
- mask-size: 20px 100%;
+ min-height: rem(15px);
+ mask-size: rem(20px) 100%;
mask-repeat: repeat-x;
background-color: $color-green;
mask-image: url(/svg/rotated-lines.svg);
diff --git a/src/feature/article/related-articles/styles.module.scss b/src/feature/article/related-articles/styles.module.scss
index 0d3d928..e550c73 100644
--- a/src/feature/article/related-articles/styles.module.scss
+++ b/src/feature/article/related-articles/styles.module.scss
@@ -5,20 +5,22 @@
display: grid;
grid-template-columns: auto auto;
gap: 0;
- padding: 0 10px;
+ padding: 0 rem(10px);
@include iftablet {
- padding: 0 20px;
+ padding: 0 rem(20px);
}
+
@include iflaptop {
- grid-template-columns: auto 240px;
- gap: 40px;
- padding: 0 28px;
+ grid-template-columns: auto rem(240px);
+ gap: rem(40px);
+ padding: 0 rem(28px);
}
+
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
.Block {
@@ -39,10 +41,10 @@
.Title {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text-light;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
.Image {
@@ -50,7 +52,7 @@
height: auto;
@include ifdesktop{
- max-width: 260px;
+ max-width: rem(260px);
}
}
}
@@ -59,17 +61,17 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.Grid {
display: grid;
grid-template-columns: auto;
- gap: 16px;
- margin-bottom: 20px;
+ gap: rem(16px);
+ margin-bottom: rem(20px);
@include iftablet {
grid-template-columns: auto auto;
@@ -78,16 +80,16 @@
.Title {
font-family: $font-roboto;
font-weight: 500;
- font-size: 20px;
+ font-size: rem(20px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.Description {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
}
diff --git a/src/feature/article/sidebar/styles.module.scss b/src/feature/article/sidebar/styles.module.scss
index a3e4bfe..fc22d3f 100644
--- a/src/feature/article/sidebar/styles.module.scss
+++ b/src/feature/article/sidebar/styles.module.scss
@@ -78,7 +78,7 @@
.List {
display: flex;
flex-direction: column;
- gap: 4px;
+ gap: rem(4px);
list-style-type: disc;
margin-left: rem(40px);
}
diff --git a/src/feature/contacts/licence-slider/styles.module.scss b/src/feature/contacts/licence-slider/styles.module.scss
index f39f9ea..8fc6992 100644
--- a/src/feature/contacts/licence-slider/styles.module.scss
+++ b/src/feature/contacts/licence-slider/styles.module.scss
@@ -1,6 +1,6 @@
.Slider {
display: block;
- padding: 0 20px;
+ padding: 0 rem(20px);
.Slide {
display: flex;
@@ -8,7 +8,7 @@
align-items: center;
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
diff --git a/src/feature/contacts/yandex-map/styles.module.scss b/src/feature/contacts/yandex-map/styles.module.scss
index 1c57feb..0f3a1de 100644
--- a/src/feature/contacts/yandex-map/styles.module.scss
+++ b/src/feature/contacts/yandex-map/styles.module.scss
@@ -63,10 +63,10 @@
.Header {
font-family: $font-roboto;
font-weight: 400;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-top: 10px;
+ margin-top: rem(10px);
&:first-child {
margin-top: 0;
@@ -76,10 +76,10 @@
.Text {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 10px;
+ margin-bottom: rem(10px);
}
}
}
\ No newline at end of file
diff --git a/src/shared/const/contacts.ts b/src/shared/const/contacts.ts
index 9f3c404..94c40dd 100644
--- a/src/shared/const/contacts.ts
+++ b/src/shared/const/contacts.ts
@@ -1,5 +1,6 @@
export const CONTACTS = {
COMPANY: '«ООО ДИТРАСО»',
+ COMPANY_FULL: 'Компания «ДИТРАСО»',
WEB: 'ocenka-sochi.ru',
PHONE: '+79002413434',
EMAIL: 'spo-71@yandex.ru',
diff --git a/src/shared/lib/metaInfo/metaInfo.ts b/src/shared/lib/metaInfo/metaInfo.ts
index 5720f08..bbae17f 100644
--- a/src/shared/lib/metaInfo/metaInfo.ts
+++ b/src/shared/lib/metaInfo/metaInfo.ts
@@ -5,9 +5,9 @@ type TMetaInfo = {
description: string;
companyName: string;
phone: string;
- url: string;
- ogImageTitle: string;
- ogImageDescription: string;
+ host: string;
+ path: string;
+ ogImageUrl: string;
width?: number;
height?: number;
locale?: string;
@@ -20,9 +20,9 @@ function metaInfo({ ...props }: TMetaInfo): Metadata {
description,
companyName,
phone,
- url,
- ogImageTitle,
- ogImageDescription,
+ host,
+ path = '',
+ ogImageUrl,
width = 600,
height = 315,
locale = 'ru_RU',
@@ -31,15 +31,14 @@ function metaInfo({ ...props }: TMetaInfo): Metadata {
return {
title: `${title} | ${companyName}`,
- description: `${description} ${phone}`,
+ description: description,
openGraph: {
title: title,
description: description,
- url: url,
+ url: `${host}${path}`,
images: [
{
- url: `${url}/api/og/?title=${ogImageTitle}&description=${ogImageDescription}`,
- secureUrl: `${url}/api/og/?title=${ogImageTitle}&description=${ogImageDescription}`,
+ url: `${host}${ogImageUrl}`,
width: width,
height: height,
alt: `${title} - ${companyName}`,
@@ -52,11 +51,11 @@ function metaInfo({ ...props }: TMetaInfo): Metadata {
twitter: {
card: 'summary_large_image',
title: `${title} - ${companyName}`,
- description: `${description} ${phone}`,
+ description: description,
creator: creator,
images: [
{
- url: `${url}/api/og/?title=${ogImageTitle}&description=${ogImageDescription}`,
+ url: `${host}${ogImageUrl}`,
width: width,
height: height,
alt: `${title} - ${companyName}`,
diff --git a/src/shared/types/metainfo.ts b/src/shared/types/metainfo.ts
new file mode 100644
index 0000000..63e158e
--- /dev/null
+++ b/src/shared/types/metainfo.ts
@@ -0,0 +1,7 @@
+export type TMetainfo = {
+ title: string;
+ description: string;
+ companyName: string;
+ phone: string;
+ ogImageUrl: string;
+};
diff --git a/src/views/contacts/styles.module.scss b/src/views/contacts/styles.module.scss
index bc87805..53d045c 100644
--- a/src/views/contacts/styles.module.scss
+++ b/src/views/contacts/styles.module.scss
@@ -3,23 +3,23 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
grid-template-columns: repeat(2, 1fr);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
.Contact {
@@ -28,7 +28,11 @@
width: 100%;
@include iftablet {
- max-width: 420px;
+ max-width: rem(420px);
+ }
+
+ &:first-child {
+ height: auto;
}
}
@@ -37,18 +41,18 @@
grid-template-columns: 1fr 1fr;
justify-items: center;
align-items: center;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
.Info {
display: flex;
flex-direction: column;
align-items: center;
- gap: 12px;
+ gap: rem(12px);
.Text {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 100%;
color: $color-text;
@@ -74,16 +78,16 @@
p {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 150%;
color: $color-text-light;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
}
}
.LicenceSlider {
- margin: 0 auto 40px;
+ margin: 0 auto rem(40px);
max-width: rem(1200px);
.Title {
@@ -105,7 +109,7 @@
.Block {
position: relative;
- padding: 20px 0 20px 100px;
+ padding: rem(20px) 0 rem(20px) rem(100px);
@include iftablet {
background-color: #009283;
@@ -124,27 +128,27 @@
left: 16px;
@include iftablet {
- top: 18px;
- left: 30px;
+ top: rem(18px);
+ left: rem(30px);
}
}
.Title {
font-family: $font-roboto;
font-weight: 500;
- font-size: 24px;
+ font-size: rem(24px);
line-height: 130%;
color: $color-white;
- margin-bottom: 4px;
+ margin-bottom: rem(4px);
}
.Text {
font-family: $font-roboto;
font-weight: 500;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-white;
- margin-bottom: 4px;
+ margin-bottom: rem(4px);
}
}
}
@@ -153,10 +157,10 @@
%title {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
text-align: center;
- height: 80px;
- margin-bottom: 20px;
+ height: rem(80px);
+ margin-bottom: rem(20px);
}
\ No newline at end of file
diff --git a/src/views/expertise/autotech/styles.module.scss b/src/views/expertise/autotech/styles.module.scss
index 12e439f..e80d2e3 100644
--- a/src/views/expertise/autotech/styles.module.scss
+++ b/src/views/expertise/autotech/styles.module.scss
@@ -4,23 +4,23 @@
display: grid;
grid-template-columns: auto;
gap: 0px;
- padding: 0 10px;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/buhgalter/styles.module.scss b/src/views/expertise/buhgalter/styles.module.scss
index 12e439f..e80d2e3 100644
--- a/src/views/expertise/buhgalter/styles.module.scss
+++ b/src/views/expertise/buhgalter/styles.module.scss
@@ -4,23 +4,23 @@
display: grid;
grid-template-columns: auto;
gap: 0px;
- padding: 0 10px;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/category/styles.module.scss b/src/views/expertise/category/styles.module.scss
index 6f9a0db..ddd4818 100644
--- a/src/views/expertise/category/styles.module.scss
+++ b/src/views/expertise/category/styles.module.scss
@@ -3,29 +3,29 @@
max-width: rem(1540px);
display: flex;
flex-direction: column;
- gap: 0px;
- padding: 10px;
+ gap: 0;
+ padding: rem(10px);
@include iftablet {
- padding: 20px;
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
+ padding: rem(40px);
}
}
.Header {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 40px;
+ margin-bottom: rem(40px);
}
.Grid {
@@ -43,15 +43,15 @@
.List {
display: flex;
flex-direction: column;
- gap: 10px;
+ gap: rem(10px);
list-style-type: disc;
- margin-left: 16px;
+ margin-left: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
diff --git a/src/views/expertise/computer/styles.module.scss b/src/views/expertise/computer/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/computer/styles.module.scss
+++ b/src/views/expertise/computer/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/document/styles.module.scss b/src/views/expertise/document/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/document/styles.module.scss
+++ b/src/views/expertise/document/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/finans/styles.module.scss b/src/views/expertise/finans/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/finans/styles.module.scss
+++ b/src/views/expertise/finans/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/kadastr/styles.module.scss b/src/views/expertise/kadastr/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/kadastr/styles.module.scss
+++ b/src/views/expertise/kadastr/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/pocherk/styles.module.scss b/src/views/expertise/pocherk/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/pocherk/styles.module.scss
+++ b/src/views/expertise/pocherk/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/pozhar/styles.module.scss b/src/views/expertise/pozhar/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/pozhar/styles.module.scss
+++ b/src/views/expertise/pozhar/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/recenzii/styles.module.scss b/src/views/expertise/recenzii/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/recenzii/styles.module.scss
+++ b/src/views/expertise/recenzii/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/stroit/styles.module.scss b/src/views/expertise/stroit/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/stroit/styles.module.scss
+++ b/src/views/expertise/stroit/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/tech-crim/styles.module.scss b/src/views/expertise/tech-crim/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/tech-crim/styles.module.scss
+++ b/src/views/expertise/tech-crim/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/tovar/styles.module.scss b/src/views/expertise/tovar/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/tovar/styles.module.scss
+++ b/src/views/expertise/tovar/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/trasologia/styles.module.scss b/src/views/expertise/trasologia/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/trasologia/styles.module.scss
+++ b/src/views/expertise/trasologia/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/expertise/zem-stroy/styles.module.scss b/src/views/expertise/zem-stroy/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/expertise/zem-stroy/styles.module.scss
+++ b/src/views/expertise/zem-stroy/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/experts/borodin/styles.module.scss b/src/views/experts/borodin/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/borodin/styles.module.scss
+++ b/src/views/experts/borodin/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/category/styles.module.scss b/src/views/experts/category/styles.module.scss
index 21c2fb9..e2d67c7 100644
--- a/src/views/experts/category/styles.module.scss
+++ b/src/views/experts/category/styles.module.scss
@@ -2,21 +2,21 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
grid-template-columns: 1fr 1fr;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
+ padding: rem(40px);
}
}
@@ -24,42 +24,42 @@
.Block {
display: grid;
grid-template-columns: 1fr 1fr;
- border-radius: 28px;
- box-shadow: 0 0 10px 0 rgba(97, 206, 112, 0.5);
- padding: 20px;
+ border-radius: rem(28px);
+ box-shadow: 0 0 rem(10px) 0 rgba(97, 206, 112, 0.5);
+ padding: rem(20px);
height: 100%;
.Expert {
display: flex;
flex-direction: column;
align-items: center;
- gap: 16px;
+ gap: rem(16px);
.Image {
width: auto;
- height: 200px;
+ height: rem(200px);
- @include iftablet{
+ @include iftablet {
width: auto;
- height: 150px;
+ height: rem(150px);
}
- @include iflaptop{
+ @include iflaptop {
width: auto;
- height: 200px;
+ height: rem(200px);
}
}
.Name {
font-family: $font-roboto;
font-weight: 500;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
text-align: center;
@include iflaptop {
- font-size: 18px;
+ font-size: rem(18px);
line-height: 130%;
}
}
@@ -67,13 +67,13 @@
.Position {
font-family: $font-roboto;
font-weight: 400;
- font-size: 14px;
+ font-size: rem(14px);
line-height: 100%;
color: $color-text-light;
text-align: center;
@include iflaptop {
- font-size: 16px;
+ font-size: rem(16px);
}
}
}
@@ -81,7 +81,7 @@
.Certificate {
.Image {
width: auto;
- height: 200px;
+ height: rem(200px);
}
}
}
\ No newline at end of file
diff --git a/src/views/experts/elchischev/styles.module.scss b/src/views/experts/elchischev/styles.module.scss
index 05bac2b..1b8e524 100644
--- a/src/views/experts/elchischev/styles.module.scss
+++ b/src/views/experts/elchischev/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: auto;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/gulmamedov/styles.module.scss b/src/views/experts/gulmamedov/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/gulmamedov/styles.module.scss
+++ b/src/views/experts/gulmamedov/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/kaminskiy/styles.module.scss b/src/views/experts/kaminskiy/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/kaminskiy/styles.module.scss
+++ b/src/views/experts/kaminskiy/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/kolodiy/styles.module.scss b/src/views/experts/kolodiy/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/kolodiy/styles.module.scss
+++ b/src/views/experts/kolodiy/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/mikova/styles.module.scss b/src/views/experts/mikova/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/mikova/styles.module.scss
+++ b/src/views/experts/mikova/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/mityaev/styles.module.scss b/src/views/experts/mityaev/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/mityaev/styles.module.scss
+++ b/src/views/experts/mityaev/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/polinov/styles.module.scss b/src/views/experts/polinov/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/polinov/styles.module.scss
+++ b/src/views/experts/polinov/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/volkova-goncharova/styles.module.scss b/src/views/experts/volkova-goncharova/styles.module.scss
index c206de9..1b8e524 100644
--- a/src/views/experts/volkova-goncharova/styles.module.scss
+++ b/src/views/experts/volkova-goncharova/styles.module.scss
@@ -2,23 +2,23 @@
margin: 0 auto;
max-width: rem(1540px);
display: grid;
- gap: 10px;
- padding: 10px;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -26,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/experts/yancen/styles.module.scss b/src/views/experts/yancen/styles.module.scss
index a542a10..1b8e524 100644
--- a/src/views/experts/yancen/styles.module.scss
+++ b/src/views/experts/yancen/styles.module.scss
@@ -1,28 +1,24 @@
.Container {
margin: 0 auto;
max-width: rem(1540px);
- display: flex;
- flex-direction: column-reverse;
- align-items: center;
- gap: 20px;
- padding: 20px 10px;
+ display: grid;
+ gap: rem(10px);
+ padding: rem(10px);
@include iftablet {
- display: grid;
- grid-template-columns: auto 400px;
+ grid-template-columns: auto rem(400px);
justify-items: center;
- align-items: start;
- gap: 20px;
- padding: 20px;
+ gap: rem(20px);
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
- gap: 40px;
+ padding: rem(40px);
+ gap: rem(40px);
}
}
@@ -30,50 +26,58 @@
.Block {
display: flex;
flex-direction: column;
- gap: 20px;
+ gap: rem(20px);
h3 {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
p {
font-family: $font-roboto;
- font-weight: 400;
- font-size: 18px;
+ font-weight: 300;
+ font-size: rem(16px);
line-height: 110%;
color: $color-text;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
ul {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
+
+ @include iftablet{
+ font-size: rem(18px);
+ }
}
.ListShift{
- margin-left: 40px;
+ margin-left: rem(40px);
}
}
.Photo {
.Image {
- width: 200px;
+ width: rem(200px);
height: auto;
}
}
\ No newline at end of file
diff --git a/src/views/home/call-us/styles.module.scss b/src/views/home/call-us/styles.module.scss
index f4b1372..1a6f2e6 100644
--- a/src/views/home/call-us/styles.module.scss
+++ b/src/views/home/call-us/styles.module.scss
@@ -19,6 +19,10 @@
gap: rem(10px);
padding: rem(20px) rem(40px);
+ @media (width<520px) {
+ align-items: center;
+ }
+
.LineTitle {
font-family: $font-roboto;
font-weight: 500;
@@ -43,11 +47,19 @@
align-items: center;
gap: rem(40px);
padding: rem(20px) rem(40px);
+
+ @media (width<520px) {
+ flex-direction: column;
+ gap: rem(20px);
+ }
}
}
.Btn {
border: 1px solid #eeeeee44;
+ @media (width<520px) {
+ width: rem(260px);
+ }
}
.Icon {
diff --git a/src/views/jurist/banki/styles.module.scss b/src/views/jurist/banki/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/banki/styles.module.scss
+++ b/src/views/jurist/banki/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/bankrotstvo/styles.module.scss b/src/views/jurist/bankrotstvo/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/bankrotstvo/styles.module.scss
+++ b/src/views/jurist/bankrotstvo/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/category/styles.module.scss b/src/views/jurist/category/styles.module.scss
index 2fc39a8..5fd9fbc 100644
--- a/src/views/jurist/category/styles.module.scss
+++ b/src/views/jurist/category/styles.module.scss
@@ -3,35 +3,35 @@
max-width: rem(1540px);
display: flex;
flex-direction: column;
- gap: 0px;
- padding: 10px;
+ gap: 0;
+ padding: rem(10px);
@include iftablet {
- padding: 20px;
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
+ padding: rem(40px);
}
}
.Header {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 40px;
+ margin-bottom: rem(40px);
}
.Grid {
display: grid;
grid-template-columns: auto;
- gap: 40px 0;
+ gap: rem(40px) 0;
@include iftablet {
grid-template-columns: repeat(3, 1fr);
@@ -44,24 +44,24 @@
.Title {
font-family: $font-roboto;
font-weight: 500;
- font-size: 24px;
+ font-size: rem(24px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
.List {
display: flex;
flex-direction: column;
- gap: 10px;
+ gap: rem(10px);
list-style-type: disc;
- margin-left: 16px;
+ margin-left: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
diff --git a/src/views/jurist/dolgi/styles.module.scss b/src/views/jurist/dolgi/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/dolgi/styles.module.scss
+++ b/src/views/jurist/dolgi/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/dolzhnikam/styles.module.scss b/src/views/jurist/dolzhnikam/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/dolzhnikam/styles.module.scss
+++ b/src/views/jurist/dolzhnikam/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/predstavitelstvo/styles.module.scss b/src/views/jurist/predstavitelstvo/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/predstavitelstvo/styles.module.scss
+++ b/src/views/jurist/predstavitelstvo/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/sdelki/styles.module.scss b/src/views/jurist/sdelki/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/sdelki/styles.module.scss
+++ b/src/views/jurist/sdelki/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/spor-dtp/styles.module.scss b/src/views/jurist/spor-dtp/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/spor-dtp/styles.module.scss
+++ b/src/views/jurist/spor-dtp/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/spor-semejnye/styles.module.scss b/src/views/jurist/spor-semejnye/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/spor-semejnye/styles.module.scss
+++ b/src/views/jurist/spor-semejnye/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/spor-strahovye/styles.module.scss b/src/views/jurist/spor-strahovye/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/spor-strahovye/styles.module.scss
+++ b/src/views/jurist/spor-strahovye/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/spor-trudovye/styles.module.scss b/src/views/jurist/spor-trudovye/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/spor-trudovye/styles.module.scss
+++ b/src/views/jurist/spor-trudovye/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/jurist/spor-zemel-imush/styles.module.scss b/src/views/jurist/spor-zemel-imush/styles.module.scss
index 781c9db..dc01b19 100644
--- a/src/views/jurist/spor-zemel-imush/styles.module.scss
+++ b/src/views/jurist/spor-zemel-imush/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ul, .List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
li, .ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,18 +62,18 @@
h3, .Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
em {
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
ol {
- margin-left: 16px;
+ margin-left: rem(16px);
}
}
diff --git a/src/views/ocenka/avtomobilja-dlja-suda/styles.module.scss b/src/views/ocenka/avtomobilja-dlja-suda/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/avtomobilja-dlja-suda/styles.module.scss
+++ b/src/views/ocenka/avtomobilja-dlja-suda/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/category/model/links.ts b/src/views/ocenka/category/model/links.ts
index 22d54c8..581525b 100644
--- a/src/views/ocenka/category/model/links.ts
+++ b/src/views/ocenka/category/model/links.ts
@@ -37,7 +37,10 @@ export const linksData = [
{ name: 'Оценка жилого дома', link: ROUTES.OCENKA_DOM },
{ name: 'Оценка земельного участка', link: ROUTES.OCENKA_UCHASTOK },
{ name: 'Оценка гаража', link: ROUTES.OCENKA_GARAZH },
- { name: 'Оценка ущерба недвижимости', link: ROUTES.OCENKA_NEDVIGA },
+ {
+ name: 'Оценка ущерба недвижимости',
+ link: ROUTES.OCENKA_USCHERB_NEDVIGI,
+ },
{ name: 'Оценка ущерба от залива', link: ROUTES.OCENKA_ZATOPLENIE },
{ name: 'Оценка ущерба от пожара', link: ROUTES.OCENKA_POZHAR },
],
diff --git a/src/views/ocenka/category/styles.module.scss b/src/views/ocenka/category/styles.module.scss
index 2fc39a8..5fd9fbc 100644
--- a/src/views/ocenka/category/styles.module.scss
+++ b/src/views/ocenka/category/styles.module.scss
@@ -3,35 +3,35 @@
max-width: rem(1540px);
display: flex;
flex-direction: column;
- gap: 0px;
- padding: 10px;
+ gap: 0;
+ padding: rem(10px);
@include iftablet {
- padding: 20px;
+ padding: rem(20px);
}
@include iflaptop {
- padding: 28px;
+ padding: rem(28px);
}
@include ifdesktop {
- padding: 40px;
+ padding: rem(40px);
}
}
.Header {
font-family: $font-roboto;
font-weight: 500;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 40px;
+ margin-bottom: rem(40px);
}
.Grid {
display: grid;
grid-template-columns: auto;
- gap: 40px 0;
+ gap: rem(40px) 0;
@include iftablet {
grid-template-columns: repeat(3, 1fr);
@@ -44,24 +44,24 @@
.Title {
font-family: $font-roboto;
font-weight: 500;
- font-size: 24px;
+ font-size: rem(24px);
line-height: 130%;
color: $color-text;
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
}
.List {
display: flex;
flex-direction: column;
- gap: 10px;
+ gap: rem(10px);
list-style-type: disc;
- margin-left: 16px;
+ margin-left: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 400;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
diff --git a/src/views/ocenka/cennyh-bumag/styles.module.scss b/src/views/ocenka/cennyh-bumag/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/cennyh-bumag/styles.module.scss
+++ b/src/views/ocenka/cennyh-bumag/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-banka-vtb/styles.module.scss b/src/views/ocenka/dlja-banka-vtb/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-banka-vtb/styles.module.scss
+++ b/src/views/ocenka/dlja-banka-vtb/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-banka/styles.module.scss b/src/views/ocenka/dlja-banka/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-banka/styles.module.scss
+++ b/src/views/ocenka/dlja-banka/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-ipoteki/styles.module.scss b/src/views/ocenka/dlja-ipoteki/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-ipoteki/styles.module.scss
+++ b/src/views/ocenka/dlja-ipoteki/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-notariusa/styles.module.scss b/src/views/ocenka/dlja-notariusa/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-notariusa/styles.module.scss
+++ b/src/views/ocenka/dlja-notariusa/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-opeki/styles.module.scss b/src/views/ocenka/dlja-opeki/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-opeki/styles.module.scss
+++ b/src/views/ocenka/dlja-opeki/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-opredelenija-stoimosti-ushherba/styles.module.scss b/src/views/ocenka/dlja-opredelenija-stoimosti-ushherba/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-opredelenija-stoimosti-ushherba/styles.module.scss
+++ b/src/views/ocenka/dlja-opredelenija-stoimosti-ushherba/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-sberbanka/styles.module.scss b/src/views/ocenka/dlja-sberbanka/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-sberbanka/styles.module.scss
+++ b/src/views/ocenka/dlja-sberbanka/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/dlja-strahovanija/styles.module.scss b/src/views/ocenka/dlja-strahovanija/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/dlja-strahovanija/styles.module.scss
+++ b/src/views/ocenka/dlja-strahovanija/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/garazha/styles.module.scss b/src/views/ocenka/garazha/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/garazha/styles.module.scss
+++ b/src/views/ocenka/garazha/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/imushhestva-dlja-bankrotstva/styles.module.scss b/src/views/ocenka/imushhestva-dlja-bankrotstva/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/imushhestva-dlja-bankrotstva/styles.module.scss
+++ b/src/views/ocenka/imushhestva-dlja-bankrotstva/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/styles.module.scss b/src/views/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/styles.module.scss
+++ b/src/views/ocenka/imushhestva-dlja-vnesenija-v-ustavnoj-kapital/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/styles.module.scss b/src/views/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/styles.module.scss
+++ b/src/views/ocenka/imushhestva-dlja-vstuplenija-v-nasledstvo/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/styles.module.scss b/src/views/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/styles.module.scss
+++ b/src/views/ocenka/jekspertiza-i-recenzirovanie-otcheta-ob-ocenke/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/kvartiry/styles.module.scss b/src/views/ocenka/kvartiry/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/kvartiry/styles.module.scss
+++ b/src/views/ocenka/kvartiry/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/mashin-i-oborudovanija/styles.module.scss b/src/views/ocenka/mashin-i-oborudovanija/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/mashin-i-oborudovanija/styles.module.scss
+++ b/src/views/ocenka/mashin-i-oborudovanija/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/morskih-i-rechnyh-sudov/styles.module.scss b/src/views/ocenka/morskih-i-rechnyh-sudov/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/morskih-i-rechnyh-sudov/styles.module.scss
+++ b/src/views/ocenka/morskih-i-rechnyh-sudov/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/motociklov-i-mototehniki/styles.module.scss b/src/views/ocenka/motociklov-i-mototehniki/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/motociklov-i-mototehniki/styles.module.scss
+++ b/src/views/ocenka/motociklov-i-mototehniki/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/nedvizhimosti-dlja-suda/styles.module.scss b/src/views/ocenka/nedvizhimosti-dlja-suda/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/nedvizhimosti-dlja-suda/styles.module.scss
+++ b/src/views/ocenka/nedvizhimosti-dlja-suda/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/nedvizhimosti/styles.module.scss b/src/views/ocenka/nedvizhimosti/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/nedvizhimosti/styles.module.scss
+++ b/src/views/ocenka/nedvizhimosti/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/nematerialnyh-aktivov/styles.module.scss b/src/views/ocenka/nematerialnyh-aktivov/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/nematerialnyh-aktivov/styles.module.scss
+++ b/src/views/ocenka/nematerialnyh-aktivov/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/nezavershennogo-stroitelstva/styles.module.scss b/src/views/ocenka/nezavershennogo-stroitelstva/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/nezavershennogo-stroitelstva/styles.module.scss
+++ b/src/views/ocenka/nezavershennogo-stroitelstva/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/nezavisimaja/styles.module.scss b/src/views/ocenka/nezavisimaja/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/nezavisimaja/styles.module.scss
+++ b/src/views/ocenka/nezavisimaja/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/nezhilogo-pomeshhenija/styles.module.scss b/src/views/ocenka/nezhilogo-pomeshhenija/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/nezhilogo-pomeshhenija/styles.module.scss
+++ b/src/views/ocenka/nezhilogo-pomeshhenija/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/ocenka-imushhestva-pri-razvode/styles.module.scss b/src/views/ocenka/ocenka-imushhestva-pri-razvode/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/ocenka-imushhestva-pri-razvode/styles.module.scss
+++ b/src/views/ocenka/ocenka-imushhestva-pri-razvode/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/ofisa/styles.module.scss b/src/views/ocenka/ofisa/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/ofisa/styles.module.scss
+++ b/src/views/ocenka/ofisa/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/rynochnoj-stoimosti-avtomobilja/styles.module.scss b/src/views/ocenka/rynochnoj-stoimosti-avtomobilja/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/rynochnoj-stoimosti-avtomobilja/styles.module.scss
+++ b/src/views/ocenka/rynochnoj-stoimosti-avtomobilja/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/sooruzhenij/styles.module.scss b/src/views/ocenka/sooruzhenij/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/sooruzhenij/styles.module.scss
+++ b/src/views/ocenka/sooruzhenij/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/spectehniki/styles.module.scss b/src/views/ocenka/spectehniki/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/spectehniki/styles.module.scss
+++ b/src/views/ocenka/spectehniki/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/stoimosti-arendnoj-stavki/styles.module.scss b/src/views/ocenka/stoimosti-arendnoj-stavki/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/stoimosti-arendnoj-stavki/styles.module.scss
+++ b/src/views/ocenka/stoimosti-arendnoj-stavki/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/stoimosti-predprijatija-biznesa/styles.module.scss b/src/views/ocenka/stoimosti-predprijatija-biznesa/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/stoimosti-predprijatija-biznesa/styles.module.scss
+++ b/src/views/ocenka/stoimosti-predprijatija-biznesa/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/ushherba-nedvizhimosti/styles.module.scss b/src/views/ocenka/ushherba-nedvizhimosti/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/ushherba-nedvizhimosti/styles.module.scss
+++ b/src/views/ocenka/ushherba-nedvizhimosti/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/ushherba-ot-pozhara/styles.module.scss b/src/views/ocenka/ushherba-ot-pozhara/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/ushherba-ot-pozhara/styles.module.scss
+++ b/src/views/ocenka/ushherba-ot-pozhara/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/ushherba-ot-zaliva/styles.module.scss b/src/views/ocenka/ushherba-ot-zaliva/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/ushherba-ot-zaliva/styles.module.scss
+++ b/src/views/ocenka/ushherba-ot-zaliva/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/ushherba-v-dtp/styles.module.scss b/src/views/ocenka/ushherba-v-dtp/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/ushherba-v-dtp/styles.module.scss
+++ b/src/views/ocenka/ushherba-v-dtp/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/styles.module.scss b/src/views/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/styles.module.scss
+++ b/src/views/ocenka/uts-utraty-tovarnoj-stoimosti-avtomobilja/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/styles.module.scss b/src/views/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/styles.module.scss
+++ b/src/views/ocenka/vozdushnyh-sudov-i-letatelnyh-apparatov/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/zdanija/styles.module.scss b/src/views/ocenka/zdanija/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/zdanija/styles.module.scss
+++ b/src/views/ocenka/zdanija/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/zemel/styles.module.scss b/src/views/ocenka/zemel/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/zemel/styles.module.scss
+++ b/src/views/ocenka/zemel/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/zemelnogo-uchastka/styles.module.scss b/src/views/ocenka/zemelnogo-uchastka/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/zemelnogo-uchastka/styles.module.scss
+++ b/src/views/ocenka/zemelnogo-uchastka/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/views/ocenka/zhilogo-doma/styles.module.scss b/src/views/ocenka/zhilogo-doma/styles.module.scss
index 12e439f..088f410 100644
--- a/src/views/ocenka/zhilogo-doma/styles.module.scss
+++ b/src/views/ocenka/zhilogo-doma/styles.module.scss
@@ -3,24 +3,24 @@
max-width: rem(1540px);
display: grid;
grid-template-columns: auto;
- gap: 0px;
- padding: 0 10px;
+ gap: 0;
+ padding: 0 rem(10px);
@include iftablet {
grid-template-columns: auto;
- padding: 0 20px;
+ padding: 0 rem(20px);
}
@include iflaptop {
- padding: 0 28px;
- gap: 40px;
- grid-template-columns: auto 300px;
+ padding: 0 rem(28px);
+ gap: rem(40px);
+ grid-template-columns: auto rem(300px);
}
@include ifdesktop {
- grid-template-columns: auto 360px;
- gap: 160px;
- padding: 0 40px;
+ grid-template-columns: auto rem(360px);
+ gap: rem(160px);
+ padding: 0 rem(40px);
}
}
@@ -39,21 +39,21 @@
font-size: rem(16px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
.List {
display: flex;
flex-direction: column;
list-style-type: disc;
- margin-left: 16px;
- margin-bottom: 16px;
+ margin-left: rem(16px);
+ margin-bottom: rem(16px);
}
.ListItem {
font-family: $font-roboto;
font-weight: 300;
- font-size: 16px;
+ font-size: rem(16px);
line-height: 130%;
color: $color-text;
list-style: unset;
@@ -62,10 +62,10 @@
.Header {
font-family: $font-roboto;
font-weight: 300;
- font-size: 32px;
+ font-size: rem(32px);
line-height: 130%;
color: $color-text;
- margin-bottom: 16px;
+ margin-bottom: rem(16px);
}
}
diff --git a/src/widgets/breadcrumbs/styles.module.scss b/src/widgets/breadcrumbs/styles.module.scss
index 8356735..b8f9643 100644
--- a/src/widgets/breadcrumbs/styles.module.scss
+++ b/src/widgets/breadcrumbs/styles.module.scss
@@ -11,21 +11,21 @@
.Breadcrumbs {
margin: 0 auto;
max-width: rem(1540px);
- padding: rem(20px) 10px;
+ padding: rem(20px) rem(10px);
display: flex;
flex-direction: row;
justify-content: space-between;
@include iftablet{
- padding: rem(20px) 20px;
+ padding: rem(20px) rem(20px);
}
@include iflaptop{
- padding: rem(20px) 28px;
+ padding: rem(20px) rem(28px);
}
@include ifdesktop{
- padding: rem(20px) 40px;
+ padding: rem(20px) rem(40px);
}
.Block {
@@ -36,7 +36,6 @@
.List {
display: flex;
flex-direction: row;
- //gap: 12px;
}
.ListItem {
@@ -48,7 +47,7 @@
&:after {
content: '/';
- padding: 0 4px;
+ padding: 0 rem(4px);
}
&:last-child:after {
@@ -78,15 +77,15 @@
height: auto;
@include iftablet {
- width: 200px;
+ width: rem(200px);
}
@include iflaptop {
- width: 300px;
+ width: rem(300px);
}
@include ifdesktop {
- width: 400px;
+ width: rem(400px);
}
}
diff --git a/src/widgets/cookie-notice/styles.module.scss b/src/widgets/cookie-notice/styles.module.scss
index 86c88bb..38d8177 100644
--- a/src/widgets/cookie-notice/styles.module.scss
+++ b/src/widgets/cookie-notice/styles.module.scss
@@ -11,7 +11,7 @@
transition: opacity 0.25s ease-in-out;
border: 1px solid $color-lightgray;
- border-radius: 28px;
+ border-radius: rem(28px);
box-shadow: 1px 1px 2px 0 #aaa;
@include iftablet {
@@ -86,9 +86,6 @@
justify-content: flex-end;
max-width: unset;
}
-
- @include ifdesktop {
- }
}
.Hide {
diff --git a/src/widgets/footer/styles.module.scss b/src/widgets/footer/styles.module.scss
index 7f5847a..5a8b863 100644
--- a/src/widgets/footer/styles.module.scss
+++ b/src/widgets/footer/styles.module.scss
@@ -264,7 +264,7 @@
@include iftablet {
content: '|';
- padding-left: 8px;
+ padding-left: rem(8px);
}
}
&:last-child:after {
diff --git a/src/widgets/preview-modal/styles.module.scss b/src/widgets/preview-modal/styles.module.scss
index 050a08b..fe6aeb0 100644
--- a/src/widgets/preview-modal/styles.module.scss
+++ b/src/widgets/preview-modal/styles.module.scss
@@ -3,10 +3,10 @@
width: 100%;
border-radius: rem(16px);
padding: rem(10px) rem(10px);
- margin-bottom: 20px;
+ margin-bottom: rem(20px);
display: flex;
flex-direction: column;
- max-width: 460px;
+ max-width: rem(460px);
justify-content: center;
align-self: center;