added color accents to cards, underlines to subheaders
Some checks failed
Build and Release Docker Images / build-and-push (./backend, public/Dockerfile, my-website-v2_public) (push) Failing after 21m47s
Build and Release Docker Images / build-and-push (./backend, task/Dockerfile, my-website-v2_task) (push) Failing after 23m39s
Build and Release Docker Images / build-and-push (./frontend, Dockerfile, my-website-v2_frontend) (push) Failing after 17m34s
Build and Release Docker Images / create-release (push) Has been skipped

This commit is contained in:
2025-07-31 22:45:23 -04:00
parent fb071df6e4
commit 82cf30447b
6 changed files with 38 additions and 15 deletions

View File

@@ -4,7 +4,7 @@ export const PostBody = function PostBody({ post }: PostBodyOpts) {
return ( return (
<div class="mx-auto max-w-4xl p-4 bg-[#313244]"> <div class="mx-auto max-w-4xl p-4 bg-[#313244]">
<div <div
class="p-6 bg-[#45475a] shadow-md rounded-lg text-[#f5e0dc] post-content overflow-hidden break-words hyphens-auto max-w-full class="p-6 bg-[#484659] shadow-md rounded-lg text-[#f5e0dc] post-content overflow-hidden break-words hyphens-auto max-w-full
[&>*]:max-w-5xl [&>*]:overflow-wrap-anywhere" [&>*]:max-w-5xl [&>*]:overflow-wrap-anywhere"
dangerouslySetInnerHTML={{ __html: post.body }} dangerouslySetInnerHTML={{ __html: post.body }}
></div> ></div>

View File

@@ -2,15 +2,24 @@ import { convertUtc } from "../lib/convertUtc.ts";
import { truncateString } from "../lib/truncate.ts"; import { truncateString } from "../lib/truncate.ts";
import { Post } from "../types/index.ts"; import { Post } from "../types/index.ts";
export const PostCard = function PostCard({ post }: { post: Post }) { export const PostCard = function PostCard({
post,
colorValue,
}: {
post: Post;
colorValue: string;
}) {
return ( return (
<div class="p-6 bg-[#484659] rounded-lg shadow-xl transition-all duration-300 ease-in-out hover:shadow-xl hover:scale-105"> <div
class={`p-6 bg-[#484659] rounded-lg shadow-xl transition-all duration-300 ease-in-out border-b-4 hover:shadow-xl hover:scale-105`}
style={{ borderBottomColor: colorValue }}
>
<a href={`${Deno.env.get("BASE_URI_WEB")}/posts/${post.post_id}`}> <a href={`${Deno.env.get("BASE_URI_WEB")}/posts/${post.post_id}`}>
<h2 class="text-white text-lg font-bold mb-2">{post.title}</h2> <h2 class="text-white text-lg font-bold mb-2">{post.title}</h2>
<p class="text-white"> <p class="text-white">
Written by{" "} Written by{" "}
<a <a
class="text-white transition-all duration-300 ease-in-out hover:text-[#74c7ec] hover:drop-shadow-[0_0_10px_rgba(96,165,250,0.7)] hover:scale-110 cursor-pointer" class="text-white transition-all duration-300 ease-in-out hover:text-[#cba6f7] hover:drop-shadow-[0_0_10px_rgba(96,165,250,0.7)] hover:scale-110 cursor-pointer"
href={`${Deno.env.get("BASE_URI_WEB")}/authors/${post.author_id}`} href={`${Deno.env.get("BASE_URI_WEB")}/authors/${post.author_id}`}
> >
{post.first_name} {post.last_name} {post.first_name} {post.last_name}

View File

@@ -3,15 +3,19 @@ import { Post } from "../types/index.ts";
interface PostOpts { interface PostOpts {
posts: Post[]; posts: Post[];
colorValue: string;
} }
export const PostCarousel = function PostCarousel({ posts }: PostOpts) { export const PostCarousel = function PostCarousel({
posts,
colorValue,
}: PostOpts) {
return ( return (
<div className="flex w-full justify-start items-start bg-[#313244] p-8"> <div className="flex w-full justify-start items-start bg-[#313244] p-8">
<div className="max-w-7xl mx-auto"> <div className="max-w-7xl mx-auto">
<div className="flex flex-wrap justify-center gap-3"> <div className="flex flex-wrap justify-center gap-3">
{posts.map((post: Post) => ( {posts.map((post: Post) => (
<PostCard key={post.post_id} post={post} /> <PostCard key={post.post_id} post={post} colorValue={colorValue} />
))} ))}
</div> </div>
</div> </div>

View File

@@ -2,8 +2,17 @@ export const ProjectCard = function ProjectCard(props: ProjectProps) {
return ( return (
<div <div
class={`md:m-8 group space-y-1 rounded-md ${ class={`md:m-8 group space-y-1 rounded-md ${
props.wip ? "border-2 border-dashed" : "cursor-pointer" props.wip ? "border-2" : "cursor-pointer"
} bg-[#44485b] px-3 py-2 m-4 shadow-md transition-all duration-300 ease-in-out hover:shadow-xl hover:scale-105`} } bg-[#44485b] px-3 py-2 m-4 shadow-md transition-all duration-300 ease-in-out border-b-4 border-b-[#94e2d5] hover:shadow-xl hover:scale-105`}
style={
props.wip
? {
borderTopStyle: "dashed",
borderRightStyle: "dashed",
borderLeftStyle: "dashed",
}
: {}
}
onClick={() => props.repo && open(props.repo, "_blank")} onClick={() => props.repo && open(props.repo, "_blank")}
> >
<div class="flex items-center justify-between"> <div class="flex items-center justify-between">

View File

@@ -52,10 +52,11 @@ export default function PostPage({ data }: PageProps<PageData>) {
Featured Posts Featured Posts
</h2> </h2>
</div> </div>
<div className="text-lg font-thin italic text-white mb-4 text-center flex">
<div className="text-lg font-thin italic text-white mb-4 text-center flex underline decoration-[#89b4fa] decoration-2">
Ignite the impossible Ignite the impossible
</div> </div>
<PostCarousel posts={featuredPosts} /> <PostCarousel posts={featuredPosts} colorValue="#89b4fa" />
</section> </section>
<section> <section>
<div class="flex items-center gap-2 text-2xl text-white md:justify-start"> <div class="flex items-center gap-2 text-2xl text-white md:justify-start">
@@ -64,10 +65,10 @@ export default function PostPage({ data }: PageProps<PageData>) {
Recent Posts Recent Posts
</h2> </h2>
</div> </div>
<div className="text-lg font-thin italic mb-4 text-white text-center flex"> <div className="text-lg font-thin italic mb-4 text-white text-center flex underline decoration-[#89dceb] decoration-2">
Now with 100% fresh perspective Now with 100% fresh perspective
</div> </div>
<PostCarousel posts={recentPosts} /> <PostCarousel posts={recentPosts} colorValue="#89dceb" />
</section> </section>
<section> <section>
<div class="flex items-center gap-2 text-2xl text-white md:justify-start"> <div class="flex items-center gap-2 text-2xl text-white md:justify-start">
@@ -76,10 +77,10 @@ export default function PostPage({ data }: PageProps<PageData>) {
Popular Posts Popular Posts
</h2> </h2>
</div> </div>
<div className="text-lg font-thin italic mb-4 text-white text-center flex"> <div className="text-lg font-thin italic mb-4 text-white text-center flex underline decoration-[#b4befe] decoration-2">
Content may cause uncontrollable reading Content may cause uncontrollable reading
</div> </div>
<PostCarousel posts={popularPosts} /> <PostCarousel posts={popularPosts} colorValue="#b4befe" />
</section> </section>
</div> </div>
); );

View File

@@ -40,7 +40,7 @@ export default function Projects({ data }: PageProps<ProjectData>) {
Here's a collection of software and electronics projects I've been Here's a collection of software and electronics projects I've been
tinkering with during my free time - some are ongoing adventures, tinkering with during my free time - some are ongoing adventures,
others are finished experiments, but they've all been exciting others are finished experiments, but they've all been exciting
challenges that keep me busy when I'm not doing the "real work" stuff! challenges that keep me busy when I'm not doing "real work" stuff!
</p> </p>
<div class="grid grid-cols-1 sm:grid-cols-2"> <div class="grid grid-cols-1 sm:grid-cols-2">
{projects.map((project: any) => { {projects.map((project: any) => {