first commit
@@ -0,0 +1,2 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
@@ -0,0 +1,70 @@
|
||||
# Getting Started with Create React App
|
||||
|
||||
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
|
||||
|
||||
## Available Scripts
|
||||
|
||||
In the project directory, you can run:
|
||||
|
||||
### `npm start`
|
||||
|
||||
Runs the app in the development mode.\
|
||||
Open [http://localhost:3000](http://localhost:3000) to view it in your browser.
|
||||
|
||||
The page will reload when you make changes.\
|
||||
You may also see any lint errors in the console.
|
||||
|
||||
### `npm test`
|
||||
|
||||
Launches the test runner in the interactive watch mode.\
|
||||
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
|
||||
|
||||
### `npm run build`
|
||||
|
||||
Builds the app for production to the `build` folder.\
|
||||
It correctly bundles React in production mode and optimizes the build for the best performance.
|
||||
|
||||
The build is minified and the filenames include the hashes.\
|
||||
Your app is ready to be deployed!
|
||||
|
||||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
|
||||
|
||||
### `npm run eject`
|
||||
|
||||
**Note: this is a one-way operation. Once you `eject`, you can't go back!**
|
||||
|
||||
If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
|
||||
|
||||
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
|
||||
|
||||
You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
|
||||
|
||||
## Learn More
|
||||
|
||||
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
|
||||
|
||||
To learn React, check out the [React documentation](https://reactjs.org/).
|
||||
|
||||
### Code Splitting
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
|
||||
|
||||
### Analyzing the Bundle Size
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
|
||||
|
||||
### Making a Progressive Web App
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
|
||||
|
||||
### Advanced Configuration
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
|
||||
|
||||
### Deployment
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
|
||||
|
||||
### `npm run build` fails to minify
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "signal",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@testing-library/jest-dom": "^5.17.0",
|
||||
"@testing-library/react": "^13.4.0",
|
||||
"@testing-library/user-event": "^13.5.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-scripts": "5.0.1",
|
||||
"sass": "^1.77.5",
|
||||
"video.js": "^8.10.0",
|
||||
"web-vitals": "^2.1.4"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": [
|
||||
"react-app",
|
||||
"react-app/jest"
|
||||
]
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 6.7 KiB |
@@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta
|
||||
name="description"
|
||||
content=""
|
||||
/>
|
||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||
<!--
|
||||
manifest.json provides metadata used when your web app is installed on a
|
||||
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
||||
-->
|
||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||
<!--
|
||||
Notice the use of %PUBLIC_URL% in the tags above.
|
||||
It will be replaced with the URL of the `public` folder during the build.
|
||||
Only files inside the `public` folder can be referenced from the HTML.
|
||||
|
||||
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
||||
work correctly both with client-side routing and a non-root public URL.
|
||||
Learn how to configure a non-root public URL by running `npm run build`.
|
||||
-->
|
||||
<title>Сигнал БИТ</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
<div id="root"></div>
|
||||
<!--
|
||||
This HTML file is a template.
|
||||
If you open it directly in the browser, you will see an empty page.
|
||||
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 9.0 KiB |
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
||||
@@ -0,0 +1,17 @@
|
||||
body{
|
||||
overflow-y: scroll;
|
||||
min-height: 840px;
|
||||
}
|
||||
body::-webkit-scrollbar{
|
||||
display: none;
|
||||
}
|
||||
.app{
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
padding-top: 80px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.app.mobile{
|
||||
padding: 0
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
import React, {Component} from "react";
|
||||
import "./App.css";
|
||||
import "./mixin.scss";
|
||||
import Header from "./PCVersion/Header/Header";
|
||||
import Main from "./PCVersion/Main/Main";
|
||||
import FieldsOfActivity from "./PCVersion/FiledsOfActivity/FieldsOfActivity";
|
||||
import Creations from "./PCVersion/Creations/Creations";
|
||||
import PriceList from "./PCVersion/PriceList/PriceList";
|
||||
import Footer from "./PCVersion/Footer/Footer";
|
||||
import Callback from "./PCVersion/Callback/Callback";
|
||||
import AboutUs from "./PCVersion/AboutUs/AboutUs";
|
||||
import CreateFC from "./PCVersion/CreateFC/CreateFC";
|
||||
import CreateSensor from "./PCVersion/CreateSensor/CreateSensor";
|
||||
|
||||
import OurAchivement from "./PCVersion/OurAchivement/OurAchivement";
|
||||
|
||||
import MobileVersion from "./MobileVersion/MobileVersion";
|
||||
|
||||
class App extends Component{
|
||||
constructor(props){
|
||||
super(props)
|
||||
|
||||
this.PC_CMPs = [
|
||||
<Main/>,
|
||||
<FieldsOfActivity/>,
|
||||
<Creations/>,
|
||||
<PriceList/>,
|
||||
<Callback/>,
|
||||
<AboutUs/>,
|
||||
<CreateFC/>,
|
||||
<CreateSensor/>,
|
||||
<OurAchivement/>
|
||||
]
|
||||
|
||||
this.state = {
|
||||
cur_CMP: this.PC_CMPs[0]
|
||||
}
|
||||
|
||||
this.changeCMP = this.changeCMP.bind(this)
|
||||
}
|
||||
|
||||
changeCMP(value){
|
||||
this.setState(state => ({
|
||||
cur_CMP: this.PC_CMPs[value]
|
||||
}))
|
||||
}
|
||||
|
||||
render(){
|
||||
let user_agent = navigator.userAgent.toLocaleLowerCase()
|
||||
let is_pc = (user_agent.search("iphone") > -1)?false:((user_agent.search("android") > -1)?false:true)
|
||||
return(
|
||||
<div className={"app "+(is_pc == true ? "" : "mobile")}>
|
||||
{
|
||||
is_pc == true ?
|
||||
<div>
|
||||
<Header changeCMP={this.changeCMP}/>
|
||||
{this.state.cur_CMP}
|
||||
<Footer/>
|
||||
</div> :
|
||||
<MobileVersion/>
|
||||
}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default App
|
||||
@@ -0,0 +1,8 @@
|
||||
import { render, screen } from '@testing-library/react';
|
||||
import App from './App';
|
||||
|
||||
test('renders learn react link', () => {
|
||||
render(<App />);
|
||||
const linkElement = screen.getByText(/learn react/i);
|
||||
expect(linkElement).toBeInTheDocument();
|
||||
});
|
||||
@@ -0,0 +1,482 @@
|
||||
import React, {Component} from "react";
|
||||
import "./mobileVersion.scss";
|
||||
import signal_bit from "./img/signal_bit.png";
|
||||
import right_hand from "../PCVersion/Main/img/hand-right.png";
|
||||
import left_hand from "../PCVersion/Main/img/hand-left.png";
|
||||
import research_img from "../PCVersion/FiledsOfActivity/img/research.png";
|
||||
import products_img from "../PCVersion/FiledsOfActivity/img/new_products.png";
|
||||
import teaching_img from "../PCVersion/FiledsOfActivity/img/teaching.png";
|
||||
import sq_img_left from "../PCVersion/Creations/img/top.png";
|
||||
import sq_img_middle from "../PCVersion/Creations/img/middle.png";
|
||||
import sq_img_right from "../PCVersion/Creations/img/bottom.png";
|
||||
import param_1 from "../PCVersion/Creations/img/creation_1.png";
|
||||
import param_2 from "../PCVersion/Creations/img/creation_2.png";
|
||||
import param_3 from "../PCVersion/Creations/img/creation_3.png";
|
||||
import param_4 from "../PCVersion/Creations/img/creation_4.png";
|
||||
import param_5 from "../PCVersion/Creations/img/creation_5.png";
|
||||
import param_6 from "../PCVersion/Creations/img/creation_6.png";
|
||||
import email from "../PCVersion/Callback/img/email.png";
|
||||
import last_img from "../PCVersion/Callback/img/right_img.png";
|
||||
import logo_sfedu from "../PCVersion/Callback/img/logo_sfedu.png";
|
||||
import logo_ictis from "../PCVersion/Callback/img/logo_ictis.png";
|
||||
import logo_integra from "../PCVersion/Callback/img/logo_integra.png";
|
||||
import price_img_1 from "../PCVersion/PriceList/img/price1.png";
|
||||
import price_img_2 from "../PCVersion/PriceList/img/price2.png";
|
||||
import price_img_3 from "../PCVersion/PriceList/img/price3.png";
|
||||
import price_img_4 from "../PCVersion/PriceList/img/price4.png";
|
||||
|
||||
import sens_img1 from "../PCVersion/CreateSensor/img/img1.png";
|
||||
import sens_img2 from "../PCVersion/CreateSensor/img/img2.png";
|
||||
import sens_img3 from "../PCVersion/CreateSensor/img/img3.png";
|
||||
|
||||
import sens1 from "../PCVersion/CreateSensor/img/sen1.png";
|
||||
import sens2 from "../PCVersion/CreateSensor/img/sen2.png";
|
||||
|
||||
import sens_z1 from "../PCVersion/CreateSensor/img/z1.svg";
|
||||
import sens_z2 from "../PCVersion/CreateSensor/img/z2.svg";
|
||||
import sens_z3 from "../PCVersion/CreateSensor/img/z3.svg";
|
||||
import sens_z4 from "../PCVersion/CreateSensor/img/z4.svg";
|
||||
import sens_z5 from "../PCVersion/CreateSensor/img/z5.svg";
|
||||
import sens_z6 from "../PCVersion/CreateSensor/img/z6.svg";
|
||||
import sens_z7 from "../PCVersion/CreateSensor/img/z7.svg";
|
||||
|
||||
import fc_img1 from "../PCVersion/CreateFC/img/img1.png";
|
||||
import fc_img2 from "../PCVersion/CreateFC/img/img2.png";
|
||||
import fc_img3 from "../PCVersion/CreateFC/img/img3.png";
|
||||
|
||||
import fc from "../PCVersion/CreateFC/img/fc1.png";
|
||||
import fc_z1 from "../PCVersion/CreateFC/img/z1.svg";
|
||||
import fc_z2 from "../PCVersion/CreateFC/img/z2.svg";
|
||||
import fc_z3 from "../PCVersion/CreateFC/img/z3.svg";
|
||||
import fc_z4 from "../PCVersion/CreateFC/img/z4.svg";
|
||||
import fc_z5 from "../PCVersion/CreateFC/img/z5.svg";
|
||||
import fc_z6 from "../PCVersion/CreateFC/img/z6.svg";
|
||||
import fc_z7 from "../PCVersion/CreateFC/img/z7.svg";
|
||||
|
||||
|
||||
import us_img from "../PCVersion/AboutUs/img/photo1.png";
|
||||
import c3 from "../PCVersion/AboutUs/img/c_three1.svg";
|
||||
import c3plus from "../PCVersion/AboutUs/img/c_three.svg";
|
||||
import c5 from "../PCVersion/AboutUs/img/c_five.svg";
|
||||
|
||||
|
||||
import dip1 from "../PCVersion/OurAchivement/img/d1.jpg";
|
||||
import dip2 from "../PCVersion/OurAchivement/img/d2.jpg";
|
||||
import dip3 from "../PCVersion/OurAchivement/img/d3.jpg";
|
||||
import dip4 from "../PCVersion/OurAchivement/img/d4.jpg";
|
||||
import dip5 from "../PCVersion/OurAchivement/img/d5.jpg";
|
||||
import dip6 from "../PCVersion/OurAchivement/img/d6.jpg";
|
||||
import dip7 from "../PCVersion/OurAchivement/img/d7.jpg";
|
||||
class MobileVersion extends Component{
|
||||
constructor(props){
|
||||
super(props)
|
||||
|
||||
this.research_img = [
|
||||
research_img,
|
||||
products_img,
|
||||
teaching_img
|
||||
]
|
||||
this.research_title = [
|
||||
"Научные исследования и разработки",
|
||||
"Разработка новых программных и аппаратных решений",
|
||||
"Обучение и консультация в сфере безопасности"
|
||||
]
|
||||
this.research_text = [
|
||||
"Постоянное изучение новых технологий, исследование фундаментальных принципов и создание новых научных и инженерных решений.",
|
||||
"Весь цикл разработки, начиная от проектирования и заканчивая созданием, строится с учётом требований к доверенной разработке, что очень важно для обеспечения безопасности.",
|
||||
"Помогаем развивать компетенции и принимать эффективные меры для предотвращения угроз и минимизации рисков безопасности. Также предоставляем эффективные рекомендации, советы и экспертное мнение по вопросам безопасности."
|
||||
]
|
||||
|
||||
this.params_img = [
|
||||
param_1,
|
||||
param_2,
|
||||
param_3,
|
||||
param_4,
|
||||
param_5,
|
||||
param_6,
|
||||
]
|
||||
this.params_text = [
|
||||
"Возможность выявления и классификации БПЛА в радиочастотном диапазоне с повышенной точностью",
|
||||
"Определение функциональных возможностей БПЛА на основе собранной о нем информации",
|
||||
"Возможность интеграции с существующими решениями по противодействию БПЛА с целью повышения эффективности их работы, в частности, для управления системами глушения связи и реализации интеллектуального глушения",
|
||||
"Выявление координат БПЛА и расстояние до БПЛА",
|
||||
"Определение типа сценария для активного противодействия БПЛА позволяющего повысить эффективность системы защиты и безопасность охраняемого объекта критической информационной инфраструктуры",
|
||||
"Повышенная длительность работы за счет переключения между режимами пассивного ожидания и активного противодействия",
|
||||
]
|
||||
|
||||
this.sens_params_img = [
|
||||
sens_z1,
|
||||
sens_z2,
|
||||
sens_z3,
|
||||
sens_z5,
|
||||
sens_z6,
|
||||
sens_z7,
|
||||
]
|
||||
this.sens_params_text = [
|
||||
"Возможность сканирования диапазонов частот 820-920 МГц, 2,4-2,485 ГГц, 5,6-5,9 ГГц",
|
||||
"Звуковое и световое оповещение пользователя при обнаружении БАС или радиоуправляемого устройства",
|
||||
"Возможность работы в трех режимах:\n- сканирование радиочастотного спектра без обнаружения,\n- сканирование радиочастотного спектра с применением алгоритмов обнаружения,\n- глушение",
|
||||
"Наличие алгоритма обнаружения, который определяет опасность по ширине столбцов, плотности сигнала или по количеству истинных срабатываний",
|
||||
"Дальность работы в пределах 2 км с сектором получения данных в 140",
|
||||
"Возможность использовать как индивидуальное носимое устройство и выносимое на стойке устройство",
|
||||
]
|
||||
|
||||
this.fc_params_img = [
|
||||
fc_z1,
|
||||
fc_z2,
|
||||
fc_z3,
|
||||
fc_z5,
|
||||
fc_z6,
|
||||
fc_z7,
|
||||
]
|
||||
this.fc_params_text = [
|
||||
"Собственное аппаратное и программное решение",
|
||||
"Режим совместимости с открытыми прошивками коммерческих производителей полетных контроллеров",
|
||||
"Открытая схема платформы для реализации своего автопилота",
|
||||
"Возможность установить на БПЛА мультироторного типа с различным числом лучей",
|
||||
"Минимальная проприетарная зависимость, обеспечиваемая модульностью",
|
||||
"Возможность комбинирования навигационных систем, повышение отказоустойчивости глобальных навигационных систем"
|
||||
|
||||
]
|
||||
|
||||
this.video_options = {
|
||||
autoplay: true,
|
||||
controls: false,
|
||||
loop: true,
|
||||
sources: [{
|
||||
src: "./demonstration.mp4",
|
||||
type: "video/mp4"
|
||||
}]
|
||||
}
|
||||
this.priceItems = [
|
||||
{
|
||||
img: price_img_1,
|
||||
title: "Системы управления автономными роботами",
|
||||
description: "Проектирование, разработка и внедрение собственных систем управления автоматизированными комплексами",
|
||||
technologies: "C++, Python (Django), React JS (HTML, CSS, JS, Redux Toolkit)",
|
||||
cost: "от 350 тыс. руб."
|
||||
},
|
||||
{
|
||||
img: price_img_2,
|
||||
title: "Системы безопасности киберфизических систем",
|
||||
description: "Проектирование, разработка и внедрение решений по анализу и выявлению аномалий в киберфизической системе, а также своевременное реагирование на инциденты безопасности",
|
||||
technologies: " C++, Python (Django)",
|
||||
cost: "от 520 тыс. руб."
|
||||
},
|
||||
{
|
||||
img: price_img_3,
|
||||
title: "Системы интеллектуального управления",
|
||||
description: "Проектирование, разработка и внедрение комплексных решений для автоматизации управления киберфизическими системами",
|
||||
technologies: "Python, tensorflow+keras",
|
||||
cost: "от 440 тыс. руб."
|
||||
},
|
||||
{
|
||||
img: price_img_4,
|
||||
title: "Платы управления и аппаратные датчики",
|
||||
description: "Проектирование, разработка и создание аппаратных компонентов с собственным микропрограммным обеспечением",
|
||||
technologies: "КОМПАС-3D, Altium Designer, Arm gcc none eabi, Cmake, Eigen3",
|
||||
cost: "от 510 тыс. руб."
|
||||
},
|
||||
]
|
||||
}
|
||||
render(){
|
||||
return(
|
||||
<div className="mobile">
|
||||
<img className="main_logo" src={signal_bit}/>
|
||||
<div className="right_hand">
|
||||
<div className="text">
|
||||
<h3 className="title">Ваш надежный партнер в безопасности</h3>
|
||||
<p>
|
||||
Мы специализируемся на обеспечении безопасности
|
||||
в области робототехники и киберфизических систем. Наша команда
|
||||
разрабатывает интегрированные решения,
|
||||
которые помогают предотвратить риски и
|
||||
обеспечить безопасность во всех аспектах
|
||||
работы с роботехническими комплексами.
|
||||
</p>
|
||||
</div>
|
||||
<img src={right_hand}/>
|
||||
</div>
|
||||
<div className="left_hand">
|
||||
<div>
|
||||
<img src={left_hand}/>
|
||||
<h3 className="title">
|
||||
Наша цель – обеспечить бесперебойное функционирование и
|
||||
безопасность критической инфраструктуры и киберфизических
|
||||
систем
|
||||
</h3>
|
||||
</div>
|
||||
<p>
|
||||
С нами вы можете быть уверены в
|
||||
надежной работе своих активов.
|
||||
Мы ставим безопасность на первое
|
||||
место и стремимся быть вашим надежным
|
||||
партнером в области безопасности
|
||||
робототехники.
|
||||
</p>
|
||||
</div>
|
||||
<div className="research">
|
||||
<h3 className="title">Чем мы занимаемся</h3>
|
||||
{this.research_img.map((item, index) => {
|
||||
return <div className="item" key={index}>
|
||||
<img src={item}/>
|
||||
<div>
|
||||
<h3>{this.research_title[index]}</h3>
|
||||
<p>{this.research_text[index]}</p>
|
||||
</div>
|
||||
</div>
|
||||
})}
|
||||
</div>
|
||||
<div className="price_mob">
|
||||
<h3 className="title">Что мы предлагаем</h3>
|
||||
<ul className="list">
|
||||
{this.priceItems.map((item, index) => {
|
||||
return <li key={index}>
|
||||
<img src={item.img}/>
|
||||
<div className="descr">
|
||||
<h2 className="name">{item.title}</h2>
|
||||
<p className="text_d">{item.description}</p>
|
||||
<p className="text_h">Используемые технологии</p>
|
||||
<p className="text_u">{item.technologies}</p>
|
||||
<p className="text_h">Стоимость</p>
|
||||
<p className="text_u">{item.cost}</p>
|
||||
</div>
|
||||
</li>
|
||||
})}
|
||||
</ul>
|
||||
</div>
|
||||
<div className="squeaker">
|
||||
<h3 className="title">
|
||||
«Канарейка» для обнаружения аномалий и радиоуправляемых
|
||||
устройств
|
||||
</h3>
|
||||
<div className="imgs">
|
||||
<img className="left" src={sq_img_left}/>
|
||||
<img className="middle" src={sq_img_middle}/>
|
||||
<img className="right" src={sq_img_right}/>
|
||||
</div>
|
||||
<p>
|
||||
<span className="key_word">Это интеллектуальная система детектирования
|
||||
и противодействия беспилотным
|
||||
автоматизированным системам (БАС)
|
||||
для объектов критической информационной
|
||||
инфраструктуры.</span> Система с помощью сенсора
|
||||
сканирует наиболее популярные диапазоны, в
|
||||
которых работают БАС, и на основе анализа
|
||||
радиочастотного дисапазона и спектра определяет
|
||||
тип БАС, который был зафиксирован.
|
||||
</p>
|
||||
<p>
|
||||
Определение конкретного типа БАС позволяет
|
||||
выбрать наилучший сценарий противодействия,
|
||||
а также сделать предположение о том, какую
|
||||
цель преследует нарушитель.
|
||||
</p>
|
||||
<p>
|
||||
Модуль противодействия реализует сценарии
|
||||
атак на БАС, чтобы предотвратить приченение
|
||||
вреда объекту критической информационной
|
||||
инфраструктуры.
|
||||
</p>
|
||||
<p>
|
||||
Модульность системы позволяет проводить
|
||||
анализ окружающей среды в режиме реального
|
||||
времени, а также своевременно применять
|
||||
контрмеры для повышения защиты и безопасности
|
||||
защищаемого объекта.
|
||||
</p>
|
||||
</div>
|
||||
<video className="demonstration" preload="auto" autoPlay loop muted playsInline>
|
||||
<source src="./demonstration.mp4" type="video/mp4"/>
|
||||
</video>
|
||||
<div className="params">
|
||||
<h3 className="title">
|
||||
Характерные параметры системы
|
||||
</h3>
|
||||
{this.params_img.map((item, index) => {
|
||||
return <div key={index} className="item">
|
||||
<img src={item}/>
|
||||
<p>
|
||||
{this.params_text[index]}
|
||||
</p>
|
||||
</div>
|
||||
})}
|
||||
<div className="item"> <img src={sens_z4}/>
|
||||
<p>
|
||||
<b>Стоимость продукта</b><br/>80 тыс. руб.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div className="squeaker">
|
||||
<h3 className="title">
|
||||
Сенсор для обнаружения радиоуправлемых устройств
|
||||
</h3>
|
||||
<div className="imgs">
|
||||
<img className="left" src={sens_img1}/>
|
||||
<img className="middle" src={sens_img2}/>
|
||||
<img className="right" src={sens_img3}/>
|
||||
</div>
|
||||
<p>
|
||||
<span className="key_word">Это программно-аппаратное устройство
|
||||
для детектирования беспилотных автоматизированных систем
|
||||
(БАС) и других радиоуправляемых устройств. </span>
|
||||
Устройство с помощью сенсора анализарует радиочастотный
|
||||
спектр путем прохождения по каждой частоте по несколько
|
||||
итераций в зависимости от наличия сигнала, а алгоритм обнаружения
|
||||
позволяет идентифицировать зафиксированную частоту.
|
||||
</p>
|
||||
<p>
|
||||
Устройство сканирует диапазоны частот 820-920 МГц, 2,4-2,485 ГГц, 5,6-5,9 ГГц.
|
||||
</p>
|
||||
<p>
|
||||
На каждом канале проводится обработка сигнала, который отображается как в консоли, так и на столбчатой диаграмме, выводящейся на дисплей.
|
||||
</p>
|
||||
<p>
|
||||
При обнаружении сигнала срабатывает зуммер, который издает звуковой сигнал, предупреждающий о наличии активности на данном радиочастотном диапазоне.
|
||||
</p>
|
||||
<p>
|
||||
Ключевой особенностью алгоритма анализа радиочастотного спектра является гибкое взаимодействие с пользователем благодаря возможности смены режимов через нажатие кнопок и свето-звуковому сопровождению опасности БАС.-
|
||||
</p>
|
||||
</div>
|
||||
<div className="img-cont">
|
||||
<img src={sens1}/>
|
||||
<img src={sens2}/>
|
||||
</div>
|
||||
<div className="params">
|
||||
<h3 className="title">
|
||||
Характерные параметры системы
|
||||
</h3>
|
||||
{this.sens_params_img.map((item, index) => {
|
||||
return <div key={index} className="item">
|
||||
<img src={item}/>
|
||||
<p>
|
||||
{this.sens_params_text[index]}
|
||||
</p>
|
||||
</div>
|
||||
})}
|
||||
<div className="item"> <img src={sens_z4}/>
|
||||
<p>
|
||||
<b>Стоимость продукта</b><br/>7 тыс. руб.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="squeaker">
|
||||
<h3 className="title">
|
||||
Сенсор для обнаружения радиоуправлемых устройств
|
||||
</h3>
|
||||
<div className="imgs">
|
||||
<img className="left" src={fc_img1}/>
|
||||
<img className="middle" src={fc_img2}/>
|
||||
<img className="right" src={fc_img3}/>
|
||||
</div>
|
||||
<p>
|
||||
<span className="key_word">Это электронное устройство, управляющее полетом летательного аппарата, с собственным микропрограммным обеспечением. </span>
|
||||
Контроллер выполнен в модульной архитектуре - инерциальное измерительное устройство вынесено в отдельный виброразвязанный блок, что позволяет улучшить качество стабилизации и навигации.
|
||||
</p>
|
||||
<p>
|
||||
Полетный контроллер выполнен с расчётом на дальнейшую интеграцию в БПЛА с различными системами - для этого разработчикам доступны UART-порты для работы с протоколом MAVLink, GPS-приёмниками, другими внешними датчиками/навигационными системами или исполнительными устройствами. На плате предусмотрены I2C, SPI порты, что расширяет спектр внешних устройств, которые можно использовать в разработке.
|
||||
</p>
|
||||
<p>
|
||||
Для управления БПЛА с данным полётным контроллером можно использовать как ручное управление (различные приёмопередатчики на протоколах S-Bus, CRSF (ELRS), так и внешний компьютер-компаньон. </p>
|
||||
|
||||
</div>
|
||||
<div className="img-cont">
|
||||
<img src={fc}/>
|
||||
|
||||
</div>
|
||||
<div className="params">
|
||||
<h3 className="title">
|
||||
Характерные параметры системы
|
||||
</h3>
|
||||
{this.fc_params_img.map((item, index) => {
|
||||
return <div key={index} className="item">
|
||||
<img src={item}/>
|
||||
<p>
|
||||
{this.fc_params_text[index]}
|
||||
</p>
|
||||
</div>
|
||||
})}
|
||||
<div className="item"> <img src={sens_z4}/>
|
||||
<p>
|
||||
<b>Стоимость продукта</b><br/>7,2 тыс. руб.
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div className="AboutUs">
|
||||
<h3 className="title">
|
||||
Наша миссия – создавать безопасные технологичные решения
|
||||
</h3>
|
||||
<div>
|
||||
<img src={us_img}/>
|
||||
</div>
|
||||
<div className="aboutUs-text">
|
||||
<b className="name">Мы ИТ-компания</b>
|
||||
<p>Занимаемся разработкой безопасных программных и аппаратных решений, а также ИТ-консалтингом в сфере информационной безопасности.</p>
|
||||
<p>Залог нашего успеха – постоянное стремление к реализации стратегических целей компании.</p>
|
||||
<p>В нашей команде работают опытные специалисты в области проектирования и разработки программных и аппаратных решений, а также специалисты в области информационной безопасности.</p>
|
||||
</div>
|
||||
<div className="block3 text">
|
||||
<div className="block3-cont"><img src={c3plus}/><div>завершенные научно-исследовательские работы в рамках университета</div></div>
|
||||
<div className="block3-cont"><img src={c3}/><div>грантовые поддержки на реализацию технологических идей</div></div>
|
||||
<div className="block3-cont"><img src={c5}/><div>инновационных проектов, которые получили апробацию</div></div>
|
||||
</div>
|
||||
<div className="official_info">
|
||||
<h3 className="title_of">Общество с ограниченной ответственностью "СИГНАЛ БИТ"</h3>
|
||||
<p className="item_of">ИНН 6154166039</p>
|
||||
<p className="item_of">ОГРН 1236100028493</p>
|
||||
<p className="item_of">Ростовская область, г. Таганрог, ул. Лесная Биржа, д. 20-б, оф. 2 г</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="Achivment">
|
||||
<h3 className="title">
|
||||
Наши достижения
|
||||
</h3>
|
||||
<div className="content">
|
||||
<div className="achiv-block">
|
||||
<img src={dip1}/>
|
||||
<img src={dip2}/>
|
||||
</div>
|
||||
<div className="achiv-block">
|
||||
<img src={dip3}/>
|
||||
<img src={dip4}/>
|
||||
<img src={dip5}/>
|
||||
</div>
|
||||
<div className="achiv-block">
|
||||
<img src={dip6}/>
|
||||
<img src={dip7}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="contacts">
|
||||
<h3 className="title">Остались вопросы?</h3>
|
||||
<div className="email">
|
||||
<span>Напишите нам на почту</span>
|
||||
<img src={email}/>
|
||||
<a href="mailto:sigbit@yandex.ru">sigbit@yandex.ru</a>
|
||||
</div>
|
||||
<p className="to_user">
|
||||
Мы свяжемся с вами на следующий рабочий день
|
||||
и ответим на все интересующие вопросы.
|
||||
</p>
|
||||
</div>
|
||||
<img className="last_img" src={last_img}/>
|
||||
<div className="partners">
|
||||
<h3 className="title">Наши партнеры</h3>
|
||||
<img src={logo_sfedu} className="sfedu"/>
|
||||
<img src={logo_ictis} className="ictis"/>
|
||||
<img src={logo_integra} className="integra"/>
|
||||
</div>
|
||||
|
||||
<p className="footer">
|
||||
Проект выполнен при поддержке Фонда содействия развитию
|
||||
малых форм предприятий в научно-технической сфере
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default MobileVersion
|
||||
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,362 @@
|
||||
@import '../mixin.scss';
|
||||
.mobile{
|
||||
padding: 18px 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
.title{
|
||||
font-weight: 700;
|
||||
font-size: 20px;
|
||||
}
|
||||
p{
|
||||
font-size: 8px;
|
||||
color: #4d4d4d
|
||||
}
|
||||
.main_logo{
|
||||
width: 248px;
|
||||
height: 39px
|
||||
}
|
||||
.right_hand{
|
||||
display: flex;
|
||||
margin-top: 6px;
|
||||
.text{
|
||||
margin-left: 12px;
|
||||
}
|
||||
h3{
|
||||
margin: 0;
|
||||
margin-top: 18px;
|
||||
width: 100%;
|
||||
}
|
||||
img{
|
||||
width: 98px;
|
||||
height: 82px
|
||||
}
|
||||
}
|
||||
.left_hand{
|
||||
margin-top: 8px;
|
||||
display: flex;
|
||||
justify-content: right;
|
||||
flex-wrap: wrap;
|
||||
div{
|
||||
display: flex;
|
||||
}
|
||||
img{
|
||||
width: 101px;
|
||||
height: 65px
|
||||
}
|
||||
h3{
|
||||
margin: 0;
|
||||
margin-right: 12px;
|
||||
text-align: right;
|
||||
}
|
||||
p{
|
||||
width: 90%;
|
||||
margin: 0;
|
||||
margin-top: 8px;
|
||||
text-align: right;
|
||||
margin-right: 12px;
|
||||
}
|
||||
}
|
||||
.research{
|
||||
.title{
|
||||
margin: 0;
|
||||
margin-bottom: 8px;
|
||||
margin-top: 12px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
margin-left: 12px;
|
||||
width: calc(100% - 24px);
|
||||
img{
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
&:not(:last-child){
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
div h3{
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
div p{
|
||||
font-size: 8px;
|
||||
margin: 0
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.price_mob{
|
||||
// padding: 0 12px;
|
||||
width: 100%;
|
||||
.title{
|
||||
margin: 12px 0 8px 12px
|
||||
}
|
||||
.list{
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
margin-left: 12px;
|
||||
width: calc(100% - 24px);
|
||||
li{
|
||||
width: 100%;
|
||||
list-style-type: none;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
align-content: flex-start;
|
||||
img{
|
||||
width: 36px;
|
||||
height: 36px
|
||||
}
|
||||
.descr{
|
||||
margin-left: 12px;
|
||||
width: calc(100% - 48px);
|
||||
.name{
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.text_d{
|
||||
font-size: 8px;
|
||||
margin: 0;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.text_h{
|
||||
font-weight: 700;
|
||||
font-size: 7px;
|
||||
margin: 0;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
.text_u{
|
||||
font-size: 7px;
|
||||
margin: 0;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.squeaker{
|
||||
.title{
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.imgs{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 8px;
|
||||
.left, .middle, .right{
|
||||
height: 77px;
|
||||
}
|
||||
}
|
||||
p{
|
||||
margin-left: 12px;
|
||||
margin-top: 0;
|
||||
width: calc(100% - 24px);
|
||||
color: black;
|
||||
&:not(:last-child){
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.key_word{
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
}
|
||||
.demonstration{
|
||||
width: calc(100% - 24px);
|
||||
}
|
||||
.img-cont
|
||||
{
|
||||
display: flex;
|
||||
width: 40%;
|
||||
justify-content: space-between;
|
||||
img
|
||||
{
|
||||
height: 134px;
|
||||
}
|
||||
}
|
||||
.params{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
.title{
|
||||
margin-left: 12px;
|
||||
}
|
||||
.item{
|
||||
width: calc(100% - 24px);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
margin-left: 12px;
|
||||
img{
|
||||
width: 34px;
|
||||
height: 34px
|
||||
}
|
||||
p{
|
||||
margin: 0;
|
||||
margin-left: 12px;
|
||||
color: black
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.AboutUs
|
||||
{
|
||||
width: 94%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
img
|
||||
{
|
||||
height: 164px;
|
||||
}
|
||||
.block3
|
||||
{
|
||||
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
gap: 10px;
|
||||
font-size: 8px;
|
||||
.block3-cont
|
||||
{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
gap: 12px;
|
||||
|
||||
img
|
||||
{
|
||||
height:26px ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.Achivment
|
||||
{
|
||||
width: 94%;
|
||||
.content
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
.achiv-block
|
||||
{
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
height: 112px;
|
||||
img
|
||||
{
|
||||
height: 112px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.contacts{
|
||||
.title{
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.email{
|
||||
color: black;
|
||||
display: flex;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
font-size: 8px;
|
||||
margin-bottom: 8px;
|
||||
img{
|
||||
width: 12px;
|
||||
height: 9px;
|
||||
margin-right: 4px;
|
||||
margin-left: 12px
|
||||
}
|
||||
a{
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
&:focus{
|
||||
color: black
|
||||
}
|
||||
}
|
||||
}
|
||||
.to_user{
|
||||
color: black;
|
||||
width: 60%;
|
||||
margin: 0
|
||||
}
|
||||
}
|
||||
.last_img{
|
||||
width: 152px;
|
||||
height: 113px;
|
||||
margin: 0 auto;
|
||||
margin-top: 28px;
|
||||
}
|
||||
.partners{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
width: calc(100% - 24px);
|
||||
margin-bottom: 20px;
|
||||
.title{
|
||||
width: 100%;
|
||||
color: #4d4d4d;
|
||||
font-size: 8px;
|
||||
margin-top: 28px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.sfedu{
|
||||
width: 50px;
|
||||
height: 46px
|
||||
}
|
||||
.ictis{
|
||||
width: 76px;
|
||||
height: 33px
|
||||
}
|
||||
.integra{
|
||||
width: 110px;
|
||||
height: 29px
|
||||
}
|
||||
}
|
||||
.official_info{
|
||||
margin-top: 3%;
|
||||
width: 100%;
|
||||
margin-left: 12px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-content: flex-start;
|
||||
.title_of{
|
||||
width: 100%;
|
||||
font-size: 8px;
|
||||
color: #4d4d4d;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
margin-bottom: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
.item_of{
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
font-size: 8px;
|
||||
}
|
||||
}
|
||||
.footer{
|
||||
position: relative;
|
||||
padding: 0;
|
||||
color: #676767;
|
||||
font-size: 8px;
|
||||
text-align: center;
|
||||
margin-top: 18px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
import React, {Component} from "react";
|
||||
import "./aboutUs.scss";
|
||||
import photo1 from './img/photo1.png';
|
||||
import c3plus from './img/c_three.svg';
|
||||
import c3 from './img/c_three1.svg';
|
||||
import c5 from './img/c_five.svg';
|
||||
|
||||
|
||||
class AboutUs extends Component{
|
||||
render(){
|
||||
return(
|
||||
<div className="aboutUs">
|
||||
<div className="header-AboutUs"><b>Наша миссия – создавать безопасные<br/>технологичные решения</b></div>
|
||||
<div className="container-block">
|
||||
<div className="block1">
|
||||
<div><h2>Мы ИТ-компания</h2></div>
|
||||
<div className="text block-t">
|
||||
<div>Занимаемся разработкой безопасных программных и аппаратных решений, а также ИТ-консалтингом в сфере информационной безопасности.</div>
|
||||
<div>Залог нашего успеха – постоянное стремление к реализации стратегических целей компании.</div>
|
||||
<div>В нашей команде работают опытные специалисты в области проектирования и разработки программных и аппаратных решений,
|
||||
а также специалисты в области информационной безопасности.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="block2">
|
||||
<img src={photo1}/>
|
||||
</div>
|
||||
<div className="block3 text">
|
||||
<div className="block3-cont"><img src={c3plus}/><div>завершенные научно-исследовательские работы в рамках университета</div></div>
|
||||
<div className="block3-cont"><img src={c3}/><div>грантовые поддержки на реализацию технологических идей</div></div>
|
||||
<div className="block3-cont"><img src={c5}/><div>инновационных проектов, которые получили апробацию</div></div>
|
||||
</div>
|
||||
<div className="block4 text">
|
||||
<b>Общество с ограниченной ответственностью «СИГНАЛ-БИТ»</b>
|
||||
<div className="block4-cont">
|
||||
<div>ИНН 6154166039</div>
|
||||
<div>ОГРН 1236100028493</div>
|
||||
<div>Ростовская область, г. Таганрог, ул. Лесная Биржа, д. 20-б, оф. 2 </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default AboutUs
|
||||
@@ -0,0 +1,90 @@
|
||||
|
||||
@import '../../mixin.scss';
|
||||
|
||||
|
||||
.aboutUs{
|
||||
.block1
|
||||
{
|
||||
// @include adaptiv-height(190);
|
||||
// height: 190px;
|
||||
.block-t
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
row-gap: 10px;
|
||||
}
|
||||
|
||||
width: 60%;
|
||||
|
||||
}
|
||||
.block2
|
||||
{
|
||||
img
|
||||
{
|
||||
@include adaptiv-height(277);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
.block3
|
||||
{
|
||||
@include adaptiv-height(199);
|
||||
// height: 199px;
|
||||
width: 46.8%;
|
||||
margin-top: -3%;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
.block3-cont
|
||||
{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
gap: 12px;
|
||||
|
||||
img
|
||||
{
|
||||
@include adaptiv-height(45);
|
||||
}
|
||||
}
|
||||
}
|
||||
.block4
|
||||
{
|
||||
margin-top: 6%;
|
||||
@include adaptiv-height(88);
|
||||
// height: 88px;
|
||||
width: 50%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
|
||||
.block4-cont
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 7px;
|
||||
}
|
||||
}
|
||||
|
||||
.container-block
|
||||
{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
width: 98%;
|
||||
float: right;
|
||||
}
|
||||
|
||||
|
||||
.text
|
||||
{
|
||||
@include adaptiv-font(18,9);
|
||||
}
|
||||
|
||||
.header-AboutUs
|
||||
{
|
||||
@include adaptiv-font(45, 30);
|
||||
margin-left: 2%;
|
||||
}}
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg width="37" height="44" viewBox="0 0 37 44" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.29492 0.0507812H34.625V9.57227H15.4355L14.4102 16.0176C15.7383 15.3926 17.0469 14.9238 18.3359 14.6113C19.6445 14.2988 20.9336 14.1426 22.2031 14.1426C26.5 14.1426 29.9863 15.4414 32.6621 18.0391C35.3379 20.6367 36.6758 23.9082 36.6758 27.8535C36.6758 30.627 35.9824 33.293 34.5957 35.8516C33.2285 38.4102 31.2754 40.3633 28.7363 41.7109C26.2168 43.0586 22.9844 43.7324 19.0391 43.7324C16.207 43.7324 13.7754 43.4688 11.7441 42.9414C9.73242 42.3945 8.01367 41.5938 6.58789 40.5391C5.18164 39.4648 4.03906 38.2539 3.16016 36.9062C2.28125 35.5586 1.54883 33.8789 0.962891 31.8672L13.0332 30.5488C13.3262 32.4824 14.0098 33.957 15.084 34.9727C16.1582 35.9688 17.4375 36.4668 18.9219 36.4668C20.582 36.4668 21.9492 35.8418 23.0234 34.5918C24.1172 33.3223 24.6641 31.4375 24.6641 28.9375C24.6641 26.3789 24.1172 24.5039 23.0234 23.3125C21.9297 22.1211 20.4746 21.5254 18.6582 21.5254C17.5059 21.5254 16.3926 21.8086 15.3184 22.375C14.5176 22.7852 13.6387 23.5273 12.6816 24.6016L2.51562 23.1367L6.29492 0.0507812Z" fill="#00536A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="74" height="45" viewBox="0 0 74 45" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.0332 13.4727L0.753906 11.4512C1.69141 7.85742 3.48828 5.10352 6.14453 3.18945C8.82031 1.27539 12.5996 0.318359 17.4824 0.318359C23.0879 0.318359 27.1406 1.36328 29.6406 3.45312C32.1406 5.54297 33.3906 8.16992 33.3906 11.334C33.3906 13.1895 32.8828 14.8691 31.8672 16.373C30.8516 17.877 29.3184 19.1953 27.2676 20.3281C28.9277 20.7383 30.1973 21.2168 31.0762 21.7637C32.502 22.6426 33.6055 23.8047 34.3867 25.25C35.1875 26.6758 35.5879 28.3848 35.5879 30.377C35.5879 32.877 34.9336 35.2793 33.625 37.584C32.3164 39.8691 30.4316 41.6367 27.9707 42.8867C25.5098 44.1172 22.2773 44.7324 18.2734 44.7324C14.3672 44.7324 11.2812 44.2734 9.01562 43.3555C6.76953 42.4375 4.91406 41.0996 3.44922 39.3418C2.00391 37.5645 0.890625 35.3379 0.109375 32.6621L12.0332 31.0801C12.502 33.4824 13.2246 35.1523 14.2012 36.0898C15.1973 37.0078 16.457 37.4668 17.9805 37.4668C19.582 37.4668 20.9102 36.8809 21.9648 35.709C23.0391 34.5371 23.5762 32.9746 23.5762 31.0215C23.5762 29.0293 23.0586 27.4863 22.0234 26.3926C21.0078 25.2988 19.6211 24.752 17.8633 24.752C16.9258 24.752 15.6367 24.9863 13.9961 25.4551L14.6113 16.9297C15.2754 17.0273 15.793 17.0762 16.1641 17.0762C17.7266 17.0762 19.0254 16.5781 20.0605 15.582C21.1152 14.5859 21.6426 13.4043 21.6426 12.0371C21.6426 10.7285 21.252 9.68359 20.4707 8.90234C19.6895 8.12109 18.6152 7.73047 17.248 7.73047C15.8418 7.73047 14.6992 8.16016 13.8203 9.01953C12.9414 9.85938 12.3457 11.3437 12.0332 13.4727ZM41.7402 17.8086H52.9609V6.5293H62.4238V17.8086H73.7031V27.3008H62.4238V38.5215H52.9609V27.3008H41.7402V17.8086Z" fill="#00536A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="36" height="45" viewBox="0 0 36 45" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.0332 13.4727L0.753906 11.4512C1.69141 7.85742 3.48828 5.10352 6.14453 3.18945C8.82031 1.27539 12.5996 0.318359 17.4824 0.318359C23.0879 0.318359 27.1406 1.36328 29.6406 3.45312C32.1406 5.54297 33.3906 8.16992 33.3906 11.334C33.3906 13.1895 32.8828 14.8691 31.8672 16.373C30.8516 17.877 29.3184 19.1953 27.2676 20.3281C28.9277 20.7383 30.1973 21.2168 31.0762 21.7637C32.502 22.6426 33.6055 23.8047 34.3867 25.25C35.1875 26.6758 35.5879 28.3848 35.5879 30.377C35.5879 32.877 34.9336 35.2793 33.625 37.584C32.3164 39.8691 30.4316 41.6367 27.9707 42.8867C25.5098 44.1172 22.2773 44.7324 18.2734 44.7324C14.3672 44.7324 11.2812 44.2734 9.01562 43.3555C6.76953 42.4375 4.91406 41.0996 3.44922 39.3418C2.00391 37.5645 0.890625 35.3379 0.109375 32.6621L12.0332 31.0801C12.502 33.4824 13.2246 35.1523 14.2012 36.0898C15.1973 37.0078 16.457 37.4668 17.9805 37.4668C19.582 37.4668 20.9102 36.8809 21.9648 35.709C23.0391 34.5371 23.5762 32.9746 23.5762 31.0215C23.5762 29.0293 23.0586 27.4863 22.0234 26.3926C21.0078 25.2988 19.6211 24.752 17.8633 24.752C16.9258 24.752 15.6367 24.9863 13.9961 25.4551L14.6113 16.9297C15.2754 17.0273 15.793 17.0762 16.1641 17.0762C17.7266 17.0762 19.0254 16.5781 20.0605 15.582C21.1152 14.5859 21.6426 13.4043 21.6426 12.0371C21.6426 10.7285 21.252 9.68359 20.4707 8.90234C19.6895 8.12109 18.6152 7.73047 17.248 7.73047C15.8418 7.73047 14.6992 8.16016 13.8203 9.01953C12.9414 9.85938 12.3457 11.3437 12.0332 13.4727Z" fill="#00536A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 127 KiB |
@@ -0,0 +1,42 @@
|
||||
import React, {Component} from "react";
|
||||
import "./callback.scss";
|
||||
import logo_sfedu from "./img/logo_sfedu.png";
|
||||
import logo_ictis from "./img/logo_ictis.png";
|
||||
import logo_integra from "./img/logo_integra.png";
|
||||
import right_img from "./img/right_img.png";
|
||||
import email from "./img/email.png"
|
||||
|
||||
class Callback extends Component{
|
||||
render(){
|
||||
return(
|
||||
<div className="callback">
|
||||
<div className="left_block">
|
||||
<div className="email-block">
|
||||
<h3 className="title">Остались вопросы?</h3>
|
||||
<div className="email">
|
||||
<span>Напишите нам на почту</span>
|
||||
<img src={email}/>
|
||||
<a href="mailto:sigbit@yandex.ru">sigbit@yandex.ru</a>
|
||||
</div>
|
||||
<span className="connect">Мы свяжемся с Вами на следующий рабочий день и ответим на все интересующие вопросы.</span>
|
||||
</div>
|
||||
<div className="img-block">
|
||||
<img className="right_img" src={right_img}/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="partners">
|
||||
<div className="partner_list">
|
||||
<h3 className="title">Наши партнеры</h3>
|
||||
<img className="sfedu" src={logo_sfedu}/>
|
||||
<img className="ictis" src={logo_ictis}/>
|
||||
<img className="integra" src={logo_integra}/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Callback
|
||||
@@ -0,0 +1,122 @@
|
||||
.callback{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
height: calc(100vh - 108px);
|
||||
padding: 0 32px;
|
||||
.left_block{
|
||||
// height: 100%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
.email-block{
|
||||
width: 50%;
|
||||
height: calc(100% - 188px);
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
.title{
|
||||
font-weight: 700;
|
||||
font-size: 55px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.email{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: black;
|
||||
font-size: 25px;
|
||||
margin-bottom: 12px;
|
||||
a{
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
margin-left: 8px;
|
||||
}
|
||||
&:focus{
|
||||
color: black;
|
||||
}
|
||||
&:hover{
|
||||
cursor: pointer;
|
||||
}
|
||||
img{
|
||||
height: 19px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
}
|
||||
.connect{
|
||||
font-size: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.img-block{
|
||||
width: 50%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
.right_img{
|
||||
width: 671px;
|
||||
height: 498px
|
||||
}
|
||||
}
|
||||
}
|
||||
.partners{
|
||||
width: 100%;
|
||||
margin-bottom: 50px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
align-content: center;
|
||||
align-items: center;
|
||||
.partner_list{
|
||||
width: 50%;
|
||||
.title{
|
||||
width: 100%;
|
||||
font-size: 25px;
|
||||
color: #4d4d4d;
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.sfedu{
|
||||
width: 107px;
|
||||
height: 99px
|
||||
}
|
||||
.integra{
|
||||
width: 235px;
|
||||
height: 61px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
.ictis{
|
||||
width: 161px;
|
||||
height: 71px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
}
|
||||
.official_info{
|
||||
width: 50%;
|
||||
height: 142px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: right;
|
||||
.title{
|
||||
width: 100%;
|
||||
font-size: 20px;
|
||||
color: #4d4d4d;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
margin-bottom: 5px;
|
||||
text-align: right;
|
||||
}
|
||||
.item{
|
||||
text-align: right;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 100 KiB |
@@ -0,0 +1,96 @@
|
||||
import React, {Component} from "react";
|
||||
import "./createFC.scss";
|
||||
import img1 from './img/img1.png';
|
||||
import img2 from './img/img2.png';
|
||||
import img3 from './img/img3.png';
|
||||
import fc from './img/fc1.png';
|
||||
|
||||
import z1 from './img/z1.svg';
|
||||
import z2 from './img/z2.svg';
|
||||
import z3 from './img/z3.svg';
|
||||
import z4 from './img/z4.svg';
|
||||
import z5 from './img/z5.svg';
|
||||
import z6 from './img/z6.svg';
|
||||
import z7 from './img/z7.svg';
|
||||
|
||||
class CreateFC extends Component{
|
||||
constructor(props){
|
||||
super(props)
|
||||
}
|
||||
render(){
|
||||
return(
|
||||
<div className="createFC">
|
||||
<div className="contSens-part1">
|
||||
<div className="column1">
|
||||
<div className="column1-head"><b>Полётный контроллер для беспилотных автоматизированных систем</b></div>
|
||||
<div className="column1-body">
|
||||
<div><b>Это электронное устройство, управляющее полетом летательного аппарата, с собственным микропрограммным обеспечением. </b>Контроллер выполнен в модульной архитектуре - инерциальное измерительное устройство вынесено в отдельный виброразвязанный блок, что позволяет улучшить качество стабилизации и навигации.</div>
|
||||
<div className="column1-body-content">
|
||||
<div className="column1-body-content-text">
|
||||
<div className="short-text">Полетный контроллер выполнен с расчётом на дальнейшую интеграцию в БПЛА с различными системами - для этого разработчикам доступны UART-порты для работы с протоколом MAVLink, GPS-приёмниками, другими внешними датчиками/навигационными системами или исполнительными устройствами. </div>
|
||||
<div className="short-text">На плате предусмотрены I2C, SPI порты, что расширяет спектр внешних устройств, которые можно использовать в разработке.</div>
|
||||
<div className="short-text">Для управления БПЛА с данным полётным контроллером можно использовать как ручное управление (различные приёмопередатчики на протоколах S-Bus, CRSF (ELRS), так и внешний компьютер-компаньон.</div>
|
||||
|
||||
</div>
|
||||
<div className="column1-body-content-img">
|
||||
<img src={fc}/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="column2">
|
||||
<img src={img1}/>
|
||||
<img src={img2}/>
|
||||
<img src={img3}/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="contSens">
|
||||
<div className="part2-head">
|
||||
<b>Характерные параметры устройства</b>
|
||||
</div>
|
||||
<div className="part2-body">
|
||||
<div className="part2-column c1">
|
||||
<div className="part2-column-cont">
|
||||
<img src={z1}/>
|
||||
<div>Собственное аппаратное и программное решение</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z2}/>
|
||||
<div>Режим совместимости с открытыми прошивками коммерческих производителей полетных контроллеров</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z3}/>
|
||||
<div>Открытая схема платформы для реализации своего автопилота</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z4}/>
|
||||
<div><b>Стоимость продукта</b><br/>7,2 тыс. руб.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div className="part2-column c2">
|
||||
<div className="part2-column-cont">
|
||||
<img src={z5}/>
|
||||
<div>Возможность установить на БПЛА мультироторного типа с различным числом лучей</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z6}/>
|
||||
<div>Минимальная проприетарная зависимость, обеспечиваемая модульностью</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z7}/>
|
||||
<div>Возможность комбинирования навигационных систем, повышение отказоустойчивости глобальных навигационных систем</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default CreateFC
|
||||
@@ -0,0 +1,132 @@
|
||||
@import '../../mixin.scss';
|
||||
|
||||
.createFC
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.contSens-part1
|
||||
{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
.column1
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-evenly;
|
||||
// gap: 2%;
|
||||
|
||||
.column1-head
|
||||
{
|
||||
@include adaptiv-font(45,30);
|
||||
width: 100%;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
b
|
||||
{
|
||||
width: 92%;
|
||||
}
|
||||
}
|
||||
.column1-body
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 92%;
|
||||
gap: 22px;
|
||||
@include adaptiv-font(16,5);
|
||||
|
||||
}
|
||||
.column1-body-content
|
||||
{
|
||||
display: flex;
|
||||
|
||||
|
||||
.column1-body-content-text
|
||||
{
|
||||
width: 64%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center !important;
|
||||
gap: 22px;
|
||||
.short-text
|
||||
{
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
.column1-body-content-img
|
||||
{
|
||||
margin-right: 5%;
|
||||
width: 36%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@include adaptiv-height(220);
|
||||
img
|
||||
{
|
||||
@include adaptiv-height(220);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.column2
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
img
|
||||
{
|
||||
@include adaptiv-height(185);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.part2-head
|
||||
{
|
||||
|
||||
margin-top: 1%;
|
||||
font-weight:700;
|
||||
|
||||
@include adaptiv-font(45,30);
|
||||
|
||||
}
|
||||
|
||||
|
||||
.part2-body
|
||||
{
|
||||
margin-top: 3%;
|
||||
margin-bottom: 3%;
|
||||
display: flex;
|
||||
width: 98%;
|
||||
justify-content: space-between;
|
||||
@include adaptiv-font(16,5);
|
||||
.part2-column
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
.c1
|
||||
{
|
||||
gap: 30px;
|
||||
}
|
||||
.c2
|
||||
{
|
||||
gap: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
.part2-column-cont
|
||||
{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,101 @@
|
||||
import React, {Component} from "react";
|
||||
import "./createSensor.scss";
|
||||
import img1 from "./img/img1.png";
|
||||
import img2 from "./img/img2.png";
|
||||
import img3 from "./img/img3.png";
|
||||
|
||||
import sen1 from "./img/sen1.png";
|
||||
import sen2 from "./img/sen2.png";
|
||||
|
||||
import z1 from "./img/z1.svg";
|
||||
import z2 from "./img/z2.svg";
|
||||
import z3 from "./img/z3.svg";
|
||||
import z4 from "./img/z4.svg";
|
||||
import z5 from "./img/z5.svg";
|
||||
import z6 from "./img/z6.svg";
|
||||
import z7 from "./img/z7.svg";
|
||||
|
||||
class createSensor extends Component{
|
||||
constructor(props){
|
||||
super(props)
|
||||
}
|
||||
render(){
|
||||
return(
|
||||
<div className="createSensor">
|
||||
<div className="contSens-part1">
|
||||
<div className="column1">
|
||||
<div className="column1-head"><b>Сенсор для обнаружения<br/>радиоуправлемых устройств</b></div>
|
||||
<div className="column1-body">
|
||||
<div><b>Это программно-аппаратное устройство для детектирования беспилотных автоматизированных систем (БАС) и других радиоуправляемых устройств. </b>Устройство с помощью сенсора анализарует радиочастотный спектр путем прохождения по каждой частоте по несколько итераций в зависимости от наличия сигнала, а алгоритм обнаружения позволяет идентифицировать зафиксированную частоту.</div>
|
||||
<div className="column1-body-content">
|
||||
<div className="column1-body-content-text">
|
||||
<div>Устройство сканирует диапазоны частот 820-920 МГц, 2,4-2,485 ГГц, 5,6-5,9 ГГц. </div>
|
||||
<div className="short-text">На каждом канале проводится обработка сигнала, который отображается как в консоли, так и на столбчатой диаграмме, выводящейся на дисплей.</div>
|
||||
<div className="short-text">При обнаружении сигнала срабатывает зуммер, который издает звуковой сигнал, предупреждающий о наличии активности на данном радиочастотном диапазоне.</div>
|
||||
<div className="short-text">Ключевой особенностью алгоритма анализа радиочастотного спектра является гибкое взаимодействие с пользователем благодаря возможности смены режимов через нажатие кнопок и свето-звуковому сопровождению опасности БАС.</div>
|
||||
</div>
|
||||
<div className="column1-body-content-img">
|
||||
<img src={sen1}/>
|
||||
<img src={sen2}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="column2">
|
||||
<img src={img1}/>
|
||||
<img src={img2}/>
|
||||
<img src={img3}/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="contSens">
|
||||
<div className="part2-head">
|
||||
<b>Характерные параметры устройства</b>
|
||||
</div>
|
||||
<div className="part2-body">
|
||||
<div className="part2-column c1">
|
||||
<div className="part2-column-cont">
|
||||
<img src={z1}/>
|
||||
<div>Возможность сканирования диапазонов частот 820-920 МГц, 2,4-2,485 ГГц, 5,6-5,9 ГГц</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z2}/>
|
||||
<div>Звуковое и световое оповещение пользователя при обнаружении БАС или радиоуправляемого устройства</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z3}/>
|
||||
<div>Возможность работы в трех режимах:
|
||||
- сканирование радиочастотного спектра без обнаружения,
|
||||
- сканирование радиочастотного спектра с применением алгоритмов обнаружения,
|
||||
- глушение</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z4}/>
|
||||
<div><b>Стоимость продукта</b><br/>7 тыс. руб.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div className="part2-column c2">
|
||||
<div className="part2-column-cont">
|
||||
<img src={z5}/>
|
||||
<div>Наличие алгоритма обнаружения, который определяет опасность по ширине столбцов, плотности сигнала или по количеству истинных срабатываний</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z6}/>
|
||||
<div>Дальность работы в пределах 2 км с сектором получения данных в 140</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={z7}/>
|
||||
<div>Возможность использовать как индивидуальное носимое устройство и выносимое на стойке устройство</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default createSensor
|
||||
@@ -0,0 +1,125 @@
|
||||
@import '../../mixin.scss';
|
||||
|
||||
.createSensor
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.contSens-part1
|
||||
{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
.column1
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
// gap: 2%;
|
||||
|
||||
.column1-head
|
||||
{
|
||||
@include adaptiv-font(45,30);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
b
|
||||
{
|
||||
width: 92%;
|
||||
}
|
||||
}
|
||||
.column1-body
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 92%;
|
||||
@include adaptiv-font(16,5);
|
||||
|
||||
}
|
||||
.column1-body-content
|
||||
{
|
||||
display: flex;
|
||||
|
||||
|
||||
.column1-body-content-text
|
||||
{
|
||||
width: 64%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: end;
|
||||
gap: 9%;
|
||||
.short-text
|
||||
{
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
.column1-body-content-img
|
||||
{
|
||||
width: 36%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@include adaptiv-height(341);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.column2
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
img
|
||||
{
|
||||
@include adaptiv-height(185);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.part2-head
|
||||
{
|
||||
|
||||
margin-top: 1%;
|
||||
font-weight:700;
|
||||
|
||||
@include adaptiv-font(45,30);
|
||||
|
||||
}
|
||||
|
||||
|
||||
.part2-body
|
||||
{
|
||||
@include adaptiv-font(16,5);
|
||||
margin-top: 3%;
|
||||
margin-bottom: 3%;
|
||||
display: flex;
|
||||
width: 98%;
|
||||
justify-content: space-between;
|
||||
.part2-column
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
.c1
|
||||
{
|
||||
gap: 30px;
|
||||
}
|
||||
.c2
|
||||
{
|
||||
gap: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
.part2-column-cont
|
||||
{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,131 @@
|
||||
import React, {Component} from "react";
|
||||
import "./creations.css";
|
||||
import top_img from "./img/top.png";
|
||||
import middle_img from "./img/middle.png";
|
||||
import bottom_img from "./img/bottom.png";
|
||||
import creation_1 from "./img/creation_1.png";
|
||||
import creation_2 from "./img/creation_2.png";
|
||||
import creation_3 from "./img/creation_3.png";
|
||||
import creation_4 from "./img/creation_4.png";
|
||||
import creation_5 from "./img/creation_5.png";
|
||||
import creation_6 from "./img/creation_6.png";
|
||||
import money from "./img/money.png";
|
||||
|
||||
class Creations extends Component{
|
||||
constructor(props){
|
||||
super(props)
|
||||
|
||||
this.cr_2_descr = [
|
||||
"Возможность выявления и классификации БПЛА в радиочастотном диапазоне с повышенной точностью",
|
||||
"Выявление координат БПЛА и расстояние до БПЛА",
|
||||
"Определение функциональных возможностей БПЛА на основе собранной о нем информации",
|
||||
"Определение типа сценария для активного противодействия БПЛА позволяющего повысить эффективность системы защиты и безопасность охраняемого объекта критической информационной инфраструктуры",
|
||||
"Возможность интеграции с существующими решениями по противодействию БПЛА с целью повышения эффективности их работы, в частности, для управления системами глушения связи и реализации интеллектуального глушения",
|
||||
"Повышенная длительность работы за счет переключения между режимами пассивного ожидания и активного противодействия",
|
||||
]
|
||||
this.cr_2_imgs = [
|
||||
creation_1,
|
||||
creation_2,
|
||||
creation_3,
|
||||
creation_4,
|
||||
creation_5,
|
||||
creation_6,
|
||||
]
|
||||
}
|
||||
render(){
|
||||
return(
|
||||
<div className="creations">
|
||||
<div className="creation_1">
|
||||
<div className="descr">
|
||||
<h3 className="title">
|
||||
«Канарейка» для обнаружения аномалий и радиоуправляемых устройств
|
||||
</h3>
|
||||
<p className="top_text">
|
||||
<span className="key_word">
|
||||
Это интеллектуальная система детектирования и противодействия
|
||||
беспилотным автоматизированным системам (БАС) для объектов
|
||||
критической информационной инфраструктуры.
|
||||
</span> Система с помощью
|
||||
сенсора сканирует наиболее популярные диапазоны,
|
||||
в которых работают БАС, и на основе анализа радиочастотного
|
||||
диапазона и спектра определяет тип БАС, который был зафиксирован.
|
||||
</p>
|
||||
<div className="img_text">
|
||||
<div className="img_text_list">
|
||||
<p>
|
||||
Определение конкретного типа БАС позволяет
|
||||
выбрать наилучший сценарий противодействия,
|
||||
а также сделать предположение о том, какую цель
|
||||
преследует нарушитель.
|
||||
</p>
|
||||
<p>
|
||||
Модуль противодействия реализует сценарии
|
||||
атак на БАС, чтобы предотвратить приченение
|
||||
вреда объекту критической информационной
|
||||
инфраструктуры.
|
||||
</p>
|
||||
<p>
|
||||
Модульность системы позволяет проводить
|
||||
анализ окружающей среды в режиме реального времени,
|
||||
а также своевременно применять контрмеры для
|
||||
повышения защиты и безопасности защищаемого объекта.
|
||||
</p>
|
||||
</div>
|
||||
<video autoPlay loop="loop" muted>
|
||||
<source src="./demonstration.mp4" type="video/mp4"/>
|
||||
</video>
|
||||
</div>
|
||||
</div>
|
||||
<div className="imgs">
|
||||
<img className="top" src={top_img}/>
|
||||
<img className="middle" src={middle_img}/>
|
||||
<img className="bottom" src={bottom_img}/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="creation_2">
|
||||
<h3 className="title">Характерные параметры системы</h3>
|
||||
<div className="part2-body">
|
||||
<div className="part2-column c1">
|
||||
<div className="part2-column-cont">
|
||||
<img src={creation_1}/>
|
||||
<div>Возможность выявления и классификации БПЛА в радиочастотном диапазоне
|
||||
с повышенной точностью</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={creation_3}/>
|
||||
<div>Определение функциональных возможностей БПЛА на основе собранной о нем информации</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={creation_5}/>
|
||||
<div>Возможность интеграции с существующими решениями по противодействию БПЛА с целью повышения эффективности их работы, в частности, для управления системами глушения связи и реализации интеллектуального глушения</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={money}/>
|
||||
<div><b>Стоимость продукта</b><br/>80 тыс. руб.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div className="part2-column c2">
|
||||
<div className="part2-column-cont">
|
||||
<img src={creation_2}/>
|
||||
<div>Выявление координат БПЛА и расстояние до БПЛА</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={creation_4}/>
|
||||
<div>Определение типа сценария для активного противодействия БПЛА позволяющего повысить эффективность системы защиты и безопасность охраняемого объекта критической информационной инфраструктуры</div>
|
||||
</div>
|
||||
<div className="part2-column-cont">
|
||||
<img src={creation_6}/>
|
||||
<div>Повышенная длительность работы за счет переключения между режимами пассивного ожидания и активного противодействия</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Creations
|
||||
@@ -0,0 +1,196 @@
|
||||
.creations{
|
||||
width: 100vw;
|
||||
height: calc(100vh - 80px);
|
||||
min-height: 820px;
|
||||
/* max-height: calc(100vh - 108px); */
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 0;
|
||||
/* overflow-y: scroll; */
|
||||
}
|
||||
.creations::-webkit-scrollbar{
|
||||
display: none;
|
||||
}
|
||||
.creations .creation_1{
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
height: 100%;
|
||||
/* overflow-y: hidden; */
|
||||
}
|
||||
.creations .creation_1 .descr{
|
||||
width: 80%;
|
||||
margin: 32px 32px 0 32px;
|
||||
}
|
||||
.creations .creation_1 .descr .title{
|
||||
margin: 0;
|
||||
font-weight: 700;
|
||||
font-size: 55px;
|
||||
}
|
||||
.creations .creation_1 .descr .top_text{
|
||||
margin-top: 25px;
|
||||
font-size: 20px;
|
||||
}
|
||||
.creations .creation_1 .descr .top_text .key_word{
|
||||
font-weight: 700;
|
||||
}
|
||||
.creations .creation_1 .descr .img_text{
|
||||
display: block;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.creations .creation_1 .descr .img_text_list{
|
||||
width: 30%;
|
||||
}
|
||||
.creations .creation_1 .descr .img_text_list p{
|
||||
margin: 0;
|
||||
margin-right: 20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
.creations .creation_1 .descr .img_text_list p:not(:last-child){
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.creations .creation_1 .descr video{
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.creations .creation_1 .imgs{
|
||||
width: 20%;
|
||||
height: calc(100% - 28px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: flex-end;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.creations .creation_1 .imgs .top{
|
||||
width: 95%;
|
||||
}
|
||||
.creations .creation_1 .imgs .middle{
|
||||
width: 100%;
|
||||
}
|
||||
.creations .creation_1 .imgs .bottom{
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
.creations .creation_2{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
.creations .creation_2 .title{
|
||||
font-weight: 700;
|
||||
font-size: 55px;
|
||||
margin: 50px 0 50px 32px
|
||||
}
|
||||
.creations .creation_2 .list{
|
||||
width: calc(100% - 64px);
|
||||
/* height: calc(100% - 64px - 50px - 50px - 50px) */
|
||||
height: calc(100% - 64px - 50px - 50px - 130px);
|
||||
padding: 0 32px;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
align-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.creations .creation_2 .list li{
|
||||
width: calc(50% - 32px);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
}
|
||||
.creations .creation_2 .list li:nth-child(1),
|
||||
.creations .creation_2 .list li:nth-child(3),
|
||||
.creations .creation_2 .list li:nth-child(5){
|
||||
margin-right: 32px;
|
||||
}
|
||||
|
||||
.creations .creation_2 .list li img{
|
||||
width: 100px;
|
||||
height: 100px
|
||||
}
|
||||
.creations .creation_2 .list li span{
|
||||
font-size: 25px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
|
||||
@media(max-width: 1900px){
|
||||
.creations{
|
||||
min-height: 800px;
|
||||
}
|
||||
}
|
||||
@media(max-width: 1800px){
|
||||
.creations{
|
||||
min-height: 780px;
|
||||
}
|
||||
}
|
||||
@media(max-width: 1700px){
|
||||
.creations{
|
||||
min-height: 750px;
|
||||
}
|
||||
}
|
||||
@media(max-width: 1600px){
|
||||
.creations{
|
||||
min-height: 750px;
|
||||
}
|
||||
}
|
||||
@media(max-width: 1500px){
|
||||
.creations{
|
||||
min-height: 590px;
|
||||
}
|
||||
}
|
||||
@media(max-width: 1400px){
|
||||
.creations{
|
||||
min-height: 630px;
|
||||
}
|
||||
}
|
||||
@media(max-width: 1500px){
|
||||
.creations .creation_1 .descr .title{
|
||||
font-size: 45px;
|
||||
}
|
||||
.creations .creation_1 .descr video{
|
||||
width: 50%;
|
||||
}
|
||||
.creations .creation_1 .descr .img_text_list{
|
||||
width: 50%;
|
||||
}
|
||||
.creations .creation_2 .title{
|
||||
font-size: 45px;
|
||||
margin: 30px 0 30px 32px
|
||||
}
|
||||
.creations .creation_2 .list li span{
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.part2-body
|
||||
{
|
||||
margin-top: 3%;
|
||||
display: flex;
|
||||
width: 98%;
|
||||
justify-content: space-between;
|
||||
.part2-column
|
||||
{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
.c1
|
||||
{
|
||||
gap: 30px;
|
||||
}
|
||||
.c2
|
||||
{
|
||||
gap: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
.part2-column-cont
|
||||
{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32px;
|
||||
}
|
||||
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 93 KiB |
@@ -0,0 +1,44 @@
|
||||
import React, {Component} from "react";
|
||||
import "./fieldsOfActivity.css";
|
||||
import research from "./img/research.png";
|
||||
import new_products from "./img/new_products.png";
|
||||
import teaching from "./img/teaching.png";
|
||||
|
||||
class FieldsOfActivity extends Component{
|
||||
constructor(props){
|
||||
super(props)
|
||||
this.titles = [
|
||||
"Научные исследования и разработки",
|
||||
"Разработка новых программных и аппаратных решений",
|
||||
"Обучение и консультация в сфере безопасности"
|
||||
]
|
||||
this.descr = [
|
||||
"Постоянное изучение новых технологий, исследование фундаментальных принципов и создание новых научных и инженерных решений.",
|
||||
"Весь цикл разработки, начиная от проектирования и заканчивая созданием, строится с учётом требований к доверенной разработке, что очень важно для обеспечения безопасности.",
|
||||
"Помогаем развивать компетенции и принимать эффективные меры для предотвращения угроз и минимизации рисков безопасности. Также предоставляем эффективные рекомендации, советы и экспертное мнение по вопросам безопасности."
|
||||
]
|
||||
this.imgs = [
|
||||
research,
|
||||
new_products,
|
||||
teaching
|
||||
]
|
||||
}
|
||||
render(){
|
||||
return(
|
||||
<div className="fieldsOfActivity">
|
||||
<h3 className="title">Чем мы занимаемся</h3>
|
||||
{this.titles.map((item, index) => {
|
||||
return <div className="img-item" key={index}>
|
||||
<img src={this.imgs[index]}/>
|
||||
<div className="descr">
|
||||
<h2>{item}</h2>
|
||||
<span>{this.descr[index]}</span>
|
||||
</div>
|
||||
</div>
|
||||
})}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default FieldsOfActivity
|
||||
@@ -0,0 +1,49 @@
|
||||
.fieldsOfActivity{
|
||||
padding: 32px 32px 0;
|
||||
}
|
||||
.fieldsOfActivity .title{
|
||||
font-weight: 700;
|
||||
font-size: 55px;
|
||||
margin: 0;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
.fieldsOfActivity .img-item{
|
||||
padding-right: 32px;
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
}
|
||||
.fieldsOfActivity .img-item:not(:last-child){
|
||||
margin-bottom: 42px;
|
||||
}
|
||||
.fieldsOfActivity .img-item img{
|
||||
width: 150px;
|
||||
height: 150px
|
||||
}
|
||||
.fieldsOfActivity .img-item .descr{
|
||||
margin-left: 80px;
|
||||
}
|
||||
.fieldsOfActivity .img-item .descr h2{
|
||||
margin: 0;
|
||||
font-weight: 700;
|
||||
font-size: 40px;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.fieldsOfActivity .img-item .descr span{
|
||||
font-size: 18px;
|
||||
color: #4d4d4d
|
||||
}
|
||||
|
||||
@media(max-width: 1500px){
|
||||
.fieldsOfActivity .title{
|
||||
font-size: 45px;
|
||||
}
|
||||
.fieldsOfActivity .img-item img{
|
||||
width: 120px;
|
||||
height: 120px
|
||||
}
|
||||
.fieldsOfActivity .img-item:not(:last-child){
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
@@ -0,0 +1,17 @@
|
||||
import React, {Component} from "react";
|
||||
import "./footer.css";
|
||||
|
||||
class Footer extends Component{
|
||||
render(){
|
||||
return(
|
||||
<div className="footer">
|
||||
<span>
|
||||
Проект выполнен при поддержке Фонда содействия развитию
|
||||
малых форм предприятий в научно-технической сфере
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Footer
|
||||
@@ -0,0 +1,12 @@
|
||||
.footer{
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
background-color: #ffffff;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.footer span{
|
||||
margin-left: 32px;
|
||||
font-size: 13px;
|
||||
color: #676767
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
import React, {Component, useState } from "react";
|
||||
import "./header.scss";
|
||||
import logo from "./img/logo.png";
|
||||
|
||||
function Header(props){
|
||||
|
||||
|
||||
|
||||
return(
|
||||
<div className="header">
|
||||
<img className="logo" src={logo} onClick={() => {props.changeCMP(0)}}/>
|
||||
<div className="modules">
|
||||
<a href="#" onClick={() => {props.changeCMP(1)}}>Направления деятельности</a>
|
||||
<a href="#" onClick={() => {props.changeCMP(3)}}>Услуги</a>
|
||||
|
||||
<div className="dropdown">
|
||||
<a className="dropbtn">Продукты</a>
|
||||
<div className="dropdown-content">
|
||||
<a href="#" onClick={() => {props.changeCMP(2)}}>Канарейка</a>
|
||||
<a href="#" onClick={() => {props.changeCMP(7)}}>Сенсор</a>
|
||||
<a href="#" onClick={() => {props.changeCMP(6)}}>Полётный контроллер</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a href="#" onClick={() => {props.changeCMP(5)}}>О нас</a>
|
||||
<a href="#" onClick={() => {props.changeCMP(8)}}>Наши достижения</a>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<button className="contact_us" onClick={() => {props.changeCMP(4)}}>Свяжитесь с нами</button>
|
||||
</div>
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
export default Header
|
||||
@@ -0,0 +1,110 @@
|
||||
.header{
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
width: calc(100% - 60px);
|
||||
height: 80px;
|
||||
background-color: #3B3A3B;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
font-size: 15px !important;
|
||||
// overflow: hidden;
|
||||
padding: 0 30px;
|
||||
.logo{
|
||||
width: 251px;
|
||||
height: 45px
|
||||
}
|
||||
.modules{
|
||||
width: 50%;
|
||||
color: #ffffff;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
a{
|
||||
font-size: 15px;
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
transition-duration: .4s;
|
||||
padding: 10px 10px;
|
||||
border-radius: 50px;
|
||||
&:focus{
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.contact_us{
|
||||
font-size: 15px;
|
||||
width: 200px;
|
||||
height: 40px;
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
border: 1px solid #ffffff;
|
||||
border-radius: 50px;
|
||||
transition-duration: .4s;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media(hover:hover){
|
||||
.header .modules a:hover{
|
||||
background-color: #777777;
|
||||
}
|
||||
.header .contact_us:hover{
|
||||
cursor: pointer;
|
||||
background-color: #777777;
|
||||
}
|
||||
.header .logo:hover{
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.dropbtn {
|
||||
background-color: #3B3A3B;
|
||||
color: white;
|
||||
padding: 16px;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.dropdown-content {
|
||||
margin-top: 10px;
|
||||
padding-top: 10px;
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: rgba(59, 58, 59, 0.8);
|
||||
min-width: 160px;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
||||
z-index: 3;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.dropdown-content a {
|
||||
color: black;
|
||||
padding: 12px 16px;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropdown-content a:hover {
|
||||
background-color: #ae2a2a;
|
||||
}
|
||||
|
||||
.dropdown:hover .dropdown-content {
|
||||
display: block;
|
||||
}
|
||||
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,46 @@
|
||||
import React, {Component} from "react";
|
||||
import "./main.css";
|
||||
import hand_right from "./img/hand-right.png";
|
||||
import hand_left from "./img/hand-left.png";
|
||||
|
||||
class Main extends Component{
|
||||
render(){
|
||||
return(
|
||||
<div className="main">
|
||||
<div className="block_1">
|
||||
<div className="descr">
|
||||
<h3>Ваш надежный партнер в безопасности</h3>
|
||||
<span>
|
||||
Мы специализируемся на обеспечении безопасности
|
||||
в области робототехники и киберфизических систем. Наша команда
|
||||
разрабатывает интегрированные решения,
|
||||
которые помогают предотвратить риски и
|
||||
обеспечить безопасность во всех аспектах
|
||||
работы с роботехническими комплексами.
|
||||
</span>
|
||||
</div>
|
||||
<img src={hand_right}/>
|
||||
</div>
|
||||
<div className="block_2">
|
||||
<img src={hand_left}/>
|
||||
<div className="descr">
|
||||
<h3>
|
||||
Наша цель – обеспечить бесперебойное функционирование и
|
||||
безопасность критической инфраструктуры и киберфизических
|
||||
систем
|
||||
</h3>
|
||||
<span>
|
||||
С нами вы можете быть уверены в надежной работе
|
||||
своих активов.
|
||||
Мы ставим безопасность на первое место и стремимся
|
||||
быть вашим надежным партнером в области безопасности
|
||||
робототехники.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Main
|
||||
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 56 KiB |
@@ -0,0 +1,74 @@
|
||||
.main{
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
.main .block_1{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
}
|
||||
.main .block_1 .descr{
|
||||
margin-left: 32px;
|
||||
margin-right: 32px;
|
||||
width: 70%;
|
||||
}
|
||||
.main .block_1 .descr h3{
|
||||
width: 60%;
|
||||
font-weight: 700;
|
||||
font-size: 55px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.main .block_1 .descr span{
|
||||
font-size: 22px;
|
||||
font-weight: 400;
|
||||
color: #4d4d4d;
|
||||
}
|
||||
.main .block_1 img{
|
||||
width: 352px;
|
||||
height: 296px
|
||||
}
|
||||
|
||||
.main .block_2{
|
||||
margin-top: 80px;
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
align-items: center;
|
||||
align-content: center;
|
||||
}
|
||||
.main .block_2 img{
|
||||
width: 352px;
|
||||
height: 224px
|
||||
}
|
||||
.main .block_2 .descr{
|
||||
margin-left: 100px;
|
||||
width: 70%;
|
||||
}
|
||||
.main .block_2 .descr h3{
|
||||
font-weight: 700;
|
||||
font-size: 55px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 32px;
|
||||
width: 100%;
|
||||
}
|
||||
.main .block_2 .descr span{
|
||||
font-size: 22px;
|
||||
font-weight: 400;
|
||||
color: #4d4d4d;
|
||||
}
|
||||
|
||||
@media(max-width: 1500px){
|
||||
.main .block_1 .descr h3{
|
||||
font-size: 40px;
|
||||
}
|
||||
.main .block_2 .descr h3{
|
||||
font-size: 40px;
|
||||
}
|
||||
.main .block_2{
|
||||
margin-top: 20px;
|
||||
}
|
||||
.main{
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import React, {Component} from "react";
|
||||
import "./OurAchivement.scss";
|
||||
|
||||
|
||||
import d1 from './img/d1.jpg';
|
||||
import d2 from './img/d2.jpg';
|
||||
import d3 from './img/d3.jpg';
|
||||
import d4 from './img/d4.jpg';
|
||||
import d5 from './img/d5.jpg';
|
||||
import d6 from './img/d6.jpg';
|
||||
import d7 from './img/d7.jpg';
|
||||
|
||||
|
||||
class OurAchivement extends Component{
|
||||
constructor(props){
|
||||
super(props)
|
||||
}
|
||||
render(){
|
||||
return(
|
||||
<div className="OurAchivement">
|
||||
<div>
|
||||
<b>Наши достижения</b>
|
||||
</div>
|
||||
|
||||
<div className="bodyUp">
|
||||
<img src={d1}/>
|
||||
<img src={d2}/>
|
||||
<img src={d3}/>
|
||||
<img src={d4}/>
|
||||
<img src={d5}/>
|
||||
</div>
|
||||
<div className="bodyDown">
|
||||
<img src={d6}/>
|
||||
<img src={d7}/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default OurAchivement
|
||||
@@ -0,0 +1,40 @@
|
||||
@import '../../mixin.scss';
|
||||
|
||||
|
||||
.OurAchivement
|
||||
{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
div
|
||||
{
|
||||
width: 94%;
|
||||
|
||||
|
||||
b
|
||||
{
|
||||
@include adaptiv-font(45,30);
|
||||
}
|
||||
}
|
||||
.bodyUp
|
||||
{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
img
|
||||
{
|
||||
@include adaptiv-height(302);
|
||||
}
|
||||
}
|
||||
.bodyDown
|
||||
{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
img
|
||||
{
|
||||
@include adaptiv-height(215);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
After Width: | Height: | Size: 252 KiB |
|
After Width: | Height: | Size: 253 KiB |
|
After Width: | Height: | Size: 241 KiB |