fix:#53 linted formatted frontend files

This commit is contained in:
Elmar Kresse
2024-09-07 10:09:30 +02:00
parent a9234cbb16
commit fcbe5c0c55
115 changed files with 14849 additions and 11152 deletions

View File

@@ -3,15 +3,14 @@
@each $name, $color in $colors { @each $name, $color in $colors {
@for $i from 0 through 5 { @for $i from 0 through 5 {
@if ($i == 0) { @if ($i == 0) {
--#{$name}-50:#{tint($color, (5 - $i) * 19%)}; --#{$name}-50: #{tint($color, (5 - $i) * 19%)};
} } @else {
@else { --#{$name}-#{$i * 100}: #{tint($color, (5 - $i) * 19%)};
--#{$name}-#{$i * 100}:#{tint($color, (5 - $i) * 19%)};
} }
} }
@for $i from 1 through 4 { @for $i from 1 through 4 {
--#{$name}-#{($i + 5) * 100}:#{shade($color, $i * 15%)}; --#{$name}-#{($i + 5) * 100}: #{shade($color, $i * 15%)};
} }
} }
} }

View File

@@ -1,5 +1,6 @@
// core // core
.p-component, .p-component * { .p-component,
.p-component * {
box-sizing: border-box; box-sizing: border-box;
} }
@@ -17,7 +18,8 @@
list-style: none; list-style: none;
} }
.p-disabled, .p-disabled * { .p-disabled,
.p-disabled * {
cursor: default; cursor: default;
pointer-events: none; pointer-events: none;
user-select: none; user-select: none;
@@ -66,7 +68,9 @@
.p-connected-overlay { .p-connected-overlay {
opacity: 0; opacity: 0;
transform: scaleY(0.8); transform: scaleY(0.8);
transition: transform .12s cubic-bezier(0, 0, 0.2, 1), opacity .12s cubic-bezier(0, 0, 0.2, 1); transition:
transform 0.12s cubic-bezier(0, 0, 0.2, 1),
opacity 0.12s cubic-bezier(0, 0, 0.2, 1);
} }
.p-connected-overlay-visible { .p-connected-overlay-visible {
@@ -77,7 +81,7 @@
.p-connected-overlay-hidden { .p-connected-overlay-hidden {
opacity: 0; opacity: 0;
transform: scaleY(1); transform: scaleY(1);
transition: opacity .1s linear; transition: opacity 0.1s linear;
} }
/* Vue based overlay animations */ /* Vue based overlay animations */
@@ -91,11 +95,13 @@
} }
.p-connected-overlay-enter-active { .p-connected-overlay-enter-active {
transition: transform .12s cubic-bezier(0, 0, 0.2, 1), opacity .12s cubic-bezier(0, 0, 0.2, 1); transition:
transform 0.12s cubic-bezier(0, 0, 0.2, 1),
opacity 0.12s cubic-bezier(0, 0, 0.2, 1);
} }
.p-connected-overlay-leave-active { .p-connected-overlay-leave-active {
transition: opacity .1s linear; transition: opacity 0.1s linear;
} }
/* Toggleable Content */ /* Toggleable Content */
@@ -136,7 +142,8 @@
transition-duration: $transitionDuration; transition-duration: $transitionDuration;
} }
.p-disabled, .p-component:disabled { .p-disabled,
.p-component:disabled {
opacity: $disabledOpacity; opacity: $disabledOpacity;
} }

View File

@@ -79,7 +79,8 @@
color: $menuitemTextActiveColor; color: $menuitemTextActiveColor;
} }
.p-menuitem-icon, .p-submenu-icon { .p-menuitem-icon,
.p-submenu-icon {
color: $menuitemIconActiveColor; color: $menuitemIconActiveColor;
} }
} }
@@ -103,7 +104,8 @@
color: $menuitemTextHoverColor; color: $menuitemTextHoverColor;
} }
.p-menuitem-icon, .p-submenu-icon { .p-menuitem-icon,
.p-submenu-icon {
color: $menuitemTextHoverColor; color: $menuitemTextHoverColor;
} }
} }
@@ -117,7 +119,8 @@
color: $menuitemTextHoverColor; color: $menuitemTextHoverColor;
} }
.p-menuitem-icon, .p-submenu-icon { .p-menuitem-icon,
.p-submenu-icon {
color: $menuitemIconHoverColor; color: $menuitemIconHoverColor;
} }
} }
@@ -135,7 +138,8 @@
color: $menuitemTextHoverColor; color: $menuitemTextHoverColor;
} }
.p-menuitem-icon, .p-submenu-icon { .p-menuitem-icon,
.p-submenu-icon {
color: $menuitemIconHoverColor; color: $menuitemIconHoverColor;
} }
} }
@@ -181,7 +185,8 @@
color: $horizontalMenuRootMenuitemTextHoverColor; color: $horizontalMenuRootMenuitemTextHoverColor;
} }
.p-menuitem-icon, .p-submenu-icon { .p-menuitem-icon,
.p-submenu-icon {
color: $horizontalMenuRootMenuitemIconHoverColor; color: $horizontalMenuRootMenuitemIconHoverColor;
} }
} }
@@ -192,16 +197,16 @@
@mixin placeholder { @mixin placeholder {
::-webkit-input-placeholder { ::-webkit-input-placeholder {
@content @content;
} }
:-moz-placeholder { :-moz-placeholder {
@content @content;
} }
::-moz-placeholder { ::-moz-placeholder {
@content @content;
} }
:-ms-input-placeholder { :-ms-input-placeholder {
@content @content;
} }
} }
@@ -220,7 +225,6 @@
.p-menuitem-link { .p-menuitem-link {
padding-left: $val * ($index + 1); padding-left: $val * ($index + 1);
} }
} }
@if $index < $length { @if $index < $length {
@include nested-submenu-indents($val, $index + 2, $length); @include nested-submenu-indents($val, $index + 2, $length);

View File

@@ -44,7 +44,8 @@
margin: 0; margin: 0;
} }
.p-button-group .p-button:not(:last-child), .p-button-group .p-button:not(:last-child):hover { .p-button-group .p-button:not(:last-child),
.p-button-group .p-button:not(:last-child):hover {
border-right: 0 none; border-right: 0 none;
} }
@@ -258,7 +259,9 @@
} }
} }
.p-button.p-button-secondary, .p-button-group.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button { .p-button.p-button-secondary,
.p-button-group.p-button-secondary > .p-button,
.p-splitbutton.p-button-secondary > .p-button {
color: $secondaryButtonTextColor; color: $secondaryButtonTextColor;
background: $secondaryButtonBg; background: $secondaryButtonBg;
border: $secondaryButtonBorder; border: $secondaryButtonBorder;
@@ -316,7 +319,9 @@
} }
} }
.p-button.p-button-info, .p-button-group.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button { .p-button.p-button-info,
.p-button-group.p-button-info > .p-button,
.p-splitbutton.p-button-info > .p-button {
color: $infoButtonTextColor; color: $infoButtonTextColor;
background: $infoButtonBg; background: $infoButtonBg;
border: $infoButtonBorder; border: $infoButtonBorder;
@@ -374,7 +379,9 @@
} }
} }
.p-button.p-button-success, .p-button-group.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button { .p-button.p-button-success,
.p-button-group.p-button-success > .p-button,
.p-splitbutton.p-button-success > .p-button {
color: $successButtonTextColor; color: $successButtonTextColor;
background: $successButtonBg; background: $successButtonBg;
border: $successButtonBorder; border: $successButtonBorder;
@@ -432,7 +439,9 @@
} }
} }
.p-button.p-button-warning, .p-button-group.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button { .p-button.p-button-warning,
.p-button-group.p-button-warning > .p-button,
.p-splitbutton.p-button-warning > .p-button {
color: $warningButtonTextColor; color: $warningButtonTextColor;
background: $warningButtonBg; background: $warningButtonBg;
border: $warningButtonBorder; border: $warningButtonBorder;
@@ -490,7 +499,9 @@
} }
} }
.p-button.p-button-help, .p-button-group.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button { .p-button.p-button-help,
.p-button-group.p-button-help > .p-button,
.p-splitbutton.p-button-help > .p-button {
color: $helpButtonTextColor; color: $helpButtonTextColor;
background: $helpButtonBg; background: $helpButtonBg;
border: $helpButtonBorder; border: $helpButtonBorder;
@@ -548,7 +559,9 @@
} }
} }
.p-button.p-button-danger, .p-button-group.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button { .p-button.p-button-danger,
.p-button-group.p-button-danger > .p-button,
.p-splitbutton.p-button-danger > .p-button {
color: $dangerButtonTextColor; color: $dangerButtonTextColor;
background: $dangerButtonBg; background: $dangerButtonBg;
border: $dangerButtonBorder; border: $dangerButtonBorder;
@@ -607,7 +620,9 @@
} }
@if variable-exists(contrastButtonTextColor) { @if variable-exists(contrastButtonTextColor) {
.p-button.p-button-contrast, .p-button-group.p-button-contrast > .p-button, .p-splitbutton.p-button-contrast > .p-button { .p-button.p-button-contrast,
.p-button-group.p-button-contrast > .p-button,
.p-splitbutton.p-button-contrast > .p-button {
color: $contrastButtonTextColor; color: $contrastButtonTextColor;
background: $contrastButtonBg; background: $contrastButtonBg;
border: $contrastButtonBorder; border: $contrastButtonBorder;

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
// core // core
.p-speeddial { .p-speeddial {
@@ -25,7 +25,9 @@
.p-speeddial-item { .p-speeddial-item {
transform: scale(0); transform: scale(0);
opacity: 0; opacity: 0;
transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s; transition:
transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
opacity 0.8s;
will-change: transform; will-change: transform;
} }

View File

@@ -7,7 +7,8 @@
.p-splitbutton .p-splitbutton-defaultbutton, .p-splitbutton .p-splitbutton-defaultbutton,
.p-splitbutton.p-button-rounded > .p-splitbutton-defaultbutton.p-button, .p-splitbutton.p-button-rounded > .p-splitbutton-defaultbutton.p-button,
.p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button, .p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button,
.p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button-outlined.p-button:hover { .p-splitbutton.p-button-outlined
> .p-splitbutton-defaultbutton.p-button-outlined.p-button:hover {
flex: 1 1 auto; flex: 1 1 auto;
border-top-right-radius: 0; border-top-right-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;

View File

@@ -84,12 +84,19 @@
white-space: nowrap; white-space: nowrap;
} }
.p-datatable-resizable-table > .p-datatable-thead > tr > th.p-resizable-column:not(.p-frozen-column) { .p-datatable-resizable-table
> .p-datatable-thead
> tr
> th.p-resizable-column:not(.p-frozen-column) {
background-clip: padding-box; background-clip: padding-box;
position: relative; position: relative;
} }
.p-datatable-resizable-table-fit > .p-datatable-thead > tr > th.p-resizable-column:last-child .p-column-resizer { .p-datatable-resizable-table-fit
> .p-datatable-thead
> tr
> th.p-resizable-column:last-child
.p-column-resizer {
display: none; display: none;
} }
@@ -399,7 +406,10 @@
} }
&.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table, &.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table,
&.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table { &.p-datatable-scrollable
> .p-datatable-wrapper
> .p-virtualscroller
> .p-datatable-table {
> .p-datatable-thead, > .p-datatable-thead,
> .p-datatable-tfoot { > .p-datatable-tfoot {
background-color: $tableHeaderCellBg; background-color: $tableHeaderCellBg;

View File

@@ -36,7 +36,6 @@
&:focus-visible { &:focus-visible {
@include focused(); @include focused();
} }
} }
.p-column-filter-clear-button { .p-column-filter-clear-button {

View File

@@ -80,7 +80,9 @@
border: $inputListItemBorder; border: $inputListItemBorder;
color: $inputListItemTextColor; color: $inputListItemTextColor;
background: $inputListItemBg; background: $inputListItemBg;
transition: transform $transitionDuration, $listItemTransition; transition:
transform $transitionDuration,
$listItemTransition;
&:first-child { &:first-child {
margin-top: 0; margin-top: 0;

View File

@@ -76,7 +76,9 @@
border: $inputListItemBorder; border: $inputListItemBorder;
color: $inputListItemTextColor; color: $inputListItemTextColor;
background: $inputListItemBg; background: $inputListItemBg;
transition: transform $transitionDuration, $listItemTransition; transition:
transform $transitionDuration,
$listItemTransition;
&:first-child { &:first-child {
margin-top: 0; margin-top: 0;

View File

@@ -29,19 +29,27 @@
flex-direction: row-reverse; flex-direction: row-reverse;
} }
.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite { .p-timeline-vertical.p-timeline-alternate
.p-timeline-event:nth-child(odd)
.p-timeline-event-opposite {
text-align: right; text-align: right;
} }
.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content { .p-timeline-vertical.p-timeline-alternate
.p-timeline-event:nth-child(odd)
.p-timeline-event-content {
text-align: left; text-align: left;
} }
.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite { .p-timeline-vertical.p-timeline-alternate
.p-timeline-event:nth-child(even)
.p-timeline-event-opposite {
text-align: left; text-align: left;
} }
.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content { .p-timeline-vertical.p-timeline-alternate
.p-timeline-event:nth-child(even)
.p-timeline-event-content {
text-align: right; text-align: right;
} }
@@ -146,6 +154,3 @@
} }
} }
} }

View File

@@ -150,7 +150,14 @@
.p-treetable-scrollable-both .p-treetable-thead > tr > th, .p-treetable-scrollable-both .p-treetable-thead > tr > th,
.p-treetable-scrollable-both .p-treetable-tbody > tr > td, .p-treetable-scrollable-both .p-treetable-tbody > tr > td,
.p-treetable-scrollable-both .p-treetable-tfoot > tr > td, .p-treetable-scrollable-both .p-treetable-tfoot > tr > td,
.p-treetable-scrollable-horizontal .p-treetable-thead > tr > th .p-treetable-scrollable-horizontal .p-treetable-tbody > tr > td, .p-treetable-scrollable-horizontal
.p-treetable-thead
> tr
> th
.p-treetable-scrollable-horizontal
.p-treetable-tbody
> tr
> td,
.p-treetable-scrollable-horizontal .p-treetable-tfoot > tr > td { .p-treetable-scrollable-horizontal .p-treetable-tfoot > tr > td {
flex: 0 0 auto; flex: 0 0 auto;
} }
@@ -299,7 +306,6 @@
&:hover { &:hover {
color: $highlightTextColor; color: $highlightTextColor;
} }
} }
} }
} }

