From a0e06403de8916b0ac1141406dceb352c09d0634 Mon Sep 17 00:00:00 2001
From: vato007
Date: Wed, 23 Apr 2025 16:53:33 +0930
Subject: [PATCH] Add initial cards concept
---
index.html | 35 ++++++++++++++++++++++++++++
website.scss | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 98 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index e0dcdfc..e7c1caa 100644
--- a/index.html
+++ b/index.html
@@ -72,6 +72,41 @@
successfully implemented many applications that have been used and
loved by clients.
+
Career
diff --git a/website.scss b/website.scss
index 6029b8b..37feaf5 100644
--- a/website.scss
+++ b/website.scss
@@ -12,14 +12,14 @@
"forms/input-file": false,
"forms/input-range": false,
"forms/input-search": false,
- "components/card": false,
+ "components/card": true,
"components/dropdown": false,
"components/loading": false,
"components/group": false,
"components/modal": false,
"components/progress": false,
"components/tooltip": false,
- "layout/grid": false,
+ "layout/grid": true,
"layout/landmarks": false,
"layout/overflow-auto": false,
"utilities/accessibility": false,
@@ -27,10 +27,71 @@
)
);
+@use "node_modules/@picocss/pico/scss/colors" as *;
+
.closed-on-mobile {
display: none;
}
+$animation-length: 0.4s;
+.special-card {
+ filter: drop-shadow(0 0 1rem $cyan-500);
+ margin: 1.5rem;
+ cursor: pointer;
+ transition: scale $animation-length;
+ opacity: 0;
+ min-width: 9rem;
+ max-width: 9rem;
+ animation: fadeIn 1s forwards;
+ @for $i from 1 through 4 {
+ &:nth-child(#{$i}n) {
+ // TODO: Delay last stuff less than earlier stuff
+ animation-delay: #{$i * 0.1}s;
+ }
+ }
+ &:hover {
+ scale: 1.02;
+
+ & > article > div {
+ // Set to something larger than button
+ // since % doesn't work
+ max-height: 400px;
+ height: fit-content;
+ }
+ }
+
+ button {
+ width: 100%;
+ margin: 0.5rem 0;
+ }
+
+ & > article > div {
+ display: block;
+ max-height: 0;
+ overflow: hidden;
+ // Close it faster
+ transition: max-height 0.2 * $animation-length;
+ }
+
+ &:hover > article > div {
+ transition: max-height $animation-length;
+ }
+}
+
+.special-card-wrapper {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+@keyframes fadeIn {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+
@media (min-width: 992px) {
main.responsive-nav {
--block-spacing-horizontal: calc(var(--spacing) * 1.75);