From e3644eb9e83f238622642ecbb46a52e294506217 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Sat, 19 Nov 2022 17:51:50 +0200 Subject: [PATCH] Moved UI to client folder to fix HMR --- app/client/main.js | 4 +- .../methods/duplicateProperty.js | 2 +- .../applyPropertyByType/applyAction.js | 2 +- .../applyPropertyByType/applySavingThrow.js | 26 ++-- app/imports/api/engine/actions/doCheck.js | 2 +- .../api/library/methods/copyLibraryNodeTo.js | 2 +- .../library/methods/duplicateLibraryNode.js | 2 +- .../utility/numberToSignedString.js | 0 .../ui/components/CardHighlight.vue | 0 .../{ => client}/ui/components/CoinValue.vue | 2 +- .../ui/components/ColorPicker.vue | 4 +- .../ui/components/ColumnLayout.vue | 0 .../ui/components/HorizontalHex.vue | 0 .../ui/components/ImageUploadInput.vue | 0 .../ui/components/IncrementButton.vue | 2 +- .../ui/components/IncrementMenu.vue | 0 .../{ => client}/ui/components/LabeledFab.vue | 0 .../ui/components/MarkdownText.vue | 0 .../ui/components/ResetSelector.vue | 2 +- .../{ => client}/ui/components/RollPopup.vue | 2 +- .../{ => client}/ui/components/SharedIcon.vue | 0 .../ui/components/ToolbarCard.vue | 6 +- .../ui/components/TreeDetailLayout.vue | 0 .../ui/components/VerticalHex.vue | 0 .../ui/components/global/DatePicker.vue | 2 +- .../ui/components/global/IconPicker.vue | 4 +- .../ui/components/global/SmartBtn.vue | 2 +- .../ui/components/global/SmartCheckbox.vue | 2 +- .../ui/components/global/SmartCombobox.vue | 2 +- .../ui/components/global/SmartInputMixin.js | 0 .../ui/components/global/SmartSelect.vue | 2 +- .../ui/components/global/SmartSlider.vue | 2 +- .../ui/components/global/SmartSwitch.vue | 2 +- .../ui/components/global/SvgIcon.vue | 0 .../ui/components/global/TextArea.vue | 2 +- .../ui/components/global/TextField.vue | 2 +- .../ui/components/global/globalIndex.js | 25 ++++ .../ui/components/propertyToolbar.vue | 8 +- .../ui/components/rolls/Check.vue | 2 +- .../ui/components/snackbars/SnackbarQueue.js | 0 .../ui/components/snackbars/SnackbarQueue.vue | 4 +- .../ui/components/tree/TreeNode.vue | 2 +- .../ui/components/tree/TreeNodeList.vue | 2 +- .../ui/components/tree/TreeSearchInput.vue | 0 .../{ => client}/ui/creature/CreatureForm.vue | 4 +- .../ui/creature/CreatureFormDialog.vue | 6 +- .../{ => client}/ui/creature/RestButton.vue | 0 .../ui/creature/archive/ArchiveDialog.vue | 6 +- .../ui/creature/buildTree/BuildTreeNode.vue | 8 +- .../creature/buildTree/BuildTreeNodeList.vue | 2 +- .../ui/creature/buildTree/FillSlotButton.vue | 0 .../character/CharacterCreationDialog.vue | 6 +- .../character/CharacterDeleteDialog.vue | 4 +- .../ui/creature/character/CharacterSheet.vue | 16 +- .../creature/character/CharacterSheetFab.vue | 2 +- .../character/CharacterSheetRightDrawer.vue | 2 +- .../character/CharacterSheetToolbar.vue | 8 +- .../creature/character/CreatureRootDialog.vue | 10 +- .../ui/creature/character/CreatureSummary.vue | 2 +- .../creature/character/MiniCharacterSheet.vue | 0 .../character/characterSheetTabs/BuildTab.vue | 12 +- .../characterSheetTabs/FeaturesTab.vue | 4 +- .../characterSheetTabs/InventoryTab.vue | 12 +- .../characterSheetTabs/JournalTab.vue | 6 +- .../characterSheetTabs/SpellsTab.vue | 6 +- .../character/characterSheetTabs/StatsTab.vue | 34 ++--- .../character/characterSheetTabs/TreeTab.vue | 8 +- .../character/errors/CharacterErrors.vue | 2 +- .../character/errors/DependencyLoopError.vue | 2 +- .../CharacterSheetPrinted.vue | 6 +- .../PrintedInventory.vue | 8 +- .../printedCharacterSheet/PrintedSpells.vue | 6 +- .../printedCharacterSheet/PrintedStats.vue | 12 +- .../components/PrintedAction.vue | 12 +- .../components/PrintedContainer.vue | 6 +- .../components/PrintedDamageMultipliers.vue | 0 .../components/PrintedItem.vue | 6 +- .../components/PrintedSkill.vue | 4 +- .../components/PrintedSpell.vue | 2 +- .../components/PrintedSpellList.vue | 2 +- .../creature/creatureList/ArchiveButton.vue | 0 .../CharacterListToolbarItems.vue | 4 +- .../creatureList/CreatureFolderHeader.vue | 2 +- .../creatureList/CreatureFolderList.vue | 4 +- .../ui/creature/creatureList/CreatureList.vue | 4 +- .../creatureList/CreatureListTile.vue | 2 +- .../creatureList/CreatureStorageStats.vue | 0 .../AddCreaturePropertyDialog.vue | 16 +- .../creatureProperties/Breadcrumbs.vue | 2 +- .../CreaturePropertiesTree.vue | 2 +- .../CreaturePropertyCreationDialog.vue | 4 +- .../CreaturePropertyDialog.vue | 20 +-- .../CreaturePropertyFromLibraryDialog.vue | 4 +- .../CreaturePropertyInsertForm.vue | 8 +- .../creature/experiences/ExperienceForm.vue | 2 +- .../experiences/ExperienceInsertDialog.vue | 6 +- .../experiences/ExperienceListDialog.vue | 2 +- .../ui/creature/slots/LevelUpDialog.vue | 10 +- .../ui/creature/slots/SlotCard.vue | 4 +- .../ui/creature/slots/SlotCardsToFill.vue | 8 +- .../ui/creature/slots/SlotFillDialog.vue | 10 +- .../dialogStack/DeleteConfirmationDialog.vue | 2 +- .../ui/dialogStack/DialogBase.vue | 4 +- .../ui/dialogStack/DialogComponentIndex.js | 66 ++++++++ .../ui/dialogStack/DialogStack.vue | 6 +- .../ui/dialogStack/HelpDialog.vue | 4 +- .../ui/dialogStack/dialogStackStore.js | 41 ++--- .../ui/dialogStack/dialogStackWindowEvents.js | 8 +- .../ui/dialogStack/mockElement.js | 0 .../{ => client}/ui/files/ArchiveFileCard.vue | 2 +- .../ui/files/FileStorageStats.vue | 2 +- .../{ => client}/ui/files/UserImageCard.vue | 0 .../{ => client}/ui/icons/IconAdmin.vue | 4 +- .../{ => client}/ui/icons/SvgIconByName.vue | 2 +- .../{ => client}/ui/icons/importIcons.js | 0 .../{ => client}/ui/layouts/AppLayout.vue | 6 +- app/imports/client/ui/layouts/Sidebar.vue | 140 +++++++++++++++++ .../ui/layouts/SingleCardLayout.vue | 0 .../ui/library/InsertLibraryNodeButton.vue | 0 .../ui/library/LibraryAndNode.vue | 16 +- .../ui/library/LibraryBrowser.vue | 4 +- .../LibraryCollectionCreationDialog.vue | 2 +- .../library/LibraryCollectionEditDialog.vue | 4 +- .../ui/library/LibraryCollectionHeader.vue | 2 +- .../ui/library/LibraryCollectionToolbar.vue | 0 .../ui/library/LibraryContentsContainer.vue | 2 +- .../ui/library/LibraryCreationDialog.vue | 2 +- .../ui/library/LibraryEditDialog.vue | 6 +- .../{ => client}/ui/library/LibraryList.vue | 6 +- .../ui/library/LibraryListTile.vue | 2 +- .../ui/library/LibraryNodeCreationDialog.vue | 4 +- .../ui/library/LibraryNodeDialog.vue | 14 +- .../library/LibraryNodeExpansionContent.vue | 4 +- .../ui/library/LibraryNodeInsertForm.vue | 8 +- .../ui/library/MoveLibraryNodeDialog.vue | 4 +- .../ui/library/SelectLibraryNodeDialog.vue | 4 +- .../ui/library/SingleLibraryToolbar.vue | 0 .../{ => client}/ui/log/CharacterLog.vue | 2 +- .../{ => client}/ui/log/LogContent.vue | 2 +- app/imports/{ => client}/ui/log/LogEntry.vue | 2 +- app/imports/{ => client}/ui/markdownCofig.js | 0 app/imports/{ => client}/ui/pages/About.vue | 0 app/imports/{ => client}/ui/pages/Account.vue | 6 +- app/imports/{ => client}/ui/pages/Admin.vue | 0 .../{ => client}/ui/pages/CharacterList.vue | 61 ++++---- .../ui/pages/CharacterSheetPage.vue | 2 +- .../{ => client}/ui/pages/Documentation.vue | 2 +- .../ui/pages/EmailVerificationError.vue | 0 .../ui/pages/EmailVerificationSuccess.vue | 0 .../{ => client}/ui/pages/Feedback.vue | 0 app/imports/{ => client}/ui/pages/Files.vue | 10 +- app/imports/{ => client}/ui/pages/Friends.vue | 0 .../ui/pages/FunctionReference.vue | 0 app/imports/{ => client}/ui/pages/Home.vue | 0 .../{ => client}/ui/pages/InviteError.vue | 0 .../{ => client}/ui/pages/InviteSuccess.vue | 0 .../{ => client}/ui/pages/LaunchCountdown.vue | 0 app/imports/{ => client}/ui/pages/Library.vue | 4 +- .../ui/pages/LibraryCollection.vue | 2 +- .../{ => client}/ui/pages/Maintenance.vue | 0 .../{ => client}/ui/pages/NotFound.vue | 0 .../{ => client}/ui/pages/NotImplemented.vue | 0 .../ui/pages/PatreonLevelTooLow.vue | 0 .../{ => client}/ui/pages/Register.vue | 0 .../{ => client}/ui/pages/ResetPassword.vue | 0 app/imports/{ => client}/ui/pages/SignIn.vue | 0 .../{ => client}/ui/pages/SingleLibrary.vue | 4 +- .../{ => client}/ui/pages/Tabletop.vue | 2 +- .../{ => client}/ui/pages/Tabletops.vue | 4 +- .../components/actions/ActionCard.vue | 18 +-- .../actions/AttributeConsumedView.vue | 0 .../components/actions/EventButton.vue | 4 +- .../components/actions/ItemConsumedView.vue | 2 +- .../actions/SelectItemToConsume.vue | 2 +- .../components/attributes/AbilityListTile.vue | 6 +- .../components/attributes/AttributeCard.vue | 4 +- .../attributes/AttributeCardContent.vue | 6 +- .../components/attributes/AttributeEffect.vue | 4 +- .../components/attributes/HealthBar.vue | 4 +- .../components/attributes/HealthBarCard.vue | 2 +- .../attributes/HealthBarCardContainer.vue | 2 +- .../components/attributes/HitDiceListTile.vue | 2 +- .../components/attributes/ResourceCard.vue | 4 +- .../attributes/ResourceCardContent.vue | 0 .../attributes/SpellSlotListTile.vue | 2 +- .../components/attributes/SplitListLayout.vue | 0 .../components/buffs/BuffListItem.vue | 0 .../DamageMultiplierCard.vue | 0 .../components/effects/InlineEffect.vue | 2 +- .../components/features/FeatureCard.vue | 4 +- .../components/folders/FolderGroupCard.vue | 2 +- .../ActionGroupComponent.vue | 4 +- .../AttributeGroupComponent.vue | 14 +- .../folders/propertyComponentIndex.js | 16 +- .../components/inventory/ContainerCard.vue | 6 +- .../components/inventory/ItemList.vue | 2 +- .../components/inventory/ItemListTile.vue | 6 +- .../components/persona/NoteCard.vue | 6 +- .../components/pointBuy/PointBuyCard.vue | 2 +- .../components/skills/SkillListTile.vue | 8 +- .../components/skills/SkillProficiency.vue | 6 +- .../spells/CastSpellWithSlotDialog.vue | 12 +- .../components/spells/SpellList.vue | 4 +- .../components/spells/SpellListCard.vue | 4 +- .../components/spells/SpellListTile.vue | 2 +- .../components/spells/spellsWithSubheaders.js | 0 .../components/toggles/ToggleCard.vue | 2 +- .../ui/properties/forms/ActionForm.vue | 8 +- .../ui/properties/forms/AdjustmentForm.vue | 4 +- .../forms/AttributeConsumedForm.vue | 4 +- .../ui/properties/forms/AttributeForm.vue | 10 +- .../forms/AttributesConsumedListForm.vue | 4 +- .../ui/properties/forms/BranchForm.vue | 2 +- .../ui/properties/forms/BuffForm.vue | 2 +- .../ui/properties/forms/BuffRemoverForm.vue | 2 +- .../ui/properties/forms/ClassForm.vue | 4 +- .../ui/properties/forms/ClassLevelForm.vue | 2 +- .../ui/properties/forms/ConstantForm.vue | 4 +- .../ui/properties/forms/ContainerForm.vue | 4 +- .../ui/properties/forms/DamageForm.vue | 2 +- .../properties/forms/DamageMultiplierForm.vue | 4 +- .../ui/properties/forms/EffectForm.vue | 8 +- .../ui/properties/forms/FeatureForm.vue | 2 +- .../ui/properties/forms/FolderForm.vue | 4 +- .../ui/properties/forms/ItemConsumedForm.vue | 2 +- .../ui/properties/forms/ItemForm.vue | 4 +- .../forms/ItemsConsumedListForm.vue | 4 +- .../ui/properties/forms/NoteForm.vue | 2 +- .../ui/properties/forms/PointBuyForm.vue | 8 +- .../ui/properties/forms/PointBuySpendForm.vue | 4 +- .../ui/properties/forms/ProficiencyForm.vue | 6 +- .../ui/properties/forms/ReferenceForm.vue | 6 +- .../ui/properties/forms/ResourcesForm.vue | 6 +- .../ui/properties/forms/RollForm.vue | 4 +- .../ui/properties/forms/SavingThrowForm.vue | 4 +- .../ui/properties/forms/SkillForm.vue | 8 +- .../ui/properties/forms/SlotFillerForm.vue | 2 +- .../ui/properties/forms/SlotForm.vue | 4 +- .../ui/properties/forms/SpellForm.vue | 10 +- .../ui/properties/forms/SpellListForm.vue | 4 +- .../ui/properties/forms/ToggleForm.vue | 2 +- .../ui/properties/forms/TriggerForm.vue | 4 +- .../forms/shared/CalculationErrorList.vue | 0 .../properties/forms/shared/ComputedField.vue | 2 +- .../properties/forms/shared/FormSection.vue | 2 +- .../properties/forms/shared/FormSections.vue | 0 .../properties/forms/shared/IconColorMenu.vue | 4 +- .../forms/shared/InlineComputationField.vue | 2 +- .../forms/shared/ProficiencySelect.vue | 2 +- .../forms/shared/lists/attributeListMixin.js | 2 +- .../shared/lists/createListOfProperties.js | 0 .../forms/shared/lists/saveListMixin.js | 2 +- .../forms/shared/lists/skillListMixin.js | 2 +- .../forms/shared/propertyFormIndex.js | 61 ++++++++ .../forms/shared/propertyFormMixin.js | 6 +- .../forms/shared/schemaFormMixin.js | 0 .../ui/properties/shared/ProficiencyIcon.vue | 2 +- .../ui/properties/shared/PropertyIcon.vue | 0 .../properties/shared/PropertySelectCard.vue | 0 .../ui/properties/shared/PropertySelector.vue | 2 +- .../ui/properties/shared/PropertyViewer.vue | 2 +- .../shared/SelectablePropertyDialog.vue | 6 +- .../ui/properties/shared/getPropertyTitle.js | 0 .../treeNodeViews/AdjustmentTreeNode.vue | 2 +- .../treeNodeViews/BranchTreeNode.vue | 2 +- .../treeNodeViews/ClassLevelTreeNode.vue | 2 +- .../treeNodeViews/DamageTreeNode.vue | 2 +- .../treeNodeViews/DefaultTreeNode.vue | 2 +- .../treeNodeViews/EffectTreeNode.vue | 4 +- .../properties/treeNodeViews/ItemTreeNode.vue | 2 +- .../treeNodeViews/ProficiencyTreeNode.vue | 4 +- .../treeNodeViews/ReferenceTreeNode.vue | 4 +- .../treeNodeViews/SavingThrowTreeNode.vue | 2 +- .../properties/treeNodeViews/TreeNodeView.vue | 2 +- .../treeNodeViews/treeNodeViewIndex.js | 23 +++ .../treeNodeViews/treeNodeViewMixin.js | 2 +- .../ui/properties/viewers/ActionViewer.vue | 10 +- .../properties/viewers/AdjustmentViewer.vue | 4 +- .../ui/properties/viewers/AttributeViewer.vue | 14 +- .../ui/properties/viewers/BranchViewer.vue | 4 +- .../properties/viewers/BuffRemoverViewer.vue | 4 +- .../ui/properties/viewers/BuffViewer.vue | 4 +- .../properties/viewers/ClassLevelViewer.vue | 2 +- .../ui/properties/viewers/ClassViewer.vue | 2 +- .../ui/properties/viewers/ConstantViewer.vue | 2 +- .../ui/properties/viewers/ContainerViewer.vue | 4 +- .../viewers/DamageMultiplierViewer.vue | 2 +- .../ui/properties/viewers/DamageViewer.vue | 2 +- .../ui/properties/viewers/EffectViewer.vue | 4 +- .../ui/properties/viewers/FeatureViewer.vue | 2 +- .../ui/properties/viewers/FolderViewer.vue | 2 +- .../ui/properties/viewers/ItemViewer.vue | 8 +- .../ui/properties/viewers/NoteViewer.vue | 2 +- .../ui/properties/viewers/PointBuyViewer.vue | 2 +- .../properties/viewers/ProficiencyViewer.vue | 4 +- .../ui/properties/viewers/ReferenceViewer.vue | 4 +- .../ui/properties/viewers/RollViewer.vue | 2 +- .../properties/viewers/SavingThrowViewer.vue | 2 +- .../ui/properties/viewers/SkillViewer.vue | 12 +- .../properties/viewers/SlotFillerViewer.vue | 4 +- .../ui/properties/viewers/SlotViewer.vue | 4 +- .../ui/properties/viewers/SpellListViewer.vue | 2 +- .../ui/properties/viewers/SpellViewer.vue | 2 +- .../ui/properties/viewers/ToggleViewer.vue | 2 +- .../ui/properties/viewers/TriggerViewer.vue | 2 +- .../viewers/shared/PropertyDescription.vue | 4 +- .../viewers/shared/PropertyField.vue | 4 +- .../viewers/shared/PropertyName.vue | 0 .../viewers/shared/PropertyTags.vue | 0 .../viewers/shared/PropertyVariableName.vue | 0 .../viewers/shared/propertyViewerIndex.js | 61 ++++++++ .../viewers/shared/propertyViewerMixin.js | 23 +++ app/imports/{ => client}/ui/router.js | 72 ++++----- .../{ => client}/ui/sharing/ShareDialog.vue | 2 +- .../ui/sharing/TransferOwnershipDialog.vue | 2 +- .../{ => client}/ui/styles/cardColors.css | 0 .../{ => client}/ui/styles/cardTitles.css | 0 .../{ => client}/ui/styles/centeredInputs.css | 0 .../{ => client}/ui/styles/denseLists.css | 0 .../{ => client}/ui/styles/fitAvatars.css | 0 .../ui/styles/inheritBackgrounds.css | 0 .../ui/styles/largeFormatInputs.css | 0 .../{ => client}/ui/styles/lineClamp.css | 0 .../{ => client}/ui/styles/markdown.css | 0 .../{ => client}/ui/styles/speedDial.css | 0 .../{ => client}/ui/styles/stylesIndex.js | 0 .../{ => client}/ui/styles/toolbarFlex.css | 0 .../ui/tabletop/SelectCreaturesDialog.vue | 4 +- .../ui/tabletop/TabletopActionCards.vue | 2 +- .../ui/tabletop/TabletopComponent.vue | 10 +- .../ui/tabletop/TabletopCreatureCard.vue | 0 .../{ => client}/ui/tabletop/TabletopLog.vue | 0 .../{ => client}/ui/tabletop/TabletopMap.vue | 0 .../ui/tabletop/TabletopRightDrawer.vue | 2 +- .../ui/tabletop/TabletopToolbar.vue | 0 app/imports/{ => client}/ui/themes.js | 0 .../ui/user/DeleteUserAccountDialog.vue | 4 +- .../{ => client}/ui/user/InviteDialog.vue | 2 +- .../{ => client}/ui/user/TierTooLowDialog.vue | 2 +- .../{ => client}/ui/user/UsernameDialog.vue | 2 +- .../{ => client}/ui/utility/escapeRegex.js | 0 .../{ => client}/ui/utility/getEffectIcon.js | 0 .../ui/utility/getProficiencyIcon.js | 0 .../{ => client}/ui/utility/getThemeColor.js | 2 +- .../{ => client}/ui/utility/isDarkColor.js | 0 .../{ => client}/ui/utility/sortEffects.js | 0 .../{ => client}/ui/utility/swapCase.js | 0 .../{ => client}/ui/utility/valueToCoins.js | 0 app/imports/{ => client}/ui/vueSetup.js | 12 +- app/imports/{ => client}/ui/vuetify.js | 4 +- app/imports/{ => client}/ui/vuexStore.js | 2 +- .../ui/components/global/globalIndex.js | 25 ---- .../ui/dialogStack/DialogComponentIndex.js | 66 -------- app/imports/ui/layouts/Sidebar.vue | 141 ------------------ .../forms/shared/propertyFormIndex.js | 61 -------- .../treeNodeViews/treeNodeViewIndex.js | 23 --- .../viewers/shared/propertyViewerIndex.js | 61 -------- .../viewers/shared/propertyViewerMixin.js | 23 --- 358 files changed, 1069 insertions(+), 1066 deletions(-) rename app/imports/{ui => api}/utility/numberToSignedString.js (100%) rename app/imports/{ => client}/ui/components/CardHighlight.vue (100%) rename app/imports/{ => client}/ui/components/CoinValue.vue (89%) rename app/imports/{ => client}/ui/components/ColorPicker.vue (97%) rename app/imports/{ => client}/ui/components/ColumnLayout.vue (100%) rename app/imports/{ => client}/ui/components/HorizontalHex.vue (100%) rename app/imports/{ => client}/ui/components/ImageUploadInput.vue (100%) rename app/imports/{ => client}/ui/components/IncrementButton.vue (93%) rename app/imports/{ => client}/ui/components/IncrementMenu.vue (100%) rename app/imports/{ => client}/ui/components/LabeledFab.vue (100%) rename app/imports/{ => client}/ui/components/MarkdownText.vue (100%) rename app/imports/{ => client}/ui/components/ResetSelector.vue (89%) rename app/imports/{ => client}/ui/components/RollPopup.vue (97%) rename app/imports/{ => client}/ui/components/SharedIcon.vue (100%) rename app/imports/{ => client}/ui/components/ToolbarCard.vue (89%) rename app/imports/{ => client}/ui/components/TreeDetailLayout.vue (100%) rename app/imports/{ => client}/ui/components/VerticalHex.vue (100%) rename app/imports/{ => client}/ui/components/global/DatePicker.vue (92%) rename app/imports/{ => client}/ui/components/global/IconPicker.vue (94%) rename app/imports/{ => client}/ui/components/global/SmartBtn.vue (94%) rename app/imports/{ => client}/ui/components/global/SmartCheckbox.vue (77%) rename app/imports/{ => client}/ui/components/global/SmartCombobox.vue (93%) rename app/imports/{ => client}/ui/components/global/SmartInputMixin.js (100%) rename app/imports/{ => client}/ui/components/global/SmartSelect.vue (86%) rename app/imports/{ => client}/ui/components/global/SmartSlider.vue (88%) rename app/imports/{ => client}/ui/components/global/SmartSwitch.vue (77%) rename app/imports/{ => client}/ui/components/global/SvgIcon.vue (100%) rename app/imports/{ => client}/ui/components/global/TextArea.vue (84%) rename app/imports/{ => client}/ui/components/global/TextField.vue (88%) create mode 100644 app/imports/client/ui/components/global/globalIndex.js rename app/imports/{ => client}/ui/components/propertyToolbar.vue (95%) rename app/imports/{ => client}/ui/components/rolls/Check.vue (96%) rename app/imports/{ => client}/ui/components/snackbars/SnackbarQueue.js (100%) rename app/imports/{ => client}/ui/components/snackbars/SnackbarQueue.vue (95%) rename app/imports/{ => client}/ui/components/tree/TreeNode.vue (98%) rename app/imports/{ => client}/ui/components/tree/TreeNodeList.vue (98%) rename app/imports/{ => client}/ui/components/tree/TreeSearchInput.vue (100%) rename app/imports/{ => client}/ui/creature/CreatureForm.vue (98%) rename app/imports/{ => client}/ui/creature/CreatureFormDialog.vue (89%) rename app/imports/{ => client}/ui/creature/RestButton.vue (100%) rename app/imports/{ => client}/ui/creature/archive/ArchiveDialog.vue (95%) rename app/imports/{ => client}/ui/creature/buildTree/BuildTreeNode.vue (95%) rename app/imports/{ => client}/ui/creature/buildTree/BuildTreeNodeList.vue (87%) rename app/imports/{ => client}/ui/creature/buildTree/FillSlotButton.vue (100%) rename app/imports/{ => client}/ui/creature/character/CharacterCreationDialog.vue (96%) rename app/imports/{ => client}/ui/creature/character/CharacterDeleteDialog.vue (91%) rename app/imports/{ => client}/ui/creature/character/CharacterSheet.vue (85%) rename app/imports/{ => client}/ui/creature/character/CharacterSheetFab.vue (98%) rename app/imports/{ => client}/ui/creature/character/CharacterSheetRightDrawer.vue (88%) rename app/imports/{ => client}/ui/creature/character/CharacterSheetToolbar.vue (95%) rename app/imports/{ => client}/ui/creature/character/CreatureRootDialog.vue (91%) rename app/imports/{ => client}/ui/creature/character/CreatureSummary.vue (92%) rename app/imports/{ => client}/ui/creature/character/MiniCharacterSheet.vue (100%) rename app/imports/{ => client}/ui/creature/character/characterSheetTabs/BuildTab.vue (95%) rename app/imports/{ => client}/ui/creature/character/characterSheetTabs/FeaturesTab.vue (87%) rename app/imports/{ => client}/ui/creature/character/characterSheetTabs/InventoryTab.vue (92%) rename app/imports/{ => client}/ui/creature/character/characterSheetTabs/JournalTab.vue (80%) rename app/imports/{ => client}/ui/creature/character/characterSheetTabs/SpellsTab.vue (89%) rename app/imports/{ => client}/ui/creature/character/characterSheetTabs/StatsTab.vue (91%) rename app/imports/{ => client}/ui/creature/character/characterSheetTabs/TreeTab.vue (89%) rename app/imports/{ => client}/ui/creature/character/errors/CharacterErrors.vue (95%) rename app/imports/{ => client}/ui/creature/character/errors/DependencyLoopError.vue (96%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/CharacterSheetPrinted.vue (96%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/PrintedInventory.vue (94%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/PrintedSpells.vue (89%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/PrintedStats.vue (95%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/components/PrintedAction.vue (91%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/components/PrintedContainer.vue (91%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/components/PrintedDamageMultipliers.vue (100%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/components/PrintedItem.vue (93%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/components/PrintedSkill.vue (91%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/components/PrintedSpell.vue (94%) rename app/imports/{ => client}/ui/creature/character/printedCharacterSheet/components/PrintedSpellList.vue (89%) rename app/imports/{ => client}/ui/creature/creatureList/ArchiveButton.vue (100%) rename app/imports/{ => client}/ui/creature/creatureList/CharacterListToolbarItems.vue (56%) rename app/imports/{ => client}/ui/creature/creatureList/CreatureFolderHeader.vue (96%) rename app/imports/{ => client}/ui/creature/creatureList/CreatureFolderList.vue (89%) rename app/imports/{ => client}/ui/creature/creatureList/CreatureList.vue (93%) rename app/imports/{ => client}/ui/creature/creatureList/CreatureListTile.vue (95%) rename app/imports/{ => client}/ui/creature/creatureList/CreatureStorageStats.vue (100%) rename app/imports/{ => client}/ui/creature/creatureProperties/AddCreaturePropertyDialog.vue (92%) rename app/imports/{ => client}/ui/creature/creatureProperties/Breadcrumbs.vue (97%) rename app/imports/{ => client}/ui/creature/creatureProperties/CreaturePropertiesTree.vue (96%) rename app/imports/{ => client}/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue (80%) rename app/imports/{ => client}/ui/creature/creatureProperties/CreaturePropertyDialog.vue (90%) rename app/imports/{ => client}/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue (82%) rename app/imports/{ => client}/ui/creature/creatureProperties/CreaturePropertyInsertForm.vue (84%) rename app/imports/{ => client}/ui/creature/experiences/ExperienceForm.vue (93%) rename app/imports/{ => client}/ui/creature/experiences/ExperienceInsertDialog.vue (86%) rename app/imports/{ => client}/ui/creature/experiences/ExperienceListDialog.vue (98%) rename app/imports/{ => client}/ui/creature/slots/LevelUpDialog.vue (96%) rename app/imports/{ => client}/ui/creature/slots/SlotCard.vue (88%) rename app/imports/{ => client}/ui/creature/slots/SlotCardsToFill.vue (91%) rename app/imports/{ => client}/ui/creature/slots/SlotFillDialog.vue (96%) rename app/imports/{ => client}/ui/dialogStack/DeleteConfirmationDialog.vue (95%) rename app/imports/{ => client}/ui/dialogStack/DialogBase.vue (93%) create mode 100644 app/imports/client/ui/dialogStack/DialogComponentIndex.js rename app/imports/{ => client}/ui/dialogStack/DialogStack.vue (97%) rename app/imports/{ => client}/ui/dialogStack/HelpDialog.vue (93%) rename app/imports/{ => client}/ui/dialogStack/dialogStackStore.js (78%) rename app/imports/{ => client}/ui/dialogStack/dialogStackWindowEvents.js (50%) rename app/imports/{ => client}/ui/dialogStack/mockElement.js (100%) rename app/imports/{ => client}/ui/files/ArchiveFileCard.vue (96%) rename app/imports/{ => client}/ui/files/FileStorageStats.vue (94%) rename app/imports/{ => client}/ui/files/UserImageCard.vue (100%) rename app/imports/{ => client}/ui/icons/IconAdmin.vue (88%) rename app/imports/{ => client}/ui/icons/SvgIconByName.vue (84%) rename app/imports/{ => client}/ui/icons/importIcons.js (100%) rename app/imports/{ => client}/ui/layouts/AppLayout.vue (91%) create mode 100644 app/imports/client/ui/layouts/Sidebar.vue rename app/imports/{ => client}/ui/layouts/SingleCardLayout.vue (100%) rename app/imports/{ => client}/ui/library/InsertLibraryNodeButton.vue (100%) rename app/imports/{ => client}/ui/library/LibraryAndNode.vue (87%) rename app/imports/{ => client}/ui/library/LibraryBrowser.vue (95%) rename app/imports/{ => client}/ui/library/LibraryCollectionCreationDialog.vue (96%) rename app/imports/{ => client}/ui/library/LibraryCollectionEditDialog.vue (95%) rename app/imports/{ => client}/ui/library/LibraryCollectionHeader.vue (96%) rename app/imports/{ => client}/ui/library/LibraryCollectionToolbar.vue (100%) rename app/imports/{ => client}/ui/library/LibraryContentsContainer.vue (97%) rename app/imports/{ => client}/ui/library/LibraryCreationDialog.vue (94%) rename app/imports/{ => client}/ui/library/LibraryEditDialog.vue (94%) rename app/imports/{ => client}/ui/library/LibraryList.vue (95%) rename app/imports/{ => client}/ui/library/LibraryListTile.vue (94%) rename app/imports/{ => client}/ui/library/LibraryNodeCreationDialog.vue (74%) rename app/imports/{ => client}/ui/library/LibraryNodeDialog.vue (92%) rename app/imports/{ => client}/ui/library/LibraryNodeExpansionContent.vue (87%) rename app/imports/{ => client}/ui/library/LibraryNodeInsertForm.vue (87%) rename app/imports/{ => client}/ui/library/MoveLibraryNodeDialog.vue (83%) rename app/imports/{ => client}/ui/library/SelectLibraryNodeDialog.vue (84%) rename app/imports/{ => client}/ui/library/SingleLibraryToolbar.vue (100%) rename app/imports/{ => client}/ui/log/CharacterLog.vue (98%) rename app/imports/{ => client}/ui/log/LogContent.vue (92%) rename app/imports/{ => client}/ui/log/LogEntry.vue (86%) rename app/imports/{ => client}/ui/markdownCofig.js (100%) rename app/imports/{ => client}/ui/pages/About.vue (100%) rename app/imports/{ => client}/ui/pages/Account.vue (97%) rename app/imports/{ => client}/ui/pages/Admin.vue (100%) rename app/imports/{ => client}/ui/pages/CharacterList.vue (76%) rename app/imports/{ => client}/ui/pages/CharacterSheetPage.vue (69%) rename app/imports/{ => client}/ui/pages/Documentation.vue (96%) rename app/imports/{ => client}/ui/pages/EmailVerificationError.vue (100%) rename app/imports/{ => client}/ui/pages/EmailVerificationSuccess.vue (100%) rename app/imports/{ => client}/ui/pages/Feedback.vue (100%) rename app/imports/{ => client}/ui/pages/Files.vue (94%) rename app/imports/{ => client}/ui/pages/Friends.vue (100%) rename app/imports/{ => client}/ui/pages/FunctionReference.vue (100%) rename app/imports/{ => client}/ui/pages/Home.vue (100%) rename app/imports/{ => client}/ui/pages/InviteError.vue (100%) rename app/imports/{ => client}/ui/pages/InviteSuccess.vue (100%) rename app/imports/{ => client}/ui/pages/LaunchCountdown.vue (100%) rename app/imports/{ => client}/ui/pages/Library.vue (97%) rename app/imports/{ => client}/ui/pages/LibraryCollection.vue (95%) rename app/imports/{ => client}/ui/pages/Maintenance.vue (100%) rename app/imports/{ => client}/ui/pages/NotFound.vue (100%) rename app/imports/{ => client}/ui/pages/NotImplemented.vue (100%) rename app/imports/{ => client}/ui/pages/PatreonLevelTooLow.vue (100%) rename app/imports/{ => client}/ui/pages/Register.vue (100%) rename app/imports/{ => client}/ui/pages/ResetPassword.vue (100%) rename app/imports/{ => client}/ui/pages/SignIn.vue (100%) rename app/imports/{ => client}/ui/pages/SingleLibrary.vue (82%) rename app/imports/{ => client}/ui/pages/Tabletop.vue (92%) rename app/imports/{ => client}/ui/pages/Tabletops.vue (89%) rename app/imports/{ => client}/ui/properties/components/actions/ActionCard.vue (90%) rename app/imports/{ => client}/ui/properties/components/actions/AttributeConsumedView.vue (100%) rename app/imports/{ => client}/ui/properties/components/actions/EventButton.vue (89%) rename app/imports/{ => client}/ui/properties/components/actions/ItemConsumedView.vue (96%) rename app/imports/{ => client}/ui/properties/components/actions/SelectItemToConsume.vue (94%) rename app/imports/{ => client}/ui/properties/components/attributes/AbilityListTile.vue (92%) rename app/imports/{ => client}/ui/properties/components/attributes/AttributeCard.vue (81%) rename app/imports/{ => client}/ui/properties/components/attributes/AttributeCardContent.vue (89%) rename app/imports/{ => client}/ui/properties/components/attributes/AttributeEffect.vue (96%) rename app/imports/{ => client}/ui/properties/components/attributes/HealthBar.vue (97%) rename app/imports/{ => client}/ui/properties/components/attributes/HealthBarCard.vue (84%) rename app/imports/{ => client}/ui/properties/components/attributes/HealthBarCardContainer.vue (94%) rename app/imports/{ => client}/ui/properties/components/attributes/HitDiceListTile.vue (96%) rename app/imports/{ => client}/ui/properties/components/attributes/ResourceCard.vue (81%) rename app/imports/{ => client}/ui/properties/components/attributes/ResourceCardContent.vue (100%) rename app/imports/{ => client}/ui/properties/components/attributes/SpellSlotListTile.vue (96%) rename app/imports/{ => client}/ui/properties/components/attributes/SplitListLayout.vue (100%) rename app/imports/{ => client}/ui/properties/components/buffs/BuffListItem.vue (100%) rename app/imports/{ => client}/ui/properties/components/damageMultipliers/DamageMultiplierCard.vue (100%) rename app/imports/{ => client}/ui/properties/components/effects/InlineEffect.vue (97%) rename app/imports/{ => client}/ui/properties/components/features/FeatureCard.vue (83%) rename app/imports/{ => client}/ui/properties/components/folders/FolderGroupCard.vue (94%) rename app/imports/{ => client}/ui/properties/components/folders/folderGroupComponents/ActionGroupComponent.vue (72%) rename app/imports/{ => client}/ui/properties/components/folders/folderGroupComponents/AttributeGroupComponent.vue (73%) rename app/imports/{ => client}/ui/properties/components/folders/propertyComponentIndex.js (59%) rename app/imports/{ => client}/ui/properties/components/inventory/ContainerCard.vue (91%) rename app/imports/{ => client}/ui/properties/components/inventory/ItemList.vue (96%) rename app/imports/{ => client}/ui/properties/components/inventory/ItemListTile.vue (91%) rename app/imports/{ => client}/ui/properties/components/persona/NoteCard.vue (83%) rename app/imports/{ => client}/ui/properties/components/pointBuy/PointBuyCard.vue (94%) rename app/imports/{ => client}/ui/properties/components/skills/SkillListTile.vue (90%) rename app/imports/{ => client}/ui/properties/components/skills/SkillProficiency.vue (88%) rename app/imports/{ => client}/ui/properties/components/spells/CastSpellWithSlotDialog.vue (95%) rename app/imports/{ => client}/ui/properties/components/spells/SpellList.vue (93%) rename app/imports/{ => client}/ui/properties/components/spells/SpellListCard.vue (95%) rename app/imports/{ => client}/ui/properties/components/spells/SpellListTile.vue (96%) rename app/imports/{ => client}/ui/properties/components/spells/spellsWithSubheaders.js (100%) rename app/imports/{ => client}/ui/properties/components/toggles/ToggleCard.vue (96%) rename app/imports/{ => client}/ui/properties/forms/ActionForm.vue (95%) rename app/imports/{ => client}/ui/properties/forms/AdjustmentForm.vue (95%) rename app/imports/{ => client}/ui/properties/forms/AttributeConsumedForm.vue (82%) rename app/imports/{ => client}/ui/properties/forms/AttributeForm.vue (96%) rename app/imports/{ => client}/ui/properties/forms/AttributesConsumedListForm.vue (82%) rename app/imports/{ => client}/ui/properties/forms/BranchForm.vue (97%) rename app/imports/{ => client}/ui/properties/forms/BuffForm.vue (96%) rename app/imports/{ => client}/ui/properties/forms/BuffRemoverForm.vue (98%) rename app/imports/{ => client}/ui/properties/forms/ClassForm.vue (96%) rename app/imports/{ => client}/ui/properties/forms/ClassLevelForm.vue (95%) rename app/imports/{ => client}/ui/properties/forms/ConstantForm.vue (88%) rename app/imports/{ => client}/ui/properties/forms/ContainerForm.vue (93%) rename app/imports/{ => client}/ui/properties/forms/DamageForm.vue (96%) rename app/imports/{ => client}/ui/properties/forms/DamageMultiplierForm.vue (94%) rename app/imports/{ => client}/ui/properties/forms/EffectForm.vue (96%) rename app/imports/{ => client}/ui/properties/forms/FeatureForm.vue (96%) rename app/imports/{ => client}/ui/properties/forms/FolderForm.vue (86%) rename app/imports/{ => client}/ui/properties/forms/ItemConsumedForm.vue (89%) rename app/imports/{ => client}/ui/properties/forms/ItemForm.vue (95%) rename app/imports/{ => client}/ui/properties/forms/ItemsConsumedListForm.vue (82%) rename app/imports/{ => client}/ui/properties/forms/NoteForm.vue (93%) rename app/imports/{ => client}/ui/properties/forms/PointBuyForm.vue (93%) rename app/imports/{ => client}/ui/properties/forms/PointBuySpendForm.vue (92%) rename app/imports/{ => client}/ui/properties/forms/ProficiencyForm.vue (82%) rename app/imports/{ => client}/ui/properties/forms/ReferenceForm.vue (88%) rename app/imports/{ => client}/ui/properties/forms/ResourcesForm.vue (90%) rename app/imports/{ => client}/ui/properties/forms/RollForm.vue (92%) rename app/imports/{ => client}/ui/properties/forms/SavingThrowForm.vue (93%) rename app/imports/{ => client}/ui/properties/forms/SkillForm.vue (91%) rename app/imports/{ => client}/ui/properties/forms/SlotFillerForm.vue (96%) rename app/imports/{ => client}/ui/properties/forms/SlotForm.vue (97%) rename app/imports/{ => client}/ui/properties/forms/SpellForm.vue (95%) rename app/imports/{ => client}/ui/properties/forms/SpellListForm.vue (93%) rename app/imports/{ => client}/ui/properties/forms/ToggleForm.vue (97%) rename app/imports/{ => client}/ui/properties/forms/TriggerForm.vue (97%) rename app/imports/{ => client}/ui/properties/forms/shared/CalculationErrorList.vue (100%) rename app/imports/{ => client}/ui/properties/forms/shared/ComputedField.vue (91%) rename app/imports/{ => client}/ui/properties/forms/shared/FormSection.vue (89%) rename app/imports/{ => client}/ui/properties/forms/shared/FormSections.vue (100%) rename app/imports/{ => client}/ui/properties/forms/shared/IconColorMenu.vue (83%) rename app/imports/{ => client}/ui/properties/forms/shared/InlineComputationField.vue (91%) rename app/imports/{ => client}/ui/properties/forms/shared/ProficiencySelect.vue (95%) rename app/imports/{ => client}/ui/properties/forms/shared/lists/attributeListMixin.js (62%) rename app/imports/{ => client}/ui/properties/forms/shared/lists/createListOfProperties.js (100%) rename app/imports/{ => client}/ui/properties/forms/shared/lists/saveListMixin.js (60%) rename app/imports/{ => client}/ui/properties/forms/shared/lists/skillListMixin.js (58%) create mode 100644 app/imports/client/ui/properties/forms/shared/propertyFormIndex.js rename app/imports/{ => client}/ui/properties/forms/shared/propertyFormMixin.js (70%) rename app/imports/{ => client}/ui/properties/forms/shared/schemaFormMixin.js (100%) rename app/imports/{ => client}/ui/properties/shared/ProficiencyIcon.vue (79%) rename app/imports/{ => client}/ui/properties/shared/PropertyIcon.vue (100%) rename app/imports/{ => client}/ui/properties/shared/PropertySelectCard.vue (100%) rename app/imports/{ => client}/ui/properties/shared/PropertySelector.vue (96%) rename app/imports/{ => client}/ui/properties/shared/PropertyViewer.vue (82%) rename app/imports/{ => client}/ui/properties/shared/SelectablePropertyDialog.vue (88%) rename app/imports/{ => client}/ui/properties/shared/getPropertyTitle.js (100%) rename app/imports/{ => client}/ui/properties/treeNodeViews/AdjustmentTreeNode.vue (91%) rename app/imports/{ => client}/ui/properties/treeNodeViews/BranchTreeNode.vue (90%) rename app/imports/{ => client}/ui/properties/treeNodeViews/ClassLevelTreeNode.vue (81%) rename app/imports/{ => client}/ui/properties/treeNodeViews/DamageTreeNode.vue (89%) rename app/imports/{ => client}/ui/properties/treeNodeViews/DefaultTreeNode.vue (80%) rename app/imports/{ => client}/ui/properties/treeNodeViews/EffectTreeNode.vue (93%) rename app/imports/{ => client}/ui/properties/treeNodeViews/ItemTreeNode.vue (92%) rename app/imports/{ => client}/ui/properties/treeNodeViews/ProficiencyTreeNode.vue (79%) rename app/imports/{ => client}/ui/properties/treeNodeViews/ReferenceTreeNode.vue (75%) rename app/imports/{ => client}/ui/properties/treeNodeViews/SavingThrowTreeNode.vue (89%) rename app/imports/{ => client}/ui/properties/treeNodeViews/TreeNodeView.vue (86%) create mode 100644 app/imports/client/ui/properties/treeNodeViews/treeNodeViewIndex.js rename app/imports/{ => client}/ui/properties/treeNodeViews/treeNodeViewMixin.js (84%) rename app/imports/{ => client}/ui/properties/viewers/ActionViewer.vue (92%) rename app/imports/{ => client}/ui/properties/viewers/AdjustmentViewer.vue (90%) rename app/imports/{ => client}/ui/properties/viewers/AttributeViewer.vue (90%) rename app/imports/{ => client}/ui/properties/viewers/BranchViewer.vue (87%) rename app/imports/{ => client}/ui/properties/viewers/BuffRemoverViewer.vue (92%) rename app/imports/{ => client}/ui/properties/viewers/BuffViewer.vue (86%) rename app/imports/{ => client}/ui/properties/viewers/ClassLevelViewer.vue (88%) rename app/imports/{ => client}/ui/properties/viewers/ClassViewer.vue (96%) rename app/imports/{ => client}/ui/properties/viewers/ConstantViewer.vue (79%) rename app/imports/{ => client}/ui/properties/viewers/ContainerViewer.vue (94%) rename app/imports/{ => client}/ui/properties/viewers/DamageMultiplierViewer.vue (94%) rename app/imports/{ => client}/ui/properties/viewers/DamageViewer.vue (87%) rename app/imports/{ => client}/ui/properties/viewers/EffectViewer.vue (95%) rename app/imports/{ => client}/ui/properties/viewers/FeatureViewer.vue (80%) rename app/imports/{ => client}/ui/properties/viewers/FolderViewer.vue (64%) rename app/imports/{ => client}/ui/properties/viewers/ItemViewer.vue (93%) rename app/imports/{ => client}/ui/properties/viewers/NoteViewer.vue (80%) rename app/imports/{ => client}/ui/properties/viewers/PointBuyViewer.vue (91%) rename app/imports/{ => client}/ui/properties/viewers/ProficiencyViewer.vue (83%) rename app/imports/{ => client}/ui/properties/viewers/ReferenceViewer.vue (80%) rename app/imports/{ => client}/ui/properties/viewers/RollViewer.vue (80%) rename app/imports/{ => client}/ui/properties/viewers/SavingThrowViewer.vue (83%) rename app/imports/{ => client}/ui/properties/viewers/SkillViewer.vue (92%) rename app/imports/{ => client}/ui/properties/viewers/SlotFillerViewer.vue (87%) rename app/imports/{ => client}/ui/properties/viewers/SlotViewer.vue (92%) rename app/imports/{ => client}/ui/properties/viewers/SpellListViewer.vue (91%) rename app/imports/{ => client}/ui/properties/viewers/SpellViewer.vue (93%) rename app/imports/{ => client}/ui/properties/viewers/ToggleViewer.vue (85%) rename app/imports/{ => client}/ui/properties/viewers/TriggerViewer.vue (94%) rename app/imports/{ => client}/ui/properties/viewers/shared/PropertyDescription.vue (85%) rename app/imports/{ => client}/ui/properties/viewers/shared/PropertyField.vue (96%) rename app/imports/{ => client}/ui/properties/viewers/shared/PropertyName.vue (100%) rename app/imports/{ => client}/ui/properties/viewers/shared/PropertyTags.vue (100%) rename app/imports/{ => client}/ui/properties/viewers/shared/PropertyVariableName.vue (100%) create mode 100644 app/imports/client/ui/properties/viewers/shared/propertyViewerIndex.js create mode 100644 app/imports/client/ui/properties/viewers/shared/propertyViewerMixin.js rename app/imports/{ => client}/ui/router.js (71%) rename app/imports/{ => client}/ui/sharing/ShareDialog.vue (99%) rename app/imports/{ => client}/ui/sharing/TransferOwnershipDialog.vue (95%) rename app/imports/{ => client}/ui/styles/cardColors.css (100%) rename app/imports/{ => client}/ui/styles/cardTitles.css (100%) rename app/imports/{ => client}/ui/styles/centeredInputs.css (100%) rename app/imports/{ => client}/ui/styles/denseLists.css (100%) rename app/imports/{ => client}/ui/styles/fitAvatars.css (100%) rename app/imports/{ => client}/ui/styles/inheritBackgrounds.css (100%) rename app/imports/{ => client}/ui/styles/largeFormatInputs.css (100%) rename app/imports/{ => client}/ui/styles/lineClamp.css (100%) rename app/imports/{ => client}/ui/styles/markdown.css (100%) rename app/imports/{ => client}/ui/styles/speedDial.css (100%) rename app/imports/{ => client}/ui/styles/stylesIndex.js (100%) rename app/imports/{ => client}/ui/styles/toolbarFlex.css (100%) rename app/imports/{ => client}/ui/tabletop/SelectCreaturesDialog.vue (89%) rename app/imports/{ => client}/ui/tabletop/TabletopActionCards.vue (91%) rename app/imports/{ => client}/ui/tabletop/TabletopComponent.vue (84%) rename app/imports/{ => client}/ui/tabletop/TabletopCreatureCard.vue (100%) rename app/imports/{ => client}/ui/tabletop/TabletopLog.vue (100%) rename app/imports/{ => client}/ui/tabletop/TabletopMap.vue (100%) rename app/imports/{ => client}/ui/tabletop/TabletopRightDrawer.vue (87%) rename app/imports/{ => client}/ui/tabletop/TabletopToolbar.vue (100%) rename app/imports/{ => client}/ui/themes.js (100%) rename app/imports/{ => client}/ui/user/DeleteUserAccountDialog.vue (95%) rename app/imports/{ => client}/ui/user/InviteDialog.vue (96%) rename app/imports/{ => client}/ui/user/TierTooLowDialog.vue (96%) rename app/imports/{ => client}/ui/user/UsernameDialog.vue (95%) rename app/imports/{ => client}/ui/utility/escapeRegex.js (100%) rename app/imports/{ => client}/ui/utility/getEffectIcon.js (100%) rename app/imports/{ => client}/ui/utility/getProficiencyIcon.js (100%) rename app/imports/{ => client}/ui/utility/getThemeColor.js (76%) rename app/imports/{ => client}/ui/utility/isDarkColor.js (100%) rename app/imports/{ => client}/ui/utility/sortEffects.js (100%) rename app/imports/{ => client}/ui/utility/swapCase.js (100%) rename app/imports/{ => client}/ui/utility/valueToCoins.js (100%) rename app/imports/{ => client}/ui/vueSetup.js (61%) rename app/imports/{ => client}/ui/vuetify.js (86%) rename app/imports/{ => client}/ui/vuexStore.js (95%) delete mode 100644 app/imports/ui/components/global/globalIndex.js delete mode 100644 app/imports/ui/dialogStack/DialogComponentIndex.js delete mode 100644 app/imports/ui/layouts/Sidebar.vue delete mode 100644 app/imports/ui/properties/forms/shared/propertyFormIndex.js delete mode 100644 app/imports/ui/properties/treeNodeViews/treeNodeViewIndex.js delete mode 100644 app/imports/ui/properties/viewers/shared/propertyViewerIndex.js delete mode 100644 app/imports/ui/properties/viewers/shared/propertyViewerMixin.js diff --git a/app/client/main.js b/app/client/main.js index d9d770b7..6305c8ae 100644 --- a/app/client/main.js +++ b/app/client/main.js @@ -1,6 +1,6 @@ import '/imports/api/simpleSchemaConfig.js'; -import '/imports/ui/vueSetup.js'; -import '/imports/ui/styles/stylesIndex.js'; +import '/imports/client/ui/vueSetup.js'; +import '/imports/client/ui/styles/stylesIndex.js'; import '/imports/client/config.js'; import '/imports/client/serviceWorker.js'; diff --git a/app/imports/api/creature/creatureProperties/methods/duplicateProperty.js b/app/imports/api/creature/creatureProperties/methods/duplicateProperty.js index 5a8c84fe..9bb40898 100644 --- a/app/imports/api/creature/creatureProperties/methods/duplicateProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/duplicateProperty.js @@ -12,7 +12,7 @@ import { reorderDocs } from '/imports/api/parenting/order.js'; var snackbar; if (Meteor.isClient) { snackbar = require( - '/imports/ui/components/snackbars/SnackbarQueue.js' + '/imports/client/ui/components/snackbars/SnackbarQueue.js' ).snackbar } diff --git a/app/imports/api/engine/actions/applyPropertyByType/applyAction.js b/app/imports/api/engine/actions/applyPropertyByType/applyAction.js index becf0775..2e78446f 100644 --- a/app/imports/api/engine/actions/applyPropertyByType/applyAction.js +++ b/app/imports/api/engine/actions/applyPropertyByType/applyAction.js @@ -5,7 +5,7 @@ import applyProperty from '../applyProperty.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import { adjustQuantityWork } from '/imports/api/creature/creatureProperties/methods/adjustQuantity.js'; import { damagePropertyWork } from '/imports/api/creature/creatureProperties/methods/damageProperty.js'; -import numberToSignedString from '/imports/ui/utility/numberToSignedString.js'; +import numberToSignedString from '/imports/api/utility/numberToSignedString.js'; import { applyNodeTriggers } from '/imports/api/engine/actions/applyTriggers.js'; import { resetProperties } from '/imports/api/creature/creatures/methods/restCreature.js'; diff --git a/app/imports/api/engine/actions/applyPropertyByType/applySavingThrow.js b/app/imports/api/engine/actions/applyPropertyByType/applySavingThrow.js index a5aa4bae..22de7aa7 100644 --- a/app/imports/api/engine/actions/applyPropertyByType/applySavingThrow.js +++ b/app/imports/api/engine/actions/applyPropertyByType/applySavingThrow.js @@ -1,10 +1,10 @@ import rollDice from '/imports/parser/rollDice.js'; import recalculateCalculation from './shared/recalculateCalculation.js'; import applyProperty from '../applyProperty.js'; -import numberToSignedString from '/imports/ui/utility/numberToSignedString.js'; +import numberToSignedString from '/imports/api/utility/numberToSignedString.js'; import { applyNodeTriggers } from '/imports/api/engine/actions/applyTriggers.js'; -export default function applySavingThrow(node, actionContext){ +export default function applySavingThrow(node, actionContext) { applyNodeTriggers(node, 'before', actionContext); const prop = node.node; @@ -13,7 +13,7 @@ export default function applySavingThrow(node, actionContext){ recalculateCalculation(prop.dc, actionContext); const dc = (prop.dc?.value); - if (!isFinite(dc)){ + if (!isFinite(dc)) { actionContext.addLog({ name: 'Error', value: 'Saving throw requires a DC', @@ -29,8 +29,8 @@ export default function applySavingThrow(node, actionContext){ // If there are no save targets, apply all children as if the save both // succeeeded and failed - if (!saveTargets?.length){ - scope['$saveFailed'] = {value: true}; + if (!saveTargets?.length) { + scope['$saveFailed'] = { value: true }; scope['$saveSucceeded'] = { value: true }; applyNodeTriggers(node, 'after', actionContext); return node.children.forEach(child => applyProperty(child, actionContext)); @@ -51,7 +51,7 @@ export default function applySavingThrow(node, actionContext){ const save = target.variables[prop.stat]; - if (!save){ + if (!save) { actionContext.addLog({ name: 'Saving throw error', value: 'No saving throw found: ' + prop.stat, @@ -62,7 +62,7 @@ export default function applySavingThrow(node, actionContext){ const rollModifierText = numberToSignedString(save.value, true); let value, values, resultPrefix; - if (save.advantage === 1){ + if (save.advantage === 1) { const [a, b] = rollDice(2, 20); if (a >= b) { value = a; @@ -71,7 +71,7 @@ export default function applySavingThrow(node, actionContext){ value = b; resultPrefix = `Advantage\n1d20 [ ~~${a}~~, ${b} ] ${rollModifierText}`; } - } else if (save.advantage === -1){ + } else if (save.advantage === -1) { const [a, b] = rollDice(2, 20); if (a <= b) { value = a; @@ -85,14 +85,14 @@ export default function applySavingThrow(node, actionContext){ value = values[0]; resultPrefix = `1d20 [ ${value} ] ${rollModifierText}` } - scope['$saveDiceRoll'] = {value}; + scope['$saveDiceRoll'] = { value }; const result = value + save.value || 0; - scope['$saveRoll'] = {value: result}; + scope['$saveRoll'] = { value: result }; const saveSuccess = result >= dc; - if (saveSuccess){ - scope['$saveSucceeded'] = {value: true}; + if (saveSuccess) { + scope['$saveSucceeded'] = { value: true }; } else { - scope['$saveFailed'] = {value: true}; + scope['$saveFailed'] = { value: true }; } if (!prop.silent) actionContext.addLog({ name: saveSuccess ? 'Successful save' : 'Failed save', diff --git a/app/imports/api/engine/actions/doCheck.js b/app/imports/api/engine/actions/doCheck.js index a5bc653b..8e9789a6 100644 --- a/app/imports/api/engine/actions/doCheck.js +++ b/app/imports/api/engine/actions/doCheck.js @@ -4,7 +4,7 @@ import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import rollDice from '/imports/parser/rollDice.js'; -import numberToSignedString from '/imports/ui/utility/numberToSignedString.js'; +import numberToSignedString from '/imports/api/utility/numberToSignedString.js'; import { applyTriggers } from '/imports/api/engine/actions/applyTriggers.js'; import ActionContext from '/imports/api/engine/actions/ActionContext.js'; import evaluateCalculation from '/imports/api/engine/computation/utility/evaluateCalculation.js'; diff --git a/app/imports/api/library/methods/copyLibraryNodeTo.js b/app/imports/api/library/methods/copyLibraryNodeTo.js index f99b184f..ea9ce06f 100644 --- a/app/imports/api/library/methods/copyLibraryNodeTo.js +++ b/app/imports/api/library/methods/copyLibraryNodeTo.js @@ -17,7 +17,7 @@ import fetchDocByRef from '/imports/api/parenting/fetchDocByRef.js'; var snackbar; if (Meteor.isClient) { snackbar = require( - '/imports/ui/components/snackbars/SnackbarQueue.js' + '/imports/client/ui/components/snackbars/SnackbarQueue.js' ).snackbar } diff --git a/app/imports/api/library/methods/duplicateLibraryNode.js b/app/imports/api/library/methods/duplicateLibraryNode.js index ff35b8fb..83f20106 100644 --- a/app/imports/api/library/methods/duplicateLibraryNode.js +++ b/app/imports/api/library/methods/duplicateLibraryNode.js @@ -12,7 +12,7 @@ import { reorderDocs } from '/imports/api/parenting/order.js'; var snackbar; if (Meteor.isClient) { snackbar = require( - '/imports/ui/components/snackbars/SnackbarQueue.js' + '/imports/client/ui/components/snackbars/SnackbarQueue.js' ).snackbar } diff --git a/app/imports/ui/utility/numberToSignedString.js b/app/imports/api/utility/numberToSignedString.js similarity index 100% rename from app/imports/ui/utility/numberToSignedString.js rename to app/imports/api/utility/numberToSignedString.js diff --git a/app/imports/ui/components/CardHighlight.vue b/app/imports/client/ui/components/CardHighlight.vue similarity index 100% rename from app/imports/ui/components/CardHighlight.vue rename to app/imports/client/ui/components/CardHighlight.vue diff --git a/app/imports/ui/components/CoinValue.vue b/app/imports/client/ui/components/CoinValue.vue similarity index 89% rename from app/imports/ui/components/CoinValue.vue rename to app/imports/client/ui/components/CoinValue.vue index b13aa9ef..d5ccc0f8 100644 --- a/app/imports/ui/components/CoinValue.vue +++ b/app/imports/client/ui/components/CoinValue.vue @@ -19,7 +19,7 @@ diff --git a/app/imports/ui/layouts/SingleCardLayout.vue b/app/imports/client/ui/layouts/SingleCardLayout.vue similarity index 100% rename from app/imports/ui/layouts/SingleCardLayout.vue rename to app/imports/client/ui/layouts/SingleCardLayout.vue diff --git a/app/imports/ui/library/InsertLibraryNodeButton.vue b/app/imports/client/ui/library/InsertLibraryNodeButton.vue similarity index 100% rename from app/imports/ui/library/InsertLibraryNodeButton.vue rename to app/imports/client/ui/library/InsertLibraryNodeButton.vue diff --git a/app/imports/ui/library/LibraryAndNode.vue b/app/imports/client/ui/library/LibraryAndNode.vue similarity index 87% rename from app/imports/ui/library/LibraryAndNode.vue rename to app/imports/client/ui/library/LibraryAndNode.vue index aa6601db..781fcac8 100644 --- a/app/imports/ui/library/LibraryAndNode.vue +++ b/app/imports/client/ui/library/LibraryAndNode.vue @@ -80,18 +80,18 @@ diff --git a/app/imports/ui/properties/treeNodeViews/SavingThrowTreeNode.vue b/app/imports/client/ui/properties/treeNodeViews/SavingThrowTreeNode.vue similarity index 89% rename from app/imports/ui/properties/treeNodeViews/SavingThrowTreeNode.vue rename to app/imports/client/ui/properties/treeNodeViews/SavingThrowTreeNode.vue index 10767f99..63bbdbe5 100644 --- a/app/imports/ui/properties/treeNodeViews/SavingThrowTreeNode.vue +++ b/app/imports/client/ui/properties/treeNodeViews/SavingThrowTreeNode.vue @@ -17,7 +17,7 @@ diff --git a/app/imports/ui/properties/forms/shared/propertyFormIndex.js b/app/imports/ui/properties/forms/shared/propertyFormIndex.js deleted file mode 100644 index ef29ea2d..00000000 --- a/app/imports/ui/properties/forms/shared/propertyFormIndex.js +++ /dev/null @@ -1,61 +0,0 @@ -import ActionForm from '/imports/ui/properties/forms/ActionForm.vue'; -import AdjustmentForm from '/imports/ui/properties/forms/AdjustmentForm.vue'; -import AttributeForm from '/imports/ui/properties/forms/AttributeForm.vue'; -import BuffForm from '/imports/ui/properties/forms/BuffForm.vue'; -import BuffRemoverForm from '/imports/ui/properties/forms/BuffRemoverForm.vue'; -import BranchForm from '/imports/ui/properties/forms/BranchForm.vue'; -import ClassForm from '/imports/ui/properties/forms/ClassForm.vue'; -import ClassLevelForm from '/imports/ui/properties/forms/ClassLevelForm.vue'; -import ConstantForm from '/imports/ui/properties/forms/ConstantForm.vue'; -import ContainerForm from '/imports/ui/properties/forms/ContainerForm.vue'; -import DamageForm from '/imports/ui/properties/forms/DamageForm.vue'; -import DamageMultiplierForm from '/imports/ui/properties/forms/DamageMultiplierForm.vue'; -import EffectForm from '/imports/ui/properties/forms/EffectForm.vue'; -import FeatureForm from '/imports/ui/properties/forms/FeatureForm.vue'; -import FolderForm from '/imports/ui/properties/forms/FolderForm.vue'; -import ItemForm from '/imports/ui/properties/forms/ItemForm.vue'; -import NoteForm from '/imports/ui/properties/forms/NoteForm.vue'; -import PointBuyForm from '/imports/ui/properties/forms/PointBuyForm.vue'; -import ProficiencyForm from '/imports/ui/properties/forms/ProficiencyForm.vue'; -import ReferenceForm from '/imports/ui/properties/forms/ReferenceForm.vue'; -import RollForm from '/imports/ui/properties/forms/RollForm.vue'; -import SavingThrowForm from '/imports/ui/properties/forms/SavingThrowForm.vue'; -import SkillForm from '/imports/ui/properties/forms/SkillForm.vue'; -import SlotForm from '/imports/ui/properties/forms/SlotForm.vue'; -import SlotFillerForm from '/imports/ui/properties/forms/SlotFillerForm.vue'; -import SpellListForm from '/imports/ui/properties/forms/SpellListForm.vue'; -import SpellForm from '/imports/ui/properties/forms/SpellForm.vue'; -import ToggleForm from '/imports/ui/properties/forms/ToggleForm.vue'; -import TriggerForm from '/imports/ui/properties/forms/TriggerForm.vue'; - -export default { - action: ActionForm, - adjustment: AdjustmentForm, - attribute: AttributeForm, - buff: BuffForm, - buffRemover: BuffRemoverForm, - branch: BranchForm, - constant: ConstantForm, - container: ContainerForm, - class: ClassForm, - classLevel: ClassLevelForm, - damage: DamageForm, - damageMultiplier: DamageMultiplierForm, - effect: EffectForm, - feature: FeatureForm, - folder: FolderForm, - item: ItemForm, - note: NoteForm, - pointBuy: PointBuyForm, - proficiency: ProficiencyForm, - propertySlot: SlotForm, - reference: ReferenceForm, - roll: RollForm, - savingThrow: SavingThrowForm, - skill: SkillForm, - slotFiller: SlotFillerForm, - spellList: SpellListForm, - spell: SpellForm, - toggle: ToggleForm, - trigger: TriggerForm, -}; diff --git a/app/imports/ui/properties/treeNodeViews/treeNodeViewIndex.js b/app/imports/ui/properties/treeNodeViews/treeNodeViewIndex.js deleted file mode 100644 index 1f9772e8..00000000 --- a/app/imports/ui/properties/treeNodeViews/treeNodeViewIndex.js +++ /dev/null @@ -1,23 +0,0 @@ -import DefaultTreeNode from '/imports/ui/properties/treeNodeViews/DefaultTreeNode.vue'; -import AdjustmentTreeNode from '/imports/ui/properties/treeNodeViews/AdjustmentTreeNode.vue'; -import BranchTreeNode from '/imports/ui/properties/treeNodeViews/BranchTreeNode.vue'; -import ItemTreeNode from '/imports/ui/properties/treeNodeViews/ItemTreeNode.vue'; -import DamageTreeNode from '/imports/ui/properties/treeNodeViews/DamageTreeNode.vue'; -import EffectTreeNode from '/imports/ui/properties/treeNodeViews/EffectTreeNode.vue'; -import ClassLevelTreeNode from '/imports/ui/properties/treeNodeViews/ClassLevelTreeNode.vue'; -import ProficiencyTreeNode from '/imports/ui/properties/treeNodeViews/ProficiencyTreeNode.vue'; -import ReferenceTreeNode from '/imports/ui/properties/treeNodeViews/ReferenceTreeNode.vue'; -import SavingThrowTreeNode from '/imports/ui/properties/treeNodeViews/SavingThrowTreeNode.vue'; - -export default { - default: DefaultTreeNode, - adjustment: AdjustmentTreeNode, - branch: BranchTreeNode, - classLevel: ClassLevelTreeNode, - damage: DamageTreeNode, - effect: EffectTreeNode, - item: ItemTreeNode, - proficiency: ProficiencyTreeNode, - reference: ReferenceTreeNode, - savingThrow: SavingThrowTreeNode, -} diff --git a/app/imports/ui/properties/viewers/shared/propertyViewerIndex.js b/app/imports/ui/properties/viewers/shared/propertyViewerIndex.js deleted file mode 100644 index 70151b48..00000000 --- a/app/imports/ui/properties/viewers/shared/propertyViewerIndex.js +++ /dev/null @@ -1,61 +0,0 @@ -import ActionViewer from '/imports/ui/properties/viewers/ActionViewer.vue'; -import AdjustmentViewer from '/imports/ui/properties/viewers/AdjustmentViewer.vue'; -import AttributeViewer from '/imports/ui/properties/viewers/AttributeViewer.vue'; -import BuffViewer from '/imports/ui/properties/viewers/BuffViewer.vue'; -import BuffRemoverViewer from '/imports/ui/properties/viewers/BuffRemoverViewer.vue'; -import BranchViewer from '/imports/ui/properties/viewers/BranchViewer.vue'; -import ContainerViewer from '/imports/ui/properties/viewers/ContainerViewer.vue'; -import ClassViewer from '/imports/ui/properties/viewers/ClassViewer.vue'; -import ClassLevelViewer from '/imports/ui/properties/viewers/ClassLevelViewer.vue'; -import ConstantViewer from '/imports/ui/properties/viewers/ConstantViewer.vue'; -import DamageViewer from '/imports/ui/properties/viewers/DamageViewer.vue'; -import DamageMultiplierViewer from '/imports/ui/properties/viewers/DamageMultiplierViewer.vue'; -import EffectViewer from '/imports/ui/properties/viewers/EffectViewer.vue'; -import FeatureViewer from '/imports/ui/properties/viewers/FeatureViewer.vue'; -import FolderViewer from '/imports/ui/properties/viewers/FolderViewer.vue'; -import ItemViewer from '/imports/ui/properties/viewers/ItemViewer.vue'; -import NoteViewer from '/imports/ui/properties/viewers/NoteViewer.vue'; -import PointBuyViewer from '/imports/ui/properties/viewers/PointBuyViewer.vue'; -import ProficiencyViewer from '/imports/ui/properties/viewers/ProficiencyViewer.vue'; -import ReferenceViewer from '/imports/ui/properties/viewers/ReferenceViewer.vue'; -import RollViewer from '/imports/ui/properties/viewers/RollViewer.vue'; -import SkillViewer from '/imports/ui/properties/viewers/SkillViewer.vue'; -import SavingThrowViewer from '/imports/ui/properties/viewers/SavingThrowViewer.vue'; -import SlotViewer from '/imports/ui/properties/viewers/SlotViewer.vue'; -import SlotFillerViewer from '/imports/ui/properties/viewers/SlotFillerViewer.vue'; -import SpellListViewer from '/imports/ui/properties/viewers/SpellListViewer.vue'; -import SpellViewer from '/imports/ui/properties/viewers/SpellViewer.vue'; -import ToggleViewer from '/imports/ui/properties/viewers/ToggleViewer.vue'; -import TriggerViewer from '/imports/ui/properties/viewers/TriggerViewer.vue'; - -export default { - action: ActionViewer, - adjustment: AdjustmentViewer, - attribute: AttributeViewer, - buff: BuffViewer, - buffRemover: BuffRemoverViewer, - branch: BranchViewer, - container: ContainerViewer, - class: ClassViewer, - classLevel: ClassLevelViewer, - constant: ConstantViewer, - damage: DamageViewer, - damageMultiplier: DamageMultiplierViewer, - effect: EffectViewer, - feature: FeatureViewer, - folder: FolderViewer, - item: ItemViewer, - note: NoteViewer, - pointBuy: PointBuyViewer, - proficiency: ProficiencyViewer, - propertySlot: SlotViewer, - roll: RollViewer, - reference: ReferenceViewer, - savingThrow: SavingThrowViewer, - slotFiller: SlotFillerViewer, - skill: SkillViewer, - spellList: SpellListViewer, - spell: SpellViewer, - toggle: ToggleViewer, - trigger: TriggerViewer, -}; diff --git a/app/imports/ui/properties/viewers/shared/propertyViewerMixin.js b/app/imports/ui/properties/viewers/shared/propertyViewerMixin.js deleted file mode 100644 index de4278f2..00000000 --- a/app/imports/ui/properties/viewers/shared/propertyViewerMixin.js +++ /dev/null @@ -1,23 +0,0 @@ -import PropertyName from '/imports/ui/properties/viewers/shared/PropertyName.vue'; -import PropertyVariableName from '/imports/ui/properties/viewers/shared/PropertyVariableName.vue'; -import PropertyField from '/imports/ui/properties/viewers/shared/PropertyField.vue'; -import PropertyDescription from '/imports/ui/properties/viewers/shared/PropertyDescription.vue'; -import PropertyTags from '/imports/ui/properties/viewers/shared/PropertyTags.vue'; - -const propertyViewerMixin = { - components: { - PropertyName, - PropertyVariableName, - PropertyField, - PropertyDescription, - PropertyTags, - }, - props: { - model: { - type: Object, - required: true, - }, - }, -}; - -export default propertyViewerMixin;