Began migration to Vuetify 2.x expect a lot to be broken
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
# but you can also edit it by hand.
|
||||
|
||||
accounts-password@1.7.0
|
||||
accounts-ui@1.3.2
|
||||
random@1.2.0
|
||||
dburles:collection-helpers
|
||||
reactive-var@1.0.11
|
||||
@@ -33,7 +32,6 @@ reactive-dict@1.3.0
|
||||
percolate:synced-cron
|
||||
ongoworks:speakingurl
|
||||
service-configuration@1.0.11
|
||||
google-config-ui@1.0.1
|
||||
dynamic-import@0.6.0
|
||||
ddp-rate-limiter@1.0.9
|
||||
rate-limit@1.0.9
|
||||
@@ -42,7 +40,7 @@ akryum:vue-router2
|
||||
static-html
|
||||
aldeed:collection2@3.0.0
|
||||
aldeed:schema-index
|
||||
akryum:vue-component
|
||||
zer0th:meteor-vuetify-loader
|
||||
accounts-patreon
|
||||
bozhao:link-accounts
|
||||
peerlibrary:reactive-publish
|
||||
@@ -51,3 +49,5 @@ simple:rest-method-mixin
|
||||
mikowals:batch-insert
|
||||
peerlibrary:subscription-data
|
||||
seba:minifiers-autoprefixer
|
||||
akryum:vue-component
|
||||
akryum:vue-sass
|
||||
|
||||
@@ -3,13 +3,12 @@ accounts-google@1.3.3
|
||||
accounts-oauth@1.2.0
|
||||
accounts-password@1.7.0
|
||||
accounts-patreon@0.1.0
|
||||
accounts-ui@1.3.2
|
||||
accounts-ui-unstyled@1.4.3
|
||||
akryum:npm-check@0.1.2
|
||||
akryum:vue-component@0.15.2
|
||||
akryum:vue-component-dev-client@0.4.7
|
||||
akryum:vue-component-dev-server@0.1.4
|
||||
akryum:vue-router2@0.2.3
|
||||
akryum:vue-sass@0.1.2
|
||||
aldeed:collection2@3.2.1
|
||||
aldeed:schema-index@3.0.0
|
||||
allow-deny@1.1.0
|
||||
@@ -18,7 +17,6 @@ babel-compiler@7.6.0
|
||||
babel-runtime@1.5.0
|
||||
base64@1.0.12
|
||||
binary-heap@1.0.11
|
||||
blaze@2.3.4
|
||||
blaze-tools@1.0.10
|
||||
boilerplate-generator@1.7.1
|
||||
bozhao:link-accounts@2.3.2
|
||||
@@ -48,7 +46,6 @@ email@2.0.0
|
||||
es5-shim@4.8.0
|
||||
fetch@0.1.1
|
||||
geojson-utils@1.0.10
|
||||
google-config-ui@1.0.1
|
||||
google-oauth@1.3.0
|
||||
hot-code-push@1.0.4
|
||||
html-tools@1.0.11
|
||||
@@ -58,7 +55,6 @@ id-map@1.1.0
|
||||
inter-process-messaging@0.1.1
|
||||
lai:collection-extensions@0.2.1_1
|
||||
launch-screen@1.2.0
|
||||
less@3.0.1
|
||||
livedata@1.0.18
|
||||
localstorage@1.2.0
|
||||
logging@1.2.0
|
||||
@@ -84,7 +80,6 @@ npm-bcrypt@0.9.3
|
||||
npm-mongo@3.8.1
|
||||
oauth@1.3.2
|
||||
oauth2@1.3.0
|
||||
observe-sequence@1.0.16
|
||||
ongoworks:speakingurl@9.0.0
|
||||
ordered-dict@1.1.0
|
||||
patreon-oauth@0.1.0
|
||||
@@ -118,15 +113,11 @@ simple:json-routes@2.1.0
|
||||
simple:rest@1.1.1
|
||||
simple:rest-method-mixin@1.0.1
|
||||
socket-stream-client@0.3.1
|
||||
spacebars@1.0.15
|
||||
spacebars-compiler@1.1.3
|
||||
srp@1.1.0
|
||||
standard-minifier-js@2.6.0
|
||||
static-html@1.2.2
|
||||
templates:array@1.0.3
|
||||
templating@1.3.2
|
||||
templating-compiler@1.3.3
|
||||
templating-runtime@1.3.2
|
||||
templating-tools@1.1.2
|
||||
tmeasday:check-npm-versions@0.3.2
|
||||
tracker@1.2.0
|
||||
@@ -134,3 +125,4 @@ underscore@1.0.10
|
||||
url@1.3.1
|
||||
webapp@1.10.0
|
||||
webapp-hashing@1.1.0
|
||||
zer0th:meteor-vuetify-loader@0.1.30
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import valueToCoins from '/imports/ui/utility/valueToCoins.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
</v-menu>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import isDarkColor from '/imports/ui/utility/isDarkColor.js';
|
||||
import vuetifyColors from 'vuetify/es5/util/colors';
|
||||
import { kebabToCamelCase, camelToKebabCase } from '/imports/ui/utility/swapCase.js';
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
props: {
|
||||
wideColumns: Boolean,
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</v-menu>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import IncrementMenu from '/imports/ui/components/IncrementMenu.vue';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
inject: {
|
||||
context: { default: {} }
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
</v-btn>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
/*
|
||||
* Because speed dials only work well with v-btn's as children, this hacky
|
||||
* component creates a v-btn with a label.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import marked from 'marked';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import isDarkColor from '/imports/ui/utility/isDarkColor.js';
|
||||
export default {
|
||||
props: {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang="html">
|
||||
<div
|
||||
class="layout row"
|
||||
class="layout"
|
||||
style="height: 100%;"
|
||||
>
|
||||
<div
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
computed:{
|
||||
computedTreeStyle(){
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import MarkdownText from '/imports/ui/components/MarkdownText.vue';
|
||||
import embedInlineCalculations from '/imports/api/creature/computation/afterComputation/embedInlineCalculations.js';
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</v-menu>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
import { format } from 'date-fns';
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
style="overflow-y: auto;"
|
||||
>
|
||||
<template #activator="{ on }">
|
||||
<div class="layout row align-center">
|
||||
<div class="layout align-center">
|
||||
<v-label>{{ label }}</v-label>
|
||||
<v-btn
|
||||
:loading="loading"
|
||||
@@ -32,7 +32,7 @@
|
||||
</template>
|
||||
<v-card>
|
||||
<v-card-text>
|
||||
<div class="layout row">
|
||||
<div class="layout">
|
||||
<text-field
|
||||
ref="iconSearchField"
|
||||
label="Search icons"
|
||||
@@ -78,7 +78,7 @@
|
||||
</v-menu>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SvgIcon from '/imports/ui/components/global/SvgIcon.vue';
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
import { findIcons } from '/imports/api/icons/Icons.js';
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</v-combobox>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</v-select>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</i>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
const SIZE_MAP = {
|
||||
xSmall: '12px',
|
||||
small: '16px',
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SmartInput from '/imports/ui/components/global/SmartInputMixin.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -47,45 +47,45 @@
|
||||
</v-btn>
|
||||
</template>
|
||||
<v-list>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-if="$listeners && $listeners.duplicate"
|
||||
@click="$emit('duplicate')"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
Duplicate
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-icon>file_copy</v-icon>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
<v-list-tile
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
v-if="$listeners && $listeners.move"
|
||||
@click="$emit('move')"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
Move
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-icon>send</v-icon>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
<v-list-tile
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
v-if="$listeners && $listeners.remove"
|
||||
@click="$emit('remove')"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
Delete
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-icon>delete</v-icon>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
</v-layout>
|
||||
@@ -118,7 +118,7 @@
|
||||
</v-toolbar>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import isDarkColor from '/imports/ui/utility/isDarkColor.js';
|
||||
import PropertyIcon from '/imports/ui/properties/shared/PropertyIcon.vue';
|
||||
import { getPropertyName } from '/imports/constants/PROPERTIES.js';
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
<v-card>
|
||||
<template v-if="!result">
|
||||
<v-btn-toggle v-model="advantage">
|
||||
<v-btn flat>
|
||||
<v-btn text>
|
||||
Advantage
|
||||
</v-btn>
|
||||
<v-btn flat>
|
||||
<v-btn text>
|
||||
Disadvantage
|
||||
</v-btn>
|
||||
</v-btn-toggle>
|
||||
<v-card-text>
|
||||
<div class="layout row justify-center align-center">
|
||||
<div class="layout justify-center align-center">
|
||||
<v-btn
|
||||
large
|
||||
fab
|
||||
@@ -47,7 +47,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import numberToSignedString from '/imports/ui/utility/numberToSignedString.js';
|
||||
export default {
|
||||
props: {
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</v-snackbar>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
computed: {
|
||||
snackbar(){
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
:data-id="`tree-node-${node._id}`"
|
||||
>
|
||||
<div
|
||||
class="layout row align-center justify-start tree-node-title"
|
||||
class="layout align-center justify-start tree-node-title"
|
||||
style="cursor: pointer;"
|
||||
:class="selected && 'primary--text'"
|
||||
@click.stop="$emit('selected', node._id)"
|
||||
@@ -22,7 +22,7 @@
|
||||
</v-icon>
|
||||
</v-btn>
|
||||
<div
|
||||
class="layout row align-center justify-start pr-1"
|
||||
class="layout align-center justify-start pr-1"
|
||||
style="flex-grow: 0;"
|
||||
>
|
||||
<v-icon
|
||||
@@ -70,7 +70,7 @@
|
||||
</v-sheet>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
/**
|
||||
* TreeNode's are list item views of character properties. Every property which
|
||||
* can belong to the character is shown in the tree view of the character
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</draggable>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import draggable from 'vuedraggable';
|
||||
import TreeNode from '/imports/ui/components/tree/TreeNode.vue';
|
||||
import { isParentAllowed } from '/imports/api/parenting/parenting.js';
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import FormSection, {FormSections} from '/imports/ui/properties/forms/shared/FormSection.vue';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import {updateCreature} from '/imports/api/creature/Creatures.js';
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
lang="html"
|
||||
functional
|
||||
>
|
||||
<v-list-tile v-bind="$attrs">
|
||||
<v-list-tile-avatar :color="model.color || 'grey'">
|
||||
<v-list-item v-bind="$attrs">
|
||||
<v-list-item-avatar :color="model.color || 'grey'">
|
||||
<img
|
||||
v-if="model.avatarPicture"
|
||||
:src="model.avatarPicture"
|
||||
@@ -12,22 +12,22 @@
|
||||
<template v-else>
|
||||
{{ model.initial }}
|
||||
</template>
|
||||
</v-list-tile-avatar>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ model.name }}
|
||||
</v-list-tile-title>
|
||||
<v-list-tile-sub-title>
|
||||
</v-list-item-title>
|
||||
<v-list-item-subtitle>
|
||||
{{ model.alignment }} {{ model.gender }} {{ model.race }}
|
||||
</v-list-tile-sub-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action v-if="selection">
|
||||
</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action v-if="selection">
|
||||
<v-checkbox
|
||||
:input-value="selected && selected.has(model._id)"
|
||||
@change="$emit('select')"
|
||||
/>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</template>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</v-btn>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import restCreature from '/imports/api/creature/restCreature.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
const getCost = function(score){
|
||||
const costs = {
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import removeCreature from '/imports/api/creature/removeCreature.js';
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
//TODO add a "no character found" screen if shown on a false address
|
||||
// or on a character the user does not have permission to view
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</v-speed-dial>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import LabeledFab from '/imports/ui/components/LabeledFab.vue';
|
||||
import { setDocToLastOrder } from '/imports/api/parenting/order.js';
|
||||
import insertProperty from '/imports/api/creature/creatureProperties/methods/insertProperty.js';
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</v-navigation-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CharacterLog from '/imports/ui/log/CharacterLog.vue';
|
||||
export default {
|
||||
components: {
|
||||
|
||||
@@ -40,28 +40,28 @@
|
||||
</v-btn>
|
||||
</template>
|
||||
<v-list v-if="editPermission">
|
||||
<v-list-tile @click="deleteCharacter">
|
||||
<v-list-tile-title>
|
||||
<v-list-item @click="deleteCharacter">
|
||||
<v-list-item-title>
|
||||
<v-icon>delete</v-icon> Delete
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile @click="showCharacterForm">
|
||||
<v-list-tile-title>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="showCharacterForm">
|
||||
<v-list-item-title>
|
||||
<v-icon>create</v-icon> Edit details
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile @click="showShareDialog">
|
||||
<v-list-tile-title>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="showShareDialog">
|
||||
<v-list-item-title>
|
||||
<v-icon>share</v-icon> Sharing
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
<v-list v-else>
|
||||
<v-list-tile @click="unshareWithMe">
|
||||
<v-list-tile-title>
|
||||
<v-list-item @click="unshareWithMe">
|
||||
<v-list-item-title>
|
||||
<v-icon>delete</v-icon> Unshare with me
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
<v-toolbar-side-icon @click="toggleRightDrawer" />
|
||||
@@ -74,7 +74,7 @@
|
||||
>
|
||||
<div
|
||||
:key="$route.meta.title"
|
||||
class="layout row"
|
||||
class="layout"
|
||||
>
|
||||
<v-tabs
|
||||
v-if="creature"
|
||||
@@ -118,11 +118,10 @@
|
||||
</v-toolbar>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import removeCreature from '/imports/api/creature/removeCreature.js';
|
||||
import { mapMutations } from 'vuex';
|
||||
import { theme } from '/imports/ui/theme.js';
|
||||
import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js';
|
||||
import { updateUserSharePermissions } from '/imports/api/sharing/sharing.js';
|
||||
import isDarkColor from '/imports/ui/utility/isDarkColor.js';
|
||||
@@ -135,9 +134,6 @@ export default {
|
||||
components: {
|
||||
CharacterSheetFab,
|
||||
},
|
||||
data(){return {
|
||||
theme,
|
||||
}},
|
||||
computed: {
|
||||
creatureId(){
|
||||
return this.$route.params.id;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="mini-character-sheet" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -42,17 +42,17 @@
|
||||
Level {{ creature.variables.level.value }}
|
||||
</v-card-title>
|
||||
<v-list two-line>
|
||||
<v-list-tile>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title
|
||||
<v-list-item>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title
|
||||
v-if="
|
||||
creature.variables.milestoneLevels &&
|
||||
creature.variables.milestoneLevels.value
|
||||
"
|
||||
>
|
||||
{{ creature.variables.milestoneLevels.value }} Milestone levels
|
||||
</v-list-tile-title>
|
||||
<v-list-tile-title
|
||||
</v-list-item-title>
|
||||
<v-list-item-title
|
||||
v-if="
|
||||
!(creature.variables.milestoneLevels &&
|
||||
creature.variables.milestoneLevels.value) ||
|
||||
@@ -65,9 +65,9 @@
|
||||
creature.variables.xp.value ||
|
||||
0
|
||||
}} XP
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn
|
||||
flat
|
||||
icon
|
||||
@@ -76,8 +76,8 @@
|
||||
>
|
||||
<v-icon>info</v-icon>
|
||||
</v-btn>
|
||||
</v-list-tile-action>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-action>
|
||||
<v-list-item-action>
|
||||
<v-btn
|
||||
flat
|
||||
icon
|
||||
@@ -86,21 +86,21 @@
|
||||
>
|
||||
<v-icon>add</v-icon>
|
||||
</v-btn>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
<v-list-tile
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
v-for="classLevel in highestClassLevels"
|
||||
:key="classLevel._id"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ classLevel.name }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-avatar>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-avatar>
|
||||
{{ classLevel.level }}
|
||||
</v-list-tile-avatar>
|
||||
</v-list-tile>
|
||||
</v-list-item-avatar>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-card>
|
||||
</div>
|
||||
@@ -116,7 +116,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import ColumnLayout from '/imports/ui/components/ColumnLayout.vue';
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import ColumnLayout from '/imports/ui/components/ColumnLayout.vue';
|
||||
import FeatureCard from '/imports/ui/properties/components/features/FeatureCard.vue';
|
||||
|
||||
@@ -4,53 +4,53 @@
|
||||
<div>
|
||||
<v-card>
|
||||
<v-list>
|
||||
<v-list-tile>
|
||||
<v-list-tile-avatar>
|
||||
<v-list-item>
|
||||
<v-list-item-avatar>
|
||||
<v-icon>$vuetify.icons.injustice</v-icon>
|
||||
</v-list-tile-avatar>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
Weight Carried
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-list-item-title>
|
||||
{{ creature.denormalizedStats.weightCarried || 0 }} lb
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
<v-list-tile>
|
||||
<v-list-tile-avatar>
|
||||
</v-list-item-title>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
<v-list-item>
|
||||
<v-list-item-avatar>
|
||||
<v-icon>$vuetify.icons.cash</v-icon>
|
||||
</v-list-tile-avatar>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
Net worth
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-list-item-title>
|
||||
<coin-value
|
||||
:value="creature.denormalizedStats.valueTotal || 0"
|
||||
/>
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
<v-list-tile v-if="creature.denormalizedStats.itemsAttuned">
|
||||
<v-list-tile-avatar>
|
||||
</v-list-item-title>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
<v-list-item v-if="creature.denormalizedStats.itemsAttuned">
|
||||
<v-list-item-avatar>
|
||||
<v-icon>$vuetify.icons.spell</v-icon>
|
||||
</v-list-tile-avatar>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
Items attuned
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-list-item-title>
|
||||
{{ creature.denormalizedStats.itemsAttuned }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-card>
|
||||
</div>
|
||||
@@ -97,7 +97,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import ColumnLayout from '/imports/ui/components/ColumnLayout.vue';
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import ColumnLayout from '/imports/ui/components/ColumnLayout.vue';
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import SpellListCard from '/imports/ui/properties/components/spells/SpellListCard.vue';
|
||||
|
||||
@@ -27,18 +27,18 @@
|
||||
<v-card>
|
||||
<v-list>
|
||||
<v-subheader>Buffs and conditions</v-subheader>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="buff in appliedBuffs"
|
||||
:key="buff._id"
|
||||
:data-id="buff._id"
|
||||
@click="clickProperty({_id: buff._id})"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ buff.name }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn
|
||||
icon
|
||||
flat
|
||||
@@ -46,8 +46,8 @@
|
||||
>
|
||||
<v-icon>delete</v-icon>
|
||||
</v-btn>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-card>
|
||||
</div>
|
||||
@@ -318,7 +318,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import softRemoveProperty from '/imports/api/creature/creatureProperties/methods/softRemoveProperty.js';
|
||||
import damageProperty from '/imports/api/creature/creatureProperties/methods/damageProperty.js';
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import TreeDetailLayout from '/imports/ui/components/TreeDetailLayout.vue';
|
||||
import CreaturePropertiesTree from '/imports/ui/creature/creatureProperties/CreaturePropertiesTree.vue';
|
||||
import CreaturePropertyDialog from '/imports/ui/creature/creatureProperties/CreaturePropertyDialog.vue';
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import { nodesToTree } from '/imports/api/parenting/parenting.js'
|
||||
import TreeNodeList from '/imports/ui/components/tree/TreeNodeList.vue';
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</selectable-property-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SelectablePropertyDialog from '/imports/ui/properties/shared/SelectablePropertyDialog.vue';
|
||||
import CreaturePropertyInsertForm from '/imports/ui/creature/creatureProperties/CreaturePropertyInsertForm.vue';
|
||||
import { getPropertyName } from '/imports/constants/PROPERTIES.js';
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<div
|
||||
v-if="!embedded"
|
||||
slot="actions"
|
||||
class="layout row justify-end"
|
||||
class="layout justify-end"
|
||||
>
|
||||
<v-btn
|
||||
flat
|
||||
@@ -58,7 +58,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import damageProperty from '/imports/api/creature/creatureProperties/methods/damageProperty.js';
|
||||
import pushToProperty from '/imports/api/creature/creatureProperties/methods/pushToProperty.js';
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import LibraryAndNode from '/imports/ui/library/LibraryAndNode.vue';
|
||||
export default {
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
/>
|
||||
<div
|
||||
slot="actions"
|
||||
class="layout row justify-end"
|
||||
class="layout justify-end"
|
||||
>
|
||||
<v-btn
|
||||
flat
|
||||
@@ -38,7 +38,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import propertySchemasIndex from '/imports/api/properties/propertySchemasIndex.js';
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import propertyFormIndex from '/imports/ui/properties/forms/shared/propertyFormIndex.js';
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import propertyFormMixin from '/imports/ui/properties/forms/shared/propertyFormMixin.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/>
|
||||
<div
|
||||
slot="actions"
|
||||
class="layout row justify-end"
|
||||
class="layout justify-end"
|
||||
>
|
||||
<v-btn
|
||||
flat
|
||||
@@ -26,7 +26,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import ExperienceForm from '/imports/ui/creature/experiences/ExperienceForm.vue';
|
||||
import { ExperienceSchema, insertExperience } from '/imports/api/creature/experience/Experiences.js';
|
||||
|
||||
@@ -46,32 +46,32 @@
|
||||
group
|
||||
mode="out"
|
||||
>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="experience in experiences"
|
||||
:key="experience._id"
|
||||
:data-id="experience._id"
|
||||
>
|
||||
<v-list-tile-action class="mr-3">
|
||||
<v-list-tile-action-text>
|
||||
<v-list-item-action class="mr-3">
|
||||
<v-list-item-action-text>
|
||||
{{ formatDate(experience.date) }}
|
||||
</v-list-tile-action-text>
|
||||
</v-list-tile-action>
|
||||
<v-list-tile-content>
|
||||
</v-list-item-action-text>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<template v-if="experience.name">
|
||||
<v-list-tile-title>
|
||||
<v-list-item-title>
|
||||
{{ experience.name }}
|
||||
</v-list-tile-title>
|
||||
<v-list-tile-sub-title>
|
||||
</v-list-item-title>
|
||||
<v-list-item-subtitle>
|
||||
{{ xpText(experience) }}
|
||||
</v-list-tile-sub-title>
|
||||
</v-list-item-subtitle>
|
||||
</template>
|
||||
<template v-else>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-title>
|
||||
{{ xpText(experience) }}
|
||||
</v-list-tile-title>
|
||||
</v-list-item-title>
|
||||
</template>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn
|
||||
icon
|
||||
flat
|
||||
@@ -80,14 +80,14 @@
|
||||
>
|
||||
<v-icon>delete</v-icon>
|
||||
</v-btn>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</v-slide-x-transition>
|
||||
</v-list>
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import { format } from 'date-fns';
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import Experiences, { removeExperience, recomputeExperiences } from '/imports/api/creature/experience/Experiences.js';
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import Slots from '/imports/ui/creature/slots/Slots.vue'
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<v-fade-transition mode="out-in">
|
||||
<div v-if="libraryNodes && libraryNodes.length">
|
||||
<section
|
||||
class="layout row wrap justify-between"
|
||||
class="layout wrap justify-between"
|
||||
>
|
||||
<v-card
|
||||
v-for="node in libraryNodes"
|
||||
@@ -63,7 +63,7 @@
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</section>
|
||||
<div class="layout row justify-center align-stretch">
|
||||
<div class="layout justify-center align-stretch">
|
||||
<v-btn
|
||||
v-if="currentLimit < countAll"
|
||||
:loading="!$subReady.slotFillers"
|
||||
@@ -137,7 +137,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import LibraryNodes from '/imports/api/library/LibraryNodes.js';
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
:key="slot._id"
|
||||
class="slot"
|
||||
>
|
||||
<h3 class="layout row align-center">
|
||||
<h3 class="layout align-center">
|
||||
{{ slot.name }}
|
||||
<v-spacer />
|
||||
<span v-if="slot.quantityExpectedResult > 1">
|
||||
@@ -13,19 +13,19 @@
|
||||
</span>
|
||||
</h3>
|
||||
<v-list v-if="slot.children.length">
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="child in slot.children"
|
||||
:key="child._id"
|
||||
:data-id="`slot-child-${child._id}`"
|
||||
@click="clickSlotChild(child)"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-item-content>
|
||||
<tree-node-view
|
||||
class="slotChild"
|
||||
:model="child"
|
||||
/>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn
|
||||
icon
|
||||
flat
|
||||
@@ -34,8 +34,8 @@
|
||||
>
|
||||
<v-icon>delete</v-icon>
|
||||
</v-btn>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
<v-btn
|
||||
v-if="!slot.quantityExpectedResult || slot.spaceLeft"
|
||||
@@ -51,7 +51,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import TreeNodeView from '/imports/ui/properties/treeNodeViews/TreeNodeView.vue';
|
||||
import softRemoveProperty from '/imports/api/creature/creatureProperties/methods/softRemoveProperty.js';
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
v-if="name"
|
||||
v-model="inputName"
|
||||
/>
|
||||
<div class="layout row justify-center">
|
||||
<div class="layout justify-center">
|
||||
<v-btn
|
||||
v-show="nameMatch"
|
||||
class="primary"
|
||||
@@ -32,7 +32,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import isDarkColor from '/imports/ui/utility/isDarkColor.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -41,16 +41,20 @@
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import '/imports/ui/dialogStack/dialogStackWindowEvents.js';
|
||||
import mockElement from '/imports/ui/dialogStack/mockElement.js';
|
||||
import DialogComponentIndex from '/imports/ui/dialogStack/DialogComponentIndex.js';
|
||||
import { VLayout } from 'vuetify/lib'
|
||||
|
||||
const OFFSET = 16;
|
||||
const MOCK_DURATION = 400; // Keep in sync with css transition of .dialog
|
||||
|
||||
export default {
|
||||
components: DialogComponentIndex,
|
||||
components: {
|
||||
VLayout,
|
||||
...DialogComponentIndex,
|
||||
},
|
||||
computed: {
|
||||
dialogs(){
|
||||
return this.$store.state.dialogStack.dialogs;
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import functions from '/imports/parser/functions.js';
|
||||
export default {
|
||||
computed:{
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import {importIcons, importIconMetadata} from '/imports/ui/icons/importIcons.js';
|
||||
import IconPicker from '/imports/ui/components/global/IconPicker.vue';
|
||||
import UploadButton from 'vuetify-upload-button';
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SvgIcon from '/imports/ui/components/global/SvgIcon.vue'
|
||||
import SVG_ICONS from '/imports/constants/SVG_ICONS.js';
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<router-view
|
||||
name="toolbar"
|
||||
/>
|
||||
<v-toolbar
|
||||
<v-app-bar
|
||||
v-if="!$route.matched[0] || !$route.matched[0].components.toolbar"
|
||||
app
|
||||
color="secondary"
|
||||
@@ -20,7 +20,7 @@
|
||||
tabs
|
||||
dense
|
||||
>
|
||||
<v-toolbar-side-icon @click="toggleDrawer" />
|
||||
<v-app-bar-nav-icon @click="toggleDrawer" />
|
||||
<v-toolbar-title>
|
||||
<v-fade-transition
|
||||
mode="out-in"
|
||||
@@ -53,14 +53,14 @@
|
||||
/>
|
||||
</div>
|
||||
</v-fade-transition>
|
||||
</v-toolbar>
|
||||
<v-content>
|
||||
</v-app-bar>
|
||||
<v-main>
|
||||
<v-fade-transition
|
||||
mode="out-in"
|
||||
>
|
||||
<router-view />
|
||||
</v-fade-transition>
|
||||
</v-content>
|
||||
</v-main>
|
||||
<router-view
|
||||
name="rightDrawer"
|
||||
/>
|
||||
@@ -69,11 +69,10 @@
|
||||
</v-app>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import '/imports/api/users/Users.js';
|
||||
import Sidebar from '/imports/ui/layouts/Sidebar.vue';
|
||||
import DialogStack from '/imports/ui/dialogStack/DialogStack.vue';
|
||||
import { theme, darkTheme } from '/imports/ui/theme.js';
|
||||
import { mapMutations } from 'vuex';
|
||||
import Snackbars from '/imports/ui/components/snackbars/Snackbars.vue';
|
||||
|
||||
@@ -107,10 +106,7 @@
|
||||
darkMode: {
|
||||
immediate: true,
|
||||
handler(newDarkModeValue){
|
||||
let newTheme = newDarkModeValue ? darkTheme : theme;
|
||||
for (let key in newTheme){
|
||||
this.$vuetify.theme[key] = newTheme[key];
|
||||
}
|
||||
this.$vuetify.theme.dark = newDarkModeValue;
|
||||
},
|
||||
},
|
||||
'$route' (to) {
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
<div class="sidebar">
|
||||
<v-layout
|
||||
v-if="!signedIn"
|
||||
row
|
||||
justify-center
|
||||
>
|
||||
<v-btn
|
||||
@@ -13,51 +12,54 @@
|
||||
</v-btn>
|
||||
</v-layout>
|
||||
<v-list>
|
||||
<v-list-tile v-if="signedIn">
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item v-if="signedIn">
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ userName }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-tooltip bottom>
|
||||
<v-btn
|
||||
slot="activator"
|
||||
flat
|
||||
icon
|
||||
to="/account"
|
||||
<template
|
||||
#activator="{ on }"
|
||||
>
|
||||
<v-icon>settings</v-icon>
|
||||
</v-btn>
|
||||
<v-btn
|
||||
icon
|
||||
to="/account"
|
||||
v-on="on"
|
||||
>
|
||||
<v-icon>settings</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Account Settings</span>
|
||||
</v-tooltip>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="(link, i) in links"
|
||||
:key="i"
|
||||
:to="link.to"
|
||||
:href="link.href"
|
||||
>
|
||||
<v-list-tile-action>
|
||||
<v-list-item-action>
|
||||
<v-icon>{{ link.icon }}</v-icon>
|
||||
</v-list-tile-action>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-action>
|
||||
<v-list-item-title>
|
||||
{{ link.title }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-divider />
|
||||
</v-list>
|
||||
<v-list
|
||||
avatar
|
||||
>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="character in CreaturesWithNoParty"
|
||||
:key="character._id"
|
||||
:to="character.url"
|
||||
>
|
||||
<v-list-tile-avatar :color="character.color || 'grey'">
|
||||
<v-list-item-avatar :color="character.color || 'grey'">
|
||||
<img
|
||||
v-if="character.avatarPicture"
|
||||
:src="character.avatarPicture"
|
||||
@@ -66,26 +68,26 @@
|
||||
<template v-else>
|
||||
{{ character.initial }}
|
||||
</template>
|
||||
</v-list-tile-avatar>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-title>
|
||||
{{ character.name }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-group
|
||||
v-for="party in parties"
|
||||
:key="party._id"
|
||||
>
|
||||
<v-list-tile slot="activator">
|
||||
<v-list-tile-title>
|
||||
<v-list-item slot="activator">
|
||||
<v-list-item-title>
|
||||
{{ party.name }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
v-for="character in characterDocs"
|
||||
:key="character._id"
|
||||
:to="character.url"
|
||||
>
|
||||
<v-list-tile-avatar :color="character.color || 'grey'">
|
||||
<v-list-item-avatar :color="character.color || 'grey'">
|
||||
<img
|
||||
v-if="character.avatarPicture"
|
||||
:src="character.avatarPicture"
|
||||
@@ -94,17 +96,17 @@
|
||||
<template v-else>
|
||||
{{ character.initial }}
|
||||
</template>
|
||||
</v-list-tile-avatar>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-title>
|
||||
{{ character.name }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
</v-list-group>
|
||||
</v-list>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import Parties from '/imports/api/creature/Parties.js';
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
</tree-detail-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import TreeDetailLayout from '/imports/ui/components/TreeDetailLayout.vue';
|
||||
import LibraryBrowser from '/imports/ui/library/LibraryBrowser.vue';
|
||||
import LibraryNodeDialog from '/imports/ui/library/LibraryNodeDialog.vue';
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import LibraryContentsContainer from '/imports/ui/library/LibraryContentsContainer.vue';
|
||||
import { setDocToLastOrder } from '/imports/api/parenting/order.js';
|
||||
import LibraryNodes, { insertNode } from '/imports/api/library/LibraryNodes.js';
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</v-fade-transition>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Libraries from '/imports/api/library/Libraries.js';
|
||||
import LibraryNodes from '/imports/api/library/LibraryNodes.js';
|
||||
import { nodesToTree } from '/imports/api/parenting/parenting.js'
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import Libraries, { updateLibraryName, removeLibrary } from '/imports/api/library/Libraries.js';
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</selectable-property-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SelectablePropertyDialog from '/imports/ui/properties/shared/SelectablePropertyDialog.vue';
|
||||
import LibraryNodeInsertForm from '/imports/ui/library/LibraryNodeInsertForm.vue';
|
||||
import { getPropertyName } from '/imports/constants/PROPERTIES.js';
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<div
|
||||
v-if="!embedded"
|
||||
slot="actions"
|
||||
class="layout row justify-end"
|
||||
class="layout justify-end"
|
||||
>
|
||||
<template v-if="selection">
|
||||
<v-btn
|
||||
@@ -67,7 +67,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import LibraryNodes, {
|
||||
duplicateNode,
|
||||
updateLibraryNode,
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
/>
|
||||
<div
|
||||
slot="actions"
|
||||
class="layout row justify-end"
|
||||
class="layout justify-end"
|
||||
>
|
||||
<v-btn
|
||||
flat
|
||||
@@ -38,7 +38,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import propertyFormIndex from '/imports/ui/properties/forms/shared/propertyFormIndex.js';
|
||||
import schemaFormMixin from '/imports/ui/properties/forms/shared/schemaFormMixin.js';
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</dialog-base>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import DialogBase from '/imports/ui/dialogStack/DialogBase.vue';
|
||||
import LibraryAndNode from '/imports/ui/library/LibraryAndNode.vue';
|
||||
export default {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
</v-toolbar>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Libraries from '/imports/api/library/Libraries.js';
|
||||
import { assertDocEditPermission } from '/imports/api/sharing/sharingPermissions.js';
|
||||
import { mapMutations } from 'vuex';
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CreatureLogs, { logRoll } from '/imports/api/creature/log/CreatureLogs.js';
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js';
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import MarkdownText from '/imports/ui/components/MarkdownText.vue';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -42,29 +42,29 @@
|
||||
two-line
|
||||
style="background: inherit;"
|
||||
>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="paragon in paragons"
|
||||
:key="paragon.name"
|
||||
>
|
||||
<v-list-tile-avatar>
|
||||
<v-list-item-avatar>
|
||||
<v-img :src="`/images/paragons/${paragon.avatar}.png`" />
|
||||
</v-list-tile-avatar>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ paragon.name }}
|
||||
</v-list-tile-title>
|
||||
<v-list-tile-sub-title>
|
||||
</v-list-item-title>
|
||||
<v-list-item-subtitle>
|
||||
{{ paragon.title }}
|
||||
</v-list-tile-sub-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
data(){ return {
|
||||
paragons:[{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="layout row justify-center">
|
||||
<div class="layout justify-center">
|
||||
<v-card
|
||||
class="ma-4 pa-2"
|
||||
style="flex-basis: 900px"
|
||||
@@ -8,14 +8,14 @@
|
||||
<v-subheader>
|
||||
Preferences
|
||||
</v-subheader>
|
||||
<v-list-tile>
|
||||
<v-list-item>
|
||||
<smart-switch
|
||||
:value="darkMode"
|
||||
label="Dark mode"
|
||||
@change="setDarkMode"
|
||||
/>
|
||||
</v-list-tile>
|
||||
<v-list-tile>
|
||||
</v-list-item>
|
||||
<v-list-item>
|
||||
<smart-switch
|
||||
label="Swap ability scores and modifiers"
|
||||
:value="
|
||||
@@ -25,13 +25,13 @@
|
||||
"
|
||||
@change="swapAbilityScoresAndModifiers"
|
||||
/>
|
||||
</v-list-tile>
|
||||
</v-list-item>
|
||||
|
||||
<v-subheader>
|
||||
Username
|
||||
</v-subheader>
|
||||
<v-list-tile data-id="username">
|
||||
<v-list-tile-action>
|
||||
<v-list-item data-id="username">
|
||||
<v-list-item-action>
|
||||
<v-tooltip right>
|
||||
<span>Change Username</span>
|
||||
<v-btn
|
||||
@@ -43,28 +43,28 @@
|
||||
<v-icon>create</v-icon>
|
||||
</v-btn>
|
||||
</v-tooltip>
|
||||
</v-list-tile-action>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-action>
|
||||
<v-list-item-title>
|
||||
{{ user && user.username }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<v-subheader>
|
||||
Email
|
||||
</v-subheader>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="email in emails"
|
||||
:key="email.address"
|
||||
>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-title>
|
||||
{{ email.address }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-subheader>
|
||||
Patreon
|
||||
</v-subheader>
|
||||
<v-list-tile>
|
||||
<v-list-tile-action>
|
||||
<v-list-item>
|
||||
<v-list-item-action>
|
||||
<v-tooltip right>
|
||||
<span>Refresh Patreon status</span>
|
||||
<v-btn
|
||||
@@ -77,27 +77,27 @@
|
||||
<v-icon>refresh</v-icon>
|
||||
</v-btn>
|
||||
</v-tooltip>
|
||||
</v-list-tile-action>
|
||||
<v-list-tile-title>
|
||||
</v-list-item-action>
|
||||
<v-list-item-title>
|
||||
Tier: {{ tier.name }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile v-if="!user.services.google">
|
||||
</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item v-if="!user.services.google">
|
||||
<v-btn
|
||||
color="primary"
|
||||
@click="linkWithGoogle"
|
||||
>
|
||||
Link Google Account
|
||||
</v-btn>
|
||||
</v-list-tile>
|
||||
<v-list-tile v-if="!user.services.patreon">
|
||||
</v-list-item>
|
||||
<v-list-item v-if="!user.services.patreon">
|
||||
<v-btn
|
||||
color="primary"
|
||||
@click="linkWithPatreon"
|
||||
>
|
||||
Link Patreon Account
|
||||
</v-btn>
|
||||
</v-list-tile>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
<v-layout
|
||||
row
|
||||
@@ -121,20 +121,20 @@
|
||||
<template
|
||||
v-for="(invite, index) in invites"
|
||||
>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
:key="invite._id"
|
||||
:data-id="invite._id"
|
||||
@click="clickInvite(invite)"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ invite.inviteeName || invite.invitee || 'Available' }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
<v-list-tile-action>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-icon>mail_outline</v-icon>
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
<v-divider
|
||||
:key="index"
|
||||
/>
|
||||
@@ -158,7 +158,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import router from '/imports/ui/router.js';
|
||||
import getEntitledCents from '/imports/api/users/patreon/getEntitledCents.js';
|
||||
import Invites from '/imports/api/users/Invites.js';
|
||||
|
||||
@@ -19,17 +19,17 @@
|
||||
</div>
|
||||
<v-card>
|
||||
<v-list>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="character in party.characterDocs"
|
||||
:key="character._id"
|
||||
>
|
||||
<v-list-tile-avatar>
|
||||
<v-list-item-avatar>
|
||||
<img
|
||||
:src="character.picture"
|
||||
alt="character.name"
|
||||
>
|
||||
</v-list-tile-avatar>
|
||||
</v-list-tile>
|
||||
</v-list-item-avatar>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-card>
|
||||
</v-expansion-panel-content>
|
||||
@@ -78,7 +78,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures, {insertCreature} from '/imports/api/creature/Creatures.js';
|
||||
import Parties from '/imports/api/creature/Parties.js';
|
||||
import LabeledFab from '/imports/ui/components/LabeledFab.vue';
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import CharacterSheet from '/imports/ui/creature/character/CharacterSheet.vue';
|
||||
export default {
|
||||
components: {
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,139 +1,137 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="content">
|
||||
<section>
|
||||
<v-parallax
|
||||
src="/images/paper-dice-crown.png"
|
||||
height="300"
|
||||
>
|
||||
<v-layout
|
||||
column
|
||||
align-center
|
||||
justify-center
|
||||
class="white--text"
|
||||
>
|
||||
<h1 class="white--text mb-2 display-1 text-xs-center">
|
||||
DiceCloud - Free, Auditable, real-time character tracking for 5th edition
|
||||
</h1>
|
||||
<div class="subheading mb-3 text-xs-center">
|
||||
Spend less time shuffling paper, and more time playing the game
|
||||
</div>
|
||||
</v-layout>
|
||||
</v-parallax>
|
||||
</section>
|
||||
<section class="text-xs-center">
|
||||
<v-layout
|
||||
row
|
||||
wrap
|
||||
justify-space-around
|
||||
class="selling-points"
|
||||
>
|
||||
<v-layout
|
||||
column
|
||||
align-center
|
||||
>
|
||||
<v-icon
|
||||
x-large
|
||||
class="ma-2"
|
||||
>
|
||||
money_off
|
||||
</v-icon>
|
||||
<h3 class="mb-2">
|
||||
Free, open source, community funded
|
||||
</h3>
|
||||
<p>
|
||||
DiceCloud is free to use. Its hosting is funded via Patreon,
|
||||
and the source code is available on Github under a GPL license.
|
||||
</p>
|
||||
</v-layout>
|
||||
<v-layout
|
||||
column
|
||||
align-center
|
||||
>
|
||||
<v-icon
|
||||
x-large
|
||||
class="ma-2"
|
||||
>
|
||||
ballot
|
||||
</v-icon>
|
||||
<h3 class="mb-2">
|
||||
Character sheets optimised for one ruleset
|
||||
</h3>
|
||||
<p>
|
||||
By having a narrrow scope, DiceCloud can be the best at what it
|
||||
does: being a fully automated character tracker
|
||||
</p>
|
||||
</v-layout>
|
||||
<v-layout
|
||||
column
|
||||
align-center
|
||||
>
|
||||
<v-icon
|
||||
x-large
|
||||
class="ma-2"
|
||||
>
|
||||
scatter_plot
|
||||
</v-icon>
|
||||
<h3 class="mb-2">
|
||||
Inventory manager
|
||||
</h3>
|
||||
<p>
|
||||
Equiping items changes your characters stats automatically.
|
||||
</p>
|
||||
</v-layout>
|
||||
</v-layout>
|
||||
</section>
|
||||
<section
|
||||
v-if="!signedIn"
|
||||
class="ma-5"
|
||||
<div
|
||||
class="content layout column justify-space-between"
|
||||
style="min-height: 100%;"
|
||||
>
|
||||
<section>
|
||||
<v-parallax
|
||||
src="/images/paper-dice-crown.png"
|
||||
height="300"
|
||||
>
|
||||
<v-layout
|
||||
row
|
||||
column
|
||||
align-center
|
||||
justify-space-around
|
||||
justify-center
|
||||
class="white--text"
|
||||
>
|
||||
<v-btn
|
||||
color="accent"
|
||||
round
|
||||
large
|
||||
to="/sign-in"
|
||||
>
|
||||
Sign In
|
||||
</v-btn>
|
||||
<h1 class="white--text mb-2 text-h4 text-center">
|
||||
DiceCloud - Free, Auditable, real-time character tracking for 5th edition
|
||||
</h1>
|
||||
<div class="subheading mb-3 text-center">
|
||||
Spend less time shuffling paper, and more time playing the game
|
||||
</div>
|
||||
</v-layout>
|
||||
</section>
|
||||
<section class="text-xs-center grey darken-3 white--text pa-5">
|
||||
<h1>
|
||||
Get involved in the DiceCloud community
|
||||
</h1>
|
||||
</v-parallax>
|
||||
</section>
|
||||
<section class="text-center">
|
||||
<v-layout
|
||||
wrap
|
||||
justify-space-around
|
||||
class="selling-points"
|
||||
>
|
||||
<v-layout
|
||||
row
|
||||
wrap
|
||||
column
|
||||
align-center
|
||||
justify-space-around
|
||||
class="pa-4"
|
||||
>
|
||||
<v-btn
|
||||
v-for="btn in [
|
||||
{link: 'https://discord.gg/qEvdfeB', name: 'Discord'},
|
||||
{link: 'https://www.patreon.com/dicecloud', name: 'Patreon'},
|
||||
{link: 'https://github.com/ThaumRystra/DiceCloud', name: 'Github'},
|
||||
]"
|
||||
:key="btn.name"
|
||||
:href="btn.link"
|
||||
flat
|
||||
large
|
||||
color="primary"
|
||||
<v-icon
|
||||
x-large
|
||||
class="ma-2"
|
||||
>
|
||||
{{ btn.name }}
|
||||
</v-btn>
|
||||
money_off
|
||||
</v-icon>
|
||||
<h3 class="mb-2">
|
||||
Free, open source, community funded
|
||||
</h3>
|
||||
<p>
|
||||
DiceCloud is free to use. Its hosting is funded via Patreon,
|
||||
and the source code is available on Github under a GPL license.
|
||||
</p>
|
||||
</v-layout>
|
||||
</section>
|
||||
</div>
|
||||
<v-layout
|
||||
column
|
||||
align-center
|
||||
>
|
||||
<v-icon
|
||||
x-large
|
||||
class="ma-2"
|
||||
>
|
||||
ballot
|
||||
</v-icon>
|
||||
<h3 class="mb-2">
|
||||
Character sheets optimised for one ruleset
|
||||
</h3>
|
||||
<p>
|
||||
By having a narrrow scope, DiceCloud can be the best at what it
|
||||
does: being a fully automated character tracker
|
||||
</p>
|
||||
</v-layout>
|
||||
<v-layout
|
||||
column
|
||||
align-center
|
||||
>
|
||||
<v-icon
|
||||
x-large
|
||||
class="ma-2"
|
||||
>
|
||||
scatter_plot
|
||||
</v-icon>
|
||||
<h3 class="mb-2">
|
||||
Inventory manager
|
||||
</h3>
|
||||
<p>
|
||||
Equiping items changes your characters stats automatically.
|
||||
</p>
|
||||
</v-layout>
|
||||
</v-layout>
|
||||
</section>
|
||||
<section
|
||||
v-if="!signedIn"
|
||||
class="ma-5"
|
||||
>
|
||||
<v-layout
|
||||
align-center
|
||||
justify-space-around
|
||||
>
|
||||
<v-btn
|
||||
color="accent"
|
||||
round
|
||||
large
|
||||
to="/sign-in"
|
||||
>
|
||||
Sign In
|
||||
</v-btn>
|
||||
</v-layout>
|
||||
</section>
|
||||
<section class="text-center grey darken-3 white--text pa-5">
|
||||
<h1>
|
||||
Get involved in the DiceCloud community
|
||||
</h1>
|
||||
<v-layout
|
||||
wrap
|
||||
align-center
|
||||
justify-space-around
|
||||
class="pa-4"
|
||||
>
|
||||
<v-btn
|
||||
v-for="btn in [
|
||||
{link: 'https://discord.gg/qEvdfeB', name: 'Discord'},
|
||||
{link: 'https://www.patreon.com/dicecloud', name: 'Patreon'},
|
||||
{link: 'https://github.com/ThaumRystra/DiceCloud', name: 'Github'},
|
||||
]"
|
||||
:key="btn.name"
|
||||
:href="btn.link"
|
||||
text
|
||||
large
|
||||
color="primary"
|
||||
>
|
||||
{{ btn.name }}
|
||||
</v-btn>
|
||||
</v-layout>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
meteor: {
|
||||
signedIn(){
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
props: {
|
||||
error: {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import VueCountdown from '@chenfengyuan/vue-countdown';
|
||||
import LAUNCH_DATE from '/imports/constants/LAUNCH_DATE.js';
|
||||
export default{
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
</single-card-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SingleCardLayout from '/imports/ui/layouts/SingleCardLayout.vue';
|
||||
import LibraryAndNode from '/imports/ui/library/LibraryAndNode.vue';
|
||||
export default {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import TIERS, { getUserTier } from '/imports/api/users/patreon/tiers.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default{
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
required
|
||||
@keyup.enter="submit"
|
||||
/>
|
||||
<v-btn flat>
|
||||
<v-btn text>
|
||||
Reset Password
|
||||
</v-btn>
|
||||
<div class="error--text">
|
||||
@@ -79,7 +79,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import { Meteor } from 'meteor/meteor'
|
||||
export default{
|
||||
data: () => ({
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Tabletops from '/imports/api/tabletop/Tabletops.js';
|
||||
import TabletopComponent from '/imports/ui/tabletop/TabletopComponent.vue';
|
||||
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
v-if="tabletops.length"
|
||||
class="tabletops"
|
||||
>
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="tabletop in tabletops"
|
||||
:key="tabletop._id"
|
||||
:to="`/tabletop/${tabletop._id}`"
|
||||
>
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ tabletop.name || 'Unnamed Tabletop' }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
<v-card-text v-else>
|
||||
You don't own or belong to any tabletops yet
|
||||
@@ -33,7 +33,7 @@
|
||||
</single-card-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SingleCardLayout from '/imports/ui/layouts/SingleCardLayout.vue'
|
||||
import Tabletops, { insertTabletop } from '/imports/api/tabletop/Tabletops.js';
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
:class="cardClasses"
|
||||
:elevation="hovering ? 8 : undefined"
|
||||
>
|
||||
<div class="layout row align-center px-3">
|
||||
<div class="layout align-center px-3">
|
||||
<div class="avatar">
|
||||
<v-btn
|
||||
flat
|
||||
@@ -91,7 +91,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import { getPropertyName } from '/imports/constants/PROPERTIES.js';
|
||||
import numberToSignedString from '/imports/ui/utility/numberToSignedString.js';
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang="html">
|
||||
<div
|
||||
class="layout row align-center justify-start"
|
||||
class="layout align-center justify-start"
|
||||
:class="insufficient && 'error--text'"
|
||||
>
|
||||
<div
|
||||
@@ -17,7 +17,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
props: {
|
||||
model: {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
>
|
||||
<template #activator="{ on }">
|
||||
<div
|
||||
class="layout row align-center justify-start"
|
||||
class="layout align-center justify-start"
|
||||
style="height: 100%;"
|
||||
:class="{
|
||||
'error--text': insufficient,
|
||||
@@ -64,7 +64,7 @@
|
||||
</v-menu>
|
||||
<div
|
||||
v-else
|
||||
class="layout row align-center justify-start"
|
||||
class="layout align-center justify-start"
|
||||
:class="{'left-pad': leftPad}"
|
||||
>
|
||||
<div
|
||||
@@ -82,7 +82,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import SelectItemToConsume from '/imports/ui/properties/components/actions/SelectItemToConsume.vue';
|
||||
export default {
|
||||
components: {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang="html">
|
||||
<v-list v-if="items.length">
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
v-for="item in items"
|
||||
:key="item._id"
|
||||
@click="selectItem(item._id)"
|
||||
@@ -9,7 +9,7 @@
|
||||
:model="item"
|
||||
:selected="itemConsumed.itemId === item._id"
|
||||
/>
|
||||
</v-list-tile>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
<v-card v-else>
|
||||
<v-card-text>
|
||||
@@ -18,7 +18,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import ItemTreeNode from '/imports/ui/properties/treeNodeViews/ItemTreeNode.vue';
|
||||
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
|
||||
import selectAmmoItem from '/imports/api/creature/creatureProperties/methods/selectAmmoItem.js';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template lang="html">
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
class="ability-list-tile"
|
||||
v-on="hasClickListener ? {click} : {}"
|
||||
>
|
||||
<v-list-tile-action class="mr-4">
|
||||
<v-list-item-action class="mr-4">
|
||||
<div class="display-1 mod">
|
||||
<template v-if="swapScoresAndMods">
|
||||
<span :class="{'primary--text': model.currentValue !== model.value}">
|
||||
@@ -24,17 +24,17 @@
|
||||
</span>
|
||||
</template>
|
||||
</div>
|
||||
</v-list-tile-action>
|
||||
</v-list-item-action>
|
||||
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
{{ model.name }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import numberToSignedString from '/imports/ui/utility/numberToSignedString.js';
|
||||
export default {
|
||||
props: {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
@click="click"
|
||||
>
|
||||
<v-card-text>
|
||||
<div class="layout row align-center">
|
||||
<div class="layout align-center">
|
||||
<div class="value display-1 mr-1">
|
||||
{{ computedValue }}
|
||||
</div>
|
||||
@@ -16,7 +16,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import numberToSignedString from '/imports/ui/utility/numberToSignedString.js';
|
||||
export default {
|
||||
props: {
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import IncrementMenu from '/imports/ui/components/IncrementMenu.vue';
|
||||
export default {
|
||||
components: {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import HealthBar from '/imports/ui/properties/components/attributes/HealthBar.vue';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import Creatures from '/imports/api/creature/Creatures.js';
|
||||
import damageProperty from '/imports/api/creature/creatureProperties/methods/damageProperty.js';
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template lang="html">
|
||||
<v-list-tile
|
||||
<v-list-item
|
||||
class="hit-dice-list-tile"
|
||||
:class="{hover}"
|
||||
>
|
||||
<v-list-tile-action class="mr-4">
|
||||
<v-list-item-action class="mr-4">
|
||||
<v-layout
|
||||
row
|
||||
align-center
|
||||
@@ -44,22 +44,22 @@
|
||||
</div>
|
||||
</v-layout>
|
||||
</v-layout>
|
||||
</v-list-tile-action>
|
||||
</v-list-item-action>
|
||||
|
||||
<v-list-tile-content
|
||||
<v-list-item-content
|
||||
class="content"
|
||||
@click="click"
|
||||
@mouseover="hover = true"
|
||||
@mouseleave="hover = false"
|
||||
>
|
||||
<v-list-tile-title>
|
||||
<v-list-item-title>
|
||||
{{ model.hitDiceSize }} {{ signedConMod }}
|
||||
</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
</v-list-tile>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
import numberToSignedString from '/imports/ui/utility/numberToSignedString.js';
|
||||
export default {
|
||||
inject: {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</v-btn>
|
||||
</div>
|
||||
<div
|
||||
class="layout row align-center value pl-2 pr-3"
|
||||
class="layout align-center value pl-2 pr-3"
|
||||
>
|
||||
<div class="display-1">
|
||||
{{ currentValue }}
|
||||
@@ -44,7 +44,7 @@
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script lang="js">
|
||||
export default {
|
||||
props: {
|
||||
_id: String,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user