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 (
<div class="mx-auto max-w-4xl p-4 bg-[#313244]">
<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"
dangerouslySetInnerHTML={{ __html: post.body }}
></div>

View File

@@ -2,15 +2,24 @@ import { convertUtc } from "../lib/convertUtc.ts";
import { truncateString } from "../lib/truncate.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 (
<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}`}>
<h2 class="text-white text-lg font-bold mb-2">{post.title}</h2>
<p class="text-white">
Written by{" "}
<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}`}
>
{post.first_name} {post.last_name}

View File

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

View File

@@ -2,8 +2,17 @@ export const ProjectCard = function ProjectCard(props: ProjectProps) {
return (
<div
class={`md:m-8 group space-y-1 rounded-md ${
props.wip ? "border-2 border-dashed" : "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`}
props.wip ? "border-2" : "cursor-pointer"
} 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")}
>
<div class="flex items-center justify-between">

View File

@@ -52,10 +52,11 @@ export default function PostPage({ data }: PageProps<PageData>) {
Featured Posts
</h2>
</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
</div>
<PostCarousel posts={featuredPosts} />
<PostCarousel posts={featuredPosts} colorValue="#89b4fa" />
</section>
<section>
<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
</h2>
</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
</div>
<PostCarousel posts={recentPosts} />
<PostCarousel posts={recentPosts} colorValue="#89dceb" />
</section>
<section>
<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
</h2>
</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
</div>
<PostCarousel posts={popularPosts} />
<PostCarousel posts={popularPosts} colorValue="#b4befe" />
</section>
</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
tinkering with during my free time - some are ongoing adventures,
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>
<div class="grid grid-cols-1 sm:grid-cols-2">
{projects.map((project: any) => {