Compare commits

..

10 Commits

Author SHA1 Message Date
39ba823eae docker 2024-11-07 14:42:26 +07:00
2d68f40bc8 new carusel 2024-11-02 15:35:23 +07:00
350e3e9a8b correct inn with new fonts 2024-11-01 21:09:02 +07:00
d05b29f429 with logo with new firms 2024-11-01 16:47:10 +07:00
33888311c8 Merge branch 'main' of https://cv4227119.regru.cloud/belikovme/anthill_web 2024-11-01 16:24:23 +07:00
8edf3ca0df new with changes av 2024-11-01 16:24:17 +07:00
058f92633f docker 2024-11-01 14:51:39 +07:00
91883b2523 docker 2024-11-01 14:37:44 +07:00
9ba30ad7f1 test docker 2024-10-31 22:24:06 +07:00
c6d76a229e test docker 2024-10-31 22:22:38 +07:00
45 changed files with 1605 additions and 69 deletions

View File

@ -32,13 +32,25 @@
# # CMD ["nginx", "-g", "daemon off;"] # # CMD ["nginx", "-g", "daemon off;"]
FROM node:18-alpine # FROM node:18-alpine
# WORKDIR /app
# COPY package*.json ./
# RUN npm install
# COPY . .
# EXPOSE 3000
# CMD ["npm", "start"]
FROM node:alpine as build
WORKDIR /app WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . . COPY . .
RUN npm install
RUN npm run build
EXPOSE 3000 # production enviroment
CMD ["npm", "start"] FROM nginx:stable-alpine
COPY --from=build /app/build /var/www/build
COPY --from=build /app/nginx.conf /etc/nginx/sites-enabled/default
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@ -22,30 +22,31 @@
version: '3' version: '3'
services: services:
nextjs: app:
build: . build: .
container_name: nextjs # container_name: app
restart: always restart: always
ports: # ports:
- "3000:80" # - "80:80"
networks: # - "443:443"
- app-network # networks:
# - app-network
# nginx: # nginx:
# image: nginx:alpine # image: nginx:alpine
# container_name: nginx # container_name: nginx
# ports: # ports:
# - "80:80" # - "80:80"
# - "443:443" # - "443:443"
# volumes: # volumes:
# - ./nginx/conf.d:/etc/nginx/conf.d # - ./nginx/conf.d:/etc/nginx/conf.d
# - ./nginx/ssl:/etc/nginx/ssl # - ./nginx/ssl:/etc/nginx/ssl
# depends_on: # depends_on:
# - nextjs # - nextjs
# networks: # networks:
# - app-network # - app-network
# restart: always # restart: always
networks: # networks:
app-network: # app-network:
driver: bridge # driver: bridge

View File

@ -1,3 +1,173 @@
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/build;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name anthillsib.ru www.anthillsib.ru;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html;
}
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
server {
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/build;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name anthillsib.ru; # managed by Certbot
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html;
}
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/anthillsib.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/anthillsib.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = anthillsib.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 ;
listen [::]:80 ;
server_name anthillsib.ru;
return 404; # managed by Certbot
}
# server { # server {
# listen 80; # listen 80;
# server_name localhost:3000; # server_name localhost:3000;
@ -32,17 +202,17 @@
# proxy_set_header Host $host; # proxy_set_header Host $host;
# proxy_cache_bypass $http_upgrade; # proxy_cache_bypass $http_upgrade;
# } # }
# } # # }
server { # server {
listen 80; # listen 80;
server_name localhost; # server_name anthillsib.ru www.anthillsib.ru;
location / { # location / {
proxy_pass http://app:3000; # proxy_pass http://localhost:3000;
proxy_http_version 1.1; # proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; # proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade'; # proxy_set_header Connection 'upgrade';
proxy_set_header Host $host; # proxy_set_header Host $host;
} # }
} # }

763
package-lock.json generated
View File

