From e9fb0ecb96a2de53cf5f060c4e151f539ca4b089 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 02 Feb 2024 05:19:51 +0000
Subject: [PATCH] fix: border radius on search preview

---
 quartz/components/styles/search.scss |  190 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 144 insertions(+), 46 deletions(-)

diff --git a/quartz/components/styles/search.scss b/quartz/components/styles/search.scss
index cbf982a..784c114 100644
--- a/quartz/components/styles/search.scss
+++ b/quartz/components/styles/search.scss
@@ -1,5 +1,7 @@
+@use "../../styles/variables.scss" as *;
+
 .search {
-  min-width: 5rem;
+  min-width: fit-content;
   max-width: 14rem;
   flex-grow: 0.3;
 
@@ -10,6 +12,7 @@
     display: flex;
     align-items: center;
     cursor: pointer;
+    white-space: nowrap;
 
     & > div {
       flex-grow: 1;
@@ -36,12 +39,13 @@
 
   & > #search-container {
     position: fixed;
+    contain: layout;
     z-index: 999;
     left: 0;
     top: 0;
     width: 100vw;
     height: 100vh;
-    overflow: scroll;
+    overflow-y: auto;
     display: none;
     backdrop-filter: blur(4px);
 
@@ -50,20 +54,18 @@
     }
 
     & > #search-space {
-      width: 50%;
-      margin-top: 15vh;
+      width: 65%;
+      margin-top: 12vh;
       margin-left: auto;
       margin-right: auto;
 
-      @media all and (max-width: 1200px) {
-        width: 90%;
-      }
-
       & > * {
         width: 100%;
         border-radius: 5px;
         background: var(--light);
-        box-shadow: 0 14px 50px rgba(27, 33, 48, 0.12), 0 10px 30px rgba(27, 33, 48, 0.16);
+        box-shadow:
+          0 14px 50px rgba(27, 33, 48, 0.12),
+          0 10px 30px rgba(27, 33, 48, 0.16);
         margin-bottom: 2em;
       }
 
@@ -80,55 +82,151 @@
         }
       }
 
-      & > #results-container {
-        & .result-card {
-          padding: 1em;
-          cursor: pointer;
-          transition: background 0.2s ease;
-          border: 1px solid var(--lightgray);
-          border-bottom: none;
-          width: 100%;
+      & > #search-layout {
+        display: flex;
+        flex-direction: row;
+        opacity: 0;
+        border: 1px solid var(--lightgray);
 
-          // normalize button props
-          font-family: inherit;
-          font-size: 100%;
-          line-height: 1.15;
-          margin: 0;
-          text-transform: none;
-          text-align: left;
-          background: var(--light);
-          outline: none;
+        & > div {
+          // vh - #search-space.margin-top
+          height: calc(75vh - 12vh);
+          background: none;
 
-          & .highlight {
-            color: var(--secondary);
-            font-weight: 700;
-          }
-
-          &:hover, &:focus {
-            background: var(--lightgray);
-          }
-
-          &:first-of-type {
+          &:first-child {
             border-top-left-radius: 5px;
-            border-top-right-radius: 5px;
-          }
-
-          &:last-of-type {
             border-bottom-left-radius: 5px;
+            border-right: 1px solid var(--lightgray);
+          }
+
+          &:last-child {
+            border-top-right-radius: 5px;
             border-bottom-right-radius: 5px;
+          }
+        }
+
+        @media all and (max-width: $tabletBreakpoint) {
+          display: block;
+          & > *:not(#results-container) {
+            display: none !important;
+          }
+
+          & > #results-container {
+            width: 100%;
+            height: auto;
+          }
+        }
+
+        & .highlight {
+          background: color-mix(in srgb, var(--tertiary) 60%, transparent);
+          border-radius: 5px;
+        }
+
+        & > #preview-container {
+          display: block;
+          box-sizing: border-box;
+          overflow: hidden;
+
+          & .preview-inner {
+            margin: 0 auto;
+            padding: 1em;
+            height: 100%;
+            width: 100%;
+            box-sizing: border-box;
+            overflow-y: auto;
+            font-family: inherit;
+            color: var(--dark);
+            line-height: 1.5em;
+            font-weight: 400;
+            background: var(--light);
+            border-top-right-radius: 5px;
+            border-bottom-right-radius: 5px;
+            box-shadow:
+              0 14px 50px rgba(27, 33, 48, 0.12),
+              0 10px 30px rgba(27, 33, 48, 0.16);
+          }
+
+          a.internal {
+            background-color: none;
+          }
+        }
+
+        & > #results-container {
+          overflow-y: auto;
+
+          & .result-card {
+            padding: 1em;
+            cursor: pointer;
+            transition: background 0.2s ease;
             border-bottom: 1px solid var(--lightgray);
-          }
+            width: 100%;
+            display: block;
+            box-sizing: border-box;
 
-          & > h3 {
+            // normalize card props
+            font-family: inherit;
+            font-size: 100%;
+            line-height: 1.15;
             margin: 0;
-          }
+            text-transform: none;
+            text-align: left;
+            background: var(--light);
+            outline: none;
+            font-weight: inherit;
 
-          & > p { 
-            margin-bottom: 0;
+            &:hover,
+            &:focus,
+            &.focus {
+              background: var(--lightgray);
+            }
+
+            & > h3 {
+              margin: 0;
+            }
+
+            & > ul > li {
+              margin: 0;
+              display: inline-block;
+              white-space: nowrap;
+              margin: 0;
+              overflow-wrap: normal;
+            }
+
+            & > ul {
+              list-style: none;
+              display: flex;
+              padding-left: 0;
+              gap: 0.4rem;
+              margin: 0;
+              margin-top: 0.45rem;
+              box-sizing: border-box;
+              overflow: hidden;
+              background-clip: border-box;
+            }
+
+            & > ul > li > p {
+              border-radius: 8px;
+              background-color: var(--highlight);
+              overflow: hidden;
+              background-clip: border-box;
+              padding: 0.03rem 0.4rem;
+              margin: 0;
+              color: var(--secondary);
+              opacity: 0.85;
+            }
+
+            & > ul > li > .match-tag {
+              color: var(--tertiary);
+              font-weight: bold;
+              opacity: 1;
+            }
+
+            & > p {
+              margin-bottom: 0;
+            }
           }
         }
       }
-
     }
   }
 }

--
Gitblit v1.10.0