View File

@@ -20,8 +20,8 @@
flex-wrap: wrap; flex-wrap: wrap;
} }
.p-fileupload > input[type='file'], .p-fileupload > input[type="file"],
.p-fileupload-basic input[type='file'] { .p-fileupload-basic input[type="file"] {
display: none; display: none;
} }
@@ -101,7 +101,7 @@
} }
.p-fileupload-row { .p-fileupload-row {
>div { > div {
padding: $tableBodyCellPadding; padding: $tableBodyCellPadding;
} }
} }

View File

@@ -1,10 +1,20 @@
// core // core
.p-colorpicker-panel .p-colorpicker-color { .p-colorpicker-panel .p-colorpicker-color {
background: linear-gradient(to top, #000 0%, rgb(0 0 0 / 0) 100%), linear-gradient(to right, #fff 0%, rgb(255 255 255 / 0) 100%) background: linear-gradient(to top, #000 0%, rgb(0 0 0 / 0) 100%),
linear-gradient(to right, #fff 0%, rgb(255 255 255 / 0) 100%);
} }
.p-colorpicker-panel .p-colorpicker-hue { .p-colorpicker-panel .p-colorpicker-hue {
background: linear-gradient(0deg, red 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red) background: linear-gradient(
0deg,
red 0,
#ff0 17%,
#0f0 33%,
#0ff 50%,
#00f 67%,
#f0f 83%,
red
);
} }
// theme // theme

View File

@@ -48,8 +48,8 @@
.ql-picker-options { .ql-picker-options {
background: $inputOverlayBg; background: $inputOverlayBg;
border:$inputOverlayBorder; border: $inputOverlayBorder;
box-shadow:$inputOverlayShadow; box-shadow: $inputOverlayShadow;
border-radius: $borderRadius; border-radius: $borderRadius;
padding: $inputListPadding; padding: $inputListPadding;

View File

@@ -8,7 +8,7 @@
position: absolute; position: absolute;
pointer-events: none; pointer-events: none;
top: 50%; top: 50%;
margin-top: -.5rem; margin-top: -0.5rem;
transition-property: all; transition-property: all;
transition-timing-function: ease; transition-timing-function: ease;
line-height: 1; line-height: 1;
@@ -25,7 +25,7 @@
.p-float-label:has(textarea.p-filled) label, .p-float-label:has(textarea.p-filled) label,
.p-float-label:has(.p-inputwrapper-focus) label, .p-float-label:has(.p-inputwrapper-focus) label,
.p-float-label:has(.p-inputwrapper-filled) label { .p-float-label:has(.p-inputwrapper-filled) label {
top: -.75rem; top: -0.75rem;
font-size: 12px; font-size: 12px;
} }

View File

@@ -6,5 +6,5 @@
.p-icon-field > .p-input-icon { .p-icon-field > .p-input-icon {
position: absolute; position: absolute;
top: 50%; top: 50%;
margin-top: -.5rem; margin-top: -0.5rem;
} }

View File

@@ -11,7 +11,9 @@
} }
.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label, .p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,
.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label { .p-inputnumber-buttons-horizontal
.p-button.p-inputnumber-button
.p-button-label {
display: none; display: none;
} }
@@ -39,7 +41,9 @@
flex-direction: column; flex-direction: column;
} }
.p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button { .p-inputnumber-buttons-stacked
.p-inputnumber-button-group
.p-button.p-inputnumber-button {
flex: 1 1 auto; flex: 1 1 auto;
} }

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
// core // core
.p-inputswitch { .p-inputswitch {
@@ -21,7 +21,7 @@
.p-inputswitch-slider:before { .p-inputswitch-slider:before {
position: absolute; position: absolute;
content: ''; content: "";
top: 50%; top: 50%;
} }

View File

@@ -175,8 +175,7 @@
&.p-multiselect { &.p-multiselect {
&.p-multiselect-chip { &.p-multiselect-chip {
.p-multiselect-label { .p-multiselect-label {
padding: math.div(nth($inputPadding, 1), 2) padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
nth($inputPadding, 2);
} }
} }
} }
@@ -275,4 +274,3 @@
} }
} }
} }

View File

@@ -19,13 +19,13 @@
.p-radiobutton-icon { .p-radiobutton-icon {
-webkit-backface-visibility: hidden; -webkit-backface-visibility: hidden;
backface-visibility: hidden; backface-visibility: hidden;
transform: translateZ(0) scale(.1); transform: translateZ(0) scale(0.1);
border-radius: 50%; border-radius: 50%;
visibility: hidden; visibility: hidden;
} }
.p-radiobutton.p-highlight .p-radiobutton-icon { .p-radiobutton.p-highlight .p-radiobutton-icon {
transform: translateZ(0) scale(1.0, 1.0); transform: translateZ(0) scale(1, 1);
visibility: visible; visibility: visible;
} }

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
// core // core
.p-rating { .p-rating {

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
// core // core
.p-slider { .p-slider {

View File

@@ -116,8 +116,7 @@
&.p-treeselect { &.p-treeselect {
&.p-treeselect-chip { &.p-treeselect-chip {
.p-treeselect-label { .p-treeselect-label {
padding: math.div(nth($inputPadding, 1), 2) padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
nth($inputPadding, 2);
} }
} }
} }

View File

@@ -82,12 +82,20 @@
flex-direction: column; flex-direction: column;
} }
.p-megamenu-vertical:not(.p-megamenu-mobile) .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel { .p-megamenu-vertical:not(.p-megamenu-mobile)
.p-megamenu-root-list
> .p-menuitem-active
> .p-megamenu-panel {
left: 100%; left: 100%;
top: 0; top: 0;
} }
.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon { .p-megamenu-vertical
.p-megamenu-root-list
> .p-menuitem
> .p-menuitem-content
> .p-menuitem-link
> .p-submenu-icon {
margin-left: auto; margin-left: auto;
} }
@@ -266,7 +274,6 @@
} }
} }
&.p-menuitem-active { &.p-menuitem-active {
> .p-menuitem-content { > .p-menuitem-content {
> .p-menuitem-link { > .p-menuitem-link {

View File

@@ -54,7 +54,12 @@
top: 0; top: 0;
} }
.p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon { .p-menubar
.p-submenu-list
.p-menuitem
.p-menuitem-content
.p-menuitem-link
.p-submenu-icon {
margin-left: auto; margin-left: auto;
} }
@@ -187,7 +192,6 @@
} }
} }
&.p-menuitem-active { &.p-menuitem-active {
> .p-menuitem-content { > .p-menuitem-content {
> .p-menuitem-link { > .p-menuitem-link {

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
// core // core
.p-steps { .p-steps {
@@ -99,7 +99,7 @@
} }
&:before { &:before {
content:' '; content: " ";
border-top: $divider; border-top: $divider;
width: 100%; width: 100%;
top: 50%; top: 50%;

View File

@@ -41,7 +41,10 @@
.p-message-leave-active { .p-message-leave-active {
overflow: hidden; overflow: hidden;
transition: max-height 0.3s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin 0.15s; transition:
max-height 0.3s cubic-bezier(0, 1, 0, 1),
opacity 0.3s,
margin 0.15s;
} }
.p-message-leave-active .p-message-close { .p-message-leave-active .p-message-close {

View File

@@ -63,13 +63,23 @@
} }
.p-toast-message-enter-active { .p-toast-message-enter-active {
-webkit-transition: transform 0.3s, opacity 0.3s; -webkit-transition:
transition: transform 0.3s, opacity 0.3s; transform 0.3s,
opacity 0.3s;
transition:
transform 0.3s,
opacity 0.3s;
} }
.p-toast-message-leave-active { .p-toast-message-leave-active {
-webkit-transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s; -webkit-transition:
transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s; max-height 0.45s cubic-bezier(0, 1, 0, 1),
opacity 0.3s,
margin-bottom 0.3s;
transition:
max-height 0.45s cubic-bezier(0, 1, 0, 1),
opacity 0.3s,
margin-bottom 0.3s;
} }
// theme // theme

View File

@@ -3,7 +3,7 @@
display: inline-block; display: inline-block;
border-radius: 10px; border-radius: 10px;
text-align: center; text-align: center;
padding: 0 .5rem; padding: 0 0.5rem;
} }
.p-overlay-badge { .p-overlay-badge {
@@ -14,15 +14,15 @@
position: absolute; position: absolute;
top: 0; top: 0;
right: 0; right: 0;
transform: translate(50%,-50%); transform: translate(50%, -50%);
transform-origin: 100% 0; transform-origin: 100% 0;
margin: 0; margin: 0;
} }
.p-badge.p-badge-dot { .p-badge.p-badge-dot {
width: .5rem; width: 0.5rem;
min-width: .5rem; min-width: 0.5rem;
height: .5rem; height: 0.5rem;
border-radius: 50%; border-radius: 50%;
padding: 0; padding: 0;
} }

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
// core // core
.p-chip { .p-chip {

View File

@@ -25,27 +25,31 @@
} }
.p-progressbar-indeterminate .p-progressbar-value::before { .p-progressbar-indeterminate .p-progressbar-value::before {
content: ''; content: "";
position: absolute; position: absolute;
background-color: inherit; background-color: inherit;
top: 0; top: 0;
left: 0; left: 0;
bottom: 0; bottom: 0;
will-change: left, right; will-change: left, right;
-webkit-animation: p-progressbar-indeterminate-anim 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; -webkit-animation: p-progressbar-indeterminate-anim 2.1s
animation: p-progressbar-indeterminate-anim 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
animation: p-progressbar-indeterminate-anim 2.1s
cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
} }
.p-progressbar-indeterminate .p-progressbar-value::after { .p-progressbar-indeterminate .p-progressbar-value::after {
content: ''; content: "";
position: absolute; position: absolute;
background-color: inherit; background-color: inherit;
top: 0; top: 0;
left: 0; left: 0;
bottom: 0; bottom: 0;
will-change: left, right; will-change: left, right;
-webkit-animation: p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; -webkit-animation: p-progressbar-indeterminate-anim-short 2.1s
animation: p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
animation: p-progressbar-indeterminate-anim-short 2.1s
cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
-webkit-animation-delay: 1.15s; -webkit-animation-delay: 1.15s;
animation-delay: 1.15s; animation-delay: 1.15s;
} }

View File

@@ -8,7 +8,7 @@
} }
.p-progress-spinner::before { .p-progress-spinner::before {
content: ''; content: "";
display: block; display: block;
padding-top: 100%; padding-top: 100%;
} }
@@ -34,7 +34,9 @@
stroke-dasharray: 89, 200; stroke-dasharray: 89, 200;
stroke-dashoffset: 0; stroke-dashoffset: 0;
stroke: $progressSpinnerStrokeColor; stroke: $progressSpinnerStrokeColor;
animation: p-progress-spinner-dash 1.5s ease-in-out infinite, p-progress-spinner-color 6s ease-in-out infinite; animation:
p-progress-spinner-dash 1.5s ease-in-out infinite,
p-progress-spinner-color 6s ease-in-out infinite;
stroke-linecap: round; stroke-linecap: round;
} }

View File

@@ -4,7 +4,7 @@
} }
.p-skeleton::after { .p-skeleton::after {
content: ''; content: "";
animation: p-skeleton-animation 1.2s infinite; animation: p-skeleton-animation 1.2s infinite;
height: 100%; height: 100%;
left: 0; left: 0;
@@ -38,6 +38,11 @@
border-radius: $borderRadius; border-radius: $borderRadius;
&:after { &:after {
background: linear-gradient(90deg, rgba(255, 255, 255, 0), $skeletonAnimationBg, rgba(255, 255, 255, 0)); background: linear-gradient(
90deg,
rgba(255, 255, 255, 0),
$skeletonAnimationBg,
rgba(255, 255, 255, 0)
);
} }
} }

View File

@@ -52,12 +52,16 @@
transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out;
} }
.p-galleria-item-nav-onhover .p-galleria-item-wrapper:hover .p-galleria-item-nav { .p-galleria-item-nav-onhover
.p-galleria-item-wrapper:hover
.p-galleria-item-nav {
pointer-events: all; pointer-events: all;
opacity: 1; opacity: 1;
} }
.p-galleria-item-nav-onhover .p-galleria-item-wrapper:hover .p-galleria-item-nav.p-disabled { .p-galleria-item-nav-onhover
.p-galleria-item-wrapper:hover
.p-galleria-item-nav.p-disabled {
pointer-events: none; pointer-events: none;
} }
@@ -206,14 +210,16 @@
align-items: flex-start; align-items: flex-start;
} }
.p-galleria-indicator-onitem.p-galleria-indicators-right .p-galleria-indicators { .p-galleria-indicator-onitem.p-galleria-indicators-right
.p-galleria-indicators {
right: 0; right: 0;
top: 0; top: 0;
height: 100%; height: 100%;
align-items: flex-end; align-items: flex-end;
} }
.p-galleria-indicator-onitem.p-galleria-indicators-bottom .p-galleria-indicators { .p-galleria-indicator-onitem.p-galleria-indicators-bottom
.p-galleria-indicators {
bottom: 0; bottom: 0;
left: 0; left: 0;
width: 100%; width: 100%;

View File

@@ -22,7 +22,9 @@
} }
.p-confirm-popup-enter-active { .p-confirm-popup-enter-active {
transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1); transition:
transform 0.12s cubic-bezier(0, 0, 0.2, 1),
opacity 0.12s cubic-bezier(0, 0, 0.2, 1);
} }
.p-confirm-popup-leave-active { .p-confirm-popup-leave-active {
@@ -33,7 +35,7 @@
.p-confirm-popup:before { .p-confirm-popup:before {
bottom: 100%; bottom: 100%;
left: calc(var(--overlayArrowLeft, 0) + 1.25rem); left: calc(var(--overlayArrowLeft, 0) + 1.25rem);
content: ' '; content: " ";
height: 0; height: 0;
width: 0; width: 0;
position: absolute; position: absolute;
@@ -104,13 +106,15 @@
&:before { &:before {
border-style: solid; border-style: solid;
@if (nth($overlayContentBorder, 2) == 'none') { @if (nth($overlayContentBorder, 2) == "none") {
border-color: rgba($overlayContentBg, 0); border-color: rgba($overlayContentBg, 0);
border-bottom-color: scale-color($overlayContentBg, $lightness: -5%); border-bottom-color: scale-color($overlayContentBg, $lightness: -5%);
} } @else {
@else {
border-color: rgba(nth($overlayContentBorder, 3), 0); border-color: rgba(nth($overlayContentBorder, 3), 0);
border-bottom-color: scale-color(nth($overlayContentBorder, 3), $lightness: -5%); border-bottom-color: scale-color(
nth($overlayContentBorder, 3),
$lightness: -5%
);
} }
} }
@@ -120,10 +124,9 @@
} }
&:before { &:before {
@if (nth($overlayContentBorder, 2) == 'none') { @if (nth($overlayContentBorder, 2) == "none") {
border-top-color: $overlayContentBg; border-top-color: $overlayContentBg;
} } @else {
@else {
border-top-color: nth($overlayContentBorder, 3); border-top-color: nth($overlayContentBorder, 3);
} }
} }

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
// core // core
.p-overlaypanel { .p-overlaypanel {
@@ -29,7 +29,9 @@
} }
.p-overlaypanel-enter-active { .p-overlaypanel-enter-active {
transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1); transition:
transform 0.12s cubic-bezier(0, 0, 0.2, 1),
opacity 0.12s cubic-bezier(0, 0, 0.2, 1);
} }
.p-overlaypanel-leave-active { .p-overlaypanel-leave-active {
@@ -40,7 +42,7 @@
.p-overlaypanel:before { .p-overlaypanel:before {
bottom: 100%; bottom: 100%;
left: calc(var(--overlayArrowLeft, 0) + 1.25rem); left: calc(var(--overlayArrowLeft, 0) + 1.25rem);
content: ' '; content: " ";
height: 0; height: 0;
width: 0; width: 0;
position: absolute; position: absolute;
@@ -109,13 +111,15 @@
&:before { &:before {
border-style: solid; border-style: solid;
@if (nth($overlayContentBorder, 2) == 'none') { @if (nth($overlayContentBorder, 2) == "none") {
border-color: rgba($overlayContentBg, 0); border-color: rgba($overlayContentBg, 0);
border-bottom-color: scale-color($overlayContentBg, $lightness: -5%); border-bottom-color: scale-color($overlayContentBg, $lightness: -5%);
} } @else {
@else {
border-color: rgba(nth($overlayContentBorder, 3), 0); border-color: rgba(nth($overlayContentBorder, 3), 0);
border-bottom-color: scale-color(nth($overlayContentBorder, 3), $lightness: -5%); border-bottom-color: scale-color(
nth($overlayContentBorder, 3),
$lightness: -5%
);
} }
} }
@@ -125,10 +129,9 @@
} }
&:before { &:before {
@if (nth($overlayContentBorder, 2) == 'none') { @if (nth($overlayContentBorder, 2) == "none") {
border-top-color: $overlayContentBg; border-top-color: $overlayContentBg;
} } @else {
@else {
border-top-color: nth($overlayContentBorder, 3); border-top-color: nth($overlayContentBorder, 3);
} }
} }

View File

@@ -1,19 +1,19 @@
// core // core
.p-tooltip { .p-tooltip {
position:absolute; position: absolute;
display:none; display: none;
padding: .25em .5rem; padding: 0.25em 0.5rem;
max-width: 12.5rem; max-width: 12.5rem;
} }
.p-tooltip.p-tooltip-right, .p-tooltip.p-tooltip-right,
.p-tooltip.p-tooltip-left { .p-tooltip.p-tooltip-left {
padding: 0 .25rem; padding: 0 0.25rem;
} }
.p-tooltip.p-tooltip-top, .p-tooltip.p-tooltip-top,
.p-tooltip.p-tooltip-bottom { .p-tooltip.p-tooltip-bottom {
padding:.25em 0; padding: 0.25em 0;
} }
.p-tooltip .p-tooltip-text { .p-tooltip .p-tooltip-text {
@@ -31,27 +31,27 @@
} }
.p-tooltip-right .p-tooltip-arrow { .p-tooltip-right .p-tooltip-arrow {
margin-top: -.25rem; margin-top: -0.25rem;
border-width: .25em .25em .25em 0; border-width: 0.25em 0.25em 0.25em 0;
} }
.p-tooltip-left .p-tooltip-arrow { .p-tooltip-left .p-tooltip-arrow {
margin-top: -.25rem; margin-top: -0.25rem;
border-width: .25em 0 .25em .25rem; border-width: 0.25em 0 0.25em 0.25rem;
} }
.p-tooltip.p-tooltip-top { .p-tooltip.p-tooltip-top {
padding: .25em 0; padding: 0.25em 0;
} }
.p-tooltip-top .p-tooltip-arrow { .p-tooltip-top .p-tooltip-arrow {
margin-left: -.25rem; margin-left: -0.25rem;
border-width: .25em .25em 0; border-width: 0.25em 0.25em 0;
} }
.p-tooltip-bottom .p-tooltip-arrow { .p-tooltip-bottom .p-tooltip-arrow {
margin-left: -.25rem; margin-left: -0.25rem;
border-width: 0 .25em .25rem; border-width: 0 0.25em 0.25rem;
} }
// theme // theme

View File

@@ -12,7 +12,7 @@
top: 50%; top: 50%;
left: 0; left: 0;
width: 100%; width: 100%;
content: ''; content: "";
} }
.p-divider-content { .p-divider-content {
@@ -33,7 +33,7 @@
top: 0; top: 0;
left: 50%; left: 50%;
height: 100%; height: 100%;
content: ''; content: "";
} }
.p-divider { .p-divider {

View File

@@ -1,4 +1,4 @@
@use 'sass:math'; @use "sass:math";
//core //core
.p-stepper .p-stepper-nav { .p-stepper .p-stepper-nav {

View File

@@ -1,5 +1,8 @@
@mixin focused-ring($ring-color) { @mixin focused-ring($ring-color) {
box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px $ring-color, 0 1px 2px 0 rgba(0, 0, 0, 0.0); box-shadow:
0 0 0 2px #1c2127,
0 0 0 4px $ring-color,
0 1px 2px 0 rgba(0, 0, 0, 0);
} }
@layer primevue { @layer primevue {
@@ -9,13 +12,19 @@
.p-selectbutton > .p-button, .p-selectbutton > .p-button,
.p-togglebutton.p-button { .p-togglebutton.p-button {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
.p-accordion { .p-accordion {
.p-accordion-header { .p-accordion-header {
.p-accordion-header-link { .p-accordion-header-link {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
} }
} }
@@ -24,7 +33,10 @@
.p-tabview-nav { .p-tabview-nav {
li { li {
.p-tabview-nav-link { .p-tabview-nav-link {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
} }
} }
@@ -34,7 +46,10 @@
.p-tabmenu-nav { .p-tabmenu-nav {
.p-tabmenuitem { .p-tabmenuitem {
.p-menuitem-link { .p-menuitem-link {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
} }
} }
@@ -54,31 +69,31 @@
.p-button { .p-button {
&:focus { &:focus {
@include focused-ring(rgba($buttonBg, .7)); @include focused-ring(rgba($buttonBg, 0.7));
} }
&.p-button-secondary:enabled:focus { &.p-button-secondary:enabled:focus {
@include focused-ring(rgba($secondaryButtonBg, .7)); @include focused-ring(rgba($secondaryButtonBg, 0.7));
} }
&.p-button-success:enabled:focus { &.p-button-success:enabled:focus {
@include focused-ring(rgba($successButtonBg, .7)); @include focused-ring(rgba($successButtonBg, 0.7));
} }
&.p-button-info:enabled:focus { &.p-button-info:enabled:focus {
@include focused-ring(rgba($infoButtonBg, .7)); @include focused-ring(rgba($infoButtonBg, 0.7));
} }
&.p-button-warning:enabled:focus { &.p-button-warning:enabled:focus {
@include focused-ring(rgba($warningButtonBg, .7)); @include focused-ring(rgba($warningButtonBg, 0.7));
} }
&.p-button-help:enabled:focus { &.p-button-help:enabled:focus {
@include focused-ring(rgba($helpButtonBg, .7)); @include focused-ring(rgba($helpButtonBg, 0.7));
} }
&.p-button-danger:enabled:focus { &.p-button-danger:enabled:focus {
@include focused-ring(rgba($dangerButtonBg, .7)); @include focused-ring(rgba($dangerButtonBg, 0.7));
} }
} }
@@ -98,7 +113,7 @@
.p-speeddial-item { .p-speeddial-item {
&.p-focus > .p-speeddial-action { &.p-focus > .p-speeddial-action {
@include focused-ring(rgba($buttonBg, .7)); @include focused-ring(rgba($buttonBg, 0.7));
} }
} }
@@ -109,7 +124,7 @@
.p-message { .p-message {
.p-message-close { .p-message-close {
&:hover { &:hover {
background: rgba(255,255,255,.1); background: rgba(255, 255, 255, 0.1);
} }
} }
} }
@@ -118,7 +133,7 @@
.p-toast-message { .p-toast-message {
.p-toast-icon-close { .p-toast-icon-close {
&:hover { &:hover {
background: rgba(255,255,255,.1); background: rgba(255, 255, 255, 0.1);
} }
} }
} }
@@ -130,7 +145,12 @@
.p-picklist-buttons .p-button, .p-picklist-buttons .p-button,
.p-orderlist-controls .p-button { .p-orderlist-controls .p-button {
transition: opacity $transitionDuration, background-color $transitionDuration, color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
opacity $transitionDuration,
background-color $transitionDuration,
color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
.p-steps { .p-steps {

View File

@@ -41,7 +41,10 @@ $colors: (
$shade000: rgba(255, 255, 255, 0.87) !default; //text color $shade000: rgba(255, 255, 255, 0.87) !default; //text color
$shade100: rgba(255, 255, 255, 0.6) !default; //text secondary color $shade100: rgba(255, 255, 255, 0.6) !default; //text secondary color
$shade500: #6b7280 !default; $shade500: #6b7280 !default;
$shade600: map-get($colors, "htwk-grau-140") !default; //input bg, border, divider $shade600: map-get(
$colors,
"htwk-grau-140"
) !default; //input bg, border, divider
$shade700: map-get($colors, "htwk-grau") !default; //menu bg $shade700: map-get($colors, "htwk-grau") !default; //menu bg
$shade800: map-get($colors, "htwk-grau") !default; //elevated surface $shade800: map-get($colors, "htwk-grau") !default; //elevated surface
$shade900: rgba(map-get($colors, "htwk-schwarz"), 1) !default; //ground surface $shade900: rgba(map-get($colors, "htwk-schwarz"), 1) !default; //ground surface
@@ -49,15 +52,32 @@ $shade900: rgba(map-get($colors, "htwk-schwarz"), 1) !default; //ground surface
$hoverBg: rgba(255, 255, 255, 0.03) !default; $hoverBg: rgba(255, 255, 255, 0.03) !default;
//global //global
$fontFamily: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol !default; $fontFamily:
"Source Sans Pro",
-apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Arial,
sans-serif,
Apple Color Emoji,
Segoe UI Emoji,
Segoe UI Symbol !default;
$fontSize: 1rem !default; $fontSize: 1rem !default;
$fontWeight: normal !default; $fontWeight: normal !default;
$textColor: $shade000 !default; $textColor: $shade000 !default;
$textSecondaryColor: $shade100 !default; $textSecondaryColor: $shade100 !default;
$borderRadius: 6px !default; $borderRadius: 6px !default;
$transitionDuration: 0.2s !default; $transitionDuration: 0.2s !default;
$formElementTransition: background-color $transitionDuration, color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration !default; $formElementTransition:
$actionIconTransition: background-color $transitionDuration, color $transitionDuration, box-shadow $transitionDuration !default; background-color $transitionDuration,
color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration !default;
$actionIconTransition:
background-color $transitionDuration,
color $transitionDuration,
box-shadow $transitionDuration !default;
$listItemTransition: box-shadow $transitionDuration !default; $listItemTransition: box-shadow $transitionDuration !default;
$primeIconFontSize: 1rem !default; $primeIconFontSize: 1rem !default;
$divider: 1px solid $shade600 !default; $divider: 1px solid $shade600 !default;
@@ -135,8 +155,10 @@ $inputListHeaderBorder: 1px solid $shade600 !default;
$inputOverlayBg: $inputListBg !default; $inputOverlayBg: $inputListBg !default;
$inputOverlayHeaderBg: $inputListHeaderBg !default; $inputOverlayHeaderBg: $inputListHeaderBg !default;
$inputOverlayBorder: 1px solid $shade600 !default; $inputOverlayBorder: 1px solid $shade600 !default;
$inputOverlayShadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), $inputOverlayShadow:
0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !default; 0 2px 4px -1px rgba(0, 0, 0, 0.2),
0 4px 5px 0 rgba(0, 0, 0, 0.14),
0 1px 10px 0 rgba(0, 0, 0, 0.12) !default;
//password //password
$passwordMeterBg: $shade600 !default; $passwordMeterBg: $shade600 !default;
@@ -157,8 +179,10 @@ $buttonHoverBorderColor: $primaryLightColor !default;
$buttonActiveBg: $primaryLighterColor !default; $buttonActiveBg: $primaryLighterColor !default;
$buttonTextActiveColor: $primaryTextColor !default; $buttonTextActiveColor: $primaryTextColor !default;
$buttonActiveBorderColor: $primaryLighterColor !default; $buttonActiveBorderColor: $primaryLighterColor !default;
$raisedButtonShadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), $raisedButtonShadow:
0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12) !default; 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
0px 2px 2px 0px rgba(0, 0, 0, 0.14),
0px 1px 5px 0px rgba(0, 0, 0, 0.12) !default;
$roundedButtonBorderRadius: 2rem !default; $roundedButtonBorderRadius: 2rem !default;
$textButtonHoverBgOpacity: 0.04 !default; $textButtonHoverBgOpacity: 0.04 !default;
@@ -178,7 +202,7 @@ $secondaryButtonActiveBg: #e2e8f0 !default;
$secondaryButtonTextActiveColor: $secondaryButtonTextColor !default; $secondaryButtonTextActiveColor: $secondaryButtonTextColor !default;
$secondaryButtonActiveBorderColor: #e2e8f0 !default; $secondaryButtonActiveBorderColor: #e2e8f0 !default;
$secondaryButtonFocusShadow: 0 0 0 1px $secondaryButtonFocusShadow: 0 0 0 1px
scale-color($secondaryButtonBg, $lightness: 30%) !default; scale-color($secondaryButtonBg, $lightness: 30%) !default;
$infoButtonBg: map-get($colors, "htwk-blau") !default; $infoButtonBg: map-get($colors, "htwk-blau") !default;
$infoButtonTextColor: #b1dafa !default; $infoButtonTextColor: #b1dafa !default;
@@ -189,7 +213,8 @@ $infoButtonHoverBorderColor: map-get($colors, "htwk-cyan") !default;
$infoButtonActiveBg: map-get($colors, "htwk-cyan") !default; $infoButtonActiveBg: map-get($colors, "htwk-cyan") !default;
$infoButtonTextActiveColor: $infoButtonTextColor !default; $infoButtonTextActiveColor: $infoButtonTextColor !default;
$infoButtonActiveBorderColor: map-get($colors, "htwk-cyan") !default; $infoButtonActiveBorderColor: map-get($colors, "htwk-cyan") !default;
$infoButtonFocusShadow: 0 0 0 1px scale-color($infoButtonHoverBg, $lightness: 30%) !default; $infoButtonFocusShadow: 0 0 0 1px
scale-color($infoButtonHoverBg, $lightness: 30%) !default;
$successButtonBg: map-get($colors, "htwk-gruen") !default; $successButtonBg: map-get($colors, "htwk-gruen") !default;
$successButtonTextColor: #052e16 !default; $successButtonTextColor: #052e16 !default;
@@ -201,19 +226,25 @@ $successButtonActiveBg: #bbf7d0 !default;
$successButtonTextActiveColor: $successButtonTextColor !default; $successButtonTextActiveColor: $successButtonTextColor !default;
$successButtonActiveBorderColor: #bbf7d0 !default; $successButtonActiveBorderColor: #bbf7d0 !default;
$successButtonFocusShadow: 0 0 0 1px $successButtonFocusShadow: 0 0 0 1px
scale-color($successButtonBg, $lightness: 30%) !default; scale-color($successButtonBg, $lightness: 30%) !default;
$warningButtonBg: map-get($colors, "htwk-yellow") !default; $warningButtonBg: map-get($colors, "htwk-yellow") !default;
$warningButtonTextColor: #493c08 !default; $warningButtonTextColor: #493c08 !default;
$warningButtonBorder: 1px solid map-get($colors, "htwk-yellow") !default; $warningButtonBorder: 1px solid map-get($colors, "htwk-yellow") !default;
$warningButtonHoverBg: scale-color($warningButtonBg, $lightness: 30%) !default; $warningButtonHoverBg: scale-color($warningButtonBg, $lightness: 30%) !default;
$warningButtonTextHoverColor: $warningButtonTextColor !default; $warningButtonTextHoverColor: $warningButtonTextColor !default;
$warningButtonHoverBorderColor: scale-color($warningButtonBg, $lightness: 10%) !default; $warningButtonHoverBorderColor: scale-color(
$warningButtonBg,
$lightness: 10%
) !default;
$warningButtonActiveBg: scale-color($warningButtonBg, $lightness: 30%) !default; $warningButtonActiveBg: scale-color($warningButtonBg, $lightness: 30%) !default;
$warningButtonTextActiveColor: $warningButtonTextColor !default; $warningButtonTextActiveColor: $warningButtonTextColor !default;
$warningButtonActiveBorderColor: scale-color($warningButtonBg, $lightness: 30%) !default; $warningButtonActiveBorderColor: scale-color(
$warningButtonBg,
$lightness: 30%
) !default;
$warningButtonFocusShadow: 0 0 0 1px $warningButtonFocusShadow: 0 0 0 1px
scale-color($warningButtonBg, $lightness: 30%) !default; scale-color($warningButtonBg, $lightness: 30%) !default;
$helpButtonBg: #c084fc !default; $helpButtonBg: #c084fc !default;
$helpButtonTextColor: #3b0764 !default; $helpButtonTextColor: #3b0764 !default;
@@ -236,7 +267,7 @@ $dangerButtonActiveBg: #fecaca !default;
$dangerButtonTextActiveColor: $dangerButtonTextColor !default; $dangerButtonTextActiveColor: $dangerButtonTextColor !default;
$dangerButtonActiveBorderColor: #fecaca !default; $dangerButtonActiveBorderColor: #fecaca !default;
$dangerButtonFocusShadow: 0 0 0 1px $dangerButtonFocusShadow: 0 0 0 1px
scale-color($dangerButtonBg, $lightness: 30%) !default; scale-color($dangerButtonBg, $lightness: 30%) !default;
$contrastButtonBg: #ffffff !default; $contrastButtonBg: #ffffff !default;
$contrastButtonTextColor: $shade900 !default; $contrastButtonTextColor: $shade900 !default;
@@ -478,8 +509,10 @@ $cardSubTitleFontWeight: 100 !default;
$cardSubTitleColor: $shade100 !default; $cardSubTitleColor: $shade100 !default;
$cardContentPadding: 1.25rem 0 !default; $cardContentPadding: 1.25rem 0 !default;
$cardFooterPadding: 1.25rem 0 0 0 !default; $cardFooterPadding: 1.25rem 0 0 0 !default;
$cardShadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), $cardShadow:
0 1px 3px 0 rgba(0, 0, 0, 0.12) !default; 0 2px 1px -1px rgba(0, 0, 0, 0.2),
0 1px 1px 0 rgba(0, 0, 0, 0.14),
0 1px 3px 0 rgba(0, 0, 0, 0.12) !default;
//editor //editor
$editorToolbarBg: $panelHeaderBg !default; $editorToolbarBg: $panelHeaderBg !default;
@@ -644,8 +677,10 @@ $contrastMessageIconColor: $contrastButtonTextColor !default;
//overlays //overlays
$overlayContentBorder: 1px solid $shade600 !default; $overlayContentBorder: 1px solid $shade600 !default;
$overlayContentBg: $panelContentBg !default; $overlayContentBg: $panelContentBg !default;
$overlayContainerShadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), $overlayContainerShadow:
0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12) !default; 0px 11px 15px -7px rgba(0, 0, 0, 0.2),
0px 24px 38px 3px rgba(0, 0, 0, 0.14),
0px 9px 46px 8px rgba(0, 0, 0, 0.12) !default;
//dialog //dialog
$dialogHeaderBg: $shade800 !default; $dialogHeaderBg: $shade800 !default;
@@ -719,8 +754,10 @@ $submenuHeaderBorderRadius: 0 !default;
$submenuHeaderFontWeight: 0 !default; $submenuHeaderFontWeight: 0 !default;
$overlayMenuBg: $menuBg !default; $overlayMenuBg: $menuBg !default;
$overlayMenuBorder: 1px solid $shade600 !default; $overlayMenuBorder: 1px solid $shade600 !default;
$overlayMenuShadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), $overlayMenuShadow:
0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !default; 0 2px 4px -1px rgba(0, 0, 0, 0.2),
0 4px 5px 0 rgba(0, 0, 0, 0.14),
0 1px 10px 0 rgba(0, 0, 0, 0.12) !default;
$verticalMenuPadding: 0.25rem 0 !default; $verticalMenuPadding: 0.25rem 0 !default;
$menuSeparatorMargin: 0.25rem 0 !default; $menuSeparatorMargin: 0.25rem 0 !default;
@@ -887,10 +924,23 @@ $imagePreviewActionIconFontSize: 1.5rem !default;
$imagePreviewActionIconBorderRadius: 50% !default; $imagePreviewActionIconBorderRadius: 50% !default;
:root { :root {
font-family: "Twemoji Country Flags", "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; font-family:
"Twemoji Country Flags",
"Source Sans Pro",
-apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Arial,
sans-serif,
Apple Color Emoji,
Segoe UI Emoji,
Segoe UI Symbol;
font-feature-settings: "cv02", "cv03", "cv04", "cv11"; font-feature-settings: "cv02", "cv03", "cv04", "cv11";
font-variation-settings: normal; font-variation-settings: normal;
--font-family: "Twemoji Country Flags", "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; --font-family: "Twemoji Country Flags", "Source Sans Pro", -apple-system,
BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji,
Segoe UI Emoji, Segoe UI Symbol;
--font-feature-settings: "cv02", "cv03", "cv04", "cv11"; --font-feature-settings: "cv02", "cv03", "cv04", "cv11";
--surface-a: #{$shade800}; --surface-a: #{$shade800};
--surface-b: #{$shade900}; --surface-b: #{$shade900};

View File

@@ -5,16 +5,21 @@ $primaryLightestColor: rgba(255, 237, 0, 0.1) !default;
$primaryTextColor: #030712 !default; $primaryTextColor: #030712 !default;
$highlightBg: rgba($primaryColor, 0.16) !default; $highlightBg: rgba($primaryColor, 0.16) !default;
$highlightTextColor: rgba(255,255,255,0.87) !default; $highlightTextColor: rgba(255, 255, 255, 0.87) !default;
$highlightFocusBg: rgba($primaryColor, 0.24) !default; $highlightFocusBg: rgba($primaryColor, 0.24) !default;
@import '../_variables'; @import "../_variables";
@import './_fonts'; @import "./_fonts";
@import '../../../../theme-base/_components'; @import "../../../../theme-base/_components";
@import '../_extensions'; @import "../_extensions";
:root { :root {
h1, h2, h3, h4, h5, h6 { h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: 100; font-weight: 100;
} }
@@ -138,9 +143,15 @@ $highlightFocusBg: rgba($primaryColor, 0.24) !default;
color: rgba(255, 255, 255, 0.87); color: rgba(255, 255, 255, 0.87);
} }
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, .fc.fc-unthemed
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, .fc-toolbar
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active { .fc-button.fc-dayGridMonth-button.fc-button-active,
.fc.fc-unthemed
.fc-toolbar
.fc-button.fc-timeGridWeek-button.fc-button-active,
.fc.fc-unthemed
.fc-toolbar
.fc-button.fc-timeGridDay-button.fc-button-active {
background: map-get($colors, "htwk-yellow"); /*#93c5fd*/ background: map-get($colors, "htwk-yellow"); /*#93c5fd*/
border-color: map-get($colors, "htwk-yellow"); /*#93c5fd*/ border-color: map-get($colors, "htwk-yellow"); /*#93c5fd*/
color: map-get($colors, "htwk-schwarz"); /*#1c2127*/ color: map-get($colors, "htwk-schwarz"); /*#1c2127*/
@@ -448,6 +459,9 @@ $highlightFocusBg: rgba($primaryColor, 0.24) !default;
.fc.fc-theme-standard .fc-highlight { .fc.fc-theme-standard .fc-highlight {
color: rgba(255, 255, 255, 0.87); color: rgba(255, 255, 255, 0.87);
background: rgba(map-get($colors, "htwk-yellow"), 0.16); /*rgba(147, 197, 253, 0.16)*/ background: rgba(
map-get($colors, "htwk-yellow"),
0.16
); /*rgba(147, 197, 253, 0.16)*/
} }
} }

View File

@@ -1,5 +1,8 @@
@mixin focused-ring($ring-color) { @mixin focused-ring($ring-color) {
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px $ring-color, 0 1px 2px 0 rgba(0, 0, 0, 1.0); box-shadow:
0 0 0 2px #ffffff,
0 0 0 4px $ring-color,
0 1px 2px 0 rgba(0, 0, 0, 1);
} }
@layer primevue { @layer primevue {
@@ -9,13 +12,19 @@
.p-selectbutton > .p-button, .p-selectbutton > .p-button,
.p-togglebutton.p-button { .p-togglebutton.p-button {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
.p-accordion { .p-accordion {
.p-accordion-header { .p-accordion-header {
.p-accordion-header-link { .p-accordion-header-link {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
} }
} }
@@ -24,7 +33,10 @@
.p-tabview-nav { .p-tabview-nav {
li { li {
.p-tabview-nav-link { .p-tabview-nav-link {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
} }
} }
@@ -34,7 +46,10 @@
.p-tabmenu-nav { .p-tabmenu-nav {
.p-tabmenuitem { .p-tabmenuitem {
.p-menuitem-link { .p-menuitem-link {
transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
background-color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
} }
} }
@@ -112,7 +127,12 @@
.p-picklist-buttons .p-button, .p-picklist-buttons .p-button,
.p-orderlist-controls .p-button { .p-orderlist-controls .p-button {
transition: opacity $transitionDuration, background-color $transitionDuration, color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; transition:
opacity $transitionDuration,
background-color $transitionDuration,
color $transitionDuration,
border-color $transitionDuration,
box-shadow $transitionDuration;
} }
.p-steps { .p-steps {

View File

@@ -4,17 +4,22 @@ $primaryDarkColor: #002d67 !default;
$primaryDarkerColor: #022541 !default; $primaryDarkerColor: #022541 !default;
$primaryTextColor: #ffffff !default; $primaryTextColor: #ffffff !default;
$highlightBg: #EFF6FF !default; $highlightBg: #eff6ff !default;
$highlightTextColor: $primaryDarkerColor !default; $highlightTextColor: $primaryDarkerColor !default;
$highlightFocusBg: rgba($primaryColor, .24) !default; $highlightFocusBg: rgba($primaryColor, 0.24) !default;
@import '../_variables'; @import "../_variables";
@import './_fonts'; @import "./_fonts";
@import '../../../../theme-base/_components'; @import "../../../../theme-base/_components";
@import '../_extensions'; @import "../_extensions";
:root { :root {
h1, h2, h3, h4, h5, h6 { h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: 100; font-weight: 100;
} }
@@ -139,9 +144,15 @@ $highlightFocusBg: rgba($primaryColor, .24) !default;
color: rgba(255, 255, 255, 0.87); color: rgba(255, 255, 255, 0.87);
} }
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, .fc.fc-unthemed
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, .fc-toolbar
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active { .fc-button.fc-dayGridMonth-button.fc-button-active,
.fc.fc-unthemed
.fc-toolbar
.fc-button.fc-timeGridWeek-button.fc-button-active,
.fc.fc-unthemed
.fc-toolbar
.fc-button.fc-timeGridDay-button.fc-button-active {
background: map-get($colors, "primary"); /*#93c5fd*/ background: map-get($colors, "primary"); /*#93c5fd*/
border-color: map-get($colors, "primary"); /*#93c5fd*/ border-color: map-get($colors, "primary"); /*#93c5fd*/
color: $primaryTextColor; /*#1c2127*/ color: $primaryTextColor; /*#1c2127*/
@@ -449,6 +460,9 @@ $highlightFocusBg: rgba($primaryColor, .24) !default;
.fc.fc-theme-standard .fc-highlight { .fc.fc-theme-standard .fc-highlight {
color: rgba(255, 255, 255, 0.87); color: rgba(255, 255, 255, 0.87);
background: rgba(map-get($colors, "primary"), 0.16); /*rgba(147, 197, 253, 0.16)*/ background: rgba(
map-get($colors, "primary"),
0.16
); /*rgba(147, 197, 253, 0.16)*/
} }
} }

View File

@@ -1,22 +1,35 @@
@use 'sass:color'; @use "sass:color";
$primaryColor: #00944c !default; $primaryColor: #00944c !default;
$primaryLightColor: color.scale($primaryColor, $lightness: 10%, $saturation: -10%) !default; $primaryLightColor: color.scale(
$primaryColor,
$lightness: 10%,
$saturation: -10%
) !default;
$primaryDarkColor: color.scale($primaryColor, $lightness: -40%) !default; $primaryDarkColor: color.scale($primaryColor, $lightness: -40%) !default;
$primaryDarkerColor: color.scale($primaryColor, $lightness: -80%) !default; $primaryDarkerColor: color.scale($primaryColor, $lightness: -80%) !default;
$primaryTextColor: #ffffff !default; $primaryTextColor: #ffffff !default;
$highlightBg: color.scale($primaryColor, $lightness: 90%, $saturation: -80%) !default; $highlightBg: color.scale(
$primaryColor,
$lightness: 90%,
$saturation: -80%
) !default;
$highlightTextColor: $primaryDarkerColor !default; $highlightTextColor: $primaryDarkerColor !default;
$highlightFocusBg: rgba($primaryColor, .24) !default; $highlightFocusBg: rgba($primaryColor, 0.24) !default;
@import '../_variables'; @import "../_variables";
@import './_fonts'; @import "./_fonts";
@import '../../../../theme-base/_components'; @import "../../../../theme-base/_components";
@import '../_extensions'; @import "../_extensions";
:root { :root {
h1, h2, h3, h4, h5, h6 { h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: 100; font-weight: 100;
} }
@@ -141,9 +154,15 @@ $highlightFocusBg: rgba($primaryColor, .24) !default;
color: rgba(255, 255, 255, 0.87); color: rgba(255, 255, 255, 0.87);
} }
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, .fc.fc-unthemed
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, .fc-toolbar
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active { .fc-button.fc-dayGridMonth-button.fc-button-active,
.fc.fc-unthemed
.fc-toolbar
.fc-button.fc-timeGridWeek-button.fc-button-active,
.fc.fc-unthemed
.fc-toolbar
.fc-button.fc-timeGridDay-button.fc-button-active {
background: map-get($colors, "primary"); /*#93c5fd*/ background: map-get($colors, "primary"); /*#93c5fd*/
border-color: map-get($colors, "primary"); /*#93c5fd*/ border-color: map-get($colors, "primary"); /*#93c5fd*/
color: $primaryTextColor; /*#1c2127*/ color: $primaryTextColor; /*#1c2127*/
@@ -451,6 +470,9 @@ $highlightFocusBg: rgba($primaryColor, .24) !default;
.fc.fc-theme-standard .fc-highlight { .fc.fc-theme-standard .fc-highlight {
color: rgba(255, 255, 255, 0.87); color: rgba(255, 255, 255, 0.87);
background: rgba(map-get($colors, "primary"), 0.16); /*rgba(147, 197, 253, 0.16)*/ background: rgba(
map-get($colors, "primary"),
0.16
); /*rgba(147, 197, 253, 0.16)*/
} }
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -43,39 +43,40 @@ const disabledPages = [
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const domain = "cal.htwk-leipzig.de" const domain = "cal.htwk-leipzig.de";
provide('domain', domain); provide("domain", domain);
const baseUri = "https://" + domain; const baseUri = "https://" + domain;
const canonical = computed(() => `${baseUri}${router.resolve(route.name ? { name: route.name } : route).path}`); const canonical = computed(
const title = computed(() => route.meta.label? () =>
`HTWKalender - ${t(String(route.meta.label))}`: `${baseUri}${router.resolve(route.name ? { name: route.name } : route).path}`,
"HTWKalender"
); );
const description = computed(() => route.meta.description? const title = computed(() =>
t(String(route.meta.description)): route.meta.label
t("description") ? `HTWKalender - ${t(String(route.meta.label))}`
: "HTWKalender",
);
const description = computed(() =>
route.meta.description ? t(String(route.meta.description)) : t("description"),
); );
useHead({ useHead({
title: title, title: title,
link: [ link: [{ rel: "canonical", href: canonical }],
{ rel: "canonical", href: canonical},
],
meta: [ meta: [
{ name: "description", content: description}, { name: "description", content: description },
{ property: "og:description", content: description}, { property: "og:description", content: description },
] ],
}); });
// SEO optimization // SEO optimization
useServerHead({ useServerHead({
title: title title: title,
}); });
useServerSeoMeta( useServerSeoMeta({
{
title: title, title: title,
description: description, description: description,
keywords: "HTWK Leipzig, Stundenplan, iCal, freie Räume, Lerngruppen, Sport, Prüfungen", keywords:
"HTWK Leipzig, Stundenplan, iCal, freie Räume, Lerngruppen, Sport, Prüfungen",
// openGraph // openGraph
ogTitle: title, ogTitle: title,
ogDescription: description, ogDescription: description,
@@ -86,8 +87,7 @@ useServerSeoMeta(
// twitter // twitter
twitterCard: "summary_large_image", twitterCard: "summary_large_image",
twitterSite: "@HTWKLeipzig", twitterSite: "@HTWKLeipzig",
} });
);
const store = moduleStore(); const store = moduleStore();
const mobilePage = ref(true); const mobilePage = ref(true);
@@ -104,15 +104,14 @@ const updateMobile = () => {
updateMobile(); updateMobile();
if (!import.meta.env.SSR) if (!import.meta.env.SSR) window.addEventListener("resize", updateMobile);
window.addEventListener("resize", updateMobile);
</script> </script>
<template> <template>
<MenuBar /> <MenuBar />
<RouterView v-slot="{ Component, route }" class="mb-8"> <RouterView v-slot="{ Component, route: currentRoute }" class="mb-8">
<transition name="scale" mode="out-in"> <transition name="scale" mode="out-in">
<div :key="route.name ?? ''" class="origin-near-top"> <div :key="currentRoute.name ?? ''" class="origin-near-top">
<component :is="Component" /> <component :is="Component" />
</div> </div>
</transition> </transition>

View File

@@ -27,9 +27,7 @@ export async function fetchEventTypes(): Promise<string[]> {
}) })
.then((responseModules: string[]) => { .then((responseModules: string[]) => {
responseModules.forEach((eventType: string) => { responseModules.forEach((eventType: string) => {
eventTypes.push( eventTypes.push(eventType);
eventType,
);
}); });
}); });
return eventTypes; return eventTypes;

View File

@@ -42,7 +42,6 @@ if (store.isEmpty()) {
const eventTypes: Ref<string[]> = ref([]); const eventTypes: Ref<string[]> = ref([]);
const mobilePage = inject("mobilePage") as Ref<boolean>; const mobilePage = inject("mobilePage") as Ref<boolean>;
const filters = ref({ const filters = ref({
course: { course: {
@@ -67,7 +66,7 @@ const loadedModules: Ref<Module[]> = ref(new Array(10));
const loadingData = ref(true); const loadingData = ref(true);
onMounted( () => { onMounted(() => {
fetchAllModules() fetchAllModules()
.then( .then(
(data) => (data) =>

View File

@@ -63,7 +63,7 @@ onMounted(() => {
class="p-button-rounded w-full md:w-auto" class="p-button-rounded w-full md:w-auto"
style="margin-right: 1rem" style="margin-right: 1rem"
:severity="isDark ? 'warning' : 'success'" :severity="isDark ? 'warning' : 'success'"
@click="toggleTheme();" @click="toggleTheme()"
> >
<i v-if="isDark" class="pi pi-sun"></i> <i v-if="isDark" class="pi pi-sun"></i>
<i v-else class="pi pi-moon"></i> <i v-else class="pi pi-moon"></i>

View File

@@ -101,8 +101,8 @@ function handleDarkModeToggled(isDarkVar: boolean) {
: 'flex align-items-center' : 'flex align-items-center'
" "
v-bind="props.action" v-bind="props.action"
@click="navigate"
:href="item.route" :href="item.route"
@click="navigate"
> >
<span :class="item.icon" /> <span :class="item.icon" />
<span class="ml-2 p-menuitem-label">{{ item.label }}</span> <span class="ml-2 p-menuitem-label">{{ item.label }}</span>
@@ -136,7 +136,9 @@ function handleDarkModeToggled(isDarkVar: boolean) {
</template> </template>
<template #end> <template #end>
<div class="flex align-items-stretch justify-content-center"> <div class="flex align-items-stretch justify-content-center">
<DarkModeSwitcher @dark-mode-toggled="handleDarkModeToggled"></DarkModeSwitcher> <DarkModeSwitcher
@dark-mode-toggled="handleDarkModeToggled"
></DarkModeSwitcher>
<LocaleSwitcher></LocaleSwitcher> <LocaleSwitcher></LocaleSwitcher>
</div> </div>
</template> </template>

View File

@@ -175,9 +175,7 @@ const calendarOptions: ComputedRef<CalendarOptions> = computed(() => ({
color: event.showFree color: event.showFree
? "var(--htwk-gruen-500)" ? "var(--htwk-gruen-500)"
: "var(--htwk-grau-60-500)", : "var(--htwk-grau-60-500)",
textColor: event.showFree textColor: event.showFree ? "var(--green-50)" : "white",
? "var(--green-50)"
: "white",
title: event.showFree title: event.showFree
? t("roomFinderPage.available") ? t("roomFinderPage.available")
: t("roomFinderPage.occupied"), : t("roomFinderPage.occupied"),

View File

@@ -142,6 +142,6 @@ export const createApp = ViteSSG(
app.component("Skeleton", Skeleton); app.component("Skeleton", Skeleton);
app.component("Calendar", Calendar); app.component("Calendar", Calendar);
}, },
) );
export {router} export { router };

View File

@@ -14,7 +14,11 @@
//You should have received a copy of the GNU Affero General Public License //You should have received a copy of the GNU Affero General Public License
//along with this program. If not, see <https://www.gnu.org/licenses/>. //along with this program. If not, see <https://www.gnu.org/licenses/>.
import { createMemoryHistory, RouterOptions, createWebHistory } from "vue-router"; import {
createMemoryHistory,
RouterOptions,
createWebHistory,
} from "vue-router";
const CourseSelection = () => import("../view/CourseSelection.vue"); const CourseSelection = () => import("../view/CourseSelection.vue");
const AdditionalModules = () => import("../view/create/AdditionalModules.vue"); const AdditionalModules = () => import("../view/create/AdditionalModules.vue");
@@ -28,8 +32,10 @@ const EditAdditionalModules = () =>
const EditModules = () => import("../view/edit/EditModules.vue"); const EditModules = () => import("../view/edit/EditModules.vue");
const FaqView = () => import("../view/FaqView.vue"); const FaqView = () => import("../view/FaqView.vue");
const routes : RouterOptions = { const routes: RouterOptions = {
history: import.meta.env.SSR ? createMemoryHistory(import.meta.env.BASE_URL) : createWebHistory(import.meta.env.BASE_URL), history: import.meta.env.SSR
? createMemoryHistory(import.meta.env.BASE_URL)
: createWebHistory(import.meta.env.BASE_URL),
routes: [ routes: [
{ {
path: "/", path: "/",
@@ -64,7 +70,7 @@ const routes : RouterOptions = {
meta: { meta: {
label: "faq", label: "faq",
description: "faqView.description", description: "faqView.description",
} },
}, },
{ {
path: "/additional-modules", path: "/additional-modules",
@@ -72,7 +78,7 @@ const routes : RouterOptions = {
component: AdditionalModules, component: AdditionalModules,
meta: { meta: {
label: "createCalendar", label: "createCalendar",
} },
}, },
{ {
path: "/edit-additional-modules", path: "/edit-additional-modules",
@@ -80,8 +86,8 @@ const routes : RouterOptions = {
component: EditAdditionalModules, component: EditAdditionalModules,
meta: { meta: {
label: "editCalendar", label: "editCalendar",
description: "editCalendarView.description" description: "editCalendarView.description",
} },
}, },
{ {
path: "/edit-calendar", path: "/edit-calendar",
@@ -89,16 +95,16 @@ const routes : RouterOptions = {
component: EditModules, component: EditModules,
meta: { meta: {
label: "editCalendar", label: "editCalendar",
description: "editCalendarView.description" description: "editCalendarView.description",
} },
}, },
{ {
path: "/calendar-link", path: "/calendar-link",
name: "calendar-link", name: "calendar-link",
component: CalendarLink, component: CalendarLink,
meta: { meta: {
label: "createCalendar" label: "createCalendar",
} },
}, },
{ {
path: "/edit", path: "/edit",
@@ -106,8 +112,8 @@ const routes : RouterOptions = {
component: EditCalendarView, component: EditCalendarView,
meta: { meta: {
label: "editCalendar", label: "editCalendar",
description: "editCalendarView.description" description: "editCalendarView.description",
} },
}, },
{ {
path: "/privacy-policy", path: "/privacy-policy",
@@ -115,8 +121,9 @@ const routes : RouterOptions = {
component: {}, component: {},
meta: { meta: {
label: "privacy", label: "privacy",
redirect: "https://www.htwk-leipzig.de/hochschule/kontakt/datenschutzerklaerung/", redirect:
} "https://www.htwk-leipzig.de/hochschule/kontakt/datenschutzerklaerung/",
},
}, },
{ {
path: "/imprint", path: "/imprint",
@@ -125,15 +132,15 @@ const routes : RouterOptions = {
meta: { meta: {
label: "imprint", label: "imprint",
redirect: "https://www.htwk-leipzig.de/hochschule/kontakt/impressum/", redirect: "https://www.htwk-leipzig.de/hochschule/kontakt/impressum/",
} },
}, },
{ {
path: "/rename-modules", path: "/rename-modules",
name: "rename-modules", name: "rename-modules",
component: RenameModules, component: RenameModules,
meta: { meta: {
label: "createCalendar" label: "createCalendar",
} },
}, },
], ],
}; };

View File

@@ -26,7 +26,9 @@ import { useI18n } from "vue-i18n";
const { t } = useI18n({ useScope: "global" }); const { t } = useI18n({ useScope: "global" });
const toast = useToast(); const toast = useToast();
const domain = import.meta.env.SSR ? inject<string>("domain")! : window.location.hostname; const domain = import.meta.env.SSR
? inject<string>("domain")!
: window.location.hostname;
const getLink = () => const getLink = () =>
"https://" + domain + "/api/feed?token=" + tokenStore().token; "https://" + domain + "/api/feed?token=" + tokenStore().token;
@@ -36,7 +38,7 @@ const show = () => {
severity: "info", severity: "info",
summary: t("calendarLink.copyToastSummary"), summary: t("calendarLink.copyToastSummary"),
detail: t("calendarLink.copyToastNotification"), detail: t("calendarLink.copyToastNotification"),
life: 3000 life: 3000,
}); });
}; };
@@ -57,7 +59,7 @@ function copyToClipboard() {
severity: "error", severity: "error",
summary: t("calendarLink.copyToastError"), summary: t("calendarLink.copyToastError"),
detail: t("calendarLink.copyToastErrorDetail"), detail: t("calendarLink.copyToastErrorDetail"),
life: 3000 life: 3000,
}); });
}); });
} }
@@ -65,14 +67,14 @@ function copyToClipboard() {
const forwardToGoogle = () => { const forwardToGoogle = () => {
window.open( window.open(
"https://calendar.google.com/calendar/u/0/r?cid=" + "https://calendar.google.com/calendar/u/0/r?cid=" +
encodeURI(getLink().replace("https://", "http://")) encodeURI(getLink().replace("https://", "http://")),
); );
}; };
const forwardToMicrosoft = () => { const forwardToMicrosoft = () => {
window.open( window.open(
"https://outlook.live.com/owa?path=/calendar/action/compose&rru=addsubscription&name=HTWK%20Kalender&url=" + "https://outlook.live.com/owa?path=/calendar/action/compose&rru=addsubscription&name=HTWK%20Kalender&url=" +
encodeURI(getLink()) encodeURI(getLink()),
); );
}; };
@@ -80,18 +82,18 @@ const actions = computed(() => [
{ {
label: t("calendarLink.copyToClipboard"), label: t("calendarLink.copyToClipboard"),
icon: "pi pi-copy", icon: "pi pi-copy",
command: copyToClipboard command: copyToClipboard,
}, },
{ {
label: t("calendarLink.toGoogleCalendar"), label: t("calendarLink.toGoogleCalendar"),
icon: "pi pi-google", icon: "pi pi-google",
command: forwardToGoogle command: forwardToGoogle,
}, },
{ {
label: t("calendarLink.toMicrosoftCalendar"), label: t("calendarLink.toMicrosoftCalendar"),
icon: "pi pi-microsoft", icon: "pi pi-microsoft",
command: forwardToMicrosoft command: forwardToMicrosoft,
} },
]); ]);
</script> </script>

View File

@@ -16,8 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<script lang="ts" setup> <script lang="ts" setup></script>
</script>
<template> <template>
<div class="flex align-items-center justify-content-center flex-column"> <div class="flex align-items-center justify-content-center flex-column">
@@ -244,17 +243,26 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<div class="col"> <div class="col">
{{ $t("faqView.crossPromo.teaser") }} {{ $t("faqView.crossPromo.teaser") }}
<div class="flex flex-column gap-3 my-3"> <div class="flex flex-column gap-3 my-3">
<Card v-for="promoPage in new Array('mensa', 'htwkarte')" :key="promoPage"> <Card
v-for="promoPage in new Array('mensa', 'htwkarte')"
:key="promoPage"
>
<template #title> <template #title>
<div class="flex flex-row align-items-start"> <div class="flex flex-row align-items-start">
<Avatar :image="'/promo/' + promoPage + '.png'" class="mr-2 flex-shrink-0" size="xlarge" /> <Avatar
:image="'/promo/' + promoPage + '.png'"
class="mr-2 flex-shrink-0"
size="xlarge"
/>
<div class="flex flex-column gap-1"> <div class="flex flex-column gap-1">
<div> <div>
{{$t("faqView.crossPromo." + promoPage + ".title") }} {{ $t("faqView.crossPromo." + promoPage + ".title") }}
</div> </div>
<div class="p-card-subtitle text-base"> <div class="p-card-subtitle text-base">
<a :href="$t('faqView.crossPromo.' + promoPage + '.link')"> <a
{{$t("faqView.crossPromo." + promoPage + ".link") }} :href="$t('faqView.crossPromo.' + promoPage + '.link')"
>
{{ $t("faqView.crossPromo." + promoPage + ".link") }}
</a> </a>
</div> </div>
</div> </div>

View File

@@ -18,13 +18,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<script lang="ts" setup> <script lang="ts" setup>
import moduleStore from "@/store/moduleStore"; import moduleStore from "@/store/moduleStore";
import {router} from "@/main"; import { router } from "@/main";
import AdditionalModuleTable from "@/components/AdditionalModuleTable.vue"; import AdditionalModuleTable from "@/components/AdditionalModuleTable.vue";
const store = moduleStore(); const store = moduleStore();
function topFunction() { function topFunction() {
window.scrollTo({top: 0, behavior: 'smooth'}); window.scrollTo({ top: 0, behavior: "smooth" });
} }
async function nextStep() { async function nextStep() {

View File

@@ -129,8 +129,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
/> />
</template> </template>
<template #body="slotProps"> <template #body="slotProps">
<div class="flex flex-column sm:flex-row justify-content-between flex-1 column-gap-4 mx-2 md:mx-4"> <div
<p class="flex-1 align-self-stretch sm:align-self-center my-2">{{ slotProps.data.room }}</p> class="flex flex-column sm:flex-row justify-content-between flex-1 column-gap-4 mx-2 md:mx-4"
>
<p class="flex-1 align-self-stretch sm:align-self-center my-2">
{{ slotProps.data.room }}
</p>
<Button <Button
:label="$t('freeRooms.viewOccupancy')" :label="$t('freeRooms.viewOccupancy')"
icon="pi pi-hourglass" icon="pi pi-hourglass"

View File

@@ -18,29 +18,32 @@ import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue"; import vue from "@vitejs/plugin-vue";
import { fileURLToPath } from "node:url"; import { fileURLToPath } from "node:url";
import resolve from "@rollup/plugin-node-resolve"; import resolve from "@rollup/plugin-node-resolve";
import {resolve as pathResolver} from "path"; import { resolve as pathResolver } from "path";
import terser from "@rollup/plugin-terser"; import terser from "@rollup/plugin-terser";
import ViteSSGOptions from "vite-ssg"; import ViteSSGOptions from "vite-ssg";
import generateSitemap from 'vite-ssg-sitemap' import generateSitemap from "vite-ssg-sitemap";
import vueDevTools from 'vite-plugin-vue-devtools' import vueDevTools from "vite-plugin-vue-devtools";
const hostname = "https://cal.htwk-leipzig.de"; const hostname = "https://cal.htwk-leipzig.de";
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
plugins: [ plugins: [vue(), resolve(), terser(), vueDevTools()],
vue(),
resolve(),
terser(),
vueDevTools(),
],
resolve: { resolve: {
alias: alias: {
{
"@": fileURLToPath(new URL("./src", import.meta.url)), "@": fileURLToPath(new URL("./src", import.meta.url)),
'primevue' : pathResolver(__dirname, 'node_modules/primevue'), primevue: pathResolver(__dirname, "node_modules/primevue"),
}, },
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.css', '.scss'], extensions: [
".mjs",
".js",
".ts",
".jsx",
".tsx",
".json",
".css",
".scss",
],
}, },
ssgOptions: { ssgOptions: {
script: "async", script: "async",
@@ -50,12 +53,12 @@ export default defineConfig({
generateSitemap({ generateSitemap({
hostname: hostname, hostname: hostname,
exclude: [ exclude: [
'/additional-modules', "/additional-modules",
'/edit-additional-modules', "/edit-additional-modules",
'/edit-calendar', "/edit-calendar",
'/rename-modules', "/rename-modules",
] ],
}) });
}, },
}, },
server: { server: {
@@ -86,10 +89,14 @@ export default defineConfig({
output: { output: {
manualChunks(id) { manualChunks(id) {
if (id.includes("node_modules")) { if (id.includes("node_modules")) {
return id.toString().split("node_modules/")[1].split("/")[0].toString() return id
.toString()
.split("node_modules/")[1]
.split("/")[0]
.toString();
} }
}, },
}, },
} },
}, },
}); });