diff --git a/frontend/app/app.vue b/frontend/app/app.vue
index 0ab81ab..19755c8 100644
--- a/frontend/app/app.vue
+++ b/frontend/app/app.vue
@@ -6,6 +6,7 @@ import WindowManager from './components/managers/WindowManager.vue';
import { CreateWindow } from '@/services/Windows'
import { GetUser, HasAdmin } from './services/User';
import TooltipManager from './components/managers/TooltipManager.vue';
+import ContextMenuManager from './components/managers/ContextMenuManager.vue';
async function start(){
if(GetUser()){
@@ -41,6 +42,7 @@ onMounted(() => {
+
diff --git a/frontend/app/components/layouts/Dropdown.vue b/frontend/app/components/layouts/Dropdown.vue
new file mode 100644
index 0000000..abb4455
--- /dev/null
+++ b/frontend/app/components/layouts/Dropdown.vue
@@ -0,0 +1,61 @@
+
+
+
+
+
+
{{ selected }}
+

+
+
+
+
\ No newline at end of file
diff --git a/frontend/app/components/layouts/Tabs.vue b/frontend/app/components/layouts/Tabs.vue
new file mode 100644
index 0000000..f7f5294
--- /dev/null
+++ b/frontend/app/components/layouts/Tabs.vue
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+ {{ $t(row.value) }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/app/components/managers/ContextMenuManager.vue b/frontend/app/components/managers/ContextMenuManager.vue
new file mode 100644
index 0000000..627d44b
--- /dev/null
+++ b/frontend/app/components/managers/ContextMenuManager.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/app/components/partials/EditUserPartial.vue b/frontend/app/components/partials/EditUserPartial.vue
index 66270f3..ee8cb82 100644
--- a/frontend/app/components/partials/EditUserPartial.vue
+++ b/frontend/app/components/partials/EditUserPartial.vue
@@ -55,12 +55,12 @@ function EditProfile(){
}
function EditSettings(){
- ClearWindow('main_menu');
+ ClearWindow({type: 'main_menu'});
CreateWindow('settings', {
id: 'settings',
type: 'settings',
title: 'settings.title',
- back: () => { ClearWindow('settings'); CreateWindow('main_menu'); }
+ back: () => { ClearWindow({type: 'settings'}); CreateWindow({type: 'main_menu'}); }
});
}
diff --git a/frontend/app/components/windows/EditProfileWindow.vue b/frontend/app/components/windows/EditProfileWindow.vue
index 5ef45a6..1cc3ab7 100644
--- a/frontend/app/components/windows/EditProfileWindow.vue
+++ b/frontend/app/components/windows/EditProfileWindow.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/frontend/app/components/windows/MainMenuWindow.vue b/frontend/app/components/windows/MainMenuWindow.vue
index ad4923f..8a03a3a 100644
--- a/frontend/app/components/windows/MainMenuWindow.vue
+++ b/frontend/app/components/windows/MainMenuWindow.vue
@@ -1,12 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/app/components/windows/partials/WindowHandle.vue b/frontend/app/components/windows/partials/WindowHandle.vue
index 761109f..9320023 100644
--- a/frontend/app/components/windows/partials/WindowHandle.vue
+++ b/frontend/app/components/windows/partials/WindowHandle.vue
@@ -74,13 +74,13 @@ defineExpose({