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
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:
@@ -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>
|
||||||
|
@@ -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}
|
||||||
|
@@ -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>
|
||||||
|
@@ -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">
|
||||||
|
@@ -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>
|
||||||
);
|
);
|
||||||
|
@@ -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) => {
|
||||||
|
Reference in New Issue
Block a user