feat: add print styles

This commit is contained in:
kolaente 2022-06-02 23:00:21 +02:00
parent 1deb0a58bd
commit 6fc87e1515
No known key found for this signature in database
GPG key ID: F40E70337AB24C9B
10 changed files with 101 additions and 78 deletions

View file

@ -2,7 +2,7 @@
<header <header
:class="{'has-background': background}" :class="{'has-background': background}"
aria-label="main navigation" aria-label="main navigation"
class="navbar main-theme is-fixed-top" class="navbar main-theme is-fixed-top d-print-none"
> >
<router-link :to="{name: 'home'}" class="logo-link"> <router-link :to="{name: 'home'}" class="logo-link">
<Logo width="164" height="48"/> <Logo width="164" height="48"/>

View file

@ -3,7 +3,7 @@
<BaseButton <BaseButton
v-if="menuActive" v-if="menuActive"
@click="$store.commit('menuActive', false)" @click="$store.commit('menuActive', false)"
class="menu-hide-button" class="menu-hide-button d-print-none"
> >
<icon icon="times"/> <icon icon="times"/>
</BaseButton> </BaseButton>
@ -14,9 +14,9 @@
> >
<div <div
:class="{'is-visible': background}" :class="{'is-visible': background}"
class="app-container-background background-fade-in" class="app-container-background background-fade-in d-print-none"
:style="{'background-image': background && `url(${background})`}"></div> :style="{'background-image': background && `url(${background})`}"></div>
<navigation/> <navigation class="d-print-none"/>
<main <main
:class="[ :class="[
{ 'is-menu-enabled': menuActive }, { 'is-menu-enabled': menuActive },
@ -27,12 +27,11 @@
<BaseButton <BaseButton
v-if="menuActive" v-if="menuActive"
@click="$store.commit('menuActive', false)" @click="$store.commit('menuActive', false)"
class="mobile-overlay" class="mobile-overlay d-print-none"
/> />
<quick-actions/> <quick-actions/>
<router-view :route="routeWithModal" v-slot="{ Component }"> <router-view :route="routeWithModal" v-slot="{ Component }">
<keep-alive :include="['list.list', 'list.gantt', 'list.table', 'list.kanban']"> <keep-alive :include="['list.list', 'list.gantt', 'list.table', 'list.kanban']">
<component :is="Component"/> <component :is="Component"/>
@ -51,7 +50,7 @@
</transition> </transition>
<a <a
class="keyboard-shortcuts-button" class="keyboard-shortcuts-button d-print-none"
@click="showKeyboardShortcuts()" @click="showKeyboardShortcuts()"
v-shortcut="'?'" v-shortcut="'?'"
> >
@ -238,9 +237,13 @@ store.dispatch('labels/loadAllLabels')
} }
.app-content { .app-content {
padding: $navbar-height + 1.5rem 1.5rem 1rem 1.5rem;
z-index: 10; z-index: 10;
position: relative; position: relative;
padding-top: 1rem;
@media screen {
padding: $navbar-height + 1.5rem 1.5rem 1rem 1.5rem;
}
// Used to make sure the spinner is always in the middle while loading // Used to make sure the spinner is always in the middle while loading
> .loader-container { > .loader-container {
@ -253,6 +256,7 @@ store.dispatch('labels/loadAllLabels')
min-height: calc(100vh - 4rem); min-height: calc(100vh - 4rem);
} }
@media screen {
&.is-menu-enabled { &.is-menu-enabled {
margin-left: $navbar-width; margin-left: $navbar-width;
@ -261,6 +265,7 @@ store.dispatch('labels/loadAllLabels')
margin-left: 0; margin-left: 0;
} }
} }
}
.card { .card {
background: var(--white); background: var(--white);

View file

@ -16,11 +16,11 @@
<p class="has-text-centered has-text-grey is-italic my-5" v-if="showPreviewText"> <p class="has-text-centered has-text-grey is-italic my-5" v-if="showPreviewText">
{{ emptyText }} {{ emptyText }}
<template v-if="isEditEnabled"> <template v-if="isEditEnabled">
<a @click="toggleEdit">{{ $t('input.editor.edit') }}</a>. <a @click="toggleEdit" class="d-print-none">{{ $t('input.editor.edit') }}</a>.
</template> </template>
</p> </p>
<ul class="actions" v-if="bottomActions.length > 0"> <ul class="actions d-print-none" v-if="bottomActions.length > 0">
<li v-if="isEditEnabled && !showPreviewText && showSave"> <li v-if="isEditEnabled && !showPreviewText && showSave">
<a v-if="showEditButton" @click="toggleEdit">{{ $t('input.editor.edit') }}</a> <a v-if="showEditButton" @click="toggleEdit">{{ $t('input.editor.edit') }}</a>
<a v-else-if="isEditActive" @click="toggleEdit" class="done-edit">{{ $t('misc.save') }}</a> <a v-else-if="isEditActive" @click="toggleEdit" class="done-edit">{{ $t('misc.save') }}</a>
@ -30,7 +30,7 @@
</li> </li>
</ul> </ul>
<template v-else-if="isEditEnabled && showSave"> <template v-else-if="isEditEnabled && showSave">
<ul v-if="showEditButton" class="actions"> <ul v-if="showEditButton" class="actions d-print-none">
<li> <li>
<a @click="toggleEdit">{{ $t('input.editor.edit') }}</a> <a @click="toggleEdit">{{ $t('input.editor.edit') }}</a>
</li> </li>

View file

@ -1,6 +1,6 @@
<template> <template>
<div class="content details" v-if="enabled"> <div class="content details" v-if="enabled">
<h3 v-if="canWrite || comments.length > 0"> <h3 v-if="canWrite || comments.length > 0" :class="{'d-print-none': comments.length === 0}">
<span class="icon is-grey"> <span class="icon is-grey">
<icon :icon="['far', 'comments']"/> <icon :icon="['far', 'comments']"/>
</span> </span>
@ -29,7 +29,7 @@
<img <img
:src="c.author.getAvatarUrl(20)" :src="c.author.getAvatarUrl(20)"
alt="" alt=""
class="image is-avatar" class="image is-avatar d-print-none"
height="20" height="20"
width="20" width="20"
/> />
@ -82,7 +82,7 @@
/> />
</div> </div>
</div> </div>
<div class="media comment" v-if="canWrite"> <div class="media comment d-print-none" v-if="canWrite">
<figure class="media-left is-hidden-mobile"> <figure class="media-left is-hidden-mobile">
<img <img
:src="userAvatar" :src="userAvatar"

View file

@ -3,7 +3,7 @@
<x-button <x-button
v-if="editEnabled && Object.keys(relatedTasks).length > 0" v-if="editEnabled && Object.keys(relatedTasks).length > 0"
@click="showNewRelationForm = !showNewRelationForm" @click="showNewRelationForm = !showNewRelationForm"
class="is-pulled-right add-task-relation-button" class="is-pulled-right add-task-relation-button d-print-none"
:class="{'is-active': showNewRelationForm}" :class="{'is-active': showNewRelationForm}"
v-tooltip="$t('task.relation.add')" v-tooltip="$t('task.relation.add')"
variant="secondary" variant="secondary"

View file

@ -255,6 +255,7 @@
--card-border-color: var(--grey-200); --card-border-color: var(--grey-200);
--logo-text-color: hsl(180, 1%, 15%); --logo-text-color: hsl(180, 1%, 15%);
@media screen {
&.dark { &.dark {
// Light mode colours reversed for dark mode // Light mode colours reversed for dark mode
--grey-900-hsl: 210, 20%, 98%; --grey-900-hsl: 210, 20%, 98%;
@ -308,3 +309,4 @@
--scheme-invert-ter: var(--grey-800); --scheme-invert-ter: var(--grey-800);
} }
} }
}

View file

@ -8,3 +8,4 @@
@import "link-share"; @import "link-share";
@import "loading"; @import "loading";
@import "flatpickr"; @import "flatpickr";
@import 'helpers';

View file

@ -0,0 +1,5 @@
.d-print-none {
@media print {
display: none !important;
}
}

View file

@ -26,6 +26,10 @@
body { body {
background: var(--site-background); background: var(--site-background);
min-height: 100vh; min-height: 100vh;
@media print {
background: #fff;
}
} }
h1, h1,

View file

@ -14,7 +14,7 @@
<!-- Content and buttons --> <!-- Content and buttons -->
<div class="columns mt-2"> <div class="columns mt-2">
<!-- Content --> <!-- Content -->
<div :class="{'is-two-thirds': canWrite}" class="column"> <div :class="{'is-two-thirds': canWrite}" class="column detail-content">
<div class="columns details"> <div class="columns details">
<div class="column assignees" v-if="activeFields.assignees"> <div class="column assignees" v-if="activeFields.assignees">
<!-- Assignees --> <!-- Assignees -->
@ -246,7 +246,7 @@
<!-- Comments --> <!-- Comments -->
<comments :can-write="canWrite" :task-id="taskId"/> <comments :can-write="canWrite" :task-id="taskId"/>
</div> </div>
<div class="column is-one-third action-buttons" v-if="canWrite || shouldShowClosePopup"> <div class="column is-one-third action-buttons d-print-none" v-if="canWrite || shouldShowClosePopup">
<BaseButton @click="$router.back()" class="is-fullwidth is-block has-text-centered mb-4 has-text-primary" v-if="shouldShowClosePopup"> <BaseButton @click="$router.back()" class="is-fullwidth is-block has-text-centered mb-4 has-text-primary" v-if="shouldShowClosePopup">
<icon icon="arrow-left"/> <icon icon="arrow-left"/>
{{ $t('task.detail.closePopup') }} {{ $t('task.detail.closePopup') }}
@ -955,4 +955,10 @@ $flash-background-duration: 750ms;
} }
@include modal-transition(); @include modal-transition();
.detail-content {
@media print {
width: 100% !important;
}
}
</style> </style>