Files
fizzy/app/assets/stylesheets/events.css
T
Jason Zimdars 485e575c40 Merge branch 'main' into card-attachments
* main: (45 commits)
  Display tag counts in the filter menu
  Move Add Card button to header
  Re-write help content, try a modal-like display
  Move to internal registry
  Show date instead of time for notifications older than 1 day
  Ensure checks are visible for tags and assignments
  Adjust padding so card number isn't cut off
  Don't color the collection header in considering
  Golden cards bubble to the top of Considering, too
  Adjust card collection header when colored golden
  Allow cards in Considering to gilded
  Hide focus ring on new card titles and step inputs
  Add hover effect for comment edit button
  Add hover effect to overflow button
  Improve multi-account behavior of the PWA
  Remove unneeded *
  Rename test
  Review the code to move cards
  Update editor
  Generalize and delete mentions too
  ...
2025-07-08 16:04:14 -05:00

261 lines
5.9 KiB
CSS

@layer components {
/* Event column layout
/* ------------------------------------------------------------------------ */
.events {
--events-gap: 1ch;
--events-border: 1px solid var(--color-ink-lighter);
--events-day-header-height: 1.75rem;
}
.events__day {
position: relative;
@media (max-width: 639px) {
margin-block-end: calc(var(--events-gap) * 2);
}
}
.events__day-header,
.events__column-header {
font-size: var(--text-small);
text-align: center;
text-transform: uppercase;
}
.events__day-header {
block-size: 0;
inset-block-start: calc(var(--events-day-header-height) / 2);
position: sticky;
z-index: var(--z-events-day-header);
time {
align-items: center;
background-color: var(--color-ink);
block-size: var(--events-day-header-height);
border-radius: 0.2em;
display: flex;
inline-size: fit-content;
inset: 0 auto auto 50%;
margin-inline: auto;
padding-inline: 1.5ch;
position: absolute;
translate: -50% -50%;
}
}
.events__columns {
border-block-start: var(--events-border);
position: relative;
@media (min-width: 640px) {
align-items: end;
border-inline: var(--events-border);
display: grid;
grid-template-columns: repeat(3, 1fr);
/* Pseudo column borders since .events__column is display: contents */
&:before,
&:after {
border-inline-start: var(--events-border);
content: "";
inset-block: 0;
position: absolute;
z-index: var(--z-events-day-header);
}
&:before { inset-inline-start: calc(100% / 3); }
&:after { inset-inline-end: calc(100% / 3); }
}
}
.events__column {
@media (max-width: 639px) {
&:not(:has(.event)) {
display: none;
}
}
@media (min-width: 640px) {
display: contents;
}
&:nth-of-type(1) > * { grid-column-start: 1; }
&:nth-of-type(2) > * { grid-column-start: 2; }
&:nth-of-type(3) > * { grid-column-start: 3; }
}
.events__column-header {
background-color: var(--color-canvas);
grid-row-start: 1;
inset-block-start: 0;
margin-block-end: var(--events-gap);
padding-block: calc(var(--events-gap) * 3) var(--events-gap);
position: sticky;
z-index: var(--z-events-column-header);
}
.events__time-block {
align-content: end;
display: grid;
gap: var(--events-gap);
justify-items: center;
margin: 0;
padding: 0;
@media (min-width: 640px) {
padding-block-end: calc(var(--events-gap) * 3);
padding-inline: calc(var(--events-gap) * 2);
}
.event {
grid-column-start: unset !important;
grid-row-start: unset !important;
}
}
.events__none {
background-color: var(--color-canvas);
border-block-start: var(--events-border);
grid-column: 1 / -1;
padding-block: 3em;
text-align: center;
}
/* Event
/* ------------------------------------------------------------------------ */
.event {
--column-gap: 0.7ch;
--panel-border-color: transparent;
--panel-border-radius: 0.2em;
--panel-padding: 0.6em;
--panel-size: auto;
margin: var(--inline-space);
max-inline-size: 100%;
min-inline-size: 0;
overflow: clip;
position: relative;
z-index: 0;
@media (max-width: 639px) {
--panel-size: 100%;
}
&:has(.card__background img:not([src=""])) {
background-color: var(--color-canvas) !important;
}
.event_attachments {
.attachment--image {
block-size: auto;
max-inline-size: 30%;
}
}
.card__background {
filter: brightness(1.2) contrast(0.8);
opacity: 0.2;
z-index: 0;
}
.card__collection {
background-color: transparent;
color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink));
font-size: 0.7em;
margin: calc(var(--panel-padding) * -0.5) 0 var(--panel-padding) 0;
padding: 0;
}
.card__collection-name {
border-inline-start: 1px solid color-mix(in srgb, var(--color-ink) 33%, var(--color-canvas));
color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink));
margin: 0 0 0 calc(var(--inline-space) * 0.75);
}
.card__header {
overflow: visible;
}
.card__id {
margin: 0;
}
}
.event--golden {
--lch-golden: 89.1% 0.178 95.7;
background-color: var(--color-canvas) !important;
background-image: linear-gradient(60deg,
oklch(var(--lch-golden) / 0.5) 0%,
oklch(var(--lch-golden) / 0.15) 33%,
oklch(var(--lch-golden) / 0.05) 66%,
oklch(var(--lch-golden) / 0.5) 100%
);
border-color: var(--color-ink-lighter) !important;
box-shadow:
0 0 0 1px oklch(var(--lch-golden) / 75%),
0 0 0.2em 0.2em oklch(var(--lch-golden) / 25%),
0 0 .7em 0.5em oklch(var(--lch-golden) / 25%);
@media (prefers-color-scheme: dark) {
--lch-golden: var(--lch-blue-medium);
}
}
.event--related {
box-shadow: 0 0 0 0.15rem var(--card-color);
}
.event__content {
max-inline-size: 100%;
position: relative;
z-index: 1;
}
.event__grid-item {
background-color: var(--color-canvas);
block-size: 100%;
border-radius: 0;
display: flex;
inline-size: 100%;
}
.event__grid-column-title {
--z: 3;
background-color: var(--color-canvas);
font-size: 0.9em;
padding: 1.5em 0 1em;
text-transform: uppercase;
}
.event__icon {
display: grid;
margin: -0.3em -0.3em auto auto;
place-content: center;
.icon {
background-color: var(--card-color);
block-size: 1em;
inline-size: 1em;
grid-area: 1 / 1;
}
}
.event__timestamp {
align-self: start;
display: grid;
font-weight: 600;
margin-block-end: var(--block-space-half);
}
.event__title {
--lines: 4;
font-size: 1.1em;
line-height: 1.2;
}
}