Jake Vanderwerf
5 days ago 75a097a018a0090f5902758353c578fce4aa2a25
src/feed/style.scss
@@ -35,7 +35,7 @@
// position: sticky;
// top: 3rem;
// z-index: 15;
// background: rgba(var(--base-rgb),var(--op-6));
// background: rgba(var(--base),var(--op-6));
// padding: .25rem 3rem;
// details[open] summary {
//    background-color: var(--overlay);
@@ -72,7 +72,7 @@
//
// details[open],
// summary:hover {
//    background-color: rgba(var(--base-rgb),var(--op-6));
//    background-color: rgba(var(--base),var(--op-6));
// }
//
// &:has(#favourites) {
@@ -155,7 +155,7 @@
// grid-column: 1/-1;
// text-align: center;
// padding: 2rem;
// background: var(--base-100);
// background: rgb(var(--base-100));
// border-radius: var(--radius);
// margin: 0 auto;
// max-width: 600px;
@@ -165,8 +165,8 @@
// */
//.placeholder {
// aspect-ratio: 1;
// background: var(--base);
// border: 1rem solid var(--base-50);
// background: rgb(var(--base));
// border: 1rem solid rgb(var(--base-50));
// border-radius: 1rem;
// display: flex;
// justify-content: center;
@@ -174,7 +174,7 @@
//
// .icon {
//    --w: 50%;
//    color: var(--base-200);
//    color: rgb(var(--base-200));
//    animation: dance 2.5s ease-in-out infinite;
//
// }
@@ -187,7 +187,7 @@
// position: relative;
// border-radius: 0.5rem;
// overflow: hidden;
// background: var(--base-50);
// background: rgb(var(--base-50));
// box-shadow: 0 2px 4px rgba(0,0,0,0.1);
// opacity: 0;
// transition: opacity var(--trans-base) var(--delay);
@@ -242,7 +242,7 @@
//       bottom: 0;
//       left: 0;
//       right: 0;
//       background-color: rgba(var(--base-rgb),var(--op-3));
//       background-color: rgba(var(--base),var(--op-3));
//       backdrop-filter: blur(5px);
//       border-radius: var(--radius);
//       z-index: 1;
@@ -278,8 +278,8 @@
// align-items: center;
// gap: .5rem;
// padding: .75rem 1.5rem;
// background: var(--base);
// color: var(--contrast);
// background: rgb(var(--base));
// color: rgb(var(--contrast));
// border-radius: 4px;
// font-size: var(--txt-medium);
// transition: all var(--trans-base);
@@ -290,7 +290,7 @@
// }
// &:hover {
//    background: var(--pink-50);
//    border-color: var(--contrast);
//    border-color: rgb(var(--contrast));
//    color: var(--white);
// }
//}
@@ -302,9 +302,9 @@
// top: .5rem;
// right: .5rem;
// z-index: 10;
// background: rgba(var(--base-rgb),var(--op-4));
// background: rgba(var(--base),var(--op-4));
// border-radius: 50%;
// box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-subtle);
// box-shadow: rgba(var(--base),var(--op-45)) var(--shdw-subtle);
// border: none;
// width: 2rem;
// height: 2rem;
@@ -317,7 +317,7 @@
// &:hover {
//    transform: scale(1.1);
//    color: var(--pink-0);
//    background: var(--base);
//    background: rgb(var(--base));
//    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
// }
//
@@ -383,7 +383,7 @@
///** Item Information **/
//.item-info {
// padding: .25rem;
// border-left: 1px solid var(--base-200);
// border-left: 1px solid rgb(var(--base-200));
// >div + div {
//    margin-top: .5em;
//    position: relative;
@@ -395,7 +395,7 @@
//       top: -.3em;
//       left: -.25rem;
//       width: 66.6%;
//       border-bottom: 1px solid var(--base-200);
//       border-bottom: 1px solid rgb(var(--base-200));
//    }
// }
// h3 {
@@ -443,8 +443,8 @@
//    &:hover,
//    &:focus {
//       background-color: transparent;
//       border-color: var(--contrast);
//       color: var(--contrast);
//       border-color: rgb(var(--contrast));
//       color: rgb(var(--contrast));
//    }
// }
//}
@@ -461,7 +461,7 @@
// left: 0;
// right: 0;
// bottom: 0;
// background-color: rgba(var(--base-rgb),var(--op-4));
// background-color: rgba(var(--base),var(--op-4));
// display: flex;
// align-items: center;
// justify-content: center;
@@ -487,7 +487,7 @@
// }
//
// .wrapper {
//    background-color: rgba(var(--base-rgb),var(--op-6));
//    background-color: rgba(var(--base),var(--op-6));
//    padding: 2rem;
//    border-radius: var(--radius);
//    text-align: center;
@@ -536,12 +536,12 @@
//
//       h3 {
//          margin: 1.5rem 0 .25rem!important;
//          color: var(--contrast-200);
//          color: rgb(var(--contrast-200));
//       }
//       .message {
//          margin: 0;
//          max-width: 275px;
//          color: var(--contrast-100);
//          color: rgb(var(--contrast-100));
//          font-size: var(--txt-x-small);
//          animation: flicker 2s infinite;
//       }
@@ -624,7 +624,7 @@
//.feed-block .item {
// summary {
//    a {
//       background-color: var(--action-0);
//       background-color: rgb(var(--action-0));
//       display: flex;
//       gap: .25rem;
//       flex-wrap: nowrap;
@@ -643,10 +643,15 @@
.feed-block {
   grid-column: full;
   .feed-filters {
   .filters {
      padding: 1rem 0;
      max-width:var(--wide);
      margin: 0 auto;
      .remove-term.remove-term {
         width: max-content;
         height: max-content
      }
   }
   .filter-group {
      position: relative;
@@ -690,12 +695,16 @@
   }
   h3 {
      margin: 0 0 .25rem;
      font-size: var(--medium);
   }
}
/** PLACEHOLDERS **/
.placeholder {
   aspect-ratio: 1;
   background: var(--base);
   border: 1rem solid var(--base-50);
   background: rgb(var(--base));
   border: 1rem solid rgb(var(--base-50));
   border-radius: 1rem;
   display: flex;
   justify-content: center;
@@ -703,44 +712,68 @@
   i.icon {
      --w: 50%;
      color: var(--base-200);
      color: rgb(var(--base-200));
      animation: dance 2.5s ease-in-out infinite;
   }
}
.item-grid {
   padding: 0 var(--chip);
   max-width: none;
   max-width: 100%;
}
/** FEED ITEM **/
.feed.item {
   position: relative;
   border-radius: 0.5rem;
   overflow: hidden;
   background: var(--base-50);
   background: rgb(var(--base-50));
   box-shadow: 0 2px 4px rgba(0,0,0,0.1);
   height: fit-content;
   padding: 0;
   details {
      z-index: var(--z-2);
      width: 100%;
      position: relative;
      padding: 0;
      summary {
         position:absolute;
         top: -3rem;
         left:0;
         width: 100%;
         background-color: rgba(var(--base),var(--op-2));
         backdrop-filter: blur(5px);
         &:hover {
            background-color: rgba(var(--action-0),var(--op-45));
         }
      }
      &[open] {
         padding: .25rem .5rem;
         summary .icon {
            opacity: 0;
         }
      }
   }
   img {
      opacity: .7;
      filter: grayscale(.5) sepia(.3) blur(7px);
      transition: opacity var(--trans-base), filter var(--trans-base);
      &[data-loaded=true] {
         opacity: 1;
         filter: none;
      object-fit: cover;
      width: 100%;
      height: 100%;
      //opacity: .7;
      //filter: grayscale(.5) sepia(.3);
      &:hover {
         opacity: .8;
      }
   }
   &[data-timeline] {
      aspect-ratio: unset;
      summary {
      .images {
         aspect-ratio: 3/2;
         padding: 0 0 1rem;
         span {
            width: 50%;
            position: absolute;
            background-color: var(--action-0);
            background-color: rgb(var(--action-0));
            color: var(--action-contrast);
            padding: .25rem .5rem;
            &:first-of-type {
@@ -766,7 +799,7 @@
         object-fit: cover;
         height: 100%;
         &:first-of-type {
            border-right: 1px solid var(--action-0);
            border-right: 1px solid rgb(var(--action-0));
         }
      }
   }
@@ -778,46 +811,6 @@
         display: none;
      }
   }
   details a {
      font-size: clamp(1rem, 0.9306rem + 0.2222vw, 1.125rem);
   }
   &.highlighted {
      box-shadow: 0 0 0 4px #FF0080, 0 8px 16px rgba(0, 0, 0, 0.1);
      animation: highlight-puls 2s ease-in-out;
   }
   &[open],
   &:hover {
      .handle {
         background-color: var(--overlay-pink-medium);
         backdrop-filter: blur(5px);
      }
   }
   summary {
      width: calc(100% - 1rem);
      height: 100%;
      aspect-ratio: 1;
      .handle {
         position: absolute;
         bottom: 0;
         left: 0;
         right: 0;
         background-color: rgba(var(--base-rgb),var(--op-3));
         backdrop-filter: blur(5px);
         border-radius: var(--radius);
         z-index: 1;
         padding: .25rem .25rem .25rem 1.1rem;
      }
      &::after {
         z-index: 11;
         position: absolute;
         bottom: .35rem;
         right: .7rem;
         width: 1.5rem;
         height: 1.5rem;
         cursor: pointer;
      }
   }
   label {
      font-weight: normal;
@@ -830,11 +823,134 @@
.item-grid:has([data-timeline]) {
   grid-template-columns: repeat(1, 1fr);
   grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
@media (min-width:768px) {
   .item-grid:has([data-timeline]) {
      grid-template-columns: repeat(2, 1fr);
.items-wrap [type=radio],
.items-wrap [type=checkbox] {
   position: absolute;
   opacity: 0;
   left: -200vw;
}
.items-wrap [type=radio] + label,
.items-wrap [type=checkbox] + label {
   position: relative;
   cursor: pointer;
}
.items-wrap [type=radio] + label:hover,
.items-wrap [type=checkbox] + label:hover {
   color: rgb(var(--action-0));
}
.items-wrap [type=radio] + label::before,
.items-wrap [type=checkbox] + label::before,
.items-wrap [type=radio] + label::after,
.items-wrap [type=checkbox] + label::after {
   content: '';
   position: absolute;
   top: 50%;
}
.items-wrap [type=radio] + label::after,
.items-wrap [type=checkbox] + label::after {
   left: 5px;
   transform: translateY(-70%) rotate(45deg);
   width: 5px;
   height: 10px;
   border: solid var(--light-0);
   border-width: 0 2px 2px 0;
   display: none;
}
.items-wrap [type=radio] + label::before,
.items-wrap [type=checkbox] + label::before {
   left: 0;
   transform: translateY(-50%);
   width: 1rem;
   height: 1rem;
   border: 2px solid rgb(var(--contrast-200));
   background-color: rgb(var(--base));
   border-radius: var(--radius);
}
.items-wrap [type=radio]:hover + label::before,
.items-wrap [type=checkbox]:hover + label::before {
   border-color: rgb(var(--action-200));
}
.items-wrap [type=radio]:checked + label::before,
.items-wrap [type=checkbox]:checked + label::before{
   background-color: rgb(var(--action-0));
   border-color: rgb(var(--action-100));
}
.items-wrap [type=radio]:checked + label::before {
   border-radius: 50%;
}
.items-wrap [type=checkbox]:checked + label::after {
   display: block;
   left: 5px;
   top: 50%;
   transform: translateY(-70%) rotate(45deg);
   width: .35rem;
   height: .66rem;
   border: solid var(--light-0);
   border-width: 0 2px 2px 0;
}
.items-wrap :disabled + label {
   cursor: not-allowed;
   background-color: rgb(var(--base-50));
   color: rgb(var(--base-200));
   border-color: rgb(var(--base-200));
}
.items-wrap :disabled + label:hover {
   background-color: rgb(var(--base-50));
   color: rgb(var(--base-200));
   border-color: rgb(var(--base-200));
}
.items-wrap :disabled + label::before {
   border-color: rgb(var(--base-200));
}
#jvb-selector .items-wrap [type=radio] + label,
#jvb-selector .items-wrap [type=checkbox] + label{
   flex: 1;
   padding-left: 2rem!important;
   transform-origin: top center;
   will-change: transform;
}
.feed-block + footer {
   grid-column: full;
   padding: 0!important;
   margin: 0;
   background-color: rgb(var(--base-50));
   z-index: 0;
   display: flex;
   justify-content: flex-end;
   button {
      width: max-content;
      margin-left: auto;
      padding: .35rem .25rem;
      --w: 1.3em!important;
      flex-wrap: nowrap;
      justify-content:flex-start;
      transition: var(--trans-size);
      font-size: var(--txt-x-small);
      min-height: 0;
      span {
         display: none;
         white-space: nowrap;
      }
      &:focus span,
      &:hover span {
         display: block;
      }
   }
}