From 63bcf023ee8c06b858731f8d2fe9046d6a28a9b1 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Tue, 22 Nov 2022 20:51:21 +0200 Subject: [PATCH] Big UI overhaul Moved tabs to bottom nav on mobile Added actions tab Conditional benefits on skills/saves show on stats tab --- app/imports/api/properties/Folders.js | 4 +- .../ui/creature/character/CharacterSheet.vue | 78 ++++++++- .../creature/character/CharacterSheetFab.vue | 27 +-- .../character/CharacterSheetToolbar.vue | 19 +- .../characterSheetTabs/ActionsTab.vue | 73 ++++++++ .../characterSheetTabs/SpellsTab.vue | 34 ++++ .../character/characterSheetTabs/StatsTab.vue | 163 ++++++++---------- .../CharacterListToolbarItems.vue | 2 +- .../creatureList/CreatureStorageStats.vue | 12 +- .../client/ui/dialogStack/DialogStack.vue | 7 +- app/imports/client/ui/layouts/AppLayout.vue | 11 +- .../ui/library/SingleLibraryToolbar.vue | 4 +- .../components/attributes/SpellSlotCard.vue | 87 ++++++++++ .../client/ui/properties/forms/FolderForm.vue | 4 +- app/imports/client/ui/vuexStore.js | 26 ++- 15 files changed, 403 insertions(+), 148 deletions(-) create mode 100644 app/imports/client/ui/creature/character/characterSheetTabs/ActionsTab.vue create mode 100644 app/imports/client/ui/properties/components/attributes/SpellSlotCard.vue diff --git a/app/imports/api/properties/Folders.js b/app/imports/api/properties/Folders.js index 605975b3..66a10355 100644 --- a/app/imports/api/properties/Folders.js +++ b/app/imports/api/properties/Folders.js @@ -21,14 +21,14 @@ let FolderSchema = new createPropertySchema({ type: String, optional: true, allowedValues: [ - 'stats', 'features', 'inventory', 'spells', 'journal', 'build' + 'stats', 'features', 'actions', 'spells', 'inventory', 'journal', 'build' ], }, location: { type: String, optional: true, allowedValues: [ - 'start', 'events', 'stats', 'skills', 'actions', 'proficiencies', 'end' + 'start', 'events', 'stats', 'skills', 'proficiencies', 'end' ], }, }); diff --git a/app/imports/client/ui/creature/character/CharacterSheet.vue b/app/imports/client/ui/creature/character/CharacterSheet.vue index c9658c6d..0f6099be 100644 --- a/app/imports/client/ui/creature/character/CharacterSheet.vue +++ b/app/imports/client/ui/creature/character/CharacterSheet.vue @@ -51,11 +51,14 @@ - + + + + @@ -68,6 +71,60 @@ + + + + Stats + mdi-chart-box + + + Features + mdi-text + + + Actions + mdi-lightning-bolt + + + Spells + mdi-fire + + + Inventory + mdi-cube + + + Journal + mdi-book-open-variant + + + Build + mdi-wrench + + + Tree + mdi-file-tree + + @@ -85,16 +142,20 @@ import TreeTab from '/imports/client/ui/creature/character/characterSheetTabs/Tr import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js'; import { snackbar } from '/imports/client/ui/components/snackbars/SnackbarQueue.js'; +import CharacterSheetFab from '/imports/client/ui/creature/character/CharacterSheetFab.vue'; +import ActionsTab from '/imports/client/ui/creature/character/characterSheetTabs/ActionsTab.vue'; export default { components: { StatsTab, FeaturesTab, - InventoryTab, + ActionsTab, SpellsTab, + InventoryTab, CharacterTab, BuildTab, TreeTab, + CharacterSheetFab, }, props: { creatureId: { @@ -171,6 +232,19 @@ export default { } + +