From 168d683b130b74bc7e9388d7762f71d279c2b6a5 Mon Sep 17 00:00:00 2001 From: BinarySandia04 Date: Fri, 9 Aug 2024 01:29:08 +0200 Subject: [PATCH] Getting things ready for dnd --- client/public/modules/dnd-5e/icon.png | Bin 0 -> 83636 bytes client/public/modules/dnd-5e/module.json | 12 +++ client/src/App.vue | 33 ++++++++ client/src/assets/main.css | 2 +- client/src/main.js | 6 +- client/src/services/Dragonroll.js | 9 +++ client/src/services/Modules.js | 32 ++++++++ client/src/services/Windows.js | 14 +++- client/src/views/HomeView.vue | 14 ---- client/src/views/managers/WindowManager.vue | 5 +- client/src/views/partials/GameSystem.vue | 68 ++++++++++++++++ client/src/views/partials/SystemSelector.vue | 75 ++++++++++++++++++ client/src/views/partials/Toast.vue | 18 ++++- .../views/partials/books/CampaignBookList.vue | 1 - client/src/views/windows/ExampleWindow.vue | 30 ++----- .../windows/campaigns/CampaignListWindow.vue | 3 + .../campaigns/CampaignPreviewWindow.vue | 18 +++-- .../windows/campaigns/NewCampaignWindow.vue | 39 +++++++-- .../campaigns/SystemSelectorWindow.vue | 63 +++++++++++++++ client/vite.config.js | 1 + server/models/Book.js | 12 +++ server/models/Campaign.js | 1 + server/models/Character.js | 11 +++ server/models/Entity.js | 11 +++ server/models/Map.js | 12 +++ server/routes/campaign.js | 7 +- 26 files changed, 437 insertions(+), 60 deletions(-) create mode 100644 client/public/modules/dnd-5e/icon.png create mode 100644 client/public/modules/dnd-5e/module.json create mode 100644 client/src/services/Modules.js create mode 100644 client/src/views/partials/GameSystem.vue create mode 100644 client/src/views/partials/SystemSelector.vue create mode 100644 client/src/views/windows/campaigns/SystemSelectorWindow.vue create mode 100644 server/models/Book.js create mode 100644 server/models/Character.js create mode 100644 server/models/Entity.js create mode 100644 server/models/Map.js diff --git a/client/public/modules/dnd-5e/icon.png b/client/public/modules/dnd-5e/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ddbadbb015c23eaa1c1b7f5027993292b189d8df GIT binary patch literal 83636 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 O@HG?5%cZ}g@BJ?n6~kfx literal 0 HcmV?d00001 diff --git a/client/public/modules/dnd-5e/module.json b/client/public/modules/dnd-5e/module.json new file mode 100644 index 00000000..d49c047e --- /dev/null +++ b/client/public/modules/dnd-5e/module.json @@ -0,0 +1,12 @@ +{ + "id": "dnd-5e", + "title": "Dungeons & Dragons 5e", + "description": "Dungeons & Dragons Fifth edition game system support", + "authors": [ + { + "name": "Aran Roig" + } + ], + "version": "1.0.0", + "color": "#e92026" +} \ No newline at end of file diff --git a/client/src/App.vue b/client/src/App.vue index f0fbefbb..7b56d061 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -6,10 +6,43 @@ import { RouterLink, RouterView } from 'vue-router' import { GetUser, UserStatus, LoadUser } from '@/services/User.js' import { IsAdmin } from './services/User' +import useEmitter from '@/services/Emitter'; +const emitter = useEmitter(); + +import { DisplayToast, SetEmitter } from './services/Dragonroll' +import { ImportModule, GetModulesToLoad } from './services/Modules' +import { CreateWindow } from './services/Windows'; + console.clear(); console.log("%cLoaded!!!", "color: #22ff22; font-size: 24px"); LoadUser(); +SetEmitter(emitter); +onMounted(() => { + async function preloadModules(){ + const modules = GetModulesToLoad(); + let moduleLoads = []; + + modules.forEach(moduleName => { + moduleLoads.push(ImportModule(moduleName)); + }); + + await Promise.all(moduleLoads); + DisplayToast('aqua', 'All modules loaded successfully'); + + if(GetUser()){ + CreateWindow('main_menu') + // CreateWindow('test'); + DisplayToast('green', 'Logged in successfully as ' + GetUser().username + '!', 3000) + return; + } + CreateWindow('login'); + } + + preloadModules(); +}) + + diff --git a/client/src/views/windows/campaigns/SystemSelectorWindow.vue b/client/src/views/windows/campaigns/SystemSelectorWindow.vue new file mode 100644 index 00000000..a6d17458 --- /dev/null +++ b/client/src/views/windows/campaigns/SystemSelectorWindow.vue @@ -0,0 +1,63 @@ + + + + + + + \ No newline at end of file diff --git a/client/vite.config.js b/client/vite.config.js index 98f28cda..8ed36b09 100644 --- a/client/vite.config.js +++ b/client/vite.config.js @@ -11,6 +11,7 @@ export default defineConfig({ resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), + 'vue': 'vue/dist/vue.esm-bundler.js' } }, proxy: { diff --git a/server/models/Book.js b/server/models/Book.js new file mode 100644 index 00000000..282a9a66 --- /dev/null +++ b/server/models/Book.js @@ -0,0 +1,12 @@ +const mongoose = require("mongoose"); +const Schema = mongoose.Schema; + +const BookSchema = new Schema({ + title: {type: String, required: true}, + authors: { type: [String] }, + system: {type: String, required: true}, + image: { type: String }, + data: { type: Object }, +}); + +module.exports = mongoose.model('Book', BookSchema); \ No newline at end of file diff --git a/server/models/Campaign.js b/server/models/Campaign.js index 179feb26..919d8fe5 100644 --- a/server/models/Campaign.js +++ b/server/models/Campaign.js @@ -3,6 +3,7 @@ const Schema = mongoose.Schema; const CampaignSchema = new Schema({ name: {type: String, required: true}, + system: {type: String, required: true}, creation_date: { type: Date, default: Date.now}, last_opened: { type: Date, default: Date.now}, invite_code: { type: String, unique: true }, diff --git a/server/models/Character.js b/server/models/Character.js new file mode 100644 index 00000000..396fd4d4 --- /dev/null +++ b/server/models/Character.js @@ -0,0 +1,11 @@ +const mongoose = require("mongoose"); +const Schema = mongoose.Schema; + +const CharacterSchema = new Schema({ + name: {type: String, required: true}, + data: { type: Object }, + campaign_user: {type: mongoose.Types.ObjectId, ref: "CampaignUser"}, + image: { type: String }, +}); + +module.exports = mongoose.model('Character', CharacterSchema); \ No newline at end of file diff --git a/server/models/Entity.js b/server/models/Entity.js new file mode 100644 index 00000000..1f6cb97d --- /dev/null +++ b/server/models/Entity.js @@ -0,0 +1,11 @@ +const mongoose = require("mongoose"); +const Schema = mongoose.Schema; + +const EntitySchema = new Schema({ + name: {type: String, required: true}, + data: { type: Object }, + campaign: {type: mongoose.Types.ObjectId, ref: "Campaign"}, + image: { type: String }, +}); + +module.exports = mongoose.model('Entity', EntitySchema); \ No newline at end of file diff --git a/server/models/Map.js b/server/models/Map.js new file mode 100644 index 00000000..551cf8a4 --- /dev/null +++ b/server/models/Map.js @@ -0,0 +1,12 @@ +const mongoose = require("mongoose"); +const Schema = mongoose.Schema; + +const MapSchema = new Schema({ + name: {type: String, required: true}, + data: { type: Object }, // Data del format dd2vtt + campaign: {type: mongoose.Types.ObjectId, ref: "Campaign"}, + image: { type: String }, + entities: { type: Object } +}); + +module.exports = mongoose.model('Entity', EntitySchema); \ No newline at end of file diff --git a/server/routes/campaign.js b/server/routes/campaign.js index 45687966..ccd59baa 100644 --- a/server/routes/campaign.js +++ b/server/routes/campaign.js @@ -16,10 +16,11 @@ router.post('/register', passport.authenticate('jwt', {session: false}), rateLim router.post('/create', passport.authenticate('jwt', {session: false}), rateLimitMiddleware, (req, res) => { let { - name + name, + system } = req.body; - if(!(name)){ + if(!(name && system)){ res.json({ status: "error", msg: "params" @@ -28,7 +29,7 @@ router.post('/create', passport.authenticate('jwt', {session: false}), rateLimit } // Create the campaign - let campaign = new Campaign({name}); + let campaign = new Campaign({name, system}); campaign.invite_code = Campaign.generateInvite(); campaign.save().then(campaign => {