after Ksenia
158
composer.lock
generated
@@ -93,11 +93,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mirzaev/minimal",
|
"name": "mirzaev/minimal",
|
||||||
"version": "3.8.5",
|
"version": "3.8.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.svoboda.works/mirzaev/minimal",
|
"url": "https://git.svoboda.works/mirzaev/minimal",
|
||||||
"reference": "ed2a41a13973802e884513e1357807dc4d44a04a"
|
"reference": "584285b92ce84dd219891639f065a0c55bda7d41"
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "~8.4"
|
"php": "~8.4"
|
||||||
@@ -138,7 +138,7 @@
|
|||||||
"docs": "https://git.svoboda.works/mirzaev/minimal/wiki",
|
"docs": "https://git.svoboda.works/mirzaev/minimal/wiki",
|
||||||
"issues": "https://git.svoboda.works/mirzaev/minimal/issues"
|
"issues": "https://git.svoboda.works/mirzaev/minimal/issues"
|
||||||
},
|
},
|
||||||
"time": "2025-11-03T19:42:27+00:00"
|
"time": "2025-11-04T09:27:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/cache",
|
"name": "psr/cache",
|
||||||
@@ -344,16 +344,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache",
|
"name": "symfony/cache",
|
||||||
"version": "v7.3.5",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/cache.git",
|
"url": "https://github.com/symfony/cache.git",
|
||||||
"reference": "4a55feb59664f49042a0824c0f955e2f4c1412ad"
|
"reference": "1277a1ec61c8d93ea61b2a59738f1deb9bfb6701"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/cache/zipball/4a55feb59664f49042a0824c0f955e2f4c1412ad",
|
"url": "https://api.github.com/repos/symfony/cache/zipball/1277a1ec61c8d93ea61b2a59738f1deb9bfb6701",
|
||||||
"reference": "4a55feb59664f49042a0824c0f955e2f4c1412ad",
|
"reference": "1277a1ec61c8d93ea61b2a59738f1deb9bfb6701",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -422,7 +422,7 @@
|
|||||||
"psr6"
|
"psr6"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/cache/tree/v7.3.5"
|
"source": "https://github.com/symfony/cache/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -442,7 +442,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-10-16T13:55:38+00:00"
|
"time": "2025-10-30T13:22:58+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache-contracts",
|
"name": "symfony/cache-contracts",
|
||||||
@@ -522,16 +522,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/config",
|
"name": "symfony/config",
|
||||||
"version": "v7.3.4",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/config.git",
|
"url": "https://github.com/symfony/config.git",
|
||||||
"reference": "8a09223170046d2cfda3d2e11af01df2c641e961"
|
"reference": "9d18eba95655a3152ae4c1d53c6cc34eb4d4a0b7"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/config/zipball/8a09223170046d2cfda3d2e11af01df2c641e961",
|
"url": "https://api.github.com/repos/symfony/config/zipball/9d18eba95655a3152ae4c1d53c6cc34eb4d4a0b7",
|
||||||
"reference": "8a09223170046d2cfda3d2e11af01df2c641e961",
|
"reference": "9d18eba95655a3152ae4c1d53c6cc34eb4d4a0b7",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
|
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/config/tree/v7.3.4"
|
"source": "https://github.com/symfony/config/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -597,20 +597,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-09-22T12:46:16+00:00"
|
"time": "2025-11-02T08:04:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dependency-injection",
|
"name": "symfony/dependency-injection",
|
||||||
"version": "v7.3.4",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/dependency-injection.git",
|
"url": "https://github.com/symfony/dependency-injection.git",
|
||||||
"reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4"
|
"reference": "98af8bb46c56aedd9dd5a7f0414fc72bf2dcfe69"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/82119812ab0bf3425c1234d413efd1b19bb92ae4",
|
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/98af8bb46c56aedd9dd5a7f0414fc72bf2dcfe69",
|
||||||
"reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4",
|
"reference": "98af8bb46c56aedd9dd5a7f0414fc72bf2dcfe69",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -661,7 +661,7 @@
|
|||||||
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
|
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/dependency-injection/tree/v7.3.4"
|
"source": "https://github.com/symfony/dependency-injection/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -681,7 +681,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-09-11T10:12:26+00:00"
|
"time": "2025-10-31T10:11:11+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
@@ -752,16 +752,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/error-handler",
|
"name": "symfony/error-handler",
|
||||||
"version": "v7.3.4",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/error-handler.git",
|
"url": "https://github.com/symfony/error-handler.git",
|
||||||
"reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4"
|
"reference": "bbe40bfab84323d99dab491b716ff142410a92a8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/99f81bc944ab8e5dae4f21b4ca9972698bbad0e4",
|
"url": "https://api.github.com/repos/symfony/error-handler/zipball/bbe40bfab84323d99dab491b716ff142410a92a8",
|
||||||
"reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4",
|
"reference": "bbe40bfab84323d99dab491b716ff142410a92a8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -809,7 +809,7 @@
|
|||||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/error-handler/tree/v7.3.4"
|
"source": "https://github.com/symfony/error-handler/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -829,7 +829,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-09-11T10:12:26+00:00"
|
"time": "2025-10-31T19:12:50+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
@@ -993,16 +993,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/filesystem",
|
"name": "symfony/filesystem",
|
||||||
"version": "v7.3.2",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/filesystem.git",
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
"reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd"
|
"reference": "e9bcfd7837928ab656276fe00464092cc9e1826a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd",
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a",
|
||||||
"reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd",
|
"reference": "e9bcfd7837928ab656276fe00464092cc9e1826a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1039,7 +1039,7 @@
|
|||||||
"description": "Provides basic utilities for the filesystem",
|
"description": "Provides basic utilities for the filesystem",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/filesystem/tree/v7.3.2"
|
"source": "https://github.com/symfony/filesystem/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1059,7 +1059,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-07-07T08:17:47+00:00"
|
"time": "2025-11-05T09:52:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/finder",
|
"name": "symfony/finder",
|
||||||
@@ -1131,16 +1131,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/framework-bundle",
|
"name": "symfony/framework-bundle",
|
||||||
"version": "v7.3.5",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/framework-bundle.git",
|
"url": "https://github.com/symfony/framework-bundle.git",
|
||||||
"reference": "ebd42b1fc2652b96d33520195ea0f6e55c36f09d"
|
"reference": "cabfdfa82bc4f75d693a329fe263d96937636b77"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ebd42b1fc2652b96d33520195ea0f6e55c36f09d",
|
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/cabfdfa82bc4f75d693a329fe263d96937636b77",
|
||||||
"reference": "ebd42b1fc2652b96d33520195ea0f6e55c36f09d",
|
"reference": "cabfdfa82bc4f75d693a329fe263d96937636b77",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1265,7 +1265,7 @@
|
|||||||
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/framework-bundle/tree/v7.3.5"
|
"source": "https://github.com/symfony/framework-bundle/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1285,20 +1285,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-10-16T16:16:53+00:00"
|
"time": "2025-10-30T09:42:24+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-foundation",
|
"name": "symfony/http-foundation",
|
||||||
"version": "v7.3.5",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-foundation.git",
|
"url": "https://github.com/symfony/http-foundation.git",
|
||||||
"reference": "ce31218c7cac92eab280762c4375fb70a6f4f897"
|
"reference": "6379e490d6ecfc5c4224ff3a754b90495ecd135c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ce31218c7cac92eab280762c4375fb70a6f4f897",
|
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/6379e490d6ecfc5c4224ff3a754b90495ecd135c",
|
||||||
"reference": "ce31218c7cac92eab280762c4375fb70a6f4f897",
|
"reference": "6379e490d6ecfc5c4224ff3a754b90495ecd135c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1348,7 +1348,7 @@
|
|||||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-foundation/tree/v7.3.5"
|
"source": "https://github.com/symfony/http-foundation/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1368,20 +1368,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-10-24T21:42:11+00:00"
|
"time": "2025-11-06T11:05:57+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-kernel",
|
"name": "symfony/http-kernel",
|
||||||
"version": "v7.3.5",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-kernel.git",
|
"url": "https://github.com/symfony/http-kernel.git",
|
||||||
"reference": "24fd3f123532e26025f49f1abefcc01a69ef15ab"
|
"reference": "f9a34dc0196677250e3609c2fac9de9e1551a262"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/24fd3f123532e26025f49f1abefcc01a69ef15ab",
|
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9a34dc0196677250e3609c2fac9de9e1551a262",
|
||||||
"reference": "24fd3f123532e26025f49f1abefcc01a69ef15ab",
|
"reference": "f9a34dc0196677250e3609c2fac9de9e1551a262",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1466,7 +1466,7 @@
|
|||||||
"description": "Provides a structured process for converting a Request into a Response",
|
"description": "Provides a structured process for converting a Request into a Response",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-kernel/tree/v7.3.5"
|
"source": "https://github.com/symfony/http-kernel/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1486,7 +1486,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-10-28T10:19:01+00:00"
|
"time": "2025-11-06T20:58:12+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/intl",
|
"name": "symfony/intl",
|
||||||
@@ -1828,16 +1828,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/routing",
|
"name": "symfony/routing",
|
||||||
"version": "v7.3.4",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/routing.git",
|
"url": "https://github.com/symfony/routing.git",
|
||||||
"reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c"
|
"reference": "c97abe725f2a1a858deca629a6488c8fc20c3091"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c",
|
"url": "https://api.github.com/repos/symfony/routing/zipball/c97abe725f2a1a858deca629a6488c8fc20c3091",
|
||||||
"reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c",
|
"reference": "c97abe725f2a1a858deca629a6488c8fc20c3091",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1889,7 +1889,7 @@
|
|||||||
"url"
|
"url"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/routing/tree/v7.3.4"
|
"source": "https://github.com/symfony/routing/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1909,20 +1909,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-09-11T10:12:26+00:00"
|
"time": "2025-11-05T07:57:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/service-contracts",
|
"name": "symfony/service-contracts",
|
||||||
"version": "v3.6.0",
|
"version": "v3.6.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/service-contracts.git",
|
"url": "https://github.com/symfony/service-contracts.git",
|
||||||
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
|
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
|
||||||
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
|
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1976,7 +1976,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
|
"source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1987,25 +1987,29 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-04-25T09:37:31+00:00"
|
"time": "2025-07-15T11:30:57+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation-contracts",
|
"name": "symfony/translation-contracts",
|
||||||
"version": "v3.6.0",
|
"version": "v3.6.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation-contracts.git",
|
"url": "https://github.com/symfony/translation-contracts.git",
|
||||||
"reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d"
|
"reference": "65a8bc82080447fae78373aa10f8d13b38338977"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
|
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977",
|
||||||
"reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
|
"reference": "65a8bc82080447fae78373aa10f8d13b38338977",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2054,7 +2058,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/translation-contracts/tree/v3.6.0"
|
"source": "https://github.com/symfony/translation-contracts/tree/v3.6.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2065,25 +2069,29 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-09-27T08:32:26+00:00"
|
"time": "2025-07-15T13:41:35+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bridge",
|
"name": "symfony/twig-bridge",
|
||||||
"version": "v7.3.3",
|
"version": "v7.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/twig-bridge.git",
|
"url": "https://github.com/symfony/twig-bridge.git",
|
||||||
"reference": "33558f013b7f6ed72805527c8405cae0062e47c5"
|
"reference": "d1aaec8eee1f5591f56b9efe00194d73a8e38319"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/33558f013b7f6ed72805527c8405cae0062e47c5",
|
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d1aaec8eee1f5591f56b9efe00194d73a8e38319",
|
||||||
"reference": "33558f013b7f6ed72805527c8405cae0062e47c5",
|
"reference": "d1aaec8eee1f5591f56b9efe00194d73a8e38319",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2165,7 +2173,7 @@
|
|||||||
"description": "Provides integration for Twig with various Symfony components",
|
"description": "Provides integration for Twig with various Symfony components",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/twig-bridge/tree/v7.3.3"
|
"source": "https://github.com/symfony/twig-bridge/tree/v7.3.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2185,7 +2193,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-08-18T13:10:53+00:00"
|
"time": "2025-11-04T15:37:51+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bundle",
|
"name": "symfony/twig-bundle",
|
||||||
|
|||||||
1
hotline.mjs
Submodule
@@ -13,3 +13,11 @@ if [ -e kodorvan/perm/system/settings/*.sample ]; then
|
|||||||
cp "$i" "${i/.sample/}";
|
cp "$i" "${i/.sample/}";
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! [ -d kodorvan/perm/system/public/js/modules ]; then
|
||||||
|
mkdir kodorvan/perm/system/public/js/modules -p
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -L kodorvan/perm/system/public/js/modules/hotline.mjs ]; then
|
||||||
|
ln -s ../../../../../../hotline.mjs/hotline.mjs kodorvan/perm/system/public/js/modules/hotline.mjs;
|
||||||
|
fi
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ final class index extends core
|
|||||||
// Request for HTML response
|
// Request for HTML response
|
||||||
|
|
||||||
// Render page
|
// Render page
|
||||||
$page = $this->view->render('index.html');
|
$page = $this->view->render('main/index.html');
|
||||||
|
|
||||||
// Sending response
|
// Sending response
|
||||||
$this->response
|
$this->response
|
||||||
|
|||||||
15
kodorvan/perm/system/public/js/modules/advantages.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
const items = document.querySelectorAll(".accordion button");
|
||||||
|
|
||||||
|
function toggleAccordion() {
|
||||||
|
const itemToggle = this.getAttribute('aria-expanded');
|
||||||
|
|
||||||
|
for (i = 0; i < items.length; i++) {
|
||||||
|
items[i].setAttribute('aria-expanded', 'false');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itemToggle == 'false') {
|
||||||
|
this.setAttribute('aria-expanded', 'true');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
items.forEach(item => item.addEventListener('click', toggleAccordion));
|
||||||
1
kodorvan/perm/system/public/js/modules/hotline.mjs
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../../../../../hotline.mjs/hotline.mjs
|
||||||
19
kodorvan/perm/system/public/js/modules/service.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
const blocks = document.querySelectorAll('.block');
|
||||||
|
|
||||||
|
blocks.forEach(block => {
|
||||||
|
const question = block.querySelector('.question');
|
||||||
|
const answerCont = block.querySelector('.answercont');
|
||||||
|
|
||||||
|
question.addEventListener('click', function() {
|
||||||
|
// Просто переключаем текущий блок без влияния на другие
|
||||||
|
if (block.classList.contains('active')) {
|
||||||
|
answerCont.style.maxHeight = '0';
|
||||||
|
block.classList.remove('active');
|
||||||
|
} else {
|
||||||
|
answerCont.style.maxHeight = answerCont.scrollHeight + 'px';
|
||||||
|
block.classList.add('active');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
21
kodorvan/perm/system/public/js/pages/main.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
import("../modules/hotline.mjs").then((module) => {
|
||||||
|
// Imported the hotline.mjs module
|
||||||
|
|
||||||
|
// Initializing an instance of the hotline.mjs
|
||||||
|
const instance = new module.hotline(document.getElementById("wrap"));
|
||||||
|
|
||||||
|
// Initializing settings of the hotline instance
|
||||||
|
instance.alive = true;
|
||||||
|
instance.wheel = false;
|
||||||
|
instance.delta = 3;
|
||||||
|
|
||||||
|
// Starting the hotline instance
|
||||||
|
instance.start();
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener('dragstart', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
return false;
|
||||||
|
});
|
||||||
@@ -1,45 +1,67 @@
|
|||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: default) {
|
||||||
|
:root {
|
||||||
|
--text-color: #fff;
|
||||||
|
--text-color-inverted: #000;
|
||||||
|
--button-background-color-inverted: #fff;
|
||||||
|
--button-background-color: #000;
|
||||||
|
--section-background-color-inverted: #fff;
|
||||||
|
--section-background-color: #000;
|
||||||
|
--background-color: #000;
|
||||||
|
--background-color-inverted: #fff;
|
||||||
|
|
||||||
|
--interface-top-background-color: var(--background-color, #000);
|
||||||
|
--interface-background-color: var(--background-color, #000);
|
||||||
|
--interface-bottom-background-color: var(--background-color, #000);
|
||||||
|
|
||||||
|
--red: red;
|
||||||
|
--white: #fff;
|
||||||
|
--blue: #0ea5e9;
|
||||||
|
|
||||||
|
--paper: var(--white);
|
||||||
|
}
|
||||||
|
}
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
:root {
|
:root {
|
||||||
--text-color: #fff;
|
--text-color: #fff;
|
||||||
--text-color-inverted: #000;
|
--text-color-inverted: #000;
|
||||||
--button-background-color-inverted: #fff;
|
--button-background-color-inverted: #fff;
|
||||||
--button-background-color: #000;
|
--button-background-color: #000;
|
||||||
--section-background-color-inverted: #fff;
|
--section-background-color-inverted: #fff;
|
||||||
--section-background-color: #000;
|
--section-background-color: #fff;
|
||||||
--background-color: #000;
|
--background-color: #000;
|
||||||
--background-color-inverted: #fff;
|
--background-color-inverted: #fff;
|
||||||
|
|
||||||
--interface-top-background-color: var(--background-color, #000);
|
--interface-top-background-color: var(--background-color, #000);
|
||||||
--interface-background-color: var(--background-color, #000);
|
--interface-background-color: var(--background-color, #000);
|
||||||
--interface-bottom-background-color: var(--background-color, #000);
|
--interface-bottom-background-color: var(--background-color, #000);
|
||||||
|
|
||||||
--red: red;
|
--red: red;
|
||||||
--white: #fff;
|
--white: #fff;
|
||||||
|
|
||||||
--paper: var(--white);
|
--paper: var(--white);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: light) {
|
@media (prefers-color-scheme: light) {
|
||||||
:root {
|
:root {
|
||||||
--text-color: #fff;
|
--text-color: #fff;
|
||||||
--text-color-inverted: #000;
|
--text-color-inverted: #000;
|
||||||
--button-background-color-inverted: #fff;
|
--button-background-color-inverted: #fff;
|
||||||
--button-background-color: #000;
|
--button-background-color: #000;
|
||||||
--section-background-color-inverted: #fff;
|
--section-background-color-inverted: #fff;
|
||||||
--section-background-color: #000;
|
--section-background-color: #000;
|
||||||
--background-color: #000;
|
--background-color: #000;
|
||||||
--background-color-inverted: #fff;
|
--background-color-inverted: #fff;
|
||||||
|
|
||||||
--interface-top-background-color: var(--background-color, #000);
|
--interface-top-background-color: var(--background-color, #000);
|
||||||
--interface-background-color: var(--background-color, #000);
|
--interface-background-color: var(--background-color, #000);
|
||||||
--interface-bottom-background-color: var(--background-color, #000);
|
--interface-bottom-background-color: var(--background-color, #000);
|
||||||
|
|
||||||
--red: red;
|
--red: red;
|
||||||
--white: #fff;
|
--white: #fff;
|
||||||
|
|
||||||
--paper: var(--white);
|
--paper: var(--white);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,42 @@
|
|||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
&:not(:has(*)) {
|
box-sizing: border-box;
|
||||||
display: none;
|
padding: 0 20%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
margin: 2rem 0 1rem 0;
|
||||||
|
|
||||||
|
&:not(:has(*)) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
> p#description {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-weight: 400;
|
||||||
|
margin: unset;
|
||||||
|
color: rgb(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
> div#link {
|
||||||
|
display: inline-flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 1rem;
|
||||||
|
|
||||||
|
> a {
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-weight: 400;
|
||||||
|
color: rgb(160, 160, 160);
|
||||||
|
transition: ease 0.2s;
|
||||||
|
&:hover {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,68 +1,84 @@
|
|||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
|
|
||||||
header {
|
header {
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0 20%;
|
padding: 0 20%;
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: space-between;
|
grid-template-columns: 1fr 2fr 1fr;
|
||||||
background-color: #931919;
|
|
||||||
|
|
||||||
&:not(:has(*)) {
|
justify-items: center;
|
||||||
display: none;
|
align-items: center;
|
||||||
}
|
background-color: #f7fafc;
|
||||||
|
z-index: 1000;
|
||||||
|
|
||||||
>span#logotype {
|
&:not(:has(*)) {
|
||||||
display: flex;
|
display: none;
|
||||||
flex-direction: column;
|
}
|
||||||
font-size: 1.1rem;
|
|
||||||
|
|
||||||
>h4:only-of-type:first-child {
|
> span#logotype {
|
||||||
margin: unset;
|
display: flex;
|
||||||
font-family: "Cascadia Code";
|
flex-direction: column;
|
||||||
font-size: 2.8em;
|
font-size: 1.1rem;
|
||||||
}
|
|
||||||
|
|
||||||
>small:only-of-type:last-child {
|
> h4:only-of-type:first-child {
|
||||||
justify-self: end;
|
margin: unset;
|
||||||
align-self: end;
|
font-family: "Cascadia Code";
|
||||||
margin-top: -0.8em;
|
font-size: 2.5em;
|
||||||
font-family: 'Bahnschrift';
|
}
|
||||||
font-size: 0.7em;
|
|
||||||
font-weight: 800;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
>nav#menu {
|
> small:only-of-type:last-child {
|
||||||
display: flex;
|
justify-self: end;
|
||||||
justify-content: center;
|
align-self: end;
|
||||||
align-items: center;
|
margin-top: -0.8em;
|
||||||
gap: 1rem;
|
font-family: "Bahnschrift";
|
||||||
font-family: 'Geologica';
|
font-size: 0.62em;
|
||||||
|
font-weight: 800;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
>a {
|
> nav#menu {
|
||||||
text-decoration: none;
|
display: flex;
|
||||||
font-weight: 600;
|
justify-content: center;
|
||||||
font-size: 1rem;
|
align-items: center;
|
||||||
text-transform: uppercase;
|
gap: 1rem;
|
||||||
color: #fff;
|
font-family: "Geologica";
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
>a#order {
|
> a {
|
||||||
align-self: center;
|
text-decoration: none;
|
||||||
background-color: #660909;
|
font-weight: 500;
|
||||||
padding: 0.5em 1.3em;
|
font-size: 1rem;
|
||||||
border-radius: 1.125em;
|
text-transform: uppercase;
|
||||||
color: #fff;
|
color: rgb(0, 0, 0, 0.5);
|
||||||
font-family: 'Cascadia Code';
|
transition: ease 0.2s;
|
||||||
font-weight: 400;
|
|
||||||
text-decoration: none;
|
&:hover {
|
||||||
border: 2px solid;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> a#order {
|
||||||
|
display: flex;
|
||||||
|
gap: 5px;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0.5em 1.3em;
|
||||||
|
border-radius: 1.125em;
|
||||||
|
|
||||||
|
font-family: "Cascadia Code";
|
||||||
|
font-weight: 400;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #0ea5e9;
|
||||||
|
color: #fff;
|
||||||
|
transition: 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
31
kodorvan/perm/system/public/themes/default/css/hotline.css
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
section.hotline {
|
||||||
|
|
||||||
|
max-width: 100vw;
|
||||||
|
max-height: 360px;
|
||||||
|
height: max(16vw, 16vh);
|
||||||
|
display: inline-flex;
|
||||||
|
gap: 15px;
|
||||||
|
|
||||||
|
> :is(article, div) {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: centr;
|
||||||
|
|
||||||
|
min-width: 200px;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
overflow: hidden;
|
||||||
|
background: rgb(0, 0, 0);
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-family: "Cascadia Code";
|
||||||
|
font-size: 1.8rem;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #ffffff;
|
||||||
|
text-shadow: 5px 5px 2px rgba(14, 165, 2335, 0.7);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
i.icon.code.slash {
|
||||||
|
position: relative;
|
||||||
|
width: 2px;
|
||||||
|
height: 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: block;
|
||||||
|
transform: rotate(15deg);
|
||||||
|
background: currentColor;
|
||||||
|
|
||||||
|
&::after,
|
||||||
|
&::before {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: block;
|
||||||
|
transform: rotate(-60deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
top: 5px;
|
||||||
|
left: -8px;
|
||||||
|
border-top: 2px solid;
|
||||||
|
border-left: 2px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
top: 3px;
|
||||||
|
right: -8px;
|
||||||
|
border-right: 2px solid;
|
||||||
|
border-bottom: 2px solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
i.icon.telegram {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: transparent;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
i.icon.telegram::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
background: white;
|
||||||
|
border-radius: 50%;
|
||||||
|
top: 2px;
|
||||||
|
left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
i.icon.telegram::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 5px solid transparent;
|
||||||
|
border-right: 5px solid transparent;
|
||||||
|
border-bottom: 8px solid currentColor;
|
||||||
|
transform: rotate(-30deg);
|
||||||
|
top: 7px;
|
||||||
|
left: 9px;
|
||||||
|
color: #ffffff; /* Цвет бумажного самолетика */
|
||||||
|
}
|
||||||
@@ -6,16 +6,137 @@
|
|||||||
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap");
|
||||||
@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&family=Pochaevsk&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&family=Pochaevsk&display=swap");
|
||||||
|
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: unset;
|
margin: unset;
|
||||||
|
background-color: #f7fafc;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: var(--gap);
|
gap: 2rem;
|
||||||
transition: 0s;
|
transition: 0s;
|
||||||
|
margin-top: 6rem;
|
||||||
|
/* overflow-x: hidden; */
|
||||||
|
|
||||||
|
&:not(:has(*)) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
> div.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: auto;
|
||||||
|
|
||||||
|
> span#shape {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 20px;
|
||||||
|
padding: 0.3em 1em;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #0ea5e9;
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
rgba(227, 242, 249, 1) 0%,
|
||||||
|
rgba(14, 165, 233, 0.2) 50%,
|
||||||
|
rgba(227, 242, 249, 1) 100%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
> h2#title {
|
||||||
|
font-size: 2.4rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
margin: 0.1em 0 0.2em 0;
|
||||||
|
|
||||||
|
> span {
|
||||||
|
color: #0ea5e9;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> p#description {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-weight: 400;
|
||||||
|
|
||||||
|
margin: unset;
|
||||||
|
color: rgb(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
> p.description {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
> div#team {
|
||||||
|
display: inline-flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1rem;
|
||||||
|
margin-top: 1rem;
|
||||||
|
|
||||||
|
> div#card {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: start;
|
||||||
|
padding: 0.6em 0.8em;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
box-shadow: 0px 0px 15px 0px rgba(14, 165, 233, 0.1);
|
||||||
|
background-color: #fff;
|
||||||
|
transition: ease 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: scaleY(1.03);
|
||||||
|
}
|
||||||
|
> img {
|
||||||
|
object-fit: cover;
|
||||||
|
width: 250px;
|
||||||
|
height: 270px;
|
||||||
|
margin: 0 auto;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
}
|
||||||
|
> p {
|
||||||
|
font-size: 1.5em;
|
||||||
|
font-weight: 900;
|
||||||
|
font-family: "Cascadia Code";
|
||||||
|
color: #000000;
|
||||||
|
margin: 15px 0 0;
|
||||||
|
}
|
||||||
|
> span {
|
||||||
|
font-size: 1em;
|
||||||
|
font-family: "Cascadia Code";
|
||||||
|
font-weight: 400;
|
||||||
|
color: #0ea5e9;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
> a#telegram {
|
||||||
|
display: flex;
|
||||||
|
gap: 5px;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0.5em 1.3em;
|
||||||
|
margin-top: 1rem;
|
||||||
|
border-radius: 1.125em;
|
||||||
|
font-size: 1em;
|
||||||
|
font-family: "Cascadia Code";
|
||||||
|
font-weight: 400;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #0ea5e9;
|
||||||
|
color: #fff;
|
||||||
|
transition: 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
> img {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 447 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 762 KiB |
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><path d="M46.137,6.552c-0.75-0.636-1.928-0.727-3.146-0.238l-0.002,0C41.708,6.828,6.728,21.832,5.304,22.445 c-0.259,0.09-2.521,0.934-2.288,2.814c0.208,1.695,2.026,2.397,2.248,2.478l8.893,3.045c0.59,1.964,2.765,9.21,3.246,10.758 c0.3,0.965,0.789,2.233,1.646,2.494c0.752,0.29,1.5,0.025,1.984-0.355l5.437-5.043l8.777,6.845l0.209,0.125 c0.596,0.264,1.167,0.396,1.712,0.396c0.421,0,0.825-0.079,1.211-0.237c1.315-0.54,1.841-1.793,1.896-1.935l6.556-34.077 C47.231,7.933,46.675,7.007,46.137,6.552z M22,32l-3,8l-3-10l23-17L22,32z"/></svg>
|
||||||
|
After Width: | Height: | Size: 631 B |
7
kodorvan/perm/system/public/themes/test/css/aside.css
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
aside {
|
||||||
|
&:not(:has(*)) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
.advantages {
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
width: 48rem;
|
||||||
|
|
||||||
|
> h2.title {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2.4rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
margin: 0.1em 0 0.2em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion {
|
||||||
|
.accordion-item {
|
||||||
|
border-bottom: 1px solid #4d5974;
|
||||||
|
|
||||||
|
button[aria-expanded="true"] {
|
||||||
|
border-bottom: 1px solid #0ea5e9;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
text-align: left;
|
||||||
|
width: 100%;
|
||||||
|
padding: 1em 0;
|
||||||
|
color: #7288a2;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-weight: 400;
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
outline: none;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #0ea5e9;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #0ea5e9;
|
||||||
|
border: 1px solid #0ea5e9;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
padding: 1em 1.5em 1em 0;
|
||||||
|
}
|
||||||
|
.icon {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 18px;
|
||||||
|
right: 0;
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
border: 1px solid;
|
||||||
|
border-radius: 22px;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
top: 11px;
|
||||||
|
left: 6px;
|
||||||
|
width: 10px;
|
||||||
|
height: 2px;
|
||||||
|
background: currentColor;
|
||||||
|
}
|
||||||
|
&::after {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
top: 7px;
|
||||||
|
left: 10px;
|
||||||
|
width: 2px;
|
||||||
|
height: 10px;
|
||||||
|
background: currentColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
button[aria-expanded="true"] {
|
||||||
|
color: #0ea5e9;
|
||||||
|
.icon {
|
||||||
|
&::after {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ .accordion-content {
|
||||||
|
opacity: 1;
|
||||||
|
max-height: 9em;
|
||||||
|
transition: all 200ms linear;
|
||||||
|
will-change: opacity, max-height;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.accordion-content {
|
||||||
|
opacity: 0;
|
||||||
|
max-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: opacity 200ms linear, max-height 200ms linear;
|
||||||
|
will-change: opacity, max-height;
|
||||||
|
|
||||||
|
p {
|
||||||
|
align-items: left;
|
||||||
|
font-size: 1.05rem;
|
||||||
|
font-weight: 300;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
margin: 2em 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
section#projects {
|
||||||
|
> h2.title {
|
||||||
|
font-size: 2.4rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
margin: 0.1em 0 0.2em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.hotline {
|
||||||
|
max-width: 100vw;
|
||||||
|
max-height: 360px;
|
||||||
|
height: max(16vw, 16vh);
|
||||||
|
display: inline-flex;
|
||||||
|
gap: 15px;
|
||||||
|
|
||||||
|
> :is(article, div) {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: centr;
|
||||||
|
|
||||||
|
min-width: 200px;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
overflow: hidden;
|
||||||
|
background: rgb(0, 0, 0);
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-size: 1.8rem;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #ffffff;
|
||||||
|
text-shadow: 5px 5px 2px rgba(14, 165, 2335, 0.7);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
section#introdution {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: min(500px, 45vh);
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
>div.dots {
|
||||||
|
--dot-bg: black;
|
||||||
|
--dot-color: red;
|
||||||
|
--dot-size: 3px;
|
||||||
|
--dot-space: 8px;
|
||||||
|
z-index: -50;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background:
|
||||||
|
linear-gradient(90deg, var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
|
||||||
|
linear-gradient(var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space), var(--dot-color);
|
||||||
|
mix-blend-mode: color-burn;
|
||||||
|
filter: blur(1px);
|
||||||
|
}
|
||||||
|
|
||||||
|
>video:only-of-type {
|
||||||
|
z-index: -100;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
object-position: center;
|
||||||
|
scale: 1.1;
|
||||||
|
filter: blur(5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
>div {
|
||||||
|
position: relative;
|
||||||
|
width: 30vw;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
cursor: default;
|
||||||
|
|
||||||
|
>span#label {
|
||||||
|
margin-top: -60px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
width: 320px;
|
||||||
|
padding: 0.3em .5em 0.3em 1em;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 20px;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-weight: 400;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
border: 1px solid #8080803d;
|
||||||
|
color: #ffe0e0;
|
||||||
|
border: 1px solid #eeeeee1c;
|
||||||
|
background-color: #dadada30;
|
||||||
|
backdrop-filter: blur(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
>h2#title {
|
||||||
|
margin: unset;
|
||||||
|
width: max-content;
|
||||||
|
padding: 0.2em 0.5em 0em;
|
||||||
|
font-family: 'Bahnschrift';
|
||||||
|
font-size: 2.6rem;
|
||||||
|
font-weight: 600;
|
||||||
|
border-radius: 0 0.75rem 0 0;
|
||||||
|
color: #241fd3;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
>p#team {
|
||||||
|
margin: unset;
|
||||||
|
width: 650px;
|
||||||
|
height: 70px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0.6em 1.2em;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 400;
|
||||||
|
border-radius: 0.75rem;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
>span {
|
||||||
|
color: #0ea5e9;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
>span {
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
padding: 0.4em 0.8rem 0.3em;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: 'Bahnschrift';
|
||||||
|
font-weight: 400;
|
||||||
|
border-radius: 0.75rem;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
&:is(#experience) {
|
||||||
|
bottom: -3.4rem;
|
||||||
|
left: 0px;
|
||||||
|
font-size: 1.4rem;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:is(#anything) {
|
||||||
|
right: -10px;
|
||||||
|
bottom: -30px;
|
||||||
|
font-weight: 200;
|
||||||
|
border-radius: 0 0 0.75rem 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:is(#technology) {
|
||||||
|
left: -70px;
|
||||||
|
top: -1.5rem;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: 600;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
section#services {
|
||||||
|
margin: unset;
|
||||||
|
display: flex;
|
||||||
|
gap: 5px;
|
||||||
|
|
||||||
|
> div#service {
|
||||||
|
display: inline-flex;
|
||||||
|
gap: 20px;
|
||||||
|
|
||||||
|
> div#card {
|
||||||
|
width: 270px;
|
||||||
|
height: 300px;
|
||||||
|
padding: 1rem 0.8rem;
|
||||||
|
flex-direction: column;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 0px 0px 15px 0px rgba(14, 165, 233, 0.1);
|
||||||
|
|
||||||
|
> div.text {
|
||||||
|
height: 82%;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
> p.title {
|
||||||
|
margin: 0 auto;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 800;
|
||||||
|
color: #0ea5e9;
|
||||||
|
}
|
||||||
|
|
||||||
|
> span.discription {
|
||||||
|
margin: 1em 0;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 200;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> a {
|
||||||
|
max-width: 250px;
|
||||||
|
padding: 0.6em 0.8em;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 300;
|
||||||
|
border: 0.15em solid #0ea5e9;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
color: #0ea5e9;
|
||||||
|
transition: ease 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #0ea5e9;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
67
kodorvan/perm/system/public/themes/test/css/colorscheme.css
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: default) {
|
||||||
|
:root {
|
||||||
|
--text-color: #fff;
|
||||||
|
--text-color-inverted: #000;
|
||||||
|
--button-background-color-inverted: #fff;
|
||||||
|
--button-background-color: #000;
|
||||||
|
--section-background-color-inverted: #fff;
|
||||||
|
--section-background-color: #000;
|
||||||
|
--background-color: #000;
|
||||||
|
--background-color-inverted: #fff;
|
||||||
|
|
||||||
|
--interface-top-background-color: var(--background-color, #000);
|
||||||
|
--interface-background-color: var(--background-color, #000);
|
||||||
|
--interface-bottom-background-color: var(--background-color, #000);
|
||||||
|
|
||||||
|
--red: red;
|
||||||
|
--white: #fff;
|
||||||
|
--blue: #0ea5e9;
|
||||||
|
|
||||||
|
--paper: var(--white);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--text-color: #fff;
|
||||||
|
--text-color-inverted: #000;
|
||||||
|
--button-background-color-inverted: #fff;
|
||||||
|
--button-background-color: #000;
|
||||||
|
--section-background-color-inverted: #fff;
|
||||||
|
--section-background-color: #fff;
|
||||||
|
--background-color: #000;
|
||||||
|
--background-color-inverted: #fff;
|
||||||
|
|
||||||
|
--interface-top-background-color: var(--background-color, #000);
|
||||||
|
--interface-background-color: var(--background-color, #000);
|
||||||
|
--interface-bottom-background-color: var(--background-color, #000);
|
||||||
|
|
||||||
|
--red: red;
|
||||||
|
--white: #fff;
|
||||||
|
|
||||||
|
--paper: var(--white);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
:root {
|
||||||
|
--text-color: #fff;
|
||||||
|
--text-color-inverted: #000;
|
||||||
|
--button-background-color-inverted: #fff;
|
||||||
|
--button-background-color: #000;
|
||||||
|
--section-background-color-inverted: #fff;
|
||||||
|
--section-background-color: #000;
|
||||||
|
--background-color: #000;
|
||||||
|
--background-color-inverted: #fff;
|
||||||
|
|
||||||
|
--interface-top-background-color: var(--background-color, #000);
|
||||||
|
--interface-background-color: var(--background-color, #000);
|
||||||
|
--interface-bottom-background-color: var(--background-color, #000);
|
||||||
|
|
||||||
|
--red: red;
|
||||||
|
--white: #fff;
|
||||||
|
|
||||||
|
--paper: var(--white);
|
||||||
|
}
|
||||||
|
}
|
||||||
10
kodorvan/perm/system/public/themes/test/css/fonts.css
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
@import url('/css/fonts/fira.css');
|
||||||
|
@import url('/css/fonts/hack.css');
|
||||||
|
@import url('/css/fonts/dejavu.css');
|
||||||
|
@import url('/css/fonts/bahnschrift.css');
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Commissioner';
|
||||||
|
src: url('/fonts/commissioner.ttf');
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
42
kodorvan/perm/system/public/themes/test/css/footer.css
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
footer {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0 20%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
margin: 2rem 0 1rem 0;
|
||||||
|
|
||||||
|
&:not(:has(*)) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
> p#description {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 400;
|
||||||
|
margin: unset;
|
||||||
|
color: rgb(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
> div#link {
|
||||||
|
display: inline-flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 1rem;
|
||||||
|
|
||||||
|
> a {
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 400;
|
||||||
|
color: rgb(160, 160, 160);
|
||||||
|
transition: ease 0.2s;
|
||||||
|
&:hover {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
68
kodorvan/perm/system/public/themes/test/css/header.css
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
header {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
position: fixed;
|
||||||
|
width: 100vw;
|
||||||
|
height: var(--menu-height);
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0 20%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
align-items: center;
|
||||||
|
background-color: #f7fafc;
|
||||||
|
z-index: 1000;
|
||||||
|
|
||||||
|
&:not(:has(*)) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
> a#logotype {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #000;
|
||||||
|
|
||||||
|
> h4:only-of-type:first-child {
|
||||||
|
margin: unset;
|
||||||
|
font-family: "Cascadia Code";
|
||||||
|
font-size: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
> small:only-of-type:last-child {
|
||||||
|
justify-self: end;
|
||||||
|
align-self: end;
|
||||||
|
margin-top: -0.8em;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
font-size: 0.62em;
|
||||||
|
font-weight: 800;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> nav#menu {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
|
||||||
|
> a {
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 1rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: rgb(0, 0, 0, 0.5);
|
||||||
|
transition: ease 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
i.icon.code.slash {
|
||||||
|
position: relative;
|
||||||
|
width: 2px;
|
||||||
|
height: 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: block;
|
||||||
|
transform: rotate(15deg);
|
||||||
|
background: currentColor;
|
||||||
|
|
||||||
|
&::after,
|
||||||
|
&::before {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: block;
|
||||||
|
transform: rotate(-60deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
top: 5px;
|
||||||
|
left: -8px;
|
||||||
|
border-top: 2px solid;
|
||||||
|
border-left: 2px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
top: 3px;
|
||||||
|
right: -8px;
|
||||||
|
border-right: 2px solid;
|
||||||
|
border-bottom: 2px solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
i.icon.telegram {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: transparent;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
i.icon.telegram::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
background: white;
|
||||||
|
border-radius: 50%;
|
||||||
|
top: 2px;
|
||||||
|
left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
i.icon.telegram::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 5px solid transparent;
|
||||||
|
border-right: 5px solid transparent;
|
||||||
|
border-bottom: 8px solid currentColor;
|
||||||
|
transform: rotate(-30deg);
|
||||||
|
top: 7px;
|
||||||
|
left: 9px;
|
||||||
|
color: #ffffff; /* Цвет бумажного самолетика */
|
||||||
|
}
|
||||||
163
kodorvan/perm/system/public/themes/test/css/main.css
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Commissioner:wght@100;200;300;400;500;600;700;800;900&display=swap");
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Cascadia+Code:ital,wght@0,200..700;1,200..700&family=Rubik:ital,wght@0,300..900;1,300..900&family=Wix+Madefor+Display:wght@400..800&display=swap");
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap");
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap");
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&family=Pochaevsk&display=swap");
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: unset;
|
||||||
|
/* overflow-x: hidden; */
|
||||||
|
background-color: #f7fafc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unselectable {
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
margin-top: var(--menu-height);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-grow: 1;
|
||||||
|
align-items: center;
|
||||||
|
gap: 2rem;
|
||||||
|
transition: 0s;
|
||||||
|
overflow-x: hidden;
|
||||||
|
|
||||||
|
&:not(:has(*)) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
> section.container {
|
||||||
|
height: auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> h2#title {
|
||||||
|
font-size: 2.4rem;
|
||||||
|
font-family: "Bahnschrift";
|
||||||
|
margin: 0.1em 0 0.2em 0;
|
||||||
|
|
||||||
|
> span {
|
||||||
|
color: #0ea5e9;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> p#description {
|
||||||
|
margin: unset;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 400;
|
||||||
|
color: rgb(0, 0, 0, 0.6);
|
||||||
|
|
||||||
|
> span {
|
||||||
|
color: #0ea5e9;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> p.description {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
> a#order {
|
||||||
|
padding: 0.5em 1.3em;
|
||||||
|
margin-top: 1rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 5px;
|
||||||
|
border-radius: 1.125em;
|
||||||
|
font-size: 1em;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 400;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #0ea5e9;
|
||||||
|
color: #fff;
|
||||||
|
transition: 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
> div#team {
|
||||||
|
margin-top: 1rem;
|
||||||
|
display: inline-flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1rem;
|
||||||
|
|
||||||
|
> div#card {
|
||||||
|
padding: 0.6em 0.8em;
|
||||||
|
width: 180px;
|
||||||
|
height: 220px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 1.125rem;
|
||||||
|
box-shadow: 0px 0px 15px 0px rgba(14, 165, 233, 0.1);
|
||||||
|
background-color: #fff;
|
||||||
|
transition: ease 0.2s;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
object-fit: cover;
|
||||||
|
width: 140px;
|
||||||
|
height: 140px;
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
> p {
|
||||||
|
margin: 1em 0 0;
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 900;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
> span {
|
||||||
|
font-size: 1em;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 400;
|
||||||
|
color: #0ea5e9;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> a#telegram {
|
||||||
|
padding: 0.5em 1.3em;
|
||||||
|
margin-top: 1rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 5px;
|
||||||
|
border-radius: 1.125em;
|
||||||
|
font-size: 1em;
|
||||||
|
font-family: "Geologica";
|
||||||
|
font-weight: 400;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: #0ea5e9;
|
||||||
|
color: #fff;
|
||||||
|
transition: 0.2s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
> img {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
35
kodorvan/perm/system/public/themes/test/css/system.css
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--menu-height: 70px;
|
||||||
|
--gap: min(12px, 1rem);
|
||||||
|
|
||||||
|
/* font-family: , system-ui, sans-serif; */
|
||||||
|
font-family: "dejavu";
|
||||||
|
text-decoration: none;
|
||||||
|
outline: none;
|
||||||
|
border: none;
|
||||||
|
transition: 0.1s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Selection */
|
||||||
|
::selection {
|
||||||
|
color: var(--text-selected-color);
|
||||||
|
background: var(--text-selected-background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
::-moz-selection {
|
||||||
|
color: var(--text-selected-color);
|
||||||
|
background: var(--text-selected-background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.unselectable {
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
BIN
kodorvan/perm/system/public/themes/test/images/avatar/123.jpg
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
kodorvan/perm/system/public/themes/test/images/avatar/algiz.png
Normal file
|
After Width: | Height: | Size: 447 KiB |
BIN
kodorvan/perm/system/public/themes/test/images/avatar/arsen.jpg
Normal file
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 762 KiB |
BIN
kodorvan/perm/system/public/themes/test/images/avatar/seva.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><path d="M46.137,6.552c-0.75-0.636-1.928-0.727-3.146-0.238l-0.002,0C41.708,6.828,6.728,21.832,5.304,22.445 c-0.259,0.09-2.521,0.934-2.288,2.814c0.208,1.695,2.026,2.397,2.248,2.478l8.893,3.045c0.59,1.964,2.765,9.21,3.246,10.758 c0.3,0.965,0.789,2.233,1.646,2.494c0.752,0.29,1.5,0.025,1.984-0.355l5.437-5.043l8.777,6.845l0.209,0.125 c0.596,0.264,1.167,0.396,1.712,0.396c0.421,0,0.825-0.079,1.211-0.237c1.315-0.54,1.841-1.793,1.896-1.935l6.556-34.077 C47.231,7.933,46.675,7.007,46.137,6.552z M22,32l-3,8l-3-10l23-17L22,32z"/></svg>
|
||||||
|
After Width: | Height: | Size: 631 B |
BIN
kodorvan/perm/system/public/themes/test/videos/cover.mp4
Normal file
@@ -62,7 +62,7 @@ final class templater extends controller implements array_access
|
|||||||
$this->twig = new twig(new FilesystemLoader(VIEWS));
|
$this->twig = new twig(new FilesystemLoader(VIEWS));
|
||||||
|
|
||||||
// Initializing global variables
|
// Initializing global variables
|
||||||
$this->twig->addGlobal('theme', 'default');
|
$this->twig->addGlobal('theme', 'test');
|
||||||
$this->twig->addGlobal('server', $_SERVER);
|
$this->twig->addGlobal('server', $_SERVER);
|
||||||
$this->twig->addGlobal('cookies', $_COOKIE);
|
$this->twig->addGlobal('cookies', $_COOKIE);
|
||||||
$this->twig->addGlobal('language', $language = $session?->buffer['language'] ?? language::en);
|
$this->twig->addGlobal('language', $language = $session?->buffer['language'] ?? language::en);
|
||||||
|
|||||||
@@ -2,8 +2,7 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<aside>
|
|
||||||
</aside>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
|
|||||||
@@ -27,5 +27,4 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
@@ -3,8 +3,14 @@
|
|||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<footer>
|
<footer>
|
||||||
|
<p id="description">Профессиональная разработка ваших проектов</p>
|
||||||
|
<div id="link">
|
||||||
|
<a href="https://t.me/kodorvan?direct">КОДОРВАНЬ</a>
|
||||||
|
<a href="https://git.svoboda.works/kodorvan">РЕПОЗИТОРИИ</a>
|
||||||
|
<a href="https://ru.wikipedia.org/wiki/WTFPL">WTFPL</a>
|
||||||
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -1,26 +1,26 @@
|
|||||||
{% block title %}
|
{% block title %}
|
||||||
<title>{% if head.title != empty %}{{ head.title }}{% else %}perm by kodorvan{% endif %}</title>
|
<title>{% if head.title != empty %}{{ head.title }}{% else %}perm by kodorvan{% endif %}</title>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block meta %}
|
{% block meta %}
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
{% for meta in head.metas %}
|
{% for meta in head.metas %}
|
||||||
<meta {% for name, value in meta.attributes %}{{ name }}="{{ value }}" {% endfor %}>
|
<meta {% for name, value in meta.attributes %}{{ name }}="{{ value }}" {% endfor %}>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block css %}
|
{% block css %}
|
||||||
{% for element in css %}
|
{% for element in css %}
|
||||||
<link type="text/css" rel="stylesheet"{% if element.href %} href="{{ element.href }}"{% endif %} />
|
<link type="text/css" rel="stylesheet" {% if element.href %} href="{{ element.href }}" {% endif %} />
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<link type="text/css" rel="stylesheet" href="/themes/default/css/fonts.css" />
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/fonts.css" />
|
||||||
<link type="text/css" rel="stylesheet" href="/themes/default/css/system.css" />
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/system.css" />
|
||||||
<link type="text/css" rel="stylesheet" href="/themes/default/css/header.css" />
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/header.css" />
|
||||||
<link type="text/css" rel="stylesheet" href="/themes/default/css/main.css" />
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/main.css" />
|
||||||
<link type="text/css" rel="stylesheet" href="/themes/default/css/aside.css" />
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/aside.css" />
|
||||||
<link type="text/css" rel="stylesheet" href="/themes/default/css/footer.css" />
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/footer.css" />
|
||||||
<style id="theme">
|
<style id="theme">
|
||||||
@import url('/themes/default/css/themes/default/colorscheme.css');
|
@import url('/themes/default/css/themes/default/colorscheme.css');
|
||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{% block css %}
|
{% block css %} {% endblock %} {% block body %}
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block body %}
|
|
||||||
<header>
|
<header>
|
||||||
<span id="logotype" class="unselectable">
|
<span id="logotype" class="unselectable">
|
||||||
<h4>КОДОРВАНЬ</h4>
|
<h4>КОДОРВАНЬ</h4>
|
||||||
@@ -10,13 +7,10 @@
|
|||||||
|
|
||||||
<nav id="menu" class="unselectable">
|
<nav id="menu" class="unselectable">
|
||||||
<a href="/project">Проекты</a>
|
<a href="/project">Проекты</a>
|
||||||
<a href="/contacts">Контакты</a>
|
<a href="#contacts">Контакты</a>
|
||||||
<a href="/comand">Команда</a>
|
<a href="#comand">Команда</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<a id="order" class="unselectable" href="https:/t.me/kodorvan?direct"><i class="icon letter"></i>Заказать</a>
|
<a id="order" class="unselectable" href="https://t.me/kodorvan?direct">Заказать</a>
|
||||||
</header>
|
</header>
|
||||||
{% endblock %}
|
{% endblock %} {% block js %} {% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|||||||
@@ -5,27 +5,26 @@
|
|||||||
{% use "/themes/default/footer.html" with css as footer_css, body as footer, js as footer_js %}
|
{% use "/themes/default/footer.html" with css as footer_css, body as footer, js as footer_js %}
|
||||||
|
|
||||||
{% block css %}
|
{% block css %}
|
||||||
{{ block('header_css') }}
|
{{ block('header_css') }}
|
||||||
{{ block('aside_css') }}
|
{{ block('aside_css') }}
|
||||||
{{ block('footer_css') }}
|
{{ block('footer_css') }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
{{ block('header') }}
|
{{ block('header') }}
|
||||||
|
{{ block('aside') }}
|
||||||
|
|
||||||
{{ block('aside') }}
|
<main>
|
||||||
|
{% block main %}
|
||||||
|
{{main|raw}}
|
||||||
|
{% endblock %}
|
||||||
|
</main>
|
||||||
|
|
||||||
<main>
|
{{ block('footer') }}
|
||||||
{% block main %}
|
|
||||||
{{ main|raw }}
|
|
||||||
{% endblock %}
|
|
||||||
</main>
|
|
||||||
|
|
||||||
{{ block('footer') }}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
{{ block('header_js') }}
|
{{ block('header_js') }}
|
||||||
{{ block('aside_js') }}
|
{{ block('aside_js') }}
|
||||||
{{ block('footer_js') }}
|
{{ block('footer_js') }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
{% block js %}
|
{% block js %}
|
||||||
{% for element in js %}
|
{% for element in js %}
|
||||||
<script {% if element.src %}src="{{ element.src }}"{% endif %} {% if element.type %}type="{{ element.type }}"{% endif %}>{{ element.innerText }}</script>
|
<script
|
||||||
{% endfor %}
|
{% if element.src %}src="{{ element.src }}" {% endif %}
|
||||||
|
{% if element.type %}type="{{ element.type }}" {% endif %}>
|
||||||
|
{{ element.innerText }}
|
||||||
|
</script>
|
||||||
|
{% endfor %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<div id="comand" class="container">
|
||||||
|
<h2 id="title">Наша команда</h2>
|
||||||
|
<p id="description">
|
||||||
|
Познакомьтесь с профессионалами, которые воплотят ваши идеи в жизнь
|
||||||
|
</p>
|
||||||
|
<div id="team">
|
||||||
|
<div id="card">
|
||||||
|
<img src="themes/default/images/avatar/arsen.jpg" alt="Арсен" />
|
||||||
|
<p>Арсен</p>
|
||||||
|
<span>Программист</span>
|
||||||
|
</div>
|
||||||
|
<div id="card">
|
||||||
|
<img src="themes/default/images/avatar/hollspae.png" alt="Ксения" />
|
||||||
|
<p>Ксения</p>
|
||||||
|
<span>Coder</span>
|
||||||
|
</div>
|
||||||
|
<div id="card">
|
||||||
|
<img src="themes/default/images/avatar/algiz.png" alt="Альгиз" />
|
||||||
|
<p>Альгиз</p>
|
||||||
|
<span>Нeйроcетка и крипта</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- познакомьтесь что-то там никто читать на хуй не будет
|
||||||
|
заменяем на
|
||||||
|
Более 12 лет опыта в разных IT направлениях -->
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<div id="contacts" class="container unselectable">
|
||||||
|
<h2 id="title">Связатьcя с нами</h2>
|
||||||
|
<p id="description">Готовы обсудить ваш проект? Напишите нам!</p>
|
||||||
|
|
||||||
|
<a id="telegram" class="unselectable" href="https://t.me/kodorvan?direct">
|
||||||
|
<img src="themes/default/images/icons/telegram.svg" alt="">
|
||||||
|
|
||||||
|
<span>TELEGRAM</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Готовы обсудить проект
|
||||||
|
заменить на
|
||||||
|
что-то связанное с конструктором заказа
|
||||||
|
написать о том что будет посчитана цена, составлено ТЗ, сроки
|
||||||
|
влепить что есть рассрочка, оплата по СБП, работа с юр лицами
|
||||||
|
поэтапная оплата и возможность индивидуального чего-нибудь -->
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<div id="description" class="container">
|
||||||
|
<span id="shape">
|
||||||
|
<i class="icon code slash"></i>
|
||||||
|
<span>Профессиональная разработка</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<h2 id="title">
|
||||||
|
Ваша идея — наша <span>реализация</span>
|
||||||
|
</h2>
|
||||||
|
<p id="description" class="description">
|
||||||
|
Команда из опытных разработчиков, специализирующихся на создании
|
||||||
|
современных веб-приложений, чат-ботов, приложений, видеоигр для малого
|
||||||
|
бизнеса
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- IDEA -->
|
||||||
|
<!-- Создаем решения будущего -->
|
||||||
|
<!-- Ваш рост - наш код -->
|
||||||
|
<!-- От идеи до работающего бизнеса -->
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<section id="wrap" class="hotline unselectable" data-hotline="true" data-hotline-step="-3"
|
||||||
|
data-hotline-magnetic="center" data-hotline-interval="10">
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>STCS</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>BRAINROT</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>STCS</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>BRAINROT</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>STCS</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>BRAINROT</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</section>
|
||||||
19
kodorvan/perm/system/views/themes/default/main/index.html
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{% extends "/themes/default/index.html" %}
|
||||||
|
|
||||||
|
{% block css %}
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/icons/code_slash.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/icons/telegram.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/default/css/hotline.css" />
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block main %}
|
||||||
|
{% include '/themes/default/main/blocks/introdution.html' %}
|
||||||
|
{% include '/themes/default/main/blocks/projects.html' %}
|
||||||
|
{% include '/themes/default/main/blocks/comand.html' %}
|
||||||
|
{% include '/themes/default/main/blocks/contacts.html' %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js %}
|
||||||
|
<script src="/js/modules/hotline.mjs" type="module"></script>
|
||||||
|
<script src="/js/pages/main.js" defer></script>
|
||||||
|
{% endblock %}
|
||||||
9
kodorvan/perm/system/views/themes/test/aside.html
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{% block css %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js %}
|
||||||
|
{% endblock %}
|
||||||
30
kodorvan/perm/system/views/themes/test/core.html
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<html lang="ru">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
{% use '/themes/test/head.html' with title as head_title, meta as head_meta, css as head_css %}
|
||||||
|
|
||||||
|
{% block title %}
|
||||||
|
{{ block('head_title') }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block meta %}
|
||||||
|
{{ block('head_meta') }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{{ block('head_css') }}
|
||||||
|
{% block css %}
|
||||||
|
{% endblock %}
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
{% block body %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% include '/themes/default/js.html' %}
|
||||||
|
{% block js %}
|
||||||
|
{% endblock %}
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
16
kodorvan/perm/system/views/themes/test/footer.html
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{% block css %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<footer class="unselectable">
|
||||||
|
<p id="description">Профессиональная разработка ваших проектов</p>
|
||||||
|
<div id="link" class="unselectable" >
|
||||||
|
<a href="https://t.me/kodorvan?direct" > КОДОРВАНЬ</a>
|
||||||
|
<a href="https://git.svoboda.works/kodorvan">РЕПОЗИТОРИИ</a>
|
||||||
|
<a href="https://ru.wikipedia.org/wiki/WTFPL">WTFPL</a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js %}
|
||||||
|
{% endblock %}
|
||||||
26
kodorvan/perm/system/views/themes/test/head.html
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{% block title %}
|
||||||
|
<title>{% if head.title != empty %}{{ head.title }}{% else %}perm by kodorvan{% endif %}</title>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block meta %}
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
{% for meta in head.metas %}
|
||||||
|
<meta {% for name, value in meta.attributes %}{{ name }}="{{ value }}" {% endfor %}>
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block css %}
|
||||||
|
{% for element in css %}
|
||||||
|
<link type="text/css" rel="stylesheet" {% if element.href %} href="{{ element.href }}" {% endif %} />
|
||||||
|
{% endfor %}
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/fonts.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/system.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/header.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/main.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/aside.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/footer.css" />
|
||||||
|
<style id="theme">
|
||||||
|
@import url('/themes/test/css/themes/test/colorscheme.css');
|
||||||
|
</style>
|
||||||
|
{% endblock %}
|
||||||
16
kodorvan/perm/system/views/themes/test/header.html
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{% block css %} {% endblock %} {% block body %}
|
||||||
|
<header>
|
||||||
|
<a href="https://perm.kodorvan.tech" id="logotype" class="unselectable">
|
||||||
|
<h4>КОДОРВАНЬ</h4>
|
||||||
|
<small>реальных программистов</small>
|
||||||
|
</ф>
|
||||||
|
|
||||||
|
<nav id="menu" class="unselectable">
|
||||||
|
<a href="https://git.svoboda.works/kodorvan">Проекты</a>
|
||||||
|
<a href="#contacts">Контакты</a>
|
||||||
|
<a href="#services">Услуги</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
</header>
|
||||||
|
{% endblock %} {% block js %} {% endblock %}
|
||||||
30
kodorvan/perm/system/views/themes/test/index.html
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{% extends "/themes/test/core.html" %}
|
||||||
|
|
||||||
|
{% use "/themes/test/header.html" with css as header_css, body as header, js as header_js %}
|
||||||
|
{% use "/themes/test/aside.html" with css as aside_css, body as aside, js as aside_js %}
|
||||||
|
{% use "/themes/test/footer.html" with css as footer_css, body as footer, js as footer_js %}
|
||||||
|
|
||||||
|
{% block css %}
|
||||||
|
{{ block('header_css') }}
|
||||||
|
{{ block('aside_css') }}
|
||||||
|
{{ block('footer_css') }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
{{ block('header') }}
|
||||||
|
{{ block('aside') }}
|
||||||
|
|
||||||
|
<main>
|
||||||
|
{% block main %}
|
||||||
|
{{main|raw}}
|
||||||
|
{% endblock %}
|
||||||
|
</main>
|
||||||
|
|
||||||
|
{{ block('footer') }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js %}
|
||||||
|
{{ block('header_js') }}
|
||||||
|
{{ block('aside_js') }}
|
||||||
|
{{ block('footer_js') }}
|
||||||
|
{% endblock %}
|
||||||
9
kodorvan/perm/system/views/themes/test/js.html
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{% block js %}
|
||||||
|
{% for element in js %}
|
||||||
|
<script
|
||||||
|
{% if element.src %}src="{{ element.src }}" {% endif %}
|
||||||
|
{% if element.type %}type="{{ element.type }}" {% endif %}>
|
||||||
|
{{ element.innerText }}
|
||||||
|
</script>
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
<section class="advantages">
|
||||||
|
<h2 class="title unselectable">Преимущества</h2>
|
||||||
|
|
||||||
|
<div class="accordion">
|
||||||
|
|
||||||
|
<div class="accordion-item">
|
||||||
|
<button id="accordion-button-1" aria-expanded="false">
|
||||||
|
<span class="title ">Техническое задание</span>
|
||||||
|
<span class="icon" aria-hidden="true"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="accordion-content">
|
||||||
|
<p>Четкое описание всех требований и функционала проекта.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="accordion-item">
|
||||||
|
<button id="accordion-button-2" aria-expanded="false">
|
||||||
|
<span class="title">Хостинг на нашем сервере</span>
|
||||||
|
<span class="icon" aria-hidden="true"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="accordion-content">
|
||||||
|
<p>Проект может быть размещен на нашем сервере или перенесен на другой по желанию клиента.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="accordion-item">
|
||||||
|
<button id="accordion-button-3" aria-expanded="false">
|
||||||
|
<span class="title">Безопасность и приватность</span>
|
||||||
|
<span class="icon" aria-hidden="true"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="accordion-content">
|
||||||
|
<p>Код зашифрован, проект полностью приватный и защищен от несанкционированного доступа.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="accordion-item">
|
||||||
|
<button id="accordion-button-4" aria-expanded="false">
|
||||||
|
<span class="title">Бесплатная поддержка</span>
|
||||||
|
<span class="icon" aria-hidden="true"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="accordion-content">
|
||||||
|
<p>Помощь и консультация после запуска проекта.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="accordion-item">
|
||||||
|
<button id="accordion-button-5" aria-expanded="false">
|
||||||
|
<span class="title">Персонализированный подход</span>
|
||||||
|
<span class="icon" aria-hidden="true"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="accordion-content">
|
||||||
|
<p>Учет уникальных потребностей и пожеланий клиента.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<section id="comand" class="container">
|
||||||
|
<h2 id="title" class="unselectable">Разработчики</h2>
|
||||||
|
<p id="description" class="unselectable">
|
||||||
|
Более <span>12 лет</span> разработки в различных IT сферах
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div id="team">
|
||||||
|
<div id="card">
|
||||||
|
<img src="themes/test/images/avatar/123.jpg" alt="Арсен" />
|
||||||
|
<p class="unselectable">Арсен</p>
|
||||||
|
<span class="unselectable">Программист</span>
|
||||||
|
</div>
|
||||||
|
<div id="card">
|
||||||
|
<img src="themes/test/images/avatar/123.jpg" alt="Ксения" />
|
||||||
|
<p class="unselectable">Ксения</p>
|
||||||
|
<span class="unselectable">Coder</span>
|
||||||
|
</div>
|
||||||
|
<div id="card">
|
||||||
|
<img src="themes/test/images/avatar/123.jpg" alt="Альгиз" />
|
||||||
|
<p class="unselectable">Альгиз</p>
|
||||||
|
<span class="unselectable">Нeйроcетка и крипта</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<section id="contacts" class="container unselectable">
|
||||||
|
<h2 id="title">Связатьcя с нами</h2>
|
||||||
|
<p id="description">Готовы обсудить ваш проект? Напишите нам!</p>
|
||||||
|
|
||||||
|
<a id="telegram" class="unselectable" href="https://t.me/kodorvan?direct">
|
||||||
|
<img src="themes/default/images/icons/telegram.svg" alt="">
|
||||||
|
|
||||||
|
<span>Telegram</span>
|
||||||
|
</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Готовы обсудить проект
|
||||||
|
заменить на
|
||||||
|
что-то связанное с конструктором заказа
|
||||||
|
написать о том что будет посчитана цена, составлено ТЗ, сроки
|
||||||
|
влепить что есть рассрочка, оплата по СБП, работа с юр лицами
|
||||||
|
поэтапная оплата и возможность индивидуального чего-нибудь -->
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<section id="introdution" class="container">
|
||||||
|
<div>
|
||||||
|
<!-- <span id="label">
|
||||||
|
<i class="icon code slash"></i>
|
||||||
|
<span class="unselectable">Профессиональная разработка</span>
|
||||||
|
</span> -->
|
||||||
|
|
||||||
|
<h2 id="title" class="unselectable">ПЕРМСКИЕ РАЗРАБОТЧИКИ</h2>
|
||||||
|
|
||||||
|
<p id="team" class="unselectable">Разработка с нуля командой профессионалов<br />ответственно и без лапши - работа на результат</p>
|
||||||
|
|
||||||
|
<span id="experience">БОЛЕЕ 12 ЛЕТ ОПЫТА</span>
|
||||||
|
|
||||||
|
<span id="anything">УМЕЕМ ВСЁ</span>
|
||||||
|
|
||||||
|
<span id="technology">УНИКАЛЬНЫЕ ТЕХНОЛОГИИ</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="dots"></div>
|
||||||
|
<video autoplay loop muted>
|
||||||
|
<source src="/themes/test/videos/cover.mp4" type="video/mp4">
|
||||||
|
</video>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- IDEA -->
|
||||||
|
<!-- Создаем решения будущего -->
|
||||||
|
<!-- Ваш рост - наш код -->
|
||||||
|
<!-- От идеи до работающего бизнеса -->
|
||||||
|
<!-- Ваша идея - наша реализация -->
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
<section id="projects" class="container unselectable">
|
||||||
|
|
||||||
|
<h2 class="title">Проекты</h2>
|
||||||
|
<div id="wrap" class="hotline unselectable" data-hotline="true" data-hotline-step="-3" data-hotline-magnetic="center"
|
||||||
|
data-hotline-interval="10">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>STCS</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>BRAINROT</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>STCS</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>BRAINROT</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>STCS</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>BRAINROT</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<p>ZHARKO</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>STCS</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<p>BRAINROT</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
<section id="services" class="container ">
|
||||||
|
<h2 id="title">Предоставляемые услуги</h2>
|
||||||
|
|
||||||
|
<div id="service">
|
||||||
|
<div id="card">
|
||||||
|
<div class="text">
|
||||||
|
<p class="title">Телеграм-боты под ключ</p>
|
||||||
|
<span class="discription">Создаем Telegram-ботов для продаж, поддержки клиентов и автоматизации
|
||||||
|
бизнес-процессов. Рассматриваем разработку мини-приложений в Telegram: магазин, сервисы, игры и полноценные
|
||||||
|
платформы</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a href="https://t.me/kodorvan?direct">Запустить бота за 7 дней</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="card">
|
||||||
|
<div class="text">
|
||||||
|
<p class="title">Разработка сайта</p>
|
||||||
|
<span class="discription">Разработаем сайт любой сложности — от одностраничных лендингов до многофункциональных интернет-магазинов и представительных корпоративных сайтов. Каждый
|
||||||
|
проект будет современным и адаптивным</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a href="https://t.me/kodorvan?direct">Заказать сайт</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="card">
|
||||||
|
<div class="text">
|
||||||
|
<p class="title"> API-интеграции под ключ</p>
|
||||||
|
<span class="discription">Настраиваем надежное и безопасное взаимодействие вашего сайта или бота с любыми внешними сервисами. Интеграция с платежными системами, CRM, Telegram, базами данных и другими системами, чтобы автоматизировать бизнес-процессы.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a href="https://t.me/kodorvan?direct">Подключить</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
27
kodorvan/perm/system/views/themes/test/main/index.html
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{% extends "/themes/test/index.html" %}
|
||||||
|
|
||||||
|
{% block css %}
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/icons/code_slash.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/icons/telegram.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/blocks/introdution.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/blocks/hotline.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/blocks/service.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="/themes/test/css/blocks/advantages.css" />
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block main %}
|
||||||
|
{% include '/themes/test/main/blocks/introdution.html' %}
|
||||||
|
{% include '/themes/test/main/blocks/projects.html' %}
|
||||||
|
{% include '/themes/test/main/blocks/service.html' %}
|
||||||
|
{% include '/themes/test/main/blocks/advantages.html' %}
|
||||||
|
{% include '/themes/test/main/blocks/comand.html' %}
|
||||||
|
|
||||||
|
{% include '/themes/test/main/blocks/contacts.html' %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js %}
|
||||||
|
<script src="/js/modules/hotline.mjs" type="module"></script>
|
||||||
|
<script src="/js/pages/main.js" defer></script>
|
||||||
|
<script src="/js/modules/service.js" defer></script>
|
||||||
|
<script src="/js/modules/advantages.js" defer></script>
|
||||||
|
{% endblock %}
|
||||||