+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/CodeView.vue b/src/components/CodeView.vue
new file mode 100644
index 0000000..d26ecfc
--- /dev/null
+++ b/src/components/CodeView.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Вернуться к сохранению сгенерированного кода
+
+
+
+
+ Вернуться к сохранению сгенерированного кода
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/MovementButtons.vue b/src/components/MovementButtons.vue
new file mode 100644
index 0000000..1d5ee6d
--- /dev/null
+++ b/src/components/MovementButtons.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/MyDialog.vue b/src/components/MyDialog.vue
index c27b895..3ef2430 100644
--- a/src/components/MyDialog.vue
+++ b/src/components/MyDialog.vue
@@ -1,21 +1,22 @@
-
+
-
+ Заголовок по умолчанию
-
- Тело по умолчанию
+ Тело по умолчанию
-
@@ -24,20 +25,42 @@
\ No newline at end of file
+
+/* Начало появления: ниже и прозрачный */
+.modal-fade-enter-from {
+ opacity: 0;
+}
+
+/* Конец появления: на месте и видим */
+.modal-fade-enter-to {
+ opacity: 1;
+}
+
+/* Начало исчезания: на месте и видим */
+.modal-fade-leave-from {
+ opacity: 1;
+}
+
+/* Конец исчезания: выше и прозрачный */
+.modal-fade-leave-to {
+ opacity: 0;
+}
+
+/* Общие настройки анимации (скорость + плавность) */
+.modal-fade-enter-active,
+.modal-fade-leave-active {
+ transition: transform 0.7s cubic-bezier(.22, .9, .31, 1), opacity 0.7s ease;
+ will-change: transform, opacity;
+}
+
\ No newline at end of file
diff --git a/src/components/MyDropMenu.vue b/src/components/MyDropMenu.vue
index 679e06c..80653d9 100644
--- a/src/components/MyDropMenu.vue
+++ b/src/components/MyDropMenu.vue
@@ -1,120 +1,182 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+ {{ infoCard.title }}
+
+
+
{{ infoCard.body }}
+
+
+
+
+
+
diff --git a/src/components/UI/CustomButton.vue b/src/components/UI/CustomButton.vue
new file mode 100644
index 0000000..cf2f853
--- /dev/null
+++ b/src/components/UI/CustomButton.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/data/informationForDirectory.js b/src/data/informationForDirectory.js
new file mode 100644
index 0000000..2224cb6
--- /dev/null
+++ b/src/data/informationForDirectory.js
@@ -0,0 +1,56 @@
+export default [
+ {
+ title: 'ROS',
+ body: 'ROS (Robot Operating System) — экосистема для программирования роботов с открытым исходным кодом',
+ hrefToDoc: 'https://www.ros.org/',
+ hrefToCourse: 'https://stepik.org/lesson/2260739/step/1?unit=2294748'
+ },
+ {
+ title: 'OpenCV',
+ body: 'OpenCV (Open Source Computer Vision Library) — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом.',
+ hrefToDoc: 'https://opencv.org/',
+ hrefToCourse: 'https://stepik.org/lesson/2272700/step/1?unit=2306893'
+ },
+ {
+ title: 'navigate_wait',
+ body: 'Navigate_wait — функция в библиотеке CLOVER, которая ожидает, пока дрон долетит до целевой точки, перед выполнением следующей команды. Это полезно, так как функция navigate сразу возвращает управление: скрипт продолжает выполняться, даже если дрон ещё летит к цели. ',
+ hrefToDoc: 'https://clover.coex.tech/ru/snippets.html',
+ hrefToCourse: 'https://stepik.org/lesson/2264712/step/1?unit=2298803'
+ },
+ {
+ title: 'Topic',
+ body: 'Топик (Topic) в ROS — это именованный канал передачи данных, через который ноды обмениваются сообщениями.',
+ hrefToDoc: 'https://docs.voltbro.ru/starting-ros/basics.html',
+ hrefToCourse: 'https://stepik.org/lesson/2262844/step/1?unit=2296866'
+ },
+ {
+ title: 'Нода',
+ body: 'Нода в ROS - исполняемая программа, которая выполняет одну задачу. ',
+ hrefToDoc: 'https://docs.voltbro.ru/starting-ros/basics.html',
+ hrefToCourse: 'https://stepik.org/lesson/2261765/step/1?unit=2295758'
+ },
+ {
+ title: 'Издатель',
+ body: 'Издатель (Publisher) в ROS — это узел, который производит данные. Он может публиковать сообщения определённого типа в заданной теме и делать их доступными для других узлов (подписчиков). ',
+ hrefToDoc: 'https://docs.voltbro.ru/starting-ros/basics.html',
+ hrefToCourse: 'https://stepik.org/lesson/2262844/step/1?unit=2296866'
+ },
+ {
+ title: 'Подписчик',
+ body: 'Подписчик (Subscriber) в ROS — это узел, который получает сообщения и информацию, публикуемые в определённой теме (канале) ROS.',
+ hrefToDoc: 'https://docs.voltbro.ru/starting-ros/basics.html',
+ hrefToCourse: 'https://stepik.org/lesson/2262844/step/1?unit=2296866'
+ },
+ {
+ title: 'Сервис',
+ body: 'Сервис в ROS - это функция, которую мы можем вызвать, чтобы либо дать команду роботу,либо получить от него какую-то информацию.',
+ hrefToDoc: 'https://docs.voltbro.ru/starting-ros/basics.html',
+ hrefToCourse: 'https://stepik.org/lesson/2263182/step/1?unit=2297206'
+ },
+ {
+ title: 'Системы координат',
+ body: 'Системы координат в Clover позволяют определять местоположение дрона относительно разных точек отсчёта, что важно для автономного полёта, навигации и других задач. Наиболее часто используемые: aruco_map и body',
+ hrefToCourse: 'https://stepik.org/lesson/2264336/step/1?unit=2298407',
+ hrefToDoc: 'https://clover.coex.tech/ru/frames.html'
+ },
+]
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 8668dab..0ca4c63 100644
--- a/src/main.js
+++ b/src/main.js
@@ -15,10 +15,12 @@ const createWindow = () => {
const mainWindow = new BrowserWindow({
width: width,
height: height,
+ icon: './public/images/logo.jpg',
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
},
});
+ mainWindow.menuBarVisible = false;
// and load the index.html of the app.
if (MAIN_WINDOW_VITE_DEV_SERVER_URL) {
diff --git a/src/renderer.js b/src/renderer.js
index 4099886..c191d27 100644
--- a/src/renderer.js
+++ b/src/renderer.js
@@ -29,5 +29,9 @@
import { createApp } from 'vue';
import App from './App.vue';
import '@imengyu/vue3-context-menu/lib/vue3-context-menu.css'
+import Prism from 'prismjs'
+import 'prismjs/themes/prism-okaidia.css'
+
+
import ContextMenu from '@imengyu/vue3-context-menu'
createApp(App).use(ContextMenu).mount('#app');