From 55972e07afba92d9a7ebd622bc4cb0886c5617b5 Mon Sep 17 00:00:00 2001 From: BinarySandia04 Date: Fri, 27 Sep 2024 12:23:36 +0200 Subject: [PATCH] Part 2 --- .gitignore | 1 + client/public/img/logo.png | Bin 0 -> 10443 bytes client/src/assets/main.css | 4 ++ client/src/services/Campaign.js | 6 +- client/src/services/ContextMenu.js | 2 - client/src/services/Plugins.js | 18 +++++- client/src/views/managers/GameManager.vue | 2 +- client/src/views/managers/WindowManager.vue | 7 ++- client/src/views/partials/ConceptEntry.vue | 23 +++---- client/src/views/partials/ConceptList.vue | 30 +++++---- client/src/views/partials/GameSystem.vue | 9 +-- client/src/views/partials/SystemSelector.vue | 24 +++----- client/src/views/windows/ExampleWindow.vue | 4 +- client/src/views/windows/SettingsWindow.vue | 33 +++++++++- .../campaigns/SystemSelectorWindow.vue | 14 +---- .../src/views/windows/game/DatabaseWindow.vue | 40 +++++++++++- .../settings/AccountManagementWindow.vue | 42 +++++++++++++ .../settings/PluginManagementWindow.vue | 58 ++++++++++++++++++ locales/ca.json | 11 +++- locales/en-US.json | 12 +++- locales/es-ES.json | 11 +++- plugins/dnd-5e/client/main.js | 3 + plugins/dnd-5e/public/icon.png | Bin 0 -> 83636 bytes plugins/example/public/icon.png | Bin 0 -> 10443 bytes prebuild.js | 4 ++ 25 files changed, 279 insertions(+), 79 deletions(-) create mode 100644 client/public/img/logo.png create mode 100644 client/src/views/windows/settings/AccountManagementWindow.vue create mode 100644 client/src/views/windows/settings/PluginManagementWindow.vue create mode 100644 plugins/dnd-5e/public/icon.png create mode 100644 plugins/example/public/icon.png diff --git a/.gitignore b/.gitignore index 0486d6a4..12df3797 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ backend/plugins/ client/public/data/ server/uploads/ client/src/locales/ +client/public/plugins/ # local env files .env.local diff --git a/client/public/img/logo.png b/client/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5a2e59fc31808d979c420f2e51af612484680e1c GIT binary patch literal 10443 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 S8t`8T5Z2hzsN#rQ{C@$&#ahY$ literal 0 HcmV?d00001 diff --git a/client/src/assets/main.css b/client/src/assets/main.css index 5ab8b214..b846d70a 100644 --- a/client/src/assets/main.css +++ b/client/src/assets/main.css @@ -303,4 +303,8 @@ span.artifact { .form-element label { flex-grow: 1; +} + +.form-element.centered { + justify-content: center; } \ No newline at end of file diff --git a/client/src/services/Campaign.js b/client/src/services/Campaign.js index 05453b43..7ade2100 100644 --- a/client/src/services/Campaign.js +++ b/client/src/services/Campaign.js @@ -18,6 +18,8 @@ function ConnectToCampaign(campaign){ chat.value = []; socket.emit('enter', GetUser(), _currentCampaign._id); + console.log("Hola") + console.log(_currentCampaign) } function Disconnect(){ @@ -31,13 +33,12 @@ function Disconnect(){ function DisplayCampaign(data = _currentCampaign){ ClearAll(); - console.log(data) CreateWindow('campaign_preview', {campaign: data}); } function UpdateCampaignData(data){ Api().put('/campaign/update?campaign=' + GetCampaign()._id, {campaign: data}).then(response => { - console.log(response); + }); } @@ -46,6 +47,7 @@ socket.on('update-players', data => { }) socket.on('init-info', data => { + console.log("Hola2") _UpdatePlayers(data.players); DisplayCampaign(); }) diff --git a/client/src/services/ContextMenu.js b/client/src/services/ContextMenu.js index a552461f..f1805498 100644 --- a/client/src/services/ContextMenu.js +++ b/client/src/services/ContextMenu.js @@ -11,7 +11,6 @@ let arrowIcon = "icons/iconoir/regular/nav-arrow-right.svg"; import { animate } from 'motion' function Show(){ - console.log("SHOW") let contextMenu = document.getElementById('context-menu'); contextMenu.style.display = "flex"; contextMenu.style.top = (cursorY + margin) + "px"; @@ -102,7 +101,6 @@ function AddContextMenu(element, val, options = {}){ let contextMenu = document.getElementById('context-menu'); contextMenu.style.top = rect.bottom + "px"; contextMenu.style.left = rect.left + "px"; - console.log(rect.top); } } diff --git a/client/src/services/Plugins.js b/client/src/services/Plugins.js index 756ebc8d..a864910d 100644 --- a/client/src/services/Plugins.js +++ b/client/src/services/Plugins.js @@ -9,6 +9,8 @@ import * as Sound from "@/services/Sound" import * as Tooltip from "@/services/Tooltip" import * as Windows from "@/services/Windows" +let pluginInfo = [] + async function FetchPlugins(){ let pluginNames = GetPluginPaths(); @@ -17,6 +19,14 @@ async function FetchPlugins(){ let pluginData = (await import(/* @vite-ignore */ `../../plugins/${pluginName}/plugin.json`)).default console.log(`Loading plugin %c${pluginData.name}`, "color: #00ffff"); + pluginInfo.push({ + name: pluginData.name, + _id: pluginName, + info: { + + } + }); + import(/* @vite-ignore */ `../../plugins/${pluginName}/${pluginData.entrypoint}`).then(module => { module.Main({ Dragonroll, @@ -32,6 +42,12 @@ async function FetchPlugins(){ } } +function _GetPlugins(){ + return pluginInfo +} + export { - FetchPlugins + FetchPlugins, + + _GetPlugins } \ No newline at end of file diff --git a/client/src/views/managers/GameManager.vue b/client/src/views/managers/GameManager.vue index 13244089..5c6600c4 100644 --- a/client/src/views/managers/GameManager.vue +++ b/client/src/views/managers/GameManager.vue @@ -70,7 +70,7 @@ watch(game, () => {