@ -13,6 +13,7 @@
"@testing-library/user-event": "^13.5.0", "@testing-library/user-event": "^13.5.0",
"antd": "^5.21.2", "antd": "^5.21.2",
"lucide-react": "^0.454.0", "lucide-react": "^0.454.0",
"next": "^15.0.2",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",
"react-router-dom": "^6.26.2", "react-router-dom": "^6.26.2",
@ -2550,6 +2551,16 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@emnapi/runtime": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz",
"integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==",
"license": "MIT",
"optional": true,
"dependencies": {
"tslib": "^2.4.0"
}
},
"node_modules/@emotion/hash": { "node_modules/@emotion/hash": {
"version": "0.8.0", "version": "0.8.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
@ -2698,6 +2709,367 @@
"deprecated": "Use @eslint/object-schema instead", "deprecated": "Use @eslint/object-schema instead",
"license": "BSD-3-Clause" "license": "BSD-3-Clause"
}, },
"node_modules/@img/sharp-darwin-arm64": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
"integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-darwin-arm64": "1.0.4"
}
},
"node_modules/@img/sharp-darwin-x64": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
"integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-darwin-x64": "1.0.4"
}
},
"node_modules/@img/sharp-libvips-darwin-arm64": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
"integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
"cpu": [
"arm64"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"darwin"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-darwin-x64": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
"integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
"cpu": [
"x64"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"darwin"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-linux-arm": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
"integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
"cpu": [
"arm"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-linux-arm64": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
"integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
"cpu": [
"arm64"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-linux-s390x": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
"integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
"cpu": [
"s390x"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-linux-x64": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
"integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
"cpu": [
"x64"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
"integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
"cpu": [
"arm64"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
"integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
"cpu": [
"x64"
],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
],
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-linux-arm": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
"integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
"cpu": [
"arm"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-linux-arm": "1.0.5"
}
},
"node_modules/@img/sharp-linux-arm64": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
"integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-linux-arm64": "1.0.4"
}
},
"node_modules/@img/sharp-linux-s390x": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
"integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
"cpu": [
"s390x"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-linux-s390x": "1.0.4"
}
},
"node_modules/@img/sharp-linux-x64": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
"integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-linux-x64": "1.0.4"
}
},
"node_modules/@img/sharp-linuxmusl-arm64": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
"integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
}
},
"node_modules/@img/sharp-linuxmusl-x64": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
"integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-libvips-linuxmusl-x64": "1.0.4"
}
},
"node_modules/@img/sharp-wasm32": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
"integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
"cpu": [
"wasm32"
],
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
"optional": true,
"dependencies": {
"@emnapi/runtime": "^1.2.0"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-win32-ia32": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
"integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
"cpu": [
"ia32"
],
"license": "Apache-2.0 AND LGPL-3.0-or-later",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-win32-x64": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
"integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
"cpu": [
"x64"
],
"license": "Apache-2.0 AND LGPL-3.0-or-later",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@isaacs/cliui": { "node_modules/@isaacs/cliui": {
"version": "8.0.2", "version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@ -3542,6 +3914,140 @@
"integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@next/env": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.0.2.tgz",
"integrity": "sha512-c0Zr0ModK5OX7D4ZV8Jt/wqoXtitLNPwUfG9zElCZztdaZyNVnN40rDXVZ/+FGuR4CcNV5AEfM6N8f+Ener7Dg==",
"license": "MIT"
},
"node_modules/@next/swc-darwin-arm64": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.2.tgz",
"integrity": "sha512-GK+8w88z+AFlmt+ondytZo2xpwlfAR8U6CRwXancHImh6EdGfHMIrTSCcx5sOSBei00GyLVL0ioo1JLKTfprgg==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-darwin-x64": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.2.tgz",
"integrity": "sha512-KUpBVxIbjzFiUZhiLIpJiBoelqzQtVZbdNNsehhUn36e2YzKHphnK8eTUW1s/4aPy5kH/UTid8IuVbaOpedhpw==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.2.tgz",
"integrity": "sha512-9J7TPEcHNAZvwxXRzOtiUvwtTD+fmuY0l7RErf8Yyc7kMpE47MIQakl+3jecmkhOoIyi/Rp+ddq7j4wG6JDskQ==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-arm64-musl": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.2.tgz",
"integrity": "sha512-BjH4ZSzJIoTTZRh6rG+a/Ry4SW0HlizcPorqNBixBWc3wtQtj4Sn9FnRZe22QqrPnzoaW0ctvSz4FaH4eGKMww==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-x64-gnu": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.2.tgz",
"integrity": "sha512-i3U2TcHgo26sIhcwX/Rshz6avM6nizrZPvrDVDY1bXcLH1ndjbO8zuC7RoHp0NSK7wjJMPYzm7NYL1ksSKFreA==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-x64-musl": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.2.tgz",
"integrity": "sha512-AMfZfSVOIR8fa+TXlAooByEF4OB00wqnms1sJ1v+iu8ivwvtPvnkwdzzFMpsK5jA2S9oNeeQ04egIWVb4QWmtQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.2.tgz",
"integrity": "sha512-JkXysDT0/hEY47O+Hvs8PbZAeiCQVxKfGtr4GUpNAhlG2E0Mkjibuo8ryGD29Qb5a3IOnKYNoZlh/MyKd2Nbww==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-win32-x64-msvc": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.2.tgz",
"integrity": "sha512-foaUL0NqJY/dX0Pi/UcZm5zsmSk5MtP/gxx3xOPyREkMFN+CTjctPfu3QaqrQHinaKdPnMWPJDKt4VjDfTBe/Q==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1", "version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@ -4172,6 +4678,21 @@
"url": "https://github.com/sponsors/gregberge" "url": "https://github.com/sponsors/gregberge"
} }
}, },
"node_modules/@swc/counter": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
"integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
"license": "Apache-2.0"
},
"node_modules/@swc/helpers": {
"version": "0.5.13",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz",
"integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.4.0"
}
},
"node_modules/@testing-library/dom": { "node_modules/@testing-library/dom": {
"version": "10.4.0", "version": "10.4.0",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
@ -6705,6 +7226,17 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/busboy": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
"dependencies": {
"streamsearch": "^1.1.0"
},
"engines": {
"node": ">=10.16.0"
}
},
"node_modules/bytes": { "node_modules/bytes": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@ -6936,6 +7468,12 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/client-only": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
"license": "MIT"
},
"node_modules/cliui": { "node_modules/cliui": {
"version": "7.0.4", "version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@ -6977,6 +7515,20 @@
"integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/color": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
"license": "MIT",
"optional": true,
"dependencies": {
"color-convert": "^2.0.1",
"color-string": "^1.9.0"
},
"engines": {
"node": ">=12.5.0"
}
},
"node_modules/color-convert": { "node_modules/color-convert": {
"version": "1.9.3", "version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@ -6992,6 +7544,37 @@
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/color-string": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
"license": "MIT",
"optional": true,
"dependencies": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
}
},
"node_modules/color/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"license": "MIT",
"optional": true,
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT",
"optional": true
},
"node_modules/colord": { "node_modules/colord": {
"version": "2.9.3", "version": "2.9.3",
"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
@ -7876,6 +8459,16 @@
"npm": "1.2.8000 || >= 1.4.16" "npm": "1.2.8000 || >= 1.4.16"
} }
}, },
"node_modules/detect-libc": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
"integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
"license": "Apache-2.0",
"optional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/detect-newline": { "node_modules/detect-newline": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
@ -14186,6 +14779,88 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/next": {
"version": "15.0.2",
"resolved": "https://registry.npmjs.org/next/-/next-15.0.2.tgz",
"integrity": "sha512-rxIWHcAu4gGSDmwsELXacqAPUk+j8dV/A9cDF5fsiCMpkBDYkO2AEaL1dfD+nNmDiU6QMCFN8Q30VEKapT9UHQ==",
"license": "MIT",
"dependencies": {
"@next/env": "15.0.2",
"@swc/counter": "0.1.3",
"@swc/helpers": "0.5.13",
"busboy": "1.6.0",
"caniuse-lite": "^1.0.30001579",
"postcss": "8.4.31",
"styled-jsx": "5.1.6"
},
"bin": {
"next": "dist/bin/next"
},
"engines": {
"node": ">=18.18.0"
},
"optionalDependencies": {
"@next/swc-darwin-arm64": "15.0.2",
"@next/swc-darwin-x64": "15.0.2",
"@next/swc-linux-arm64-gnu": "15.0.2",
"@next/swc-linux-arm64-musl": "15.0.2",
"@next/swc-linux-x64-gnu": "15.0.2",
"@next/swc-linux-x64-musl": "15.0.2",
"@next/swc-win32-arm64-msvc": "15.0.2",
"@next/swc-win32-x64-msvc": "15.0.2",
"sharp": "^0.33.5"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",
"@playwright/test": "^1.41.2",
"babel-plugin-react-compiler": "*",
"react": "^18.2.0 || 19.0.0-rc-02c0e824-20241028",
"react-dom": "^18.2.0 || 19.0.0-rc-02c0e824-20241028",
"sass": "^1.3.0"
},
"peerDependenciesMeta": {
"@opentelemetry/api": {
"optional": true
},
"@playwright/test": {
"optional": true
},
"babel-plugin-react-compiler": {
"optional": true
},
"sass": {
"optional": true
}
}
},
"node_modules/next/node_modules/postcss": {
"version": "8.4.31",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/no-case": { "node_modules/no-case": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
@ -18226,6 +18901,46 @@
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/sharp": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
"integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
"hasInstallScript": true,
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"color": "^4.2.3",
"detect-libc": "^2.0.3",
"semver": "^7.6.3"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
"@img/sharp-darwin-arm64": "0.33.5",
"@img/sharp-darwin-x64": "0.33.5",
"@img/sharp-libvips-darwin-arm64": "1.0.4",
"@img/sharp-libvips-darwin-x64": "1.0.4",
"@img/sharp-libvips-linux-arm": "1.0.5",
"@img/sharp-libvips-linux-arm64": "1.0.4",
"@img/sharp-libvips-linux-s390x": "1.0.4",
"@img/sharp-libvips-linux-x64": "1.0.4",
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
"@img/sharp-libvips-linuxmusl-x64": "1.0.4",
"@img/sharp-linux-arm": "0.33.5",
"@img/sharp-linux-arm64": "0.33.5",
"@img/sharp-linux-s390x": "0.33.5",
"@img/sharp-linux-x64": "0.33.5",
"@img/sharp-linuxmusl-arm64": "0.33.5",
"@img/sharp-linuxmusl-x64": "0.33.5",
"@img/sharp-wasm32": "0.33.5",
"@img/sharp-win32-ia32": "0.33.5",
"@img/sharp-win32-x64": "0.33.5"
}
},
"node_modules/shebang-command": { "node_modules/shebang-command": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@ -18280,6 +18995,23 @@
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
"license": "MIT",
"optional": true,
"dependencies": {
"is-arrayish": "^0.3.1"
}
},
"node_modules/simple-swizzle/node_modules/is-arrayish": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
"license": "MIT",
"optional": true
},
"node_modules/sisteransi": { "node_modules/sisteransi": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
@ -18568,6 +19300,14 @@
"node": ">= 0.4" "node": ">= 0.4"
} }
}, },
"node_modules/streamsearch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/string_decoder": { "node_modules/string_decoder": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@ -18844,6 +19584,29 @@
"webpack": "^5.0.0" "webpack": "^5.0.0"
} }
}, },
"node_modules/styled-jsx": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz",
"integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==",
"license": "MIT",
"dependencies": {
"client-only": "0.0.1"
},
"engines": {
"node": ">= 12.0.0"
},
"peerDependencies": {
"react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
},
"peerDependenciesMeta": {
"@babel/core": {
"optional": true
},
"babel-plugin-macros": {
"optional": true
}
}
},
"node_modules/stylehacks": { "node_modules/stylehacks": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",

View File

@ -8,6 +8,7 @@
"@testing-library/user-event": "^13.5.0", "@testing-library/user-event": "^13.5.0",
"antd": "^5.21.2", "antd": "^5.21.2",
"lucide-react": "^0.454.0", "lucide-react": "^0.454.0",
"next": "^15.0.2",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",
"react-router-dom": "^6.26.2", "react-router-dom": "^6.26.2",

38
public/Anthill.svg Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW 2021.5 -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="35.3377mm" height="6.333mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 774.28 138.76"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
<defs>
<font id="FontID0" horiz-adv-x="522" font-variant="normal" style="fill-rule:nonzero" font-weight="400">
<font-face
font-family="Aldine721 BdCn BT">
<font-face-src>
<font-face-name name="Aldine721 BdCn BT Bold"/>
</font-face-src>
</font-face>
<missing-glyph><path d="M0 0z"/></missing-glyph>
<glyph unicode="A" horiz-adv-x="522" d="M154.005 324.003l110.989 0 -5.89965e+001 234.002 -5.19925e+001 -2.34002e+002zm-1.54005e+002 -3.24003e+002l0 49.0043c25.0041,3.99216 46.0043,40.9964 61.9966,109.997 1.00394,4.9961 1.00394,7.99613 2.00789,10.9961l114.001 493.008 -1.3004e+001 51.9925 156.001 0 135.993 -5.54e+002c1.00394,-4.9961e+000 3.00002,-1.20001e+001 5.00791,-2.19923e+001 15.0001,-5.90083e+001 34.9963,-8.90086e+001 60.9926,-9.00007e+001l0 -4.90043e+001 -2.58994e+002 0 0 49.0043c15.0001,1.99608 27.0002,7.99613 34.9963,18.9923 7.00399,11.008 10.9961,26.0081 10.9961,46.0043 0,7.00399 -9.92134e-001,15.0001 -1.99608e+000,24.0002 -1.00394e+000,9.00007 -1.99608e+000,19.0041 -4.9961e+000,31.0042l-2.20041e+001 92.9889 -1.42997e+002 0 -2.20041e+001 -9.39929e+001c-9.92134e-001,-7.00399e+000 -3.00002e+000,-1.50001e+001 -3.99216e+000,-2.29962e+001 -1.00394e+000,-9.00007e+000 -1.00394e+000,-1.7008e+001 -1.00394e+000,-2.50041e+001 0,-2.10002e+001 4.00397,-3.79964e+001 13.004,-4.90043e+001 9.00007,-1.20001e+001 21.9923,-1.99962e+001 39.0003,-2.19923e+001l0 -4.90043e+001 -1.63005e+002 0z"/>
<glyph unicode="H" horiz-adv-x="624" d="M27.0002 0l0 49.0043c21.0002,0.992134 36.0003,6.00005 43.0043,13.9962 6.99218,7.99613 10.9961,25.9963 10.9961,52.9965l0 484.008c0,27.0002 -4.00397e+000,45.0004 -1.09961e+001,52.9965 -7.00399e+000,7.99613 -2.20041e+001,13.004 -4.30043e+001,13.9962l0 48.0004 265.998 0 0 -4.80004e+001c-1.80001e+001,-3.00002e+000 -3.00002e+001,-9.00007e+000 -3.70042e+001,-1.80001e+001 -6.99218e+000,-9.9922e+000 -1.09961e+001,-2.59963e+001 -1.09961e+001,-4.89925e+001l0 -2.04002e+002 136.005 0 0 204.002c0,22.9962 -4.00397e+000,39.0003 -1.1008e+001,48.9925 -6.99218e+000,9.00007 -1.89923e+001,15.0001 -3.69924e+001,18.0001l0 48.0004 267.002 0 0 -4.80004e+001c-2.20041e+001,-1.99608e+000 -3.70042e+001,-6.99218e+000 -4.40082e+001,-1.50001e+001 -6.99218e+000,-7.99613e+000 -1.09961e+001,-2.49923e+001 -1.09961e+001,-5.19925e+001l0 -4.84008e+002c0,-1.59923e+001 1.00394,-2.79923e+001 1.99608,-3.39924e+001 1.00394,-7.00399e+000 3.00002,-1.20001e+001 6.00005,-1.60041e+001 4.00397,-4.9961e+000 10.004,-9.00007e+000 17.008,-1.20001e+001 7.99613,-3.00002e+000 18.0001,-4.9961e+000 30.0002,-4.9961e+000l0 -4.90043e+001 -2.67002e+002 0 0 49.0043c18.0001,3.00002 30.9924,9.00007 37.9964,18.0001 6.00005,9.00007 10.004,25.9963 10.004,48.9925l0 220.006 -1.36005e+002 0 0 -2.20006e+002c0,-2.29962e+001 4.00397,-3.99924e+001 10.004,-4.89925e+001 6.99218,-9.00007e+000 19.9962,-1.50001e+001 37.9964,-1.80001e+001l0 -4.90043e+001 -2.65998e+002 0z"/>
<glyph unicode="I" horiz-adv-x="326" d="M27.0002 0l0 49.0043c19.9962,1.99608 34.9963,7.99613 42.0003,16.9962 7.99613,10.004 12.0001,25.9963 12.0001,49.9965l0 484.008c0,27.0002 -4.00397e+000,45.0004 -1.09961e+001,52.9965 -7.00399e+000,7.99613 -2.20041e+001,13.004 -4.30043e+001,13.9962l0 48.0004 273.002 0 0 -4.80004e+001c-2.20041e+001,-1.99608e+000 -3.70042e+001,-6.99218e+000 -4.40082e+001,-1.50001e+001 -6.99218e+000,-7.99613e+000 -1.09961e+001,-2.49923e+001 -1.09961e+001,-5.19925e+001l0 -4.84008e+002c0,-2.40002e+001 4.00397,-3.99924e+001 12.0001,-4.99965e+001 7.99613,-9.00007e+000 22.0041,-1.50001e+001 43.0043,-1.69962e+001l0 -4.90043e+001 -2.73002e+002 0z"/>
<glyph unicode="L" horiz-adv-x="483" d="M27.0002 0l0 49.0043c19.9962,1.99608 34.9963,7.99613 42.0003,16.9962 7.99613,10.004 12.0001,25.9963 12.0001,49.9965l0 484.008c0,27.0002 -4.00397e+000,45.0004 -1.09961e+001,52.9965 -7.00399e+000,7.99613 -2.20041e+001,13.004 -4.30043e+001,13.9962l0 48.0004 273.002 0 0 -4.80004e+001c-2.20041e+001,-1.99608e+000 -3.70042e+001,-6.99218e+000 -4.40082e+001,-1.50001e+001 -6.99218e+000,-7.99613e+000 -1.09961e+001,-2.49923e+001 -1.09961e+001,-5.19925e+001l0 -4.79e+002c0,-2.30081e+001 3.00002,-4.00043e+001 10.004,-5.00083e+001 6.00005,-1.09961e+001 15.9923,-1.59923e+001 30.9924,-1.59923e+001 20.008,0 39.0003,10.9961 58.0044,33.9924 19.0041,23.0081 37.9964,57.0004 55.9965,104.009l70.0045 0 -2.29962e+001 -1.93005e+002 -4.20003e+002 0z"/>
<glyph unicode="N" horiz-adv-x="582" d="M28.0042 0l0 49.0043c22.9962,1.99608 37.9964,9.00007 45.9925,21.9923 9.00007,12.0001 13.004,39.0003 13.004,80.0085l0 419.991c0,29.0081 -4.9961e+000,51.0004 -1.39962e+001,65.0084 -8.00794e+000,15.0001 -2.40002e+001,24.9923 -4.50004e+001,30.9924l0 48.0004 180.001 0 231.994 -3.88999e+002 0 244.998c0,35.0081 -4.9961e+000,59.0083 -1.50001e+001,72.0006 -1.0004e+001,13.004 -2.89963e+001,21.0002 -5.59965e+001,24.0002l0 48.0004 184.998 0 0 -4.89925e+001c-2.29962e+001,-2.00789e+000 -3.79964e+001,-9.00007e+000 -4.60043e+001,-2.20041e+001 -9.00007e+000,-1.3004e+001 -1.29922e+001,-4.00043e+001 -1.29922e+001,-8.10006e+001l0 -5.63e+002 -4.80004e+001 0 -3.04998e+002 519.004 0 -3.75003e+002c0,-3.19963e+001 6.00005,-5.59965e+001 16.9962,-7.09966e+001 10.9961,-1.50001e+001 28.9963,-2.30081e+001 55.0044,-2.50041e+001l0 -4.80004e+001 -1.86001e+002 0z"/>
<glyph unicode="T" horiz-adv-x="483" d="M105.001 0l0 49.0043c19.9962,1.99608 34.9963,7.99613 43.0043,18.0001 7.99613,9.9922 12.0001,25.9963 12.0001,49.9965l0 543.004c-2.30081e+001,0 -4.20003e+001,-8.00794e+000 -5.60083e+001,-2.40002e+001 -1.39962e+001,-1.60041e+001 -2.49923e+001,-4.10082e+001 -3.19963e+001,-7.60045e+001l-5.80044e+001 0 0 154.997 456.004 0 0 -1.54997e+002 -5.80044e+001 0c-6.99218e+000,34.9963 -1.80001e+001,60.0005 -3.19963e+001,76.0045 -1.39962e+001,15.9923 -3.19963e+001,24.0002 -5.40004e+001,24.0002l-1.99608e+000 0 0 -5.43004e+002c0,-2.40002e+001 3.99216,-4.09964e+001 12.0001,-5.10004e+001 7.99613,-9.00007e+000 21.9923,-1.50001e+001 42.0003,-1.69962e+001l0 -4.90043e+001 -2.73002e+002 0z"/>
</font>
<style type="text/css">
<![CDATA[
@font-face { font-family:"Aldine721 BdCn BT";font-variant:normal;font-weight:normal;src:url("#FontID0") format(svg)}
.fil1 {fill:#22225D}
.fil0 {fill:#22225D;fill-rule:nonzero}
.fnt0 {font-weight:normal;font-size:185.51px;font-family:'Aldine721 BdCn BT'}
]]>
</style>
</defs>
<g id="Слой_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<path class="fil0" d="M94.46 48.98c-0.33,-0.33 -0.43,-3.07 -0.43,-10.09 0,-8.32 0.07,-9.76 0.58,-10.23 0.72,-0.73 1.37,-0.73 2.1,0 0.51,0.47 0.58,1.92 0.58,10.09 0,5.24 -0.11,9.76 -0.22,10.09 -0.25,0.69 -1.99,0.76 -2.6,0.14l0 0zm-94.09 -0.25c-0.22,-0.43 -0.36,-4.23 -0.36,-9.8 0,-5.57 0.14,-9.37 0.36,-9.8 0.43,-0.76 1.81,-0.9 2.46,-0.25 0.33,0.33 0.44,3.04 0.44,9.91 0,5.21 -0.11,9.73 -0.22,10.05 -0.33,0.83 -2.21,0.76 -2.68,-0.11zm75.25 16.46c-1.16,-1.38 -0.47,-1.99 8.25,-7.38l8.42 -5.21 2.13 0.47c1.19,0.25 2.13,0.58 2.13,0.69 -0.04,0.33 -18.91,11.68 -19.71,11.86 -0.43,0.07 -0.98,-0.11 -1.23,-0.43zm-69.58 18.95c-1.12,-1.08 -1.16,-1.08 -0.43,-1.66 2.1,-1.59 19.42,-11.03 20.11,-10.92 1.09,0.14 1.7,1.19 1.19,2.03 -0.36,0.58 -4.38,2.96 -15.44,9.22l-4.23 2.39 -1.19 -1.05 0 0zm86.72 26.65c-0.11,-0.25 -0.14,-5.39 -0.11,-11.46l0.11 -11.03 1.08 -0.11c1.92,-0.22 1.99,0.11 1.99,11.68 0,7.7 -0.11,10.63 -0.43,10.96 -0.58,0.58 -2.42,0.54 -2.64,-0.04zm-89.25 0.22c-0.33,-0.29 -0.33,-22.27 -0.04,-23.04 0.25,-0.65 1.48,-0.76 2.31,-0.22 0.47,0.29 0.54,2.02 0.65,11.17 0.07,7.27 -0.04,11.1 -0.29,11.61 -0.36,0.69 -2.1,1.01 -2.64,0.47l0 0zm28.68 19.24c-6.26,-4.7 -11.75,-8.9 -12.19,-9.33 -0.83,-0.72 -0.83,-0.76 -0.83,-13.13 0,-12.19 0,-12.44 0.76,-13.13 0.43,-0.4 3.47,-2.2 6.8,-4.05 3.29,-1.81 6.91,-3.83 7.99,-4.48 1.08,-0.65 3.83,-2.17 6.08,-3.44 2.2,-1.23 4.05,-2.39 4.05,-2.53 0,-0.14 -2.06,-1.45 -4.59,-2.89 -2.57,-1.45 -5.35,-3.07 -6.26,-3.62 -0.9,-0.54 -5.93,-3.47 -11.21,-6.51 -17.21,-9.95 -20.07,-11.64 -20.58,-12.11 -0.43,-0.43 -0.22,-0.65 1.48,-1.48l1.99 -0.98 4.3 2.53c2.35,1.37 5.68,3.29 7.38,4.27 1.7,0.98 5.24,3.04 7.85,4.59 2.64,1.56 5.06,2.82 5.39,2.82 0.44,0 13.85,-7.2 14.58,-7.85 0.11,-0.07 -0.07,-0.36 -0.36,-0.61 -0.4,-0.43 -16.13,-9.55 -22.02,-12.8 -3.15,-1.77 -2.89,-0.4 -2.89,-14.9l0 -12.87 3.15 -2.31c16.35,-11.97 20.9,-15.19 21.48,-15.19 0.83,0 2.13,1.23 2.13,2.02 0,0.83 -1.63,2.24 -7.56,6.51 -2.89,2.1 -7.48,5.39 -10.16,7.34l-4.88 3.58 0 10.89 0 10.92 5.43 3.18c13.89,8.14 19.6,11.32 20.25,11.35 0.51,0.04 24.99,-13.13 26.15,-14.03 0.04,-0.04 0.18,-5.03 0.29,-11.07l0.18 -10.99 -4.27 -3.07c-6.94,-4.99 -16.85,-12.33 -17.9,-13.31 -1.23,-1.12 -1.27,-1.56 -0.14,-2.86 1.12,-1.3 1.16,-1.27 8.72,4.3 6.72,4.99 9.91,7.31 13.99,10.23 4.34,3.07 4.05,1.84 3.72,16.02 -0.14,6.69 -0.4,12.44 -0.58,12.77 -0.25,0.51 -4.16,2.75 -22.64,12.91 -1.66,0.9 -3,1.74 -3,1.84 0,0.21 12.69,7.63 13.81,8.06 0.4,0.18 0.98,0.14 1.34,-0.04 0.94,-0.51 4.01,1.48 3.76,2.42 -0.14,0.58 0.43,1.01 3.04,2.42 1.74,0.94 4.3,2.42 5.71,3.25 1.37,0.83 4.77,2.78 7.52,4.34 2.75,1.56 4.92,2.96 4.88,3.15 -0.07,0.18 -0.9,0.76 -1.88,1.3 -1.63,0.9 -1.77,0.9 -2.68,0.4 -3.87,-2.24 -15.66,-9.04 -18.23,-10.52l-3.15 -1.81 -3.18 1.81c-1.74,0.98 -4.81,2.71 -6.8,3.8 -1.99,1.12 -3.91,2.24 -4.3,2.49 -0.62,0.47 0.29,1.05 9.95,6.62 15.01,8.6 14.57,8.32 14.86,10.49 0.11,1.01 0.25,6.73 0.25,12.69l0.04 10.92 -1.7 1.3c-2.31,1.7 -15.3,11.17 -19.71,14.36 -3.8,2.71 -5.35,3.15 -6.07,1.74 -0.8,-1.45 -0.25,-2.21 3.62,-5.03 16.2,-11.82 19.38,-14.21 19.6,-14.79 0.4,-1.08 -0.14,-20.25 -0.58,-20.79 -0.22,-0.29 -2.35,-1.66 -4.74,-3 -2.39,-1.37 -7.88,-4.59 -12.22,-7.13 -4.92,-2.89 -8.1,-4.52 -8.46,-4.41 -0.33,0.14 -3.11,1.66 -6.22,3.44 -3.11,1.74 -8.79,4.92 -12.58,7.05l-6.98 3.9 0 10.6c0,10.02 0.04,10.6 0.69,11.07 4.95,3.55 22.2,16.82 22.46,17.29 0.51,1.01 -0.36,2.35 -1.66,2.5 -0.9,0.11 -2.71,-1.12 -12.44,-8.42l0 0zm25.31 -56.92c2.5,-1.37 5.03,-2.78 5.61,-3.11l1.08 -0.62 -0.9 -0.72c-1.34,-1.05 -12.95,-7.52 -13.52,-7.52 -0.65,0 -14.61,7.7 -14.68,8.07 0,0.18 3.18,2.17 7.12,4.41l7.16 4.09 1.81 -1.01c1.01,-0.58 3.83,-2.17 6.33,-3.58l-0 0z"/>
<text x="126.29" y="136.25" class="fil1 fnt0">ANTHILL</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

19
public/anthill2.svg Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW 2021.5 -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="15.5172mm" height="22.1344mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 259.67 370.41"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
<defs>
<style type="text/css">
<![CDATA[
.fil0 {fill:#22225D;fill-rule:nonzero}
]]>
</style>
</defs>
<g id="Слой_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<path class="fil0" d="M252.14 130.74c-0.87,-0.87 -1.16,-8.2 -1.16,-26.93 0,-22.2 0.19,-26.06 1.54,-27.32 1.93,-1.93 3.67,-1.93 5.6,0 1.35,1.26 1.54,5.12 1.54,26.93 0,14 -0.29,26.07 -0.58,26.93 -0.67,1.84 -5.31,2.03 -6.95,0.39l0 0zm-251.18 -0.68c-0.58,-1.16 -0.97,-11.29 -0.97,-26.16 0,-14.87 0.39,-25 0.97,-26.16 1.16,-2.03 4.83,-2.41 6.56,-0.68 0.87,0.87 1.16,8.11 1.16,26.45 0,13.9 -0.29,25.97 -0.58,26.84 -0.87,2.22 -5.89,2.03 -7.14,-0.29zm200.88 43.92c-3.09,-3.67 -1.25,-5.31 22.01,-19.69l22.49 -13.9 5.69 1.26c3.19,0.68 5.7,1.54 5.7,1.84 -0.1,0.87 -50.49,31.18 -52.61,31.66 -1.16,0.19 -2.61,-0.29 -3.28,-1.16zm-185.73 50.58c-2.99,-2.9 -3.09,-2.9 -1.16,-4.44 5.6,-4.25 51.84,-29.44 53.67,-29.15 2.9,0.38 4.54,3.19 3.18,5.41 -0.97,1.54 -11.68,7.92 -41.22,24.61l-11.29 6.37 -3.19 -2.8 0 0zm231.48 71.14c-0.29,-0.67 -0.38,-14.38 -0.29,-30.6l0.29 -29.44 2.9 -0.29c5.12,-0.58 5.31,0.29 5.31,31.18 0,20.56 -0.29,28.38 -1.16,29.25 -1.54,1.54 -6.47,1.45 -7.05,-0.1zm-238.24 0.58c-0.87,-0.77 -0.87,-59.46 -0.1,-61.49 0.67,-1.74 3.96,-2.03 6.18,-0.58 1.26,0.77 1.45,5.41 1.74,29.83 0.19,19.4 -0.1,29.64 -0.77,30.99 -0.97,1.83 -5.6,2.7 -7.05,1.26l0 0zm76.55 51.35c-16.7,-12.55 -31.37,-23.75 -32.53,-24.91 -2.22,-1.93 -2.22,-2.03 -2.22,-35.04 0,-32.53 0,-33.21 2.03,-35.04 1.16,-1.06 9.27,-5.89 18.15,-10.81 8.79,-4.83 18.44,-10.23 21.33,-11.97 2.9,-1.74 10.23,-5.79 16.22,-9.17 5.89,-3.28 10.81,-6.37 10.81,-6.76 0,-0.38 -5.5,-3.86 -12.26,-7.72 -6.85,-3.86 -14.29,-8.21 -16.7,-9.65 -2.41,-1.45 -15.83,-9.27 -29.92,-17.38 -45.95,-26.55 -53.58,-31.08 -54.93,-32.34 -1.16,-1.16 -0.58,-1.74 3.96,-3.96l5.31 -2.61 11.49 6.76c6.28,3.67 15.16,8.78 19.69,11.39 4.54,2.61 14,8.11 20.95,12.26 7.05,4.15 13.51,7.53 14.38,7.53 1.16,0 36.97,-19.21 38.9,-20.95 0.29,-0.19 -0.19,-0.97 -0.97,-1.64 -1.06,-1.16 -43.05,-25.48 -58.79,-34.17 -8.4,-4.73 -7.72,-1.06 -7.72,-39.77l0 -34.36 8.4 -6.18c43.63,-31.95 55.8,-40.54 57.34,-40.54 2.22,0 5.69,3.28 5.69,5.41 0,2.22 -4.34,5.99 -20.18,17.38 -7.72,5.6 -19.98,14.38 -27.12,19.6l-13.03 9.56 0 29.06 0 29.15 14.48 8.49c37.07,21.72 52.32,30.21 54.06,30.31 1.35,0.1 66.7,-35.04 69.79,-37.45 0.1,-0.1 0.48,-13.42 0.77,-29.54l0.48 -29.35 -11.39 -8.2c-18.54,-13.32 -44.98,-32.92 -47.78,-35.52 -3.28,-2.99 -3.38,-4.15 -0.39,-7.63 2.99,-3.48 3.09,-3.38 23.26,11.49 17.96,13.32 26.45,19.5 37.36,27.32 11.58,8.21 10.81,4.92 9.94,42.76 -0.39,17.86 -1.06,33.21 -1.55,34.08 -0.67,1.35 -11.1,7.33 -60.43,34.46 -4.44,2.41 -8.01,4.63 -8.01,4.92 0,0.58 33.88,20.37 36.87,21.53 1.06,0.48 2.61,0.39 3.57,-0.1 2.51,-1.35 10.72,3.96 10.04,6.47 -0.39,1.54 1.16,2.7 8.11,6.47 4.64,2.51 11.49,6.47 15.25,8.69 3.67,2.22 12.74,7.43 20.08,11.58 7.33,4.15 13.13,7.92 13.03,8.4 -0.19,0.48 -2.41,2.03 -5.02,3.48 -4.34,2.41 -4.73,2.41 -7.14,1.06 -10.33,-5.99 -41.8,-24.13 -48.65,-28.09l-8.4 -4.83 -8.5 4.83c-4.63,2.61 -12.84,7.24 -18.15,10.13 -5.31,2.99 -10.43,5.99 -11.49,6.66 -1.64,1.26 0.77,2.8 26.55,17.66 40.06,22.97 38.9,22.2 39.67,28 0.29,2.7 0.68,17.95 0.68,33.88l0.1 29.15 -4.54 3.48c-6.18,4.54 -40.83,29.83 -52.61,38.32 -10.13,7.24 -14.29,8.4 -16.22,4.63 -2.12,-3.86 -0.67,-5.89 9.65,-13.42 43.25,-31.57 51.74,-37.94 52.32,-39.48 1.06,-2.9 -0.39,-54.06 -1.54,-55.5 -0.58,-0.77 -6.28,-4.44 -12.65,-8.01 -6.37,-3.67 -21.04,-12.26 -32.63,-19.02 -13.13,-7.72 -21.62,-12.07 -22.59,-11.78 -0.87,0.39 -8.3,4.44 -16.6,9.17 -8.3,4.63 -23.46,13.13 -33.59,18.82l-18.63 10.43 0 28.28c0,26.74 0.1,28.28 1.84,29.54 13.23,9.46 59.27,44.89 59.94,46.14 1.35,2.7 -0.96,6.28 -4.44,6.66 -2.41,0.29 -7.24,-2.99 -33.21,-22.49l0 0zm67.57 -151.94c6.66,-3.67 13.42,-7.43 14.96,-8.3l2.9 -1.64 -2.41 -1.93c-3.57,-2.8 -34.56,-20.08 -36.1,-20.08 -1.74,0 -39,20.56 -39.19,21.53 0,0.48 8.49,5.79 19.02,11.78l19.11 10.91 4.83 -2.7c2.7,-1.55 10.23,-5.79 16.89,-9.56l-0 0z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -2,14 +2,17 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/logo_white.svg" /> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap" rel="stylesheet">
<link rel="icon" href="%PUBLIC_URL%/anthill2.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" /> <meta name="theme-color" content="#000000" />
<meta <meta
name="Anthill" name="Anthill"
content="Anhill company website" content="Anhill company website"
/> />
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo_white.svg" /> <link rel="apple-touch-icon" href="%PUBLIC_URL%/anthill2.svg" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title>Anthill</title> <title>Anthill</title>
</head> </head>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -17,6 +17,8 @@
} }
} }
.App-header { .App-header {
background-color: #282c34; background-color: #282c34;
min-height: 100vh; min-height: 100vh;

38
src/assets/Anthill.svg Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW 2021.5 -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="35.3377mm" height="6.333mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 774.28 138.76"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
<defs>
<font id="FontID0" horiz-adv-x="522" font-variant="normal" style="fill-rule:nonzero" font-weight="400">
<font-face
font-family="Aldine721 BdCn BT">
<font-face-src>
<font-face-name name="Aldine721 BdCn BT Bold"/>
</font-face-src>
</font-face>
<missing-glyph><path d="M0 0z"/></missing-glyph>
<glyph unicode="A" horiz-adv-x="522" d="M154.005 324.003l110.989 0 -5.89965e+001 234.002 -5.19925e+001 -2.34002e+002zm-1.54005e+002 -3.24003e+002l0 49.0043c25.0041,3.99216 46.0043,40.9964 61.9966,109.997 1.00394,4.9961 1.00394,7.99613 2.00789,10.9961l114.001 493.008 -1.3004e+001 51.9925 156.001 0 135.993 -5.54e+002c1.00394,-4.9961e+000 3.00002,-1.20001e+001 5.00791,-2.19923e+001 15.0001,-5.90083e+001 34.9963,-8.90086e+001 60.9926,-9.00007e+001l0 -4.90043e+001 -2.58994e+002 0 0 49.0043c15.0001,1.99608 27.0002,7.99613 34.9963,18.9923 7.00399,11.008 10.9961,26.0081 10.9961,46.0043 0,7.00399 -9.92134e-001,15.0001 -1.99608e+000,24.0002 -1.00394e+000,9.00007 -1.99608e+000,19.0041 -4.9961e+000,31.0042l-2.20041e+001 92.9889 -1.42997e+002 0 -2.20041e+001 -9.39929e+001c-9.92134e-001,-7.00399e+000 -3.00002e+000,-1.50001e+001 -3.99216e+000,-2.29962e+001 -1.00394e+000,-9.00007e+000 -1.00394e+000,-1.7008e+001 -1.00394e+000,-2.50041e+001 0,-2.10002e+001 4.00397,-3.79964e+001 13.004,-4.90043e+001 9.00007,-1.20001e+001 21.9923,-1.99962e+001 39.0003,-2.19923e+001l0 -4.90043e+001 -1.63005e+002 0z"/>
<glyph unicode="H" horiz-adv-x="624" d="M27.0002 0l0 49.0043c21.0002,0.992134 36.0003,6.00005 43.0043,13.9962 6.99218,7.99613 10.9961,25.9963 10.9961,52.9965l0 484.008c0,27.0002 -4.00397e+000,45.0004 -1.09961e+001,52.9965 -7.00399e+000,7.99613 -2.20041e+001,13.004 -4.30043e+001,13.9962l0 48.0004 265.998 0 0 -4.80004e+001c-1.80001e+001,-3.00002e+000 -3.00002e+001,-9.00007e+000 -3.70042e+001,-1.80001e+001 -6.99218e+000,-9.9922e+000 -1.09961e+001,-2.59963e+001 -1.09961e+001,-4.89925e+001l0 -2.04002e+002 136.005 0 0 204.002c0,22.9962 -4.00397e+000,39.0003 -1.1008e+001,48.9925 -6.99218e+000,9.00007 -1.89923e+001,15.0001 -3.69924e+001,18.0001l0 48.0004 267.002 0 0 -4.80004e+001c-2.20041e+001,-1.99608e+000 -3.70042e+001,-6.99218e+000 -4.40082e+001,-1.50001e+001 -6.99218e+000,-7.99613e+000 -1.09961e+001,-2.49923e+001 -1.09961e+001,-5.19925e+001l0 -4.84008e+002c0,-1.59923e+001 1.00394,-2.79923e+001 1.99608,-3.39924e+001 1.00394,-7.00399e+000 3.00002,-1.20001e+001 6.00005,-1.60041e+001 4.00397,-4.9961e+000 10.004,-9.00007e+000 17.008,-1.20001e+001 7.99613,-3.00002e+000 18.0001,-4.9961e+000 30.0002,-4.9961e+000l0 -4.90043e+001 -2.67002e+002 0 0 49.0043c18.0001,3.00002 30.9924,9.00007 37.9964,18.0001 6.00005,9.00007 10.004,25.9963 10.004,48.9925l0 220.006 -1.36005e+002 0 0 -2.20006e+002c0,-2.29962e+001 4.00397,-3.99924e+001 10.004,-4.89925e+001 6.99218,-9.00007e+000 19.9962,-1.50001e+001 37.9964,-1.80001e+001l0 -4.90043e+001 -2.65998e+002 0z"/>
<glyph unicode="I" horiz-adv-x="326" d="M27.0002 0l0 49.0043c19.9962,1.99608 34.9963,7.99613 42.0003,16.9962 7.99613,10.004 12.0001,25.9963 12.0001,49.9965l0 484.008c0,27.0002 -4.00397e+000,45.0004 -1.09961e+001,52.9965 -7.00399e+000,7.99613 -2.20041e+001,13.004 -4.30043e+001,13.9962l0 48.0004 273.002 0 0 -4.80004e+001c-2.20041e+001,-1.99608e+000 -3.70042e+001,-6.99218e+000 -4.40082e+001,-1.50001e+001 -6.99218e+000,-7.99613e+000 -1.09961e+001,-2.49923e+001 -1.09961e+001,-5.19925e+001l0 -4.84008e+002c0,-2.40002e+001 4.00397,-3.99924e+001 12.0001,-4.99965e+001 7.99613,-9.00007e+000 22.0041,-1.50001e+001 43.0043,-1.69962e+001l0 -4.90043e+001 -2.73002e+002 0z"/>
<glyph unicode="L" horiz-adv-x="483" d="M27.0002 0l0 49.0043c19.9962,1.99608 34.9963,7.99613 42.0003,16.9962 7.99613,10.004 12.0001,25.9963 12.0001,49.9965l0 484.008c0,27.0002 -4.00397e+000,45.0004 -1.09961e+001,52.9965 -7.00399e+000,7.99613 -2.20041e+001,13.004 -4.30043e+001,13.9962l0 48.0004 273.002 0 0 -4.80004e+001c-2.20041e+001,-1.99608e+000 -3.70042e+001,-6.99218e+000 -4.40082e+001,-1.50001e+001 -6.99218e+000,-7.99613e+000 -1.09961e+001,-2.49923e+001 -1.09961e+001,-5.19925e+001l0 -4.79e+002c0,-2.30081e+001 3.00002,-4.00043e+001 10.004,-5.00083e+001 6.00005,-1.09961e+001 15.9923,-1.59923e+001 30.9924,-1.59923e+001 20.008,0 39.0003,10.9961 58.0044,33.9924 19.0041,23.0081 37.9964,57.0004 55.9965,104.009l70.0045 0 -2.29962e+001 -1.93005e+002 -4.20003e+002 0z"/>
<glyph unicode="N" horiz-adv-x="582" d="M28.0042 0l0 49.0043c22.9962,1.99608 37.9964,9.00007 45.9925,21.9923 9.00007,12.0001 13.004,39.0003 13.004,80.0085l0 419.991c0,29.0081 -4.9961e+000,51.0004 -1.39962e+001,65.0084 -8.00794e+000,15.0001 -2.40002e+001,24.9923 -4.50004e+001,30.9924l0 48.0004 180.001 0 231.994 -3.88999e+002 0 244.998c0,35.0081 -4.9961e+000,59.0083 -1.50001e+001,72.0006 -1.0004e+001,13.004 -2.89963e+001,21.0002 -5.59965e+001,24.0002l0 48.0004 184.998 0 0 -4.89925e+001c-2.29962e+001,-2.00789e+000 -3.79964e+001,-9.00007e+000 -4.60043e+001,-2.20041e+001 -9.00007e+000,-1.3004e+001 -1.29922e+001,-4.00043e+001 -1.29922e+001,-8.10006e+001l0 -5.63e+002 -4.80004e+001 0 -3.04998e+002 519.004 0 -3.75003e+002c0,-3.19963e+001 6.00005,-5.59965e+001 16.9962,-7.09966e+001 10.9961,-1.50001e+001 28.9963,-2.30081e+001 55.0044,-2.50041e+001l0 -4.80004e+001 -1.86001e+002 0z"/>
<glyph unicode="T" horiz-adv-x="483" d="M105.001 0l0 49.0043c19.9962,1.99608 34.9963,7.99613 43.0043,18.0001 7.99613,9.9922 12.0001,25.9963 12.0001,49.9965l0 543.004c-2.30081e+001,0 -4.20003e+001,-8.00794e+000 -5.60083e+001,-2.40002e+001 -1.39962e+001,-1.60041e+001 -2.49923e+001,-4.10082e+001 -3.19963e+001,-7.60045e+001l-5.80044e+001 0 0 154.997 456.004 0 0 -1.54997e+002 -5.80044e+001 0c-6.99218e+000,34.9963 -1.80001e+001,60.0005 -3.19963e+001,76.0045 -1.39962e+001,15.9923 -3.19963e+001,24.0002 -5.40004e+001,24.0002l-1.99608e+000 0 0 -5.43004e+002c0,-2.40002e+001 3.99216,-4.09964e+001 12.0001,-5.10004e+001 7.99613,-9.00007e+000 21.9923,-1.50001e+001 42.0003,-1.69962e+001l0 -4.90043e+001 -2.73002e+002 0z"/>
</font>
<style type="text/css">
<![CDATA[
@font-face { font-family:"Aldine721 BdCn BT";font-variant:normal;font-weight:normal;src:url("#FontID0") format(svg)}
.fil1 {fill:#22225D}
.fil0 {fill:#22225D;fill-rule:nonzero}
.fnt0 {font-weight:normal;font-size:185.51px;font-family:'Aldine721 BdCn BT'}
]]>
</style>
</defs>
<g id="Слой_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<path class="fil0" d="M94.46 48.98c-0.33,-0.33 -0.43,-3.07 -0.43,-10.09 0,-8.32 0.07,-9.76 0.58,-10.23 0.72,-0.73 1.37,-0.73 2.1,0 0.51,0.47 0.58,1.92 0.58,10.09 0,5.24 -0.11,9.76 -0.22,10.09 -0.25,0.69 -1.99,0.76 -2.6,0.14l0 0zm-94.09 -0.25c-0.22,-0.43 -0.36,-4.23 -0.36,-9.8 0,-5.57 0.14,-9.37 0.36,-9.8 0.43,-0.76 1.81,-0.9 2.46,-0.25 0.33,0.33 0.44,3.04 0.44,9.91 0,5.21 -0.11,9.73 -0.22,10.05 -0.33,0.83 -2.21,0.76 -2.68,-0.11zm75.25 16.46c-1.16,-1.38 -0.47,-1.99 8.25,-7.38l8.42 -5.21 2.13 0.47c1.19,0.25 2.13,0.58 2.13,0.69 -0.04,0.33 -18.91,11.68 -19.71,11.86 -0.43,0.07 -0.98,-0.11 -1.23,-0.43zm-69.58 18.95c-1.12,-1.08 -1.16,-1.08 -0.43,-1.66 2.1,-1.59 19.42,-11.03 20.11,-10.92 1.09,0.14 1.7,1.19 1.19,2.03 -0.36,0.58 -4.38,2.96 -15.44,9.22l-4.23 2.39 -1.19 -1.05 0 0zm86.72 26.65c-0.11,-0.25 -0.14,-5.39 -0.11,-11.46l0.11 -11.03 1.08 -0.11c1.92,-0.22 1.99,0.11 1.99,11.68 0,7.7 -0.11,10.63 -0.43,10.96 -0.58,0.58 -2.42,0.54 -2.64,-0.04zm-89.25 0.22c-0.33,-0.29 -0.33,-22.27 -0.04,-23.04 0.25,-0.65 1.48,-0.76 2.31,-0.22 0.47,0.29 0.54,2.02 0.65,11.17 0.07,7.27 -0.04,11.1 -0.29,11.61 -0.36,0.69 -2.1,1.01 -2.64,0.47l0 0zm28.68 19.24c-6.26,-4.7 -11.75,-8.9 -12.19,-9.33 -0.83,-0.72 -0.83,-0.76 -0.83,-13.13 0,-12.19 0,-12.44 0.76,-13.13 0.43,-0.4 3.47,-2.2 6.8,-4.05 3.29,-1.81 6.91,-3.83 7.99,-4.48 1.08,-0.65 3.83,-2.17 6.08,-3.44 2.2,-1.23 4.05,-2.39 4.05,-2.53 0,-0.14 -2.06,-1.45 -4.59,-2.89 -2.57,-1.45 -5.35,-3.07 -6.26,-3.62 -0.9,-0.54 -5.93,-3.47 -11.21,-6.51 -17.21,-9.95 -20.07,-11.64 -20.58,-12.11 -0.43,-0.43 -0.22,-0.65 1.48,-1.48l1.99 -0.98 4.3 2.53c2.35,1.37 5.68,3.29 7.38,4.27 1.7,0.98 5.24,3.04 7.85,4.59 2.64,1.56 5.06,2.82 5.39,2.82 0.44,0 13.85,-7.2 14.58,-7.85 0.11,-0.07 -0.07,-0.36 -0.36,-0.61 -0.4,-0.43 -16.13,-9.55 -22.02,-12.8 -3.15,-1.77 -2.89,-0.4 -2.89,-14.9l0 -12.87 3.15 -2.31c16.35,-11.97 20.9,-15.19 21.48,-15.19 0.83,0 2.13,1.23 2.13,2.02 0,0.83 -1.63,2.24 -7.56,6.51 -2.89,2.1 -7.48,5.39 -10.16,7.34l-4.88 3.58 0 10.89 0 10.92 5.43 3.18c13.89,8.14 19.6,11.32 20.25,11.35 0.51,0.04 24.99,-13.13 26.15,-14.03 0.04,-0.04 0.18,-5.03 0.29,-11.07l0.18 -10.99 -4.27 -3.07c-6.94,-4.99 -16.85,-12.33 -17.9,-13.31 -1.23,-1.12 -1.27,-1.56 -0.14,-2.86 1.12,-1.3 1.16,-1.27 8.72,4.3 6.72,4.99 9.91,7.31 13.99,10.23 4.34,3.07 4.05,1.84 3.72,16.02 -0.14,6.69 -0.4,12.44 -0.58,12.77 -0.25,0.51 -4.16,2.75 -22.64,12.91 -1.66,0.9 -3,1.74 -3,1.84 0,0.21 12.69,7.63 13.81,8.06 0.4,0.18 0.98,0.14 1.34,-0.04 0.94,-0.51 4.01,1.48 3.76,2.42 -0.14,0.58 0.43,1.01 3.04,2.42 1.74,0.94 4.3,2.42 5.71,3.25 1.37,0.83 4.77,2.78 7.52,4.34 2.75,1.56 4.92,2.96 4.88,3.15 -0.07,0.18 -0.9,0.76 -1.88,1.3 -1.63,0.9 -1.77,0.9 -2.68,0.4 -3.87,-2.24 -15.66,-9.04 -18.23,-10.52l-3.15 -1.81 -3.18 1.81c-1.74,0.98 -4.81,2.71 -6.8,3.8 -1.99,1.12 -3.91,2.24 -4.3,2.49 -0.62,0.47 0.29,1.05 9.95,6.62 15.01,8.6 14.57,8.32 14.86,10.49 0.11,1.01 0.25,6.73 0.25,12.69l0.04 10.92 -1.7 1.3c-2.31,1.7 -15.3,11.17 -19.71,14.36 -3.8,2.71 -5.35,3.15 -6.07,1.74 -0.8,-1.45 -0.25,-2.21 3.62,-5.03 16.2,-11.82 19.38,-14.21 19.6,-14.79 0.4,-1.08 -0.14,-20.25 -0.58,-20.79 -0.22,-0.29 -2.35,-1.66 -4.74,-3 -2.39,-1.37 -7.88,-4.59 -12.22,-7.13 -4.92,-2.89 -8.1,-4.52 -8.46,-4.41 -0.33,0.14 -3.11,1.66 -6.22,3.44 -3.11,1.74 -8.79,4.92 -12.58,7.05l-6.98 3.9 0 10.6c0,10.02 0.04,10.6 0.69,11.07 4.95,3.55 22.2,16.82 22.46,17.29 0.51,1.01 -0.36,2.35 -1.66,2.5 -0.9,0.11 -2.71,-1.12 -12.44,-8.42l0 0zm25.31 -56.92c2.5,-1.37 5.03,-2.78 5.61,-3.11l1.08 -0.62 -0.9 -0.72c-1.34,-1.05 -12.95,-7.52 -13.52,-7.52 -0.65,0 -14.61,7.7 -14.68,8.07 0,0.18 3.18,2.17 7.12,4.41l7.16 4.09 1.81 -1.01c1.01,-0.58 3.83,-2.17 6.33,-3.58l-0 0z"/>
<text x="126.29" y="136.25" class="fil1 fnt0">ANTHILL</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/anthill.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
src/assets/images/firms.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
src/assets/images/fura.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
src/assets/images/mine1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

BIN
src/assets/images/nasos.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,141 @@
// import React, { useState } from 'react';
// import truck from '../assets/images/truckdelivery_obrez.jpg'
// import caterpillar from '../assets/images/company/caterpilar.png'
// import komatsu from '../assets/images/company/komatsu.png'
// import cummins from '../assets/images/company/cummins.png'
// import hitachi from '../assets/images/company/hitachi.png'
// import liebherr from '../assets/images/company/liebherr.png'
// import shantui from '../assets/images/company/shantui.png'
// import shacman from '../assets/images/company/shacman.png'
// import shaanxi from '../assets/images/company/shaanxi.png'
// import howo from '../assets/images/company/howo.png'
// import volvo from '../assets/images/company/volvo.png'
// import john_deree from '../assets/images/company/john_deere.png'
// import atlas_copco from '../assets/images/company/atlas_copso.png'
// import epiroc from '../assets/images/company/epiroc.png'
// const Brandslogo = () => {
// const tiles = [
// {
// image: caterpillar,
// title: 'Caterpillar'
// },
// {
// image: komatsu,
// title: 'Komatsu'
// },
// {
// image: cummins,
// title: 'Cummins'
// },
// {
// image: hitachi,
// title: 'Hitachi'
// },
// {
// image: liebherr,
// title: 'Liebherr'
// },
// {
// image: shantui,
// title: 'Shantui'
// },
// {
// image: shacman,
// title: 'Shacman'
// },
// {
// image: howo,
// title: 'Howo'
// },
// {
// image: volvo,
// title: 'Volvo'
// },
// {
// image: shaanxi,
// title: 'Shaanxi'
// },
// {
// image: john_deree,
// title: 'John Deere'
// },
// {
// image: atlas_copco,
// title: 'Atlas Copco'
// },
// {
// image: epiroc,
// title: 'Epiroc'
// },
// ];
// return (
// );
// };
'use client'
import React, { useRef, useEffect, useState } from 'react'
// Импорты изображений
import caterpillar from '../assets/images/company/caterpilar.png'
import komatsu from '../assets/images/company/komatsu.png'
import cummins from '../assets/images/company/cummins.png'
import hitachi from '../assets/images/company/hitachi.png'
import liebherr from '../assets/images/company/liebherr.png'
import shantui from '../assets/images/company/shantui.png'
import shacman from '../assets/images/company/shacman.png'
import shaanxi from '../assets/images/company/shaanxi.png'
import howo from '../assets/images/company/howo.png'
import volvo from '../assets/images/company/volvo.png'
import john_deree from '../assets/images/company/john_deere.png'
import atlas_copco from '../assets/images/company/atlas_copso.png'
import epiroc from '../assets/images/company/epiroc.png'
const tiles = [
{ image: caterpillar, title: 'Caterpillar' },
{ image: komatsu, title: 'Komatsu' },
{ image: cummins, title: 'Cummins' },
{ image: hitachi, title: 'Hitachi' },
{ image: liebherr, title: 'Liebherr' },
{ image: shantui, title: 'Shantui' },
{ image: shacman, title: 'Shacman' },
{ image: howo, title: 'Howo' },
{ image: volvo, title: 'Volvo' },
{ image: shaanxi, title: 'Shaanxi' },
{ image: john_deree, title: 'John Deere' },
{ image: atlas_copco, title: 'Atlas Copco' },
{ image: epiroc, title: 'Epiroc' }
]
export default function Brandslogo() {
const [isPaused, setIsPaused] = useState(false)
const duplicatedTiles = [...tiles, ...tiles]
return (
<div className="scroller relative m-auto overflow-hidden bg-white [mask-image:linear-gradient(to_right,transparent,white_20%,white_80%,transparent)]">
<div
className="flex w-max items-center"
style={{
animation: 'scroll 60s linear infinite',
animationPlayState: isPaused ? 'paused' : 'running'
}}
onMouseEnter={() => setIsPaused(true)}
onMouseLeave={() => setIsPaused(false)}
>
{duplicatedTiles.map((tile, index) => (
<div
key={`brand-${index}`}
className="flex w-[200px] max-w-full items-center justify-center px-6 py-4 mx-2"
>
<img
src={tile.image}
alt={tile.title}
className="h-auto max-h-[100px] w-auto max-w-[150px] object-contain"
/>
</div>
))}
</div>
</div>
)
}

144
src/components/Features.js Normal file
View File

@ -0,0 +1,144 @@
import React from 'react';
import { ShopOutlined, AppstoreOutlined, GlobalOutlined } from '@ant-design/icons';
import manufacture from '../assets/images/wanlandfutures.jpg';
import boxes from '../assets/images/firms.jpg';
import delivery from '../assets/images/fura.jpg';
const FeaturesVertical = () => {
const features = [
{
icon: <ShopOutlined className="text-2xl text-[#0070BB]" />,
title: 'Официальный диллер ©Wanlanda',
description: 'Первый официальный сертифицированный дилер завода-производителя фильтрующих элементов ©WANLANDA на территории Сибирского Федерального округа',
image: manufacture
},
{
icon: <AppstoreOutlined className="text-2xl text-[#0070BB]" />,
title: 'Широкий ассортимент',
description: 'Широкий выбор запчастей и комплектующих для различных марок спецтехники: Caterpillar, Atlas Copco, Liebherr, Komatsu и другие',
image: boxes
},
{
icon: <GlobalOutlined className="text-2xl text-[#0070BB]" />,
title: 'Логистика',
description: 'Отлаженные логистические цепочки и партнерство с надежными транспортными компаниями гарантируют своевременную доставку в любую точку России.',
image: delivery
}
];
return (
<div className="w-full bg-white">
{features.map((feature, index) => (
<div
key={index}
className={`
flex flex-col md:flex-row items-center
${index % 2 === 0 ? 'md:flex-row' : 'md:flex-row-reverse'}
py-16 px-4 md:px-8
${index !== features.length - 1 ? 'border-b border-white' : ''}
`}
>
{/* Контент слева */}
<div className="w-full md:w-1/2 px-4 md:px-8 mb-8 md:mb-0">
<div className="flex flex-col items-center md:items-start text-center md:text-left">
<div className="flex items-center mb-4">
{/* <div className="mr-3 transform hover:scale-110 transition-transform duration-300">
{feature.icon}
</div> */}
<h2 className="text-3xl font-bold text-gray-900">
{feature.title}
</h2>
</div>
<p className="text-xl text-gray-600 leading-relaxed">
{feature.description}
</p>
</div>
</div>
{/* Изображение справа */}
<div className="w-full md:w-1/2 px-4 md:px-8">
<div className="relative overflow-hidden rounded-lg">
<img
src={feature.image}
alt={feature.title}
className="w-full h-auto transform hover:scale-105 transition-transform duration-500"
/>
</div>
</div>
</div>
))}
</div>
);
};
export default FeaturesVertical;
// const FeaturesVertical = () => {
// const features = [
// {
// icon: <ShopOutlined className="text-6xl text-[#0070BB]" />,
// title: 'Официальный диллер ©Wanlanda',
// description: 'Первый официальный сертифицированный дилер завода-производителя фильтрующих элементов ©WANLANDA на территории Сибирского Федерального округа',
// image: manufacture
// },
// {
// icon: <AppstoreOutlined className="text-6xl text-[#0070BB]" />,
// title: 'Широкий ассортимент',
// description: 'Широкий выбор запчастей и комплектующих для различных марок спецтехники: Caterpillar, Atlas Copco, Liebherr, Komatsu и другие',
// image: boxes
// },
// {
// icon: <GlobalOutlined className="text-6xl text-[#0070BB]" />,
// title: 'Логистика',
// description: 'Отлаженные логистические цепочки и партнерство с надежными транспортными компаниями гарантируют своевременную доставку в любую точку России.',
// image: delivery
// }
// ];
// return (
// <div className="w-full bg-white">
// {features.map((feature, index) => (
// <div
// key={index}
// className={`
// flex flex-col md:flex-row items-center
// ${index % 2 === 0 ? 'md:flex-row' : 'md:flex-row-reverse'}
// py-16 px-4 md:px-8
// ${index !== features.length - 1 ? 'border-b border-white' : ''}
// `}
// >
// {/* Контент слева */}
// <div className="w-full md:w-1/2 px-4 md:px-8 mb-8 md:mb-0">
// <div className="flex flex-col items-center md:items-start text-center md:text-left">
// <div className="mb-6 transform hover:scale-110 transition-transform duration-300">
// {feature.icon}
// </div>
// <h2 className="text-3xl font-bold mb-4 text-gray-900">
// {feature.title}
// </h2>
// <p className="text-xl text-gray-600 leading-relaxed">
// {feature.description}
// </p>
// </div>
// </div>
// {/* Изображение справа */}
// <div className="w-full md:w-1/2 px-4 md:px-8">
// <div className="relative overflow-hidden rounded-lg shadow-xl">
// <img
// src={feature.image}
// alt={feature.title}
// className="w-full h-auto transform hover:scale-105 transition-transform duration-500"
// />
// </div>
// </div>
// </div>
// ))}
// </div>
// );
// };
// export default FeaturesVertical;

View File

@ -169,7 +169,7 @@ function Footer() {
<div> <div>
<h3 className="text-lg font-semibold text-gray-900 mb-4">О компании</h3> <h3 className="text-lg font-semibold text-gray-900 mb-4">О компании</h3>
<p className="text-sm mb-4">ООО «АНТХИЛЛ»</p> <p className="text-sm mb-4">ООО «АНТХИЛЛ»</p>
<p className="text-sm mb-2">ИНН: 4217208795/421701001</p> <p className="text-sm mb-2">ИНН: 4217208795</p>
<div className="flex items-center gap-2 text-sm"> <div className="flex items-center gap-2 text-sm">
<Clock className="h-4 w-4" /> <Clock className="h-4 w-4" />
<span>Пн-Пт: 9:00-18:00</span> <span>Пн-Пт: 9:00-18:00</span>

View File

@ -30,20 +30,20 @@
import React from 'react'; import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import logo from '../assets/logo.svg'; import logo from '../assets/anthill.png';
function Header() { function Header() {
return ( return (
<header className="bg-white text-primary-foreground"> <header className="bg-white text-primary-foreground">
<div className="container text-2xl mx-auto px-4 py-10"> <div className="container text-2xl mx-auto px-4 py-10">
<div className="flex justify-between items-center"> <div className="flex justify-center items-center">
<Link to="/" className="flex items-center space-x-2 hover:text-primary-foreground/80 transition-colors"> <Link to="/" className="flex items-center space-x-2 hover:text-primary-foreground/80 transition-colors">
<img src={logo} alt="Anthill Logo" className="h-10 w-auto" /> <img src={logo} alt="Anthill Logo" className="h-10 w-auto" />
{/* <span className="text-2xl text-black font-bold">Anthill</span> */} {/* <span className="text-2xl text-black font-bold">Anthill</span> */}
</Link> </Link>
<nav> <nav>
<ul className="flex space-x-6 text-black font-bold"> <ul className="flex space-x-6 text-black font-bold">
<li><Link to="/" className="hover:text-primary-foreground/80 transition-colors">Главная</Link></li> {/* <li><Link to="/" className="hover:text-primary-foreground/80 transition-colors">Главная</Link></li> */}
{/* <li><Link to="/contact" className="hover:text-primary-foreground/80 transition-colors">Контакты</Link></li> */} {/* <li><Link to="/contact" className="hover:text-primary-foreground/80 transition-colors">Контакты</Link></li> */}
</ul> </ul>
</nav> </nav>

View File

@ -0,0 +1,77 @@
import React from 'react';
import { CheckIcon } from "lucide-react"
import backphoto from '../assets/images/kareerjeep.jpg'
export default function Component() {
const features = [
{
title: 'КАЧЕСТВО',
description: 'Сотрудничество с надежными поставщиками - гарантия высого качества продукции'
},
{
title: 'РАБОТАЕМ ПО ВСЕЙ СТРАНЕ',
description: 'Оперативная доставка запасных частей по всей России. Наличие отлаженных логистических цепочек позволяет гарантировать минимальные сроки поставки'
},
{
title: 'ПОДДЕРЖКА',
description: 'Постоянное поддержание необходимых товаров позволяет обеспечивать бесперебойные поставки клиентам'
},
{
title: 'ИНДИВИДУАЛЬНЫЙ ПОДХОД',
description: 'Обечпечение комфортных условий сотрудничества'
}
];
return (
<div className="p-4 md:p-8">
<div
className="rounded-3xl overflow-hidden relative"
style={{
backgroundImage: `url(${backphoto})`,
backgroundSize: 'cover',
backgroundPosition: 'center',
}}
>
{/* Затемняющий оверлей */}
<div className="absolute inset-0 bg-black bg-opacity-75" />
{/* Контент */}
<div className="relative z-10 p-8 md:p-16 text-white">
{/* Main Heading */}
{/* <h1 className="text-4xl md:text-5xl font-bold mb-2">
- Ваш надежный партнёр{' '}
<span className="block mt-2">
в поставке запчастей и шин для спецтехники
</span>
</h1> */}
{/* Subheading */}
<h2 className="text-2xl md:text-3xl mt-8 mb-12">
ПОЧЕМУ МЫ
</h2>
{/* Features Grid */}
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
{features.map((feature, index) => (
<div key={index} className="flex gap-4">
<div className="flex-shrink-0">
<div className="w-10 h-10 bg-zinc-800 bg-opacity-50 rounded-lg flex items-center justify-center">
<CheckIcon className="w-6 h-6 text-white" />
</div>
</div>
<div>
<h3 className="text-xl font-semibold mb-2">
{feature.title}
</h3>
<p className="text-zinc-200 leading-relaxed">
{feature.description}
</p>
</div>
</div>
))}
</div>
</div>
</div>
</div>
);
}

View File

@ -1,7 +1,76 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import truck from '../assets/images/truckdelivery_obrez.jpg'
import caterpillar from '../assets/images/company/caterpilar.png'
import komatsu from '../assets/images/company/komatsu.png'
import cummins from '../assets/images/company/cummins.png'
import hitachi from '../assets/images/company/hitachi.png'
import liebherr from '../assets/images/company/liebherr.png'
import shantui from '../assets/images/company/shantui.png'
import shacman from '../assets/images/company/shacman.png'
import shaanxi from '../assets/images/company/shaanxi.png'
import howo from '../assets/images/company/howo.png'
import volvo from '../assets/images/company/volvo.png'
import john_deree from '../assets/images/company/john_deere.png'
import atlas_copco from '../assets/images/company/atlas_copso.png'
import epiroc from '../assets/images/company/epiroc.png'
const MarqueeBrands = () => { const MarqueeBrands = () => {
const [isPaused, setIsPaused] = useState(false); const [isPaused, setIsPaused] = useState(false);
const tiles = [
{
image: caterpillar,
title: 'Caterpillar'
},
{
image: komatsu,
title: 'Komatsu'
},
{
image: cummins,
title: 'Cummins'
},
{
image: hitachi,
title: 'Hitachi'
},
{
image: liebherr,
title: 'Liebherr'
},
{
image: shantui,
title: 'Shantui'
},
{
image: shacman,
title: 'Shacman'
},
{
image: howo,
title: 'Howo'
},
{
image: volvo,
title: 'Volvo'
},
{
image: shaanxi,
title: 'Shaanxi'
},
{
image: john_deree,
title: 'John Deere'
},
{
image: atlas_copco,
title: 'Atlas Copco'
},
{
image: epiroc,
title: 'Epiroc'
},
];
// Массив брендов // Массив брендов
const brands = [ const brands = [

View File

@ -85,9 +85,9 @@
// export default Plitki; // export default Plitki;
import React, { useState } from 'react'; import React, { useState } from 'react';
import manufacture from '../assets/images/manufacture.jpg'; import manufacture from '../assets/images/wanlanda_office.jpg';
import boxes from '../assets/images/Assorti.jpg'; import boxes from '../assets/images/nasos.jpg';
import delivery from '../assets/images/delivery.jpg'; import delivery from '../assets/images/truckdelivery_obrez.jpg';
import stock from '../assets/images/korobs.jpg'; import stock from '../assets/images/korobs.jpg';
import truck from '../assets/images/truck_home_page.jpg'; import truck from '../assets/images/truck_home_page.jpg';
import warehouse from '../assets/images/rukopojatie.jpg'; import warehouse from '../assets/images/rukopojatie.jpg';
@ -95,6 +95,8 @@ import warehouse from '../assets/images/rukopojatie.jpg';
const Tile = ({ image, title, description }) => { const Tile = ({ image, title, description }) => {
const [isFlipped, setIsFlipped] = useState(false); const [isFlipped, setIsFlipped] = useState(false);
const [showFullText, setShowFullText] = useState(false); const [showFullText, setShowFullText] = useState(false);
const spanishblue = '#0070BB';
const salat = '#c1ff72';
return ( return (
<div <div
@ -122,26 +124,26 @@ const Tile = ({ image, title, description }) => {
</div> </div>
{/* Задняя сторона */} {/* Задняя сторона */}
<div className="absolute w-full h-full backface-hidden rotate-y-180 bg-[#c1ff72] rounded-2xl overflow-hidden"> <div className="absolute w-full h-full backface-hidden rotate-y-180 bg-[#0070BB] rounded-2xl overflow-hidden">
<div <div
className={`flex flex-col h-full justify-center transition-all duration-500 ${ className={`flex flex-col h-full justify-center transition-all duration-500 ${
showFullText ? 'px-6 pt-8' : 'p-6' showFullText ? 'px-6 pt-8' : 'p-6'
}`} }`}
> >
<h3 <h3
className={`text-black font-bold text-center mb-4 transition-all duration-500 ${ className={`text-white font-bold text-center mb-4 transition-all duration-500 ${
showFullText ? 'text-xl' : 'text-3xl' showFullText ? 'text-xl' : 'text-3xl'
}`} }`}
> >
{title} {title}
</h3> </h3>
<div {/* <div
className={`text-black transition-all duration-500 overflow-auto ${ className={`text-white transition-all duration-500 overflow-auto ${
showFullText ? 'opacity-100 transform translate-y-0' : 'opacity-0 transform translate-y-8 hidden' showFullText ? 'opacity-100 transform translate-y-0' : 'opacity-0 transform translate-y-8 hidden'
}`} }`}
> >
{description} {description}
</div> </div> */}
</div> </div>
</div> </div>
</div> </div>
@ -153,18 +155,18 @@ const Plitki = () => {
const tiles = [ const tiles = [
{ {
image: manufacture, image: manufacture,
title: 'Производство', title: 'Официальный диллер ©Wanlanda',
description: 'Компания АНТХИЛЛ является первым официальным сертифицированным дилером завода-производителя фильтрующих элементов под брендом WANLANDA на территории Сибирского Федерального округа.' description: 'Первый официальный сертифицированный дилер завода-производителя фильтрующих элементов ©WANLANDA на территории Сибирского Федерального округа'
}, },
{ {
image: boxes, image: boxes,
title: 'Широкий ассортимент', title: 'Широкий ассортимент',
description: 'Фильтры подходят для широкой техники - от легковых автомобилей до карьерной спецтехники. По качеству сравнимы с оригиналами мировых производителей, таких как: Shantui, Shacman, Shaanxi, Howo, КАМАЗ.' description: 'Широкий выбор запчастей и комплектующих для различных марок спецтехники: Caterpillar, Atlas Copco, Liebherr, Komatsu и другие'
}, },
{ {
image: delivery, image: delivery,
title: 'Оперативная доставка', title: 'Логистика',
description: 'АНТХИЛЛ обеспечивает оперативную доставку запасных частей по всему Сибирскому региону и России. Наличие отлаженных логистических цепочек позволяет гарантировать минимальные сроки поставки.' description: 'Отлаженные логистические цепочки и партнерство с надежными транспортными компаниями гарантируют своевременную доставку в любую точку России.'
}, },
{ {
image: stock, image: stock,
@ -173,7 +175,7 @@ const Plitki = () => {
}, },
{ {
image: truck, image: truck,
title: 'Логистика', title: 'Работаем по всей стране',
description: 'Отлаженные логистические цепочки и партнерство с надежными транспортными компаниями гарантируют своевременную доставку в любую точку России.' description: 'Отлаженные логистические цепочки и партнерство с надежными транспортными компаниями гарантируют своевременную доставку в любую точку России.'
}, },
{ {

View File

@ -2,6 +2,33 @@
@tailwind components; @tailwind components;
@tailwind utilities; @tailwind utilities;
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Protest+Strike&display=swap');
@layer base {
html {
font-family: Oswald, system-ui;
}
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}
/* Опционально: добавляем плавность при остановке */
.scroller > div {
transition: animation-play-state 0.3s ease;
}
.perspective-1000 { .perspective-1000 {
perspective: 1000px; perspective: 1000px;
} }

View File

@ -64,12 +64,15 @@
// } // }
import { Image } from 'antd'; import { Image } from 'antd';
import truckhome from '../assets/images/homepagephot.jpg'; import truckhome from '../assets/images/mine1.jpg';
import MarqueeBrands from '../components/MarqueeBrands.js'; import MarqueeBrands from '../components/MarqueeBrands.js';
import Textandphoto from '../components/Textandphoto.js'; import Textandphoto from '../components/Textandphoto.js';
import Photoandtext from '../components/Photoandtext.js'; import Photoandtext from '../components/Photoandtext.js';
import Plitki from '../components/Plitki.js'; import Plitki from '../components/Plitki.js';
import Aboutall from '../components/Aboutall.js'; import Aboutall from '../components/Aboutall.js';
import Features from '../components/Features.js';
import Mapelement from '../components/Mapelement.js';
import Brandslogo from '../components/Brandslogo.js';
export default function HomePage() { export default function HomePage() {
return ( return (
@ -82,21 +85,21 @@ export default function HomePage() {
src={truckhome} src={truckhome}
alt="Truck on highway" alt="Truck on highway"
className="w-full h-auto object-cover" className="w-full h-auto object-cover"
style={{ height: '700px' }} style={{ height: '500px' }}
/> />
<div className="absolute inset-0 flex flex-col justify-center p-6"> <div className="absolute inset-0 flex flex-col justify-center p-6">
<div className="max-w-3xl"> <div className="max-w-3xl">
<div className="bg-white/95 p-6 rounded-lg shadow-lg mb-4 backdrop-blur-sm"> <div className="bg-white/85 p-6 rounded-lg shadow-lg mb-4 backdrop-blur-sm">
<h1 className="text-gray-900 text-4xl lg:text-5xl font-bold leading-tight"> <h1 className="text-gray-900 text-4xl lg:text-5xl font-bold leading-tight">
ООО «АНТХИЛЛ» молодая динамично развивающаяся компания. «АНТХИЛЛ» надежный поставщик комплектующих и запасных частей
</h1> </h1>
</div> </div>
<div className="bg-white/95 p-6 rounded-lg shadow-lg backdrop-blur-sm"> {/* <div className="bg-white/95 p-6 rounded-lg shadow-lg backdrop-blur-sm">
<p className="text-gray-800 text-lg lg:text-2xl leading-relaxed"> <p className="text-gray-800 text-lg lg:text-2xl leading-relaxed">
Мы обеспечиваем надежность и своевременную поставку качественных запчастей, Мы обеспечиваем надежность и своевременную поставку качественных запчастей,
способствуя качественной работе техники наших клиентов и развитию их бизнеса. способствуя качественной работе техники наших клиентов и развитию их бизнеса.
</p> </p>
</div> </div> */}
</div> </div>
</div> </div>
</div> </div>
@ -114,16 +117,23 @@ export default function HomePage() {
</div> </div>
</section> */} </section> */}
{/* Brands section */} {/* Brands section */}
<section className="mb-12"> <section className="mb-12">
<div className="max-w-7xl mx-auto"> <div className="max-w-7xl mx-auto">
<MarqueeBrands /> {/* <MarqueeBrands /> */}
<Brandslogo />
</div> </div>
</section> </section>
<Plitki /> <Plitki />
<Aboutall /> <Features />
<Mapelement />
{/* <Aboutall /> */}
{/* Content sections {/* Content sections
<section className="mb-12"> <section className="mb-12">

View File

@ -47,4 +47,23 @@ module.exports = {
}, },
}, },
plugins: [], plugins: [],
}
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}",
],
theme: {
extend: {
animation: {
scroll: 'scroll 60s linear infinite', // Увеличили время с 40s до 60s для замедления
},
keyframes: {
scroll: {
'0%': { transform: 'translateX(0)' },
'100%': { transform: 'translateX(-50%)' }
}
}
}
}
} }