diff --git a/bun.lockb b/bun.lockb index 4dd853e..ec0da28 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index c3b2979..a0628a7 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@typeschema/valibot": "^0.13.4", "bcrypt": "^6.0.0", "google-auth-library": "^10.5.0", + "highlight.js": "^11.11.1", "jose": "^6.1.3", "motion": "^12.23.26", "solid-js": "^1.9.5", diff --git a/src/app.css b/src/app.css index 0181aa0..c5c16f7 100644 --- a/src/app.css +++ b/src/app.css @@ -381,9 +381,32 @@ input[type="checkbox"]::before { input[type="checkbox"]:checked::before { transform: scale(1); } +.shaker:hover { + animation: shaker 0.5s ease; +} .tooltip { position: relative; } +.tooltip .tooltip-text { + visibility: hidden; + min-width: fit-content; + background-color: var(--color-mantle); + color: #fff; + text-align: center; + padding: 5px 0; + border-radius: 6px; + position: absolute; + z-index: 1; + top: 100%; + left: 50%; + opacity: 0; + transition: opacity 0.3s; +} + +.tooltip:hover .tooltip-text { + visibility: visible; + opacity: 1; +} .rule-around { display: flex; align-items: center; diff --git a/src/components/blog/Card.tsx b/src/components/blog/Card.tsx index 8b39ff1..a07e56c 100644 --- a/src/components/blog/Card.tsx +++ b/src/components/blog/Card.tsx @@ -21,7 +21,6 @@ export interface Post { export interface CardProps { post: Post; privilegeLevel: "anonymous" | "admin" | "user"; - linkTarget: "blog" | "project"; } export default function Card(props: CardProps) { @@ -36,7 +35,7 @@ export default function Card(props: CardProps) { @@ -46,9 +45,7 @@ export default function Card(props: CardProps) { src={ props.post.banner_photo ? props.post.banner_photo - : props.linkTarget === "blog" - ? "/bitcoin.jpg" - : "/blueprint.jpg" + : "/bitcoin.jpg" } alt={props.post.title.replaceAll("_", " ") + " banner"} class="h-full w-full object-cover" @@ -74,7 +71,6 @@ export default function Card(props: CardProps) { diff --git a/src/components/blog/CardLinks.tsx b/src/components/blog/CardLinks.tsx index a5bc5f6..6c71d71 100644 --- a/src/components/blog/CardLinks.tsx +++ b/src/components/blog/CardLinks.tsx @@ -5,7 +5,6 @@ import LoadingSpinner from "~/components/LoadingSpinner"; export interface CardLinksProps { postTitle: string; postID: number; - linkTarget: string; privilegeLevel: string; } @@ -19,12 +18,8 @@ export default function CardLinks(props: CardLinksProps) { href={`/blog/${props.postTitle}`} onClick={() => setReadLoading(true)} class={`${ - readLoading() - ? "bg-zinc-400" - : props.linkTarget === "project" - ? "bg-blue-400 hover:bg-blue-500 dark:bg-blue-600 dark:hover:bg-blue-700" - : "bg-orange-400 hover:bg-orange-500" - } mb-1 ml-2 flex rounded px-4 py-2 font-light text-white shadow transition-all duration-300 ease-out active:scale-90`} + readLoading() ? "bg-zinc-400" : "bg-lavender hover:brightness-125" + } mb-1 ml-2 flex rounded px-4 py-2 text-base font-light shadow transition-all duration-300 ease-out active:scale-90`} > diff --git a/src/components/blog/CommentBlock.tsx b/src/components/blog/CommentBlock.tsx index a6f6357..1e9137b 100644 --- a/src/components/blog/CommentBlock.tsx +++ b/src/components/blog/CommentBlock.tsx @@ -159,8 +159,7 @@ export default function CommentBlock(props: CommentBlockProps) { const isAnonymous = () => props.privilegeLevel === "anonymous"; - const replyIconColor = () => - location.pathname.split("/")[1] === "blog" ? "#fb923c" : "#60a5fa"; + const replyIconColor = () => "#fb923c"; return ( <> @@ -344,7 +343,6 @@ export default function CommentBlock(props: CommentBlockProps) { isReply={true} privilegeLevel={props.privilegeLevel} parent_id={props.comment.id} - type={props.category} post_id={props.projectID} currentUserID={props.currentUserID} socket={props.socket} @@ -360,7 +358,6 @@ export default function CommentBlock(props: CommentBlockProps) { {(childComment) => (
-
+