feat: add print styles
This commit is contained in:
parent
1deb0a58bd
commit
6fc87e1515
10 changed files with 101 additions and 78 deletions
|
@ -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"/>
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -170,7 +170,7 @@
|
||||||
//--grey-lighter: #dbdbdb;
|
//--grey-lighter: #dbdbdb;
|
||||||
--white-ter: whitesmoke;
|
--white-ter: whitesmoke;
|
||||||
--white-bis: #fafafa;
|
--white-bis: #fafafa;
|
||||||
// END core Bulma color variables
|
// END core Bulma color variables
|
||||||
|
|
||||||
|
|
||||||
// Vikunja specific variables
|
// Vikunja specific variables
|
||||||
|
@ -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%;
|
||||||
|
@ -307,4 +308,5 @@
|
||||||
--scheme-invert-bis: var(--grey-900);
|
--scheme-invert-bis: var(--grey-900);
|
||||||
--scheme-invert-ter: var(--grey-800);
|
--scheme-invert-ter: var(--grey-800);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -8,3 +8,4 @@
|
||||||
@import "link-share";
|
@import "link-share";
|
||||||
@import "loading";
|
@import "loading";
|
||||||
@import "flatpickr";
|
@import "flatpickr";
|
||||||
|
@import 'helpers';
|
5
src/styles/theme/helpers.scss
Normal file
5
src/styles/theme/helpers.scss
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
.d-print-none {
|
||||||
|
@media print {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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,
|
||||||
|
|
|
@ -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>
|
Loading…
Reference in a new issue