Compare commits

...

17 Commits

Author SHA1 Message Date
Stefan Zermatten
ee1b876259 Bumped version 2022-11-29 14:53:23 +02:00
Stefan Zermatten
12fbca5c78 Merge branch 'version-2-dev' into version-2 2022-11-29 14:53:01 +02:00
Stefan Zermatten
da6fb55ca0 Fixed automated tab navs. going to the wrong tab 2022-11-29 14:52:22 +02:00
Stefan Zermatten
8551e318c2 Demoted features tab back in tab order 2022-11-29 14:35:27 +02:00
Stefan Zermatten
f175cffab8 Bumped version 2022-11-29 14:27:53 +02:00
Stefan Zermatten
2bca582af6 Merge branch 'version-2-dev' into version-2 2022-11-29 14:26:59 +02:00
Stefan Zermatten
5815c7ca34 Padded character list to reveal add folder button
It was hiding behind FAB
2022-11-29 14:10:28 +02:00
Stefan Zermatten
c237162475 Fixed sidebar party closing on route change 2022-11-29 14:05:24 +02:00
Stefan Zermatten
e87772c2a3 Fixed folder groupStats behaviour when !groupStats 2022-11-29 12:06:27 +02:00
Stefan Zermatten
704314a7eb Udpated npm packages 2022-11-29 11:48:28 +02:00
Stefan Zermatten
7ffd0bf61d Fixed menus in dialogs in firefox
Also improved look of scrollbars incl. dark mode
2022-11-29 11:48:20 +02:00
Stefan Zermatten
69b3ba781d Disabled tabletop routing for now 2022-11-28 23:41:10 +02:00
Stefan Zermatten
bf8eb52a96 bumped number of writers limit from 20 to 32 2022-11-28 16:54:21 +02:00
Stefan Zermatten
684d672028 Removed column layout hacks
Fixes drag fallbacks not being in front of cards
Might fix flashy shit on ios
2022-11-28 15:40:47 +02:00
Stefan Zermatten
fb98544ae1 Fixed drag and drop on Firefox 2022-11-28 15:39:47 +02:00
Stefan Zermatten
ec8b9c209c fixed rests on actions with undefined usesUsed 2022-11-28 14:50:41 +02:00
Stefan Zermatten
bee90a7a80 Fixed rests on attributes with undefined damage 2022-11-28 14:49:38 +02:00
26 changed files with 185 additions and 126 deletions

View File

@@ -83,13 +83,13 @@ export function resetProperties(creatureId, resetFilter, actionContext) {
const attributeFilter = { const attributeFilter = {
...filter, ...filter,
type: 'attribute', type: 'attribute',
damage: { $ne: 0 }, damage: { $nin: [0, undefined] },
} }
CreatureProperties.find(attributeFilter).forEach(prop => { CreatureProperties.find(attributeFilter).forEach(prop => {
damagePropertyWork({ damagePropertyWork({
prop, prop,
operation: 'increment', operation: 'increment',
value: -prop.damage, value: -prop.damage ?? 0,
actionContext, actionContext,
logFunction(increment) { logFunction(increment) {
actionContext.addLog({ actionContext.addLog({
@@ -105,7 +105,7 @@ export function resetProperties(creatureId, resetFilter, actionContext) {
type: { type: {
$in: ['action', 'spell'] $in: ['action', 'spell']
}, },
usesUsed: { $ne: 0 }, usesUsed: { $nin: [0, undefined] },
}; };
CreatureProperties.find(actionFilter, { CreatureProperties.find(actionFilter, {
fields: { name: 1, usesUsed: 1 } fields: { name: 1, usesUsed: 1 }

View File

@@ -39,17 +39,6 @@ export default {
.column-layout>div, .column-layout>div,
.column-layout>span>div { .column-layout>span>div {
/*
Table and width set because firefox does not support break-inside: avoid
*/
display: table;
table-layout: fixed;
width: 100%;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
transform: translateX(0);
-webkit-transform: translateX(0);
-webkit-column-break-inside: avoid;
page-break-inside: avoid; page-break-inside: avoid;
break-inside: avoid; break-inside: avoid;
padding: 4px; padding: 4px;

View File

@@ -2,8 +2,8 @@
<v-icon <v-icon
class="handle" class="handle"
v-bind="$attrs" v-bind="$attrs"
@click.stop="() => { }" @click.native="e => { }"
@touchstart.native.stop="() => { }" @touchstart.native.stop="e => { }"
@touchend.native="portalEvent" @touchend.native="portalEvent"
> >
mdi-drag mdi-drag

View File

@@ -218,30 +218,30 @@ export default {
}, },
methods: { methods: {
changeShowTreeTab(value) { changeShowTreeTab(value) {
let currentTab = this.$store.getters.tabNameById(this.model._id);
if (!value && currentTab === 'tree') {
this.$store.commit(
'setTabForCharacterSheet',
{ id: this.model._id, tab: 'build' }
);
}
this.$emit('change', { this.$emit('change', {
path: ['settings', 'showTreeTab'], path: ['settings', 'showTreeTab'],
value: !!value value: !!value
}); });
let currentTab = this.$store.getters.tabById(this.model._id);
if (!value && currentTab === 5) {
this.$store.commit(
'setTabForCharacterSheet',
{ id: this.model._id, tab: 4 }
);
}
}, },
changeHideSpellsTab(value) { changeHideSpellsTab(value) {
let currentTab = this.$store.getters.tabNameById(this.model._id);
if (!value && currentTab === 'spells') {
this.$store.commit(
'setTabForCharacterSheet',
{ id: this.model._id, tab: 'actions' }
);
}
this.$emit('change', { this.$emit('change', {
path: ['settings', 'hideSpellsTab'], path: ['settings', 'hideSpellsTab'],
value: !value value: !value
}); });
let currentTab = this.$store.getters.tabById(this.model._id);
if (!value && currentTab === 3) {
this.$store.commit(
'setTabForCharacterSheet',
{ id: this.model._id, tab: 4 }
);
}
}, },
allUserLibrariesChange(value, ack) { allUserLibrariesChange(value, ack) {
toggleAllUserLibraries.call({ toggleAllUserLibraries.call({

View File

@@ -195,7 +195,7 @@ export default {
} else { } else {
this.$store.commit( this.$store.commit(
'setTabForCharacterSheet', 'setTabForCharacterSheet',
{id: creatureId, tab: 5} {id: creatureId, tab: 'build'}
); );
this.$emit('pop', creatureId); this.$emit('pop', creatureId);
defer(() => { defer(() => {

View File

@@ -47,9 +47,6 @@
<v-tab-item> <v-tab-item>
<stats-tab :creature-id="creatureId" /> <stats-tab :creature-id="creatureId" />
</v-tab-item> </v-tab-item>
<v-tab-item>
<features-tab :creature-id="creatureId" />
</v-tab-item>
<v-tab-item> <v-tab-item>
<actions-tab :creature-id="creatureId" /> <actions-tab :creature-id="creatureId" />
</v-tab-item> </v-tab-item>
@@ -59,6 +56,9 @@
<v-tab-item> <v-tab-item>
<inventory-tab :creature-id="creatureId" /> <inventory-tab :creature-id="creatureId" />
</v-tab-item> </v-tab-item>
<v-tab-item>
<features-tab :creature-id="creatureId" />
</v-tab-item>
<v-tab-item> <v-tab-item>
<character-tab :creature-id="creatureId" /> <character-tab :creature-id="creatureId" />
</v-tab-item> </v-tab-item>
@@ -96,10 +96,6 @@
<span>Stats</span> <span>Stats</span>
<v-icon>mdi-chart-box</v-icon> <v-icon>mdi-chart-box</v-icon>
</v-btn> </v-btn>
<v-btn>
<span>Features</span>
<v-icon>mdi-text</v-icon>
</v-btn>
<v-btn> <v-btn>
<span>Actions</span> <span>Actions</span>
<v-icon>mdi-lightning-bolt</v-icon> <v-icon>mdi-lightning-bolt</v-icon>
@@ -112,6 +108,10 @@
<span>Inventory</span> <span>Inventory</span>
<v-icon>mdi-cube</v-icon> <v-icon>mdi-cube</v-icon>
</v-btn> </v-btn>
<v-btn>
<span>Features</span>
<v-icon>mdi-text</v-icon>
</v-btn>
<v-btn> <v-btn>
<span>Journal</span> <span>Journal</span>
<v-icon>mdi-book-open-variant</v-icon> <v-icon>mdi-book-open-variant</v-icon>

View File

@@ -101,9 +101,6 @@
<v-tab> <v-tab>
Stats Stats
</v-tab> </v-tab>
<v-tab>
Features
</v-tab>
<v-tab> <v-tab>
Actions Actions
</v-tab> </v-tab>
@@ -113,6 +110,9 @@
<v-tab> <v-tab>
Inventory Inventory
</v-tab> </v-tab>
<v-tab>
Features
</v-tab>
<v-tab> <v-tab>
Journal Journal
</v-tab> </v-tab>

View File

@@ -61,6 +61,7 @@ export default {
const folderIds = CreatureProperties.find({ const folderIds = CreatureProperties.find({
'ancestors.id': this.creatureId, 'ancestors.id': this.creatureId,
type: 'folder', type: 'folder',
groupStats: true,
hideStatsGroup: true, hideStatsGroup: true,
removed: { $ne: true }, removed: { $ne: true },
inactive: { $ne: true }, inactive: { $ne: true },

View File

@@ -59,6 +59,7 @@ export default {
const folderIds = CreatureProperties.find({ const folderIds = CreatureProperties.find({
'ancestors.id': this.creatureId, 'ancestors.id': this.creatureId,
type: 'folder', type: 'folder',
groupStats: true,
hideStatsGroup: true, hideStatsGroup: true,
removed: { $ne: true }, removed: { $ne: true },
inactive: { $ne: true }, inactive: { $ne: true },

View File

@@ -145,6 +145,7 @@ export default {
return CreatureProperties.find({ return CreatureProperties.find({
'ancestors.id': this.creatureId, 'ancestors.id': this.creatureId,
type: 'folder', type: 'folder',
groupStats: true,
hideStatsGroup: true, hideStatsGroup: true,
removed: { $ne: true }, removed: { $ne: true },
inactive: { $ne: true }, inactive: { $ne: true },

View File

@@ -63,6 +63,7 @@ export default {
const folderIds = CreatureProperties.find({ const folderIds = CreatureProperties.find({
'ancestors.id': this.creatureId, 'ancestors.id': this.creatureId,
type: 'folder', type: 'folder',
groupStats: true,
hideStatsGroup: true, hideStatsGroup: true,
removed: { $ne: true }, removed: { $ne: true },
inactive: { $ne: true }, inactive: { $ne: true },

View File

@@ -81,6 +81,7 @@ export default {
return CreatureProperties.find({ return CreatureProperties.find({
'ancestors.id': this.creatureId, 'ancestors.id': this.creatureId,
type: 'folder', type: 'folder',
groupStats: true,
hideStatsGroup: true, hideStatsGroup: true,
removed: { $ne: true }, removed: { $ne: true },
inactive: { $ne: true }, inactive: { $ne: true },

View File

@@ -427,10 +427,10 @@ const propertyHandlers = {
folder(prop) { folder(prop) {
let skipChildren; let skipChildren;
let propPath = null; let propPath = null;
if (prop.hideStatsGroup) { if (prop.groupStats && prop.hideStatsGroup) {
skipChildren = true; skipChildren = true;
} }
if (prop.tab === 'stats') { if (prop.groupStats && prop.tab === 'stats') {
propPath = ['folder', prop.location] propPath = ['folder', prop.location]
} }
return { skipChildren, propPath } return { skipChildren, propPath }

View File

@@ -1,5 +1,5 @@
<template lang="html"> <template lang="html">
<v-list-item-content style="min-height: 60px;"> <v-list-item-content :style="dense ? undefined : 'min-height: 60px;'">
<v-list-item-title class="d-flex align-center"> <v-list-item-title class="d-flex align-center">
<div <div
v-if="!renaming" v-if="!renaming"

View File

@@ -1,6 +1,8 @@
<template lang="html"> <template lang="html">
<v-list <v-list
expand expand
:nav="nav"
:dense="dense"
class="creature-folder-list" class="creature-folder-list"
> >
<creature-list <creature-list
@@ -14,7 +16,7 @@
v-for="folder in folders" v-for="folder in folders"
:key="folder._id" :key="folder._id"
v-model="openFolders[folder._id]" v-model="openFolders[folder._id]"
group="folder" :dense="dense"
> >
<template #activator> <template #activator>
<creature-folder-header <creature-folder-header
@@ -60,6 +62,7 @@ export default {
default: undefined, default: undefined,
}, },
dense: Boolean, dense: Boolean,
nav: Boolean,
}, },
data(){return{ data(){return{
openFolders: {}, openFolders: {},

View File

@@ -5,10 +5,12 @@
<v-list-item <v-list-item
v-bind="$attrs" v-bind="$attrs"
:class="isSelected && 'primary--text v-list-item--active'" :class="isSelected && 'primary--text v-list-item--active'"
:dense="dense"
v-on="selection ? { click() {$emit('click')} } : {}" v-on="selection ? { click() {$emit('click')} } : {}"
> >
<v-list-item-avatar <v-list-item-avatar
:color="isSelected ? 'red darken-1' : model.color || 'grey'" :color="isSelected ? 'red darken-1' : model.color || 'grey'"
:size="dense ? 30 : undefined"
class="white--text" class="white--text"
style="transition: background 0.3s;" style="transition: background 0.3s;"
> >

View File

@@ -63,21 +63,14 @@
}, },
watch: { watch: {
dialogs(newDialogs) { dialogs(newDialogs) {
let el = document.documentElement; const el = document.documentElement;
if (newDialogs.length) { if (newDialogs.length) {
this.top = el.scrollTop; this.top = el.scrollTop;
if (el.scrollHeight > el.clientHeight){ if (el.scrollHeight > el.clientHeight){
el.style.position = 'fixed'; el.style.overflowY = 'hidden';
el.style.top = `${-this.top}px`; el.scrollTop = this.top;
el.style.left = 0;
el.style.right = 0;
el.style.overflowY = 'scroll';
} }
} else { } else {
el.style.position = null;
el.style.top = null;
el.style.left = null;
el.style.right = null;
el.style.overflowY = null; el.style.overflowY = null;
el.scrollTop = this.top; el.scrollTop = this.top;
} }

View File

@@ -11,7 +11,10 @@
Sign in Sign in
</v-btn> </v-btn>
</v-layout> </v-layout>
<v-list> <v-list
nav
class="links"
>
<v-list-item v-if="signedIn"> <v-list-item v-if="signedIn">
<v-list-item-content> <v-list-item-content>
<v-list-item-title> <v-list-item-title>
@@ -138,3 +141,9 @@ export default {
}, },
}; };
</script> </script>
<style scoped>
.links .v-list-item:not(:last-child):not(:only-child) {
margin-bottom: 4px;
}
</style>

View File

@@ -4,7 +4,10 @@
style="height: 100%" style="height: 100%"
> >
<v-container> <v-container>
<v-row justify="center"> <v-row
justify="center"
class="mb-16"
>
<v-col <v-col
cols="12" cols="12"
xl="8" xl="8"

View File

@@ -189,7 +189,9 @@ RouterFactory.configure(router => {
meta: { meta: {
title: 'Print Character Sheet', title: 'Print Character Sheet',
}, },
}, { },
/* Not ready for prime time <3
{
path: '/tabletops', path: '/tabletops',
name: 'tabletops', name: 'tabletops',
component: Tabletops, component: Tabletops,
@@ -203,7 +205,9 @@ RouterFactory.configure(router => {
rightDrawer: TabletopRightDrawer, rightDrawer: TabletopRightDrawer,
}, },
beforeEnter: ensureLoggedIn, beforeEnter: ensureLoggedIn,
}, { },
*/
{
path: '/friends', path: '/friends',
components: { components: {
default: NotImplemented, default: NotImplemented,

View File

@@ -0,0 +1,37 @@
html {
--scrollbarBG: #f0f0f0;
--thumbBG: #cdcdcd;
scrollbar-gutter: stable;
background-color: var(--scrollbarBG);
}
html:has(#app.theme--dark) {
--scrollbarBG: #212121;
--thumbBG: #404040;
}
#app.theme--dark {
--scrollbarBG: #212121;
--thumbBG: #404040;
}
* {
scrollbar-width: thin;
scrollbar-color: var(--thumbBG) var(--scrollbarBG);
}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background-color: var(--scrollbarBG);
}
::-webkit-scrollbar-thumb {
background-color: var(--thumbBG);
}
::-webkit-scrollbar-corner {
background-color: rgba(0, 0, 0, 0);
}

View File

@@ -1,3 +1,4 @@
import './body.css';
import './cardColors.css'; import './cardColors.css';
import './cardTitles.css'; import './cardTitles.css';
import './centeredInputs.css'; import './centeredInputs.css';

View File

@@ -2,8 +2,8 @@ import Vue from 'vue';
import Vuex from 'vuex'; import Vuex from 'vuex';
import dialogStackStore from '/imports/client/ui/dialogStack/dialogStackStore.js'; import dialogStackStore from '/imports/client/ui/dialogStack/dialogStackStore.js';
import Creatures from '/imports/api/creature/creatures/Creatures.js'; import Creatures from '/imports/api/creature/creatures/Creatures.js';
const tabs = ['stats', 'features', 'actions', 'spells', 'inventory', 'journal', 'build', 'tree']; const tabs = ['stats', 'actions', 'spells', 'inventory', 'features', 'journal', 'build', 'tree'];
const tabsWithoutSpells = ['stats', 'features', 'actions', 'inventory', 'journal', 'build', 'tree']; const tabsWithoutSpells = ['stats', 'actions', 'inventory', 'features', 'journal', 'build', 'tree'];
Vue.use(Vuex); Vue.use(Vuex);
const store = new Vuex.Store({ const store = new Vuex.Store({
@@ -50,6 +50,19 @@ const store = new Vuex.Store({
document.title = value; document.title = value;
}, },
setTabForCharacterSheet(state, { tab, id }) { setTabForCharacterSheet(state, { tab, id }) {
// Convert tab names to tab numbers
if (typeof tab === 'string') {
const creature = Creatures.findOne(id);
if (creature?.settings?.hideSpellsTab) {
tab = tabsWithoutSpells.indexOf(tab);
} else {
tab = tabs.indexOf(tab);
}
if (!(tab > -1)) {
throw 'Could not find requested tab';
}
console.log('resolved: ', tab);
}
Vue.set(state.characterSheetTabs, id, tab); Vue.set(state.characterSheetTabs, id, tab);
}, },
setShowDetailsDialog(state, value) { setShowDetailsDialog(state, value) {

View File

@@ -30,7 +30,7 @@ const STORAGE_LIMITS = Object.freeze({
rollCount: 64, rollCount: 64,
statsToTarget: 64, statsToTarget: 64,
tagCount: 64, tagCount: 64,
writersCount: 20, writersCount: 32,
libraryCollectionCount: 32, libraryCollectionCount: 32,
pointBuyRowsCount: 32, pointBuyRowsCount: 32,
}); });

114
app/package-lock.json generated
View File

@@ -1,6 +1,6 @@
{ {
"name": "dicecloud", "name": "dicecloud",
"version": "2.0.43", "version": "2.0.45",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@@ -56,11 +56,11 @@
"dev": true "dev": true
}, },
"@babel/runtime": { "@babel/runtime": {
"version": "7.20.1", "version": "7.20.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz",
"integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==",
"requires": { "requires": {
"regenerator-runtime": "^0.13.10" "regenerator-runtime": "^0.13.11"
} }
}, },
"@chenfengyuan/vue-countdown": { "@chenfengyuan/vue-countdown": {
@@ -185,14 +185,14 @@
"dev": true "dev": true
}, },
"@typescript-eslint/eslint-plugin": { "@typescript-eslint/eslint-plugin": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.44.0.tgz",
"integrity": "sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA==", "integrity": "sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/scope-manager": "5.43.0", "@typescript-eslint/scope-manager": "5.44.0",
"@typescript-eslint/type-utils": "5.43.0", "@typescript-eslint/type-utils": "5.44.0",
"@typescript-eslint/utils": "5.43.0", "@typescript-eslint/utils": "5.44.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"ignore": "^5.2.0", "ignore": "^5.2.0",
"natural-compare-lite": "^1.4.0", "natural-compare-lite": "^1.4.0",
@@ -222,14 +222,14 @@
} }
}, },
"@typescript-eslint/parser": { "@typescript-eslint/parser": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.44.0.tgz",
"integrity": "sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug==", "integrity": "sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/scope-manager": "5.43.0", "@typescript-eslint/scope-manager": "5.44.0",
"@typescript-eslint/types": "5.43.0", "@typescript-eslint/types": "5.44.0",
"@typescript-eslint/typescript-estree": "5.43.0", "@typescript-eslint/typescript-estree": "5.44.0",
"debug": "^4.3.4" "debug": "^4.3.4"
}, },
"dependencies": { "dependencies": {
@@ -245,23 +245,23 @@
} }
}, },
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz",
"integrity": "sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==", "integrity": "sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.43.0", "@typescript-eslint/types": "5.44.0",
"@typescript-eslint/visitor-keys": "5.43.0" "@typescript-eslint/visitor-keys": "5.44.0"
} }
}, },
"@typescript-eslint/type-utils": { "@typescript-eslint/type-utils": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.44.0.tgz",
"integrity": "sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg==", "integrity": "sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/typescript-estree": "5.43.0", "@typescript-eslint/typescript-estree": "5.44.0",
"@typescript-eslint/utils": "5.43.0", "@typescript-eslint/utils": "5.44.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"tsutils": "^3.21.0" "tsutils": "^3.21.0"
}, },
@@ -278,19 +278,19 @@
} }
}, },
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.44.0.tgz",
"integrity": "sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==", "integrity": "sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==",
"dev": true "dev": true
}, },
"@typescript-eslint/typescript-estree": { "@typescript-eslint/typescript-estree": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz",
"integrity": "sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==", "integrity": "sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.43.0", "@typescript-eslint/types": "5.44.0",
"@typescript-eslint/visitor-keys": "5.43.0", "@typescript-eslint/visitor-keys": "5.44.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"globby": "^11.1.0", "globby": "^11.1.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
@@ -319,16 +319,16 @@
} }
}, },
"@typescript-eslint/utils": { "@typescript-eslint/utils": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.44.0.tgz",
"integrity": "sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==", "integrity": "sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12", "@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.43.0", "@typescript-eslint/scope-manager": "5.44.0",
"@typescript-eslint/types": "5.43.0", "@typescript-eslint/types": "5.44.0",
"@typescript-eslint/typescript-estree": "5.43.0", "@typescript-eslint/typescript-estree": "5.44.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"semver": "^7.3.7" "semver": "^7.3.7"
@@ -355,12 +355,12 @@
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "5.43.0", "version": "5.44.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz",
"integrity": "sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==", "integrity": "sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.43.0", "@typescript-eslint/types": "5.44.0",
"eslint-visitor-keys": "^3.3.0" "eslint-visitor-keys": "^3.3.0"
}, },
"dependencies": { "dependencies": {
@@ -530,9 +530,9 @@
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
}, },
"aws-sdk": { "aws-sdk": {
"version": "2.1258.0", "version": "2.1262.0",
"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1258.0.tgz", "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1262.0.tgz",
"integrity": "sha512-siqNFXlhJZVN1BizPZebJViFXtTUPgcA+yLfHKl2eC4Ied7kE7spOjZmAzpuiGUTzFagk1oWCaJ1Hit4llIoGg==", "integrity": "sha512-XbaK/XUIxwLEBnHANhJ0RTZtiU288lFRj5FllSihQ5Kb0fibKyW8kJFPsY+NzzDezLH5D3WdGbTKb9fycn5TbA==",
"requires": { "requires": {
"buffer": "4.9.2", "buffer": "4.9.2",
"events": "1.1.1", "events": "1.1.1",
@@ -1575,9 +1575,9 @@
"integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
}, },
"ignore": { "ignore": {
"version": "5.2.0", "version": "5.2.1",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz",
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA=="
}, },
"ignore-styles": { "ignore-styles": {
"version": "5.0.1", "version": "5.0.1",
@@ -1850,9 +1850,9 @@
} }
}, },
"marked": { "marked": {
"version": "4.2.2", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/marked/-/marked-4.2.2.tgz", "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.3.tgz",
"integrity": "sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ==" "integrity": "sha512-slWRdJkbTZ+PjkyJnE30Uid64eHwbwa1Q25INCAYfZlK4o6ylagBy/Le9eWntqJFoFT93ikUKMv47GZ4gTwHkw=="
}, },
"merge2": { "merge2": {
"version": "1.4.1", "version": "1.4.1",
@@ -3018,9 +3018,9 @@
} }
}, },
"regenerator-runtime": { "regenerator-runtime": {
"version": "0.13.10", "version": "0.13.11",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
"integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
}, },
"regexpp": { "regexpp": {
"version": "3.2.0", "version": "3.2.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "dicecloud", "name": "dicecloud",
"version": "2.0.46", "version": "2.0.48",
"description": "Unofficial Online Realtime D&D 5e App", "description": "Unofficial Online Realtime D&D 5e App",
"license": "GPL-3.0", "license": "GPL-3.0",
"repository": { "repository": {
@@ -20,10 +20,10 @@
"npm": "6.13.x" "npm": "6.13.x"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@chenfengyuan/vue-countdown": "^1.1.5", "@chenfengyuan/vue-countdown": "^1.1.5",
"@tozd/vue-observer-utils": "^0.5.0", "@tozd/vue-observer-utils": "^0.5.0",
"aws-sdk": "^2.1258.0", "aws-sdk": "^2.1262.0",
"bcrypt": "^5.1.0", "bcrypt": "^5.1.0",
"chroma-js": "^2.4.2", "chroma-js": "^2.4.2",
"css-box-shadow": "^1.0.0-3", "css-box-shadow": "^1.0.0-3",
@@ -31,10 +31,10 @@
"ddp-rate-limiter-mixin": "^1.1.10", "ddp-rate-limiter-mixin": "^1.1.10",
"discord.js": "^12.5.3", "discord.js": "^12.5.3",
"dompurify": "^2.4.1", "dompurify": "^2.4.1",
"ignore": "^5.2.0", "ignore": "^5.2.1",
"ignore-styles": "^5.0.1", "ignore-styles": "^5.0.1",
"lodash": "^4.17.20", "lodash": "^4.17.20",
"marked": "^4.2.2", "marked": "^4.2.3",
"meteor-node-stubs": "^1.2.5", "meteor-node-stubs": "^1.2.5",
"minify-css-string": "^1.0.0", "minify-css-string": "^1.0.0",
"moo": "^0.5.2", "moo": "^0.5.2",
@@ -58,8 +58,8 @@
"vuex": "^3.1.3" "vuex": "^3.1.3"
}, },
"devDependencies": { "devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.43.0", "@typescript-eslint/eslint-plugin": "^5.44.0",
"@typescript-eslint/parser": "^5.43.0", "@typescript-eslint/parser": "^5.44.0",
"@vue/compiler-dom": "^3.2.45", "@vue/compiler-dom": "^3.2.45",
"chai": "^4.3.7", "chai": "^4.3.7",
"eslint": "^7.32.0", "eslint": "^7.32.0",