From 75a097a018a0090f5902758353c578fce4aa2a25 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sat, 23 May 2026 18:43:42 +0000
Subject: [PATCH] =CustomBlocks.php overhaul relatively complete. Also refactored the gallery in gallery.min.js and the jvbRenderGallery.
---
src/feed/style.scss | 282 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 199 insertions(+), 83 deletions(-)
diff --git a/src/feed/style.scss b/src/feed/style.scss
index 74fbf73..38f7b0f 100644
--- a/src/feed/style.scss
+++ b/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;
+ }
}
}
--
Gitblit v1.10.0