From d0f41672d19f0c439faf14f7c02f2319d7fc4129 Mon Sep 17 00:00:00 2001 From: Web-serfer Date: Thu, 9 Apr 2026 22:22:55 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=20=D0=BF=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lock | 101 ++++- frontend/astro.config.mjs | 2 + frontend/package.json | 1 + frontend/public/images/contacts/conBg.avif | Bin 0 -> 20147 bytes frontend/public/images/contacts/conImg.avif | Bin 0 -> 10270 bytes frontend/public/images/reviews/revBg.avif | Bin 0 -> 19607 bytes frontend/public/images/reviews/revImg.avif | Bin 0 -> 14261 bytes .../src/components/base/AuthLockBlock.astro | 73 ++++ .../src/components/base/SearchModal.astro | 32 +- frontend/src/components/blog/BlogCard.astro | 2 +- .../src/components/blog/PostCommentForm.astro | 346 ++++++++++++++++++ .../components/blog/PostReactionButtons.astro | 139 +++++++ .../src/components/blog/PostSocialShare.astro | 120 ++++++ .../src/components/blog/RelatedPosts.astro | 91 +++++ frontend/src/content.config.ts | 20 + .../src/content/blog/camera-fine-appeal.mdx | 40 ++ .../src/content/blog/car-dealer-dispute.mdx | 42 +++ .../src/content/blog/dtp-instruction-2024.mdx | 59 +++ .../content/blog/independent-expertise.mdx | 37 ++ frontend/src/content/blog/license-appeal.mdx | 53 +++ .../src/content/blog/license-return-2024.mdx | 45 +++ .../src/content/blog/no-osago-at-fault.mdx | 34 ++ .../src/content/blog/osago-full-payout.mdx | 46 +++ frontend/src/content/blog/protocol-errors.mdx | 31 ++ frontend/src/data/blogData.ts | 105 ------ frontend/src/layouts/ArticleLayout.astro | 344 +++++++++++++++++ frontend/src/pages/blog/[slug].astro | 168 +++++++++ frontend/src/pages/blog/index.astro | 44 ++- frontend/src/pages/blog/page/[page].astro | 44 ++- frontend/src/pages/blog/search.astro | 69 ++-- frontend/src/pages/contacts.astro | 78 +--- frontend/src/pages/reviews.astro | 205 ++++++++--- 32 files changed, 2082 insertions(+), 289 deletions(-) create mode 100644 frontend/public/images/contacts/conBg.avif create mode 100644 frontend/public/images/contacts/conImg.avif create mode 100644 frontend/public/images/reviews/revBg.avif create mode 100644 frontend/public/images/reviews/revImg.avif create mode 100644 frontend/src/components/base/AuthLockBlock.astro create mode 100644 frontend/src/components/blog/PostCommentForm.astro create mode 100644 frontend/src/components/blog/PostReactionButtons.astro create mode 100644 frontend/src/components/blog/PostSocialShare.astro create mode 100644 frontend/src/components/blog/RelatedPosts.astro create mode 100644 frontend/src/content.config.ts create mode 100644 frontend/src/content/blog/camera-fine-appeal.mdx create mode 100644 frontend/src/content/blog/car-dealer-dispute.mdx create mode 100644 frontend/src/content/blog/dtp-instruction-2024.mdx create mode 100644 frontend/src/content/blog/independent-expertise.mdx create mode 100644 frontend/src/content/blog/license-appeal.mdx create mode 100644 frontend/src/content/blog/license-return-2024.mdx create mode 100644 frontend/src/content/blog/no-osago-at-fault.mdx create mode 100644 frontend/src/content/blog/osago-full-payout.mdx create mode 100644 frontend/src/content/blog/protocol-errors.mdx delete mode 100644 frontend/src/data/blogData.ts create mode 100644 frontend/src/layouts/ArticleLayout.astro create mode 100644 frontend/src/pages/blog/[slug].astro diff --git a/bun.lock b/bun.lock index f7eea4c..a95599f 100644 --- a/bun.lock +++ b/bun.lock @@ -9,6 +9,7 @@ "name": "frontend", "version": "0.0.1", "dependencies": { + "@astrojs/mdx": "^5.0.3", "@astrojs/node": "^10.0.4", "@tailwindcss/vite": "^4.2.2", "astro": "^6.0.8", @@ -31,6 +32,8 @@ "@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.1.0", "", { "dependencies": { "@astrojs/internal-helpers": "0.8.0", "@astrojs/prism": "4.0.1", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "retext-smartypants": "^6.2.0", "shiki": "^4.0.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-P+HnCsu2js3BoTc8kFmu+E9gOcFeMdPris75g+Zl4sY8+bBRbSQV6xzcBDbZ27eE7yBGEGQoqjpChx+KJYIPYQ=="], + "@astrojs/mdx": ["@astrojs/mdx@5.0.3", "", { "dependencies": { "@astrojs/markdown-remark": "7.1.0", "@mdx-js/mdx": "^3.1.1", "acorn": "^8.16.0", "es-module-lexer": "^2.0.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "piccolore": "^0.1.3", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.6", "unist-util-visit": "^5.1.0", "vfile": "^6.0.3" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-zv/OlM5sZZvyjHqJjR3FjJvoCgbxdqj3t4jO/gSEUNcck3BjdtMgNQw8UgPfAGe4yySdG4vjZ3OC5wUxhu7ckg=="], + "@astrojs/node": ["@astrojs/node@10.0.4", "", { "dependencies": { "@astrojs/internal-helpers": "0.8.0", "send": "^1.2.1", "server-destroy": "^1.0.1" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-7pVgiVSscQHRC2WqjlXcnbbcKMYp2GXrYpmuvdGg5zgA8J1lFm2vmwVhHZFuZK3Ik5PzoxiDROaEgoDGLbfhLw=="], "@astrojs/prism": ["@astrojs/prism@4.0.1", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ=="], @@ -181,6 +184,8 @@ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + "@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="], + "@oslojs/encoding": ["@oslojs/encoding@1.1.0", "", {}, "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="], "@rollup/pluginutils": ["@rollup/pluginutils@5.3.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q=="], @@ -285,10 +290,14 @@ "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], + "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="], + "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="], @@ -313,6 +322,10 @@ "@vscode/l10n": ["@vscode/l10n@0.0.18", "", {}, "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ=="], + "acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + "ajv": ["ajv@8.18.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A=="], "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], @@ -329,6 +342,8 @@ "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="], + "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], + "astro": ["astro@6.1.4", "", { "dependencies": { "@astrojs/compiler": "^3.0.1", "@astrojs/internal-helpers": "0.8.0", "@astrojs/markdown-remark": "7.1.0", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.3", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^7.3.1", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "bin/astro.mjs" } }, "sha512-SRy1bONuCHkGWhI5JiWCQKVDVbeaXOikjAVZs/Nz+lvUvubtdLoZfnacmuZHQ9RL2IOkU54M8/qZYm9ypJDKrg=="], "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="], @@ -345,6 +360,8 @@ "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], + "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="], @@ -353,6 +370,8 @@ "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="], + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], @@ -423,6 +442,10 @@ "es-module-lexer": ["es-module-lexer@2.0.0", "", {}, "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw=="], + "esast-util-from-estree": ["esast-util-from-estree@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "unist-util-position-from-estree": "^2.0.0" } }, "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ=="], + + "esast-util-from-js": ["esast-util-from-js@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "acorn": "^8.0.0", "esast-util-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw=="], + "esbuild": ["esbuild@0.27.7", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.7", "@esbuild/android-arm": "0.27.7", "@esbuild/android-arm64": "0.27.7", "@esbuild/android-x64": "0.27.7", "@esbuild/darwin-arm64": "0.27.7", "@esbuild/darwin-x64": "0.27.7", "@esbuild/freebsd-arm64": "0.27.7", "@esbuild/freebsd-x64": "0.27.7", "@esbuild/linux-arm": "0.27.7", "@esbuild/linux-arm64": "0.27.7", "@esbuild/linux-ia32": "0.27.7", "@esbuild/linux-loong64": "0.27.7", "@esbuild/linux-mips64el": "0.27.7", "@esbuild/linux-ppc64": "0.27.7", "@esbuild/linux-riscv64": "0.27.7", "@esbuild/linux-s390x": "0.27.7", "@esbuild/linux-x64": "0.27.7", "@esbuild/netbsd-arm64": "0.27.7", "@esbuild/netbsd-x64": "0.27.7", "@esbuild/openbsd-arm64": "0.27.7", "@esbuild/openbsd-x64": "0.27.7", "@esbuild/openharmony-arm64": "0.27.7", "@esbuild/sunos-x64": "0.27.7", "@esbuild/win32-arm64": "0.27.7", "@esbuild/win32-ia32": "0.27.7", "@esbuild/win32-x64": "0.27.7" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w=="], "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], @@ -431,7 +454,19 @@ "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], - "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], + + "estree-util-build-jsx": ["estree-util-build-jsx@3.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" } }, "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ=="], + + "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="], + + "estree-util-scope": ["estree-util-scope@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0" } }, "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ=="], + + "estree-util-to-js": ["estree-util-to-js@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", "source-map": "^0.7.0" } }, "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg=="], + + "estree-util-visit": ["estree-util-visit@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" } }, "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww=="], + + "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], @@ -481,8 +516,12 @@ "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="], + "hast-util-to-estree": ["hast-util-to-estree@3.1.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-attach-comments": "^3.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w=="], + "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="], + "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], + "hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="], "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], @@ -501,12 +540,22 @@ "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + "inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="], + "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="], + "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="], + + "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], + + "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], + "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], @@ -555,6 +604,8 @@ "magicast": ["magicast@0.5.2", "", { "dependencies": { "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", "source-map-js": "^1.2.1" } }, "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ=="], + "markdown-extensions": ["markdown-extensions@2.0.0", "", {}, "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="], + "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], "mdast-util-definitions": ["mdast-util-definitions@6.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ=="], @@ -575,6 +626,14 @@ "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], + "mdast-util-mdx": ["mdast-util-mdx@3.0.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w=="], + + "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="], + + "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="], + + "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="], + "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="], @@ -603,10 +662,22 @@ "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], + "micromark-extension-mdx-expression": ["micromark-extension-mdx-expression@3.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q=="], + + "micromark-extension-mdx-jsx": ["micromark-extension-mdx-jsx@3.0.2", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ=="], + + "micromark-extension-mdx-md": ["micromark-extension-mdx-md@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ=="], + + "micromark-extension-mdxjs": ["micromark-extension-mdxjs@3.0.0", "", { "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", "micromark-extension-mdx-expression": "^3.0.0", "micromark-extension-mdx-jsx": "^3.0.0", "micromark-extension-mdx-md": "^2.0.0", "micromark-extension-mdxjs-esm": "^3.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ=="], + + "micromark-extension-mdxjs-esm": ["micromark-extension-mdxjs-esm@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A=="], + "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], + "micromark-factory-mdx-expression": ["micromark-factory-mdx-expression@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ=="], + "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], @@ -627,6 +698,8 @@ "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], + "micromark-util-events-to-acorn": ["micromark-util-events-to-acorn@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg=="], + "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], @@ -685,6 +758,8 @@ "package-manager-detector": ["package-manager-detector@1.6.0", "", {}, "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="], + "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], + "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="], "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], @@ -711,6 +786,14 @@ "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "recma-build-jsx": ["recma-build-jsx@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-build-jsx": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew=="], + + "recma-jsx": ["recma-jsx@1.0.1", "", { "dependencies": { "acorn-jsx": "^5.0.0", "estree-util-to-js": "^2.0.0", "recma-parse": "^1.0.0", "recma-stringify": "^1.0.0", "unified": "^11.0.0" }, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w=="], + + "recma-parse": ["recma-parse@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "esast-util-from-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ=="], + + "recma-stringify": ["recma-stringify@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-to-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g=="], + "regex": ["regex@6.1.0", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg=="], "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="], @@ -723,10 +806,14 @@ "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="], + "rehype-recma": ["rehype-recma@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "hast-util-to-estree": "^3.0.0" } }, "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw=="], + "rehype-stringify": ["rehype-stringify@10.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-html": "^9.0.0", "unified": "^11.0.0" } }, "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA=="], "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], + "remark-mdx": ["remark-mdx@3.1.1", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg=="], + "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], @@ -769,6 +856,8 @@ "smol-toml": ["smol-toml@1.6.1", "", {}, "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg=="], + "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], @@ -781,6 +870,10 @@ "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="], + + "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="], + "svgo": ["svgo@4.0.1", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w=="], "tailwindcss": ["tailwindcss@4.2.2", "", {}, "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q=="], @@ -829,6 +922,8 @@ "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], + "unist-util-position-from-estree": ["unist-util-position-from-estree@2.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ=="], + "unist-util-remove-position": ["unist-util-remove-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q=="], "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], @@ -911,6 +1006,8 @@ "@astrojs/language-server/@astrojs/compiler": ["@astrojs/compiler@2.13.1", "", {}, "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg=="], + "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.9.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" }, "bundled": true }, "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA=="], "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.9.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw=="], @@ -929,6 +1026,8 @@ "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + "unstorage/chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="], "vscode-json-languageservice/jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], diff --git a/frontend/astro.config.mjs b/frontend/astro.config.mjs index fd45e56..bafd80d 100644 --- a/frontend/astro.config.mjs +++ b/frontend/astro.config.mjs @@ -2,9 +2,11 @@ import { defineConfig } from 'astro/config'; import tailwindcss from '@tailwindcss/vite'; import node from '@astrojs/node'; +import mdx from '@astrojs/mdx'; // https://astro.build/config export default defineConfig({ + integrations: [mdx()], vite: { plugins: [tailwindcss()], }, diff --git a/frontend/package.json b/frontend/package.json index d3d5ea9..cda554e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -12,6 +12,7 @@ "astro": "astro" }, "dependencies": { + "@astrojs/mdx": "^5.0.3", "@astrojs/node": "^10.0.4", "@tailwindcss/vite": "^4.2.2", "astro": "^6.0.8", diff --git a/frontend/public/images/contacts/conBg.avif b/frontend/public/images/contacts/conBg.avif new file mode 100644 index 0000000000000000000000000000000000000000..7ea56c1183e84416fa3d1918fc827f7f8de54e80 GIT binary patch literal 20147 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

W;m0>vj;}Hx6wO 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 R3WjCa002N>=HlsK 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 literal 0 HcmV?d00001 diff --git a/frontend/src/components/base/AuthLockBlock.astro b/frontend/src/components/base/AuthLockBlock.astro new file mode 100644 index 0000000..4562933 --- /dev/null +++ b/frontend/src/components/base/AuthLockBlock.astro @@ -0,0 +1,73 @@ +--- +interface Props { + title: string; + description: string; + buttonText: string; + buttonHref: string; + className?: string; +} + +const { + title = 'Авторизуйтесь, чтобы продолжить', + description = 'Для продолжения, пожалуйста, войдите в личный кабинет.', + buttonText = 'Войти в кабинет', + buttonHref = '/auth/sign-in', + className = '' +} = Astro.props; +--- + +

+
+ + + + +
+

{title}

+

{description}

+ {buttonText} +
+ + diff --git a/frontend/src/components/base/SearchModal.astro b/frontend/src/components/base/SearchModal.astro index 966274a..dca6f8c 100644 --- a/frontend/src/components/base/SearchModal.astro +++ b/frontend/src/components/base/SearchModal.astro @@ -1,17 +1,25 @@ --- -import { blogPosts } from '@data/blogData'; +import { getCollection } from 'astro:content'; + +const posts = await getCollection('blog'); + +// Сортируем и форматируем для поиска +const searchData = posts + .sort((a, b) => b.data.date.getTime() - a.data.date.getTime()) + .map(post => ({ + title: post.data.title, + description: post.data.description, + slug: post.id, + category: post.data.category, + categoryColor: post.data.categoryColor, + date: post.data.date.toLocaleDateString('ru-RU', { + day: 'numeric', + month: 'long', + year: 'numeric' + }) + })); const title = 'Поиск по статьям'; - -const searchData = blogPosts.map(post => ({ - title: post.title, - description: post.description, - slug: post.slug, - category: post.category, - categoryColor: post.categoryColor, - date: post.date -})); - const postsJson = JSON.stringify(searchData); --- @@ -106,7 +114,7 @@ const postsJson = JSON.stringify(searchData); // вывод динамического списка статей resultsContainer.innerHTML = filtered.map(post => ` - + ${post.date}

${post.title}

${post.description.substring(0, 120)}...

diff --git a/frontend/src/components/blog/BlogCard.astro b/frontend/src/components/blog/BlogCard.astro index 682cfb6..13fd834 100644 --- a/frontend/src/components/blog/BlogCard.astro +++ b/frontend/src/components/blog/BlogCard.astro @@ -32,7 +32,7 @@ const formatDate = (dateStr: string) => { }; --- -
+
diff --git a/frontend/src/components/blog/PostCommentForm.astro b/frontend/src/components/blog/PostCommentForm.astro new file mode 100644 index 0000000..380f622 --- /dev/null +++ b/frontend/src/components/blog/PostCommentForm.astro @@ -0,0 +1,346 @@ +--- +import AuthLockBlock from '@components/base/AuthLockBlock.astro'; + +interface Props { + postId: string; + isAuthorized?: boolean; +} + +const { postId, isAuthorized = false } = Astro.props; +--- + +
+

Комментарии

+ + {isAuthorized ? ( +
+
+ + +
+ +
+ +
+
+ ) : ( + + )} + + +
+ +
+
+
+
А
+
+ Алексей Петров + 2 апреля 2024 +
+
+
+
+

Спасибо за полезную статью! Столкнулся с похожей ситуацией, теперь знаю куда обращаться за помощью.

+
+ + + +
+
+
+
Ю
+
+ Юрист АВ + 3 апреля 2024 +
+
+
+
+

Алексей, спасибо за ваш комментарий! Обращайтесь — мы всегда готовы помочь в решении автоспоров.

+
+
+
+ + +
+
+
+
М
+
+ Мария Иванова + 5 апреля 2024 +
+
+
+
+

Очень подробная инструкция! Подскажите, а если ДТП произошло без пострадавших, можно ли обойтись без вызова ГИБДД?

+
+
+
+
+ + + + diff --git a/frontend/src/components/blog/PostReactionButtons.astro b/frontend/src/components/blog/PostReactionButtons.astro new file mode 100644 index 0000000..963d6b9 --- /dev/null +++ b/frontend/src/components/blog/PostReactionButtons.astro @@ -0,0 +1,139 @@ +--- +interface Props { + initialLikes?: number; + initialDislikes?: number; + postId: string; +} + +const { initialLikes = 0, initialDislikes = 0, postId } = Astro.props; +--- + +
+ + + +
+ + + + diff --git a/frontend/src/components/blog/PostSocialShare.astro b/frontend/src/components/blog/PostSocialShare.astro new file mode 100644 index 0000000..e0ed821 --- /dev/null +++ b/frontend/src/components/blog/PostSocialShare.astro @@ -0,0 +1,120 @@ +--- +interface Props { + title: string; + url: string; + className?: string; +} + +const { title, url, className = '' } = Astro.props; + +const encodedTitle = encodeURIComponent(title); +const encodedUrl = encodeURIComponent(url); +--- + +
+ + diff --git a/frontend/src/components/blog/RelatedPosts.astro b/frontend/src/components/blog/RelatedPosts.astro new file mode 100644 index 0000000..7f87649 --- /dev/null +++ b/frontend/src/components/blog/RelatedPosts.astro @@ -0,0 +1,91 @@ +--- +import BlogCard from '@components/blog/BlogCard.astro'; + +interface CollectionEntry { + id: string; + data: { + title: string; + description: string; + category: string; + categoryColor: string; + date: Date; + readTime: string; + imageUrl: string; + }; +} + +interface Props { + posts: CollectionEntry[]; + currentSlug?: string; +} + +const { posts, currentSlug } = Astro.props; + +// Форматируем дату +const formatDate = (date: Date) => { + return date.toLocaleDateString('ru-RU', { + day: 'numeric', + month: 'long', + year: 'numeric' + }); +}; + +// Фильтруем текущую статью +const filteredPosts = currentSlug + ? posts.filter(post => post.id !== currentSlug).slice(0, 3) + : posts.slice(0, 3); +--- + + + + diff --git a/frontend/src/content.config.ts b/frontend/src/content.config.ts new file mode 100644 index 0000000..3bdb79c --- /dev/null +++ b/frontend/src/content.config.ts @@ -0,0 +1,20 @@ +import { z } from 'astro/zod'; +import { defineCollection } from 'astro:content'; +import { glob } from 'astro/loaders'; + +const blog = defineCollection({ + loader: glob({ pattern: '**/*.{md,mdx}', base: './src/content/blog' }), + schema: z.object({ + title: z.string(), + description: z.string(), + author: z.string().default('Юрист АВ'), + category: z.string(), + categoryColor: z.string().default('bg-gold'), + date: z.date(), + readTime: z.string(), + imageUrl: z.string(), + draft: z.boolean().default(false), + }), +}); + +export const collections = { blog }; diff --git a/frontend/src/content/blog/camera-fine-appeal.mdx b/frontend/src/content/blog/camera-fine-appeal.mdx new file mode 100644 index 0000000..7cfef4c --- /dev/null +++ b/frontend/src/content/blog/camera-fine-appeal.mdx @@ -0,0 +1,40 @@ +--- +title: "Спор с ГИБДД: как обжаловать штраф с камеры" +description: "Камеры фотофиксации часто ошибаются. Рассказываем, как правильно обжаловать штраф, полученные с автоматических комплексов." +author: "Юрист АВ" +category: "Штрафы" +categoryColor: "bg-green" +date: 2024-03-05 +readTime: "7 мин" +imageUrl: "/images/blog/camera-fine.avif" +draft: false +--- + +## Введение + +Автоматические камеры фиксации нарушений не всегда работают корректно. Ошибки могут быть связаны с неправильной настройкой, погодными условиями и другими факторами. + +## Типичные ошибки камер + +- Неверное определение номера автомобиля +- Фиксация нарушения на соседней полосе +- Ошибки в распознавании дорожных знаков +- Срабатывание на тени или отражении + +## Порядок обжалования + +Подать жалобу можно в течение **10 дней** через: + +- Портал Госуслуг +- Лично в подразделении ГИБДД +- Через суд + +**Необходимые документы:** + +1. Копия постановления о штрафе +2. Доказательства вашей невиновности (видео, фото, свидетели) +3. Заявление с обоснованием жалобы + +## Заключение + +Не оплачивайте штрафы, с которыми не согласны. Обжалуйте их в установленный срок. diff --git a/frontend/src/content/blog/car-dealer-dispute.mdx b/frontend/src/content/blog/car-dealer-dispute.mdx new file mode 100644 index 0000000..8d5ecfd --- /dev/null +++ b/frontend/src/content/blog/car-dealer-dispute.mdx @@ -0,0 +1,42 @@ +--- +title: "Спор с автосалоном: как вернуть неисправный автомобиль" +description: "Права потребителя при покупке автомобиля с дефектами. Закон «О защите прав потребителей» и судебная практика в Сургуте." +author: "Юрист АВ" +category: "Автосалоны" +categoryColor: "bg-gold" +date: 2024-02-20 +readTime: "11 мин" +imageUrl: "/images/blog/car-dealer-dispute.avif" +draft: false +--- + +## Введение + +Покупка автомобиля — серьёзное вложение средств. Что делать, если купленная машина оказалась с дефектами? + +## Права потребителя + +По закону вы вправе: + +- Вернуть автомобиль в течение 15 дней после покупки +- Потребовать соразмерного уменьшения цены +- Потребовать безвозмездного устранения недостатков + +## Экспертиза качества + +Проведение независимой экспертизы поможет подтвердить наличие дефектов и их стоимость устранения. + +**Важно:** Автосалон обязан принять автомобиль на экспертизу за свой счёт, если гарантийный срок ещё не истёк. + +## Судебная практика + +Суды в большинстве случаев встают на сторону потребителей. Однако для успеха необходимо: + +1. Сохранить все документы о покупке +2. Зафиксировать дефекты актом +3. Провести независимую экспертизу +4. Подать претензию в автосалон + +## Заключение + +Не бойтесь отстаивать свои права. Закон на стороне потребителя, а юристы помогут вам в этом. diff --git a/frontend/src/content/blog/dtp-instruction-2024.mdx b/frontend/src/content/blog/dtp-instruction-2024.mdx new file mode 100644 index 0000000..2682250 --- /dev/null +++ b/frontend/src/content/blog/dtp-instruction-2024.mdx @@ -0,0 +1,59 @@ +--- +title: "Что делать при ДТП: пошаговая инструкция 2024" +description: "Подробный разбор действий после дорожно-транспортного происшествия. Как оформить ДТП, какие документы собрать и куда обращаться за компенсацией." +author: "Юрист АВ" +category: "ДТП" +categoryColor: "bg-red" +date: 2024-03-20 +readTime: "8 мин" +imageUrl: "/images/posts/2026/04/dtp-instruction.avif" +draft: false +--- + +## Введение + +Дорожно-транспортное происшествие — это всегда стрессовая ситуация для любого водителя. Однако от правильности ваших действий в первые минуты после аварии зависит не только безопасность всех участников, но и успешность получения страховой выплаты. + +## Первые действия после ДТП + +Немедленно остановите автомобиль, включите аварийную сигнализацию и выставьте знак аварийной остановки. Не перемещайте предметы, имеющие отношение к ДТП, до прибытия сотрудников ГИБДД. + +**Основные шаги:** + +1. Остановитесь и не покидайте место происшествия +2. Включите аварийную сигнализацию +3. Выставьте знак аварийной остановки (15 м в населённом пункте, 30 м вне его) +4. Проверьте состояние всех участников ДТП +5. При необходимости вызовите скорую помощь + +## Оформление документов + +При оформлении ДТП по европротоколу (без вызова ГИБДД) необходимо заполнить извещение о ДТП. Оба участника должны подписать документ и сфотографировать место происшествия. + +> **Важно:** Если второй участник ДТП предлагает разобраться на месте без оформления — не соглашайтесь. Это может привести к серьёзным проблемам в будущем. + +### Когда вызов ГИБДД обязателен + +- Если есть пострадавшие +- Если ущерб превышает 100 000 рублей +- Если у одного из участников нет ОСАГО +- Если возникли разногласия между участниками + +## Обращение в страховую компанию + +В течение 5 рабочих дней после ДТП обратитесь в свою страховую компанию с заявлением и полным пакетом документов. Задержка может стать основанием для отказа в выплате. + +**Необходимые документы:** + +- Заявление о страховой выплате +- Извещение о ДТП (европротокол) или справка о ДТП +- Копия протокола об административном правонарушении (если составлялся) +- Копия постановления по делу об административном правонарушении +- Паспорт транспортного средства +- Свидетельство о регистрации ТС + +## Заключение + +Своевременное и правильное оформление ДТП — залог успешного получения страховой выплаты. Если у вас возникли сложности, наши юристы готовы помочь вам разобраться в ситуации. + +**Помните:** профессиональная юридическая помощь значительно повышает шансы на благоприятный исход дела. diff --git a/frontend/src/content/blog/independent-expertise.mdx b/frontend/src/content/blog/independent-expertise.mdx new file mode 100644 index 0000000..c91072e --- /dev/null +++ b/frontend/src/content/blog/independent-expertise.mdx @@ -0,0 +1,37 @@ +--- +title: "Независимая экспертиза после ДТП: зачем и когда нужна" +description: "Когда страховая занижает ущерб — поможет независимая оценка. Как выбрать эксперта, сколько стоит и как использовать в суде." +author: "Юрист АВ" +category: "ДТП" +categoryColor: "bg-red" +date: 2024-02-15 +readTime: "6 мин" +imageUrl: "/images/blog/independent-expertise.avif" +draft: false +--- + +## Введение + +Независимая экспертиза — важный инструмент для защиты ваших интересов при получении страховой выплаты. + +## Когда нужна экспертиза + +- Сумма выплаты существенно отличается от реального ущерба +- Страховая затягивает сроки рассмотрения +- Есть споры о степени повреждений +- Не учтены скрытые повреждения + +## Выбор эксперта + +Обращайтесь только к сертифицированным оценщикам, имеющим лицензию на данный вид деятельности. + +**На что обратить внимание:** + +1. Наличие сертификата и лицензии +2. Опыт работы (желательно от 3 лет) +3. Отзывы клиентов +4. Стоимость услуг + +## Заключение + +Независимая экспертиза — ваш козырь в споре со страховой компанией. diff --git a/frontend/src/content/blog/license-appeal.mdx b/frontend/src/content/blog/license-appeal.mdx new file mode 100644 index 0000000..12242dd --- /dev/null +++ b/frontend/src/content/blog/license-appeal.mdx @@ -0,0 +1,53 @@ +--- +title: "Как оспорить лишение водительских прав" +description: "Разбираем основные основания для лишения прав и способы защиты в суде. Сроки обжалования, необходимые документы и типичные ошибки водителей." +author: "Юрист АВ" +category: "Лишение прав" +categoryColor: "bg-blue" +date: 2024-03-15 +readTime: "12 мин" +imageUrl: "/images/blog/license-appeal.avif" +draft: false +--- + +## Введение + +Лишение водительских прав — серьёзное наказание, которое может существенно осложнить жизнь. Однако не все водители знают, что решение суда можно обжаловать. + +## Основания для лишения прав + +Основные причины лишения: + +- Управление в состоянии опьянения +- Отказ от медицинского освидетельствования +- Оставление места ДТП +- Повторные нарушения ПДД +- Выезд на встречную полосу + +## Сроки обжалования + +На обжалование решения суда даётся **10 дней** с момента вынесения постановления. Пропуск срока возможен только по уважительным причинам. + +> **Важно:** Срок обжалования начинает течь с момента получения копии постановления. Если вы не получили документ — срок не начинается. + +## Необходимые документы + +Для успешного обжалования потребуются: + +1. Копия постановления суда +2. Протокол об административном правонарушении +3. Показания свидетелей (письменные) +4. Видео- и фотоматериалы с места происшествия +5. Заключения экспертов (при необходимости) + +## Типичные ошибки + +Многие водители допускают следующие ошибки: + +- **Пропуск срока обжалования** — не ждите до последнего дня +- **Отсутствие адвоката** — самостоятельная защита не всегда эффективна +- **Игнорирование судебныхных заседаний** — обязательно присутствуйте + +## Заключение + +Обжалование лишения прав — сложный процесс, требующий профессионального подхода. Обратитесь к специалистам для повышения шансов на успех. diff --git a/frontend/src/content/blog/license-return-2024.mdx b/frontend/src/content/blog/license-return-2024.mdx new file mode 100644 index 0000000..dca59e7 --- /dev/null +++ b/frontend/src/content/blog/license-return-2024.mdx @@ -0,0 +1,45 @@ +--- +title: "Возврат прав после лишения: новая процедура" +description: "Изменения в законодательстве 2024 года. Новый порядок возврата водительского удостоверения после окончания срока лишения." +author: "Юрист АВ" +category: "Лишение прав" +categoryColor: "bg-blue" +date: 2024-02-28 +readTime: "9 мин" +imageUrl: "/images/blog/license-return.avif" +draft: false +--- + +## Введение + +В 2024 году вступили в силу изменения в порядке возврата водительских прав после лишения. + +## Что изменилось + +Теперь для возврата прав необходимо: + +- Повторно сдать теоретический экзамен по ПДД +- Оплатить все штрафы +- Предоставить медицинскую справку (для некоторых категорий нарушений) + +## Медицинская справка + +Для некоторых категорий нарушений требуется предоставление медицинской справки об отсутствии противопоказаний к управлению ТС. + +**Когда нужна медсправка:** + +- Лишение за управление в состоянии опьянения +- Отказ от медицинского освидетельствования +- Лишение за повторные нарушения + +## Пошаговая инструкция + +1. Дождитесь окончания срока лишения +2. Подготовьте необходимые документы +3. Сдайте экзамен по ПДД +4. Обратитесь в подразделение ГИБДД +5. Получите водительское удостоверение + +## Заключение + +Процедура возврата прав стала более регламентированной. Соблюдайте все требования для успешного получения удостоверения. diff --git a/frontend/src/content/blog/no-osago-at-fault.mdx b/frontend/src/content/blog/no-osago-at-fault.mdx new file mode 100644 index 0000000..d34efcc --- /dev/null +++ b/frontend/src/content/blog/no-osago-at-fault.mdx @@ -0,0 +1,34 @@ +--- +title: "Что делать, если виновник ДТП не имеет ОСАГО" +description: "Как получить компенсацию, если у виновника аварии нет полиса ОСАГО. Судебный иск, взыскание ущерба и практические советы юриста." +author: "Юрист АВ" +category: "ОСАГО" +categoryColor: "bg-gold" +date: 2024-02-08 +readTime: "8 мин" +imageUrl: "/images/blog/no-osago.avif" +draft: false +--- + +## Введение + +Ситуация, когда виновник не имеет полиса ОСАГО, встречается нередко. Разбираемся, как получить компенсацию. + +## Возмещение через суд + +Если у виновника нет ОСАГО, единственный способ получения компенсации — обращение в суд с иском к виновнику. + +**Необходимые документы:** + +1. Исковое заявление +2. Документы о ДТП (протокол, справка) +3. Заключение независимой экспертизы +4. Документы о стоимости ремонта + +## Исполнительное производство + +После решения суда можно обратиться к судебным приставам для принудительного взыскания. + +## Заключение + +Не оставляйте попыток получить компенсацию. Даже если у виновника нет ОСАГО, закон на вашей стороне. diff --git a/frontend/src/content/blog/osago-full-payout.mdx b/frontend/src/content/blog/osago-full-payout.mdx new file mode 100644 index 0000000..cdf86f6 --- /dev/null +++ b/frontend/src/content/blog/osago-full-payout.mdx @@ -0,0 +1,46 @@ +--- +title: "ОСАГО: как получить полную выплату от страховой" +description: "Почему страховые компании занижают выплаты и как добиться справедливой компенсации. Независимая экспертиза и судебная практика." +author: "Юрист АВ" +category: "ОСАГО" +categoryColor: "bg-gold" +date: 2024-03-10 +readTime: "10 мин" +imageUrl: "/images/blog/osago-payout.avif" +draft: false +--- + +## Введение + +Страховые компании часто занижают размер выплат по ОСАГО. Разбираемся, как добиться справедливой компенсации. + +## Почему страховая занижает выплату + +Основные причины: + +- Использование минимальных коэффициентов износа +- Применение расценок не из вашего региона +- Игнорирование скрытых повреждений +- Неучтённые дополнительные расходы (эвакуация, хранение) + +## Независимая экспертиза + +Если вы не согласны с суммой выплаты, проведите независимую оценку ущерба. Это будет весомым аргументом при обращении в суд. + +**Шаги для проведения экспертизы:** + +1. Найдите сертифицированного эксперта-оценщика +2. Согласуйте дату и место осмотра +3. Уведомите страховую компанию о проведении экспертизы +4. Получите заключение эксперта +5. Подайте претензию в страховую компанию + +> **Совет:** Расходы на независимую экспертизу можно взыскать со страховой компании через суд. + +## Обращение в суд + +Если страховая отказывается доплачивать, обращайтесь в суд. Практика показывает, что в большинстве случаев суды встают на сторону автовладельцев. + +## Заключение + +Не соглашайтесь на заниженные выплаты. Боритесь за свои права с помощью профессиональных юристов. diff --git a/frontend/src/content/blog/protocol-errors.mdx b/frontend/src/content/blog/protocol-errors.mdx new file mode 100644 index 0000000..018166e --- /dev/null +++ b/frontend/src/content/blog/protocol-errors.mdx @@ -0,0 +1,31 @@ +--- +title: "Обжалование протокола ГИБДД: типичные ошибки инспекторов" +description: "Какие нарушения допускают сотрудники ГИБДД при составлении протокола и как использовать это в свою пользу при обжаловании." +author: "Юрист АВ" +category: "Штрафы" +categoryColor: "bg-green" +date: 2024-02-01 +readTime: "10 мин" +imageUrl: "/images/blog/protocol-errors.avif" +draft: false +--- + +## Введение + +Протокол ГИБДД может быть признан недействительным при наличии существенных нарушений в порядке его составления. + +## Типичные нарушения + +- Отсутствие понятых +- Неправильное указание данных +- Отсутствие схемы ДТП +- Нарушения при фотофиксации +- Протокол составлен не тем должностным лицом + +## Как обжаловать + +Подайте жалобу в вышестоящий орган или суд в течение **10 дней** с момента получения копии протокола. + +## Заключение + +Знание своих прав и процедур обжалования — ключ к успешной защите интересов. diff --git a/frontend/src/data/blogData.ts b/frontend/src/data/blogData.ts deleted file mode 100644 index 432eab8..0000000 --- a/frontend/src/data/blogData.ts +++ /dev/null @@ -1,105 +0,0 @@ -export interface BlogPost { - title: string; - description: string; - category: string; - categoryColor: string; - date: string; - readTime: string; - imageUrl: string; - slug: string; -} - -export const blogPosts: BlogPost[] = [ - { - title: "Что делать при ДТП: пошаговая инструкция 2024", - description: "Подробный разбор действий после дорожно-транспортного происшествия. Как оформить ДТП, какие документы собрать и куда обращаться за компенсацией.", - category: "ДТП", - categoryColor: "bg-red", - date: "2024-03-20", - readTime: "8 мин", - imageUrl: "/images/blog/dtp-instruction.avif", - slug: "/blog/dtp-instruction-2024" - }, - { - title: "Как оспорить лишение водительских прав", - description: "Разбираем основные основания для лишения прав и способы защиты в суде. Сроки обжалования, необходимые документы и типичные ошибки водителей.", - category: "Лишение прав", - categoryColor: "bg-blue", - date: "2024-03-15", - readTime: "12 мин", - imageUrl: "/images/blog/license-appeal.avif", - slug: "/blog/license-appeal" - }, - { - title: "ОСАГО: как получить полную выплату от страховой", - description: "Почему страховые компании занижают выплаты и как добиться справедливой компенсации. Независимая экспертиза и судебная практика.", - category: "ОСАГО", - categoryColor: "bg-gold", - date: "2024-03-10", - readTime: "10 мин", - imageUrl: "/images/blog/osago-payout.avif", - slug: "/blog/osago-full-payout" - }, - { - title: "Спор с ГИБДД: как обжаловать штраф с камеры", - description: "Камеры фотофиксации часто ошибаются. Рассказываем, как правильно обжаловать штраф, полученные с автоматических комплексов.", - category: "Штрафы", - categoryColor: "bg-green", - date: "2024-03-05", - readTime: "7 мин", - imageUrl: "/images/blog/camera-fine.avif", - slug: "/blog/camera-fine-appeal" - }, - { - title: "Возврат прав после лишения: новая процедура", - description: "Изменения в законодательстве 2024 года. Новый порядок возврата водительского удостоверения после окончания срока лишения.", - category: "Лишение прав", - categoryColor: "bg-blue", - date: "2024-02-28", - readTime: "9 мин", - imageUrl: "/images/blog/license-return.avif", - slug: "/blog/license-return-2024" - }, - { - title: "Спор с автосалоном: как вернуть неисправный автомобиль", - description: "Права потребителя при покупке автомобиля с дефектами. Закон «О защите прав потребителей» и судебная практика в Сургуте.", - category: "Автосалоны", - categoryColor: "bg-gold", - date: "2024-02-20", - readTime: "11 мин", - imageUrl: "/images/blog/car-dealer-dispute.avif", - slug: "/blog/car-dealer-dispute" - }, - { - title: "Независимая экспертиза после ДТП: зачем и когда нужна", - description: "Когда страховая занижает ущерб — поможет независимая оценка. Как выбрать эксперта, сколько стоит и как использовать в суде.", - category: "ДТП", - categoryColor: "bg-red", - date: "2024-02-15", - readTime: "6 мин", - imageUrl: "/images/blog/independent-expertise.avif", - slug: "/blog/independent-expertise" - }, - { - title: "Что делать, если виновник ДТП не имеет ОСАГО", - description: "Как получить компенсацию, если у виновника аварии нет полиса ОСАГО. Судебный иск, взыскание ущерба и практические советы юриста.", - category: "ОСАГО", - categoryColor: "bg-gold", - date: "2024-02-08", - readTime: "8 мин", - imageUrl: "/images/blog/no-osago.avif", - slug: "/blog/no-osago-at-fault" - }, - { - title: "Обжалование протокола ГИБДД: типичные ошибки инспекторов", - description: "Какие нарушения допускают сотрудники ГИБДД при составлении протокола и как использовать это в свою пользу при обжаловании.", - category: "Штрафы", - categoryColor: "bg-green", - date: "2024-02-01", - readTime: "10 мин", - imageUrl: "/images/blog/protocol-errors.avif", - slug: "/blog/protocol-errors" - } -]; - -export const categories = ['Все', 'ДТП', 'ОСАГО', 'Лишение прав', 'Штрафы', 'Автосалоны']; diff --git a/frontend/src/layouts/ArticleLayout.astro b/frontend/src/layouts/ArticleLayout.astro new file mode 100644 index 0000000..ad5b118 --- /dev/null +++ b/frontend/src/layouts/ArticleLayout.astro @@ -0,0 +1,344 @@ +--- +import "@styles/global.css"; +import { SITE_TITLE_SUFFIX } from "@constants"; + +import Header from "@components/layout/header/Header.astro"; +import Footer from "@components/layout/footer/Footer.astro"; +import Breadcrumbs from "@components/base/Breadcrumbs.astro"; +import ConsultationModal from "@components/base/ConsultationModal.astro"; +import PostSocialShare from "@components/blog/PostSocialShare.astro"; +import PostReactionButtons from "@components/blog/PostReactionButtons.astro"; + +export interface Props { + title: string; + description: string; + canonicalLink?: string; + breadcrumbs?: Array<{ label: string; href?: string }>; + heroImage: string; + heroAlt: string; + category: string; + postTitle: string; + date: string; + author: string; + readTime: string; + postId: string; + postUrl: string; + initialLikes?: number; + initialDislikes?: number; +} + +const { + title, + description, + canonicalLink, + breadcrumbs, + heroImage, + heroAlt, + category, + postTitle, + date, + author, + readTime, + postId, + postUrl, + initialLikes = 0, + initialDislikes = 0 +} = Astro.props; +--- + + + + + + + + + {title} {SITE_TITLE_SUFFIX} + + {canonicalLink && } + + + +
+
+ {breadcrumbs && breadcrumbs.length > 0 && ( + + )} + + +
+
+ {heroAlt} +
+
+ +
+
+
+
+ +

{postTitle}

+ + +
+ +
+
+ + +
+
+
+
+
+
+ + +
+
+
+ +
+
+
+
+