From ef26153bb20a3c91082d68a7cba5de629ebb9444 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Thu, 1 Dec 2022 13:28:33 +0200 Subject: [PATCH] Improved [redacted], added routes and navigation --- .../character/CharacterSheetToolbar.vue | 56 ++++++--- .../CharacterSheetPrinted.vue | 42 ++++++- .../CharacterSheetPrintedToolbar.vue | 97 +++++++++++++++ .../PrintedInventory.vue | 23 +--- .../printedCharacterSheet/PrintedStats.vue | 112 +++++++++--------- .../components/PrintedContainer.vue | 2 +- app/imports/client/ui/router.js | 2 + 7 files changed, 236 insertions(+), 98 deletions(-) create mode 100644 app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrintedToolbar.vue diff --git a/app/imports/client/ui/creature/character/CharacterSheetToolbar.vue b/app/imports/client/ui/creature/character/CharacterSheetToolbar.vue index be85d916..6878df30 100644 --- a/app/imports/client/ui/creature/character/CharacterSheetToolbar.vue +++ b/app/imports/client/ui/creature/character/CharacterSheetToolbar.vue @@ -39,27 +39,45 @@ mdi-dots-vertical - - + + - mdi-delete Delete + + mdi-printer + Print - + + - mdi-pencil Edit details - - - - - mdi-share-variant Sharing - - - - - - - mdi-delete Unshare with me + + mdi-delete + Unshare with me @@ -144,6 +162,7 @@ import isDarkColor from '/imports/client/ui/utility/isDarkColor.js'; import CharacterSheetFab from '/imports/client/ui/creature/character/CharacterSheetFab.vue'; import getThemeColor from '/imports/client/ui/utility/getThemeColor.js'; import SharedIcon from '/imports/client/ui/components/SharedIcon.vue'; +import getCreatureUrlName from '/imports/api/creature/creatures/getCreatureUrlName.js'; export default { components: { @@ -167,6 +186,9 @@ export default { isDark() { return isDarkColor(this.toolbarColor); }, + printUrl() { + return `/print-character/${this.creature._id}/${getCreatureUrlName(this.creature)}`; + }, }, methods: { ...mapMutations([ diff --git a/app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrinted.vue b/app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrinted.vue index 9fe2bec8..f6d2d522 100644 --- a/app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrinted.vue +++ b/app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrinted.vue @@ -42,7 +42,7 @@ {{ creature.alignment }} {{ background }} - {{ race }} {{ creature.gender }} + {{ creature.gender }} {{ race }}
Level {{ level }} {{ classes[0].name }} @@ -236,9 +236,41 @@ export default { color: black; font-size: 11pt; } + +.character-sheet-printed * { + print-color-adjust: exact; + -webkit-print-color-adjust: exact; + cursor: unset !important; +} + .page { padding: 4px; } + +.character-sheet-printed .column-layout, .character-sheet-printed .column-layout.wide-columns { + position:relative; + width: 100%; + widows: 0; + orphans: 0; + -webkit-column-fill: balance-all; + column-fill: balance-all; +} + +.character-sheet-printed .column-layout>div { + position:relative; + display: block; + width: 100%; + backface-visibility: hidden; + -webkit-backface-visibility: hidden; + -webkit-column-break-inside: avoid; + break-inside: avoid; + page-break-inside: avoid; +} +.character-sheet-printed .column-layout>div>* { + -webkit-column-break-inside: avoid; + break-inside: avoid; + page-break-inside: avoid; +} .character-sheet-printed .inactive { opacity: 1 !important; } @@ -253,8 +285,6 @@ export default { background-image: url(/crown-dice-logo-cropped-transparent.png); background-size: contain; background-position: 0 center; - print-color-adjust: exact; - -webkit-print-color-adjust: exact; } .character-sheet-printed .v-divider { @@ -265,7 +295,6 @@ export default { .character-sheet-printed .double-border { position: relative; padding: 11px 10px; - page-break-inside: avoid; } .character-sheet-printed .double-border::before { @@ -286,8 +315,8 @@ export default { .character-sheet-printed .octagon-border { position: relative; padding: 4px 20px; - page-break-inside: avoid; } + .character-sheet-printed .octagon-border::before { content: ""; position: absolute; @@ -326,6 +355,9 @@ export default { } } @media print { + .v-main, .v-application, .v-application--wrap, .character-sheet-printed { + display: block; + } header { display: none !important; } diff --git a/app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrintedToolbar.vue b/app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrintedToolbar.vue new file mode 100644 index 00000000..838080e5 --- /dev/null +++ b/app/imports/client/ui/creature/character/printedCharacterSheet/CharacterSheetPrintedToolbar.vue @@ -0,0 +1,97 @@ + + + + + \ No newline at end of file diff --git a/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedInventory.vue b/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedInventory.vue index 1e87f3f4..21d8d65a 100644 --- a/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedInventory.vue +++ b/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedInventory.vue @@ -62,7 +62,7 @@ >
diff --git a/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedStats.vue b/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedStats.vue index c307f7ea..b8325777 100644 --- a/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedStats.vue +++ b/app/imports/client/ui/creature/character/printedCharacterSheet/PrintedStats.vue @@ -2,97 +2,104 @@
-
-
-
-
- - -
-
- - -
+
+
+
+ +
-
- {{ ability.name }} +
+ +
+
+ {{ ability.name }} +
-
-
- {{ toggle.name }} +
+
+
+ {{ toggle.name }} +
- {{ stat.value }} -
-
- {{ stat.name }} +
+ {{ stat.value }} +
+
+ {{ stat.name }} +
-
- {{ numberToSignedString(modifier.value) }} -
-
- {{ modifier.name }} +
+
+ {{ numberToSignedString(modifier.value) }} +
+
+ {{ modifier.name }} +
-
- {{ numberToSignedString(check.value) }} -
-
- {{ check.name }} +
+
+ {{ numberToSignedString(check.value) }} +
+
+ {{ check.name }} +
@@ -115,7 +122,6 @@
diff --git a/app/imports/client/ui/creature/character/printedCharacterSheet/components/PrintedContainer.vue b/app/imports/client/ui/creature/character/printedCharacterSheet/components/PrintedContainer.vue index 2bb4adb9..40a0ce97 100644 --- a/app/imports/client/ui/creature/character/printedCharacterSheet/components/PrintedContainer.vue +++ b/app/imports/client/ui/creature/character/printedCharacterSheet/components/PrintedContainer.vue @@ -1,5 +1,5 @@