chore: lw summary in blog post

This commit is contained in:
Francesco Sansalvadore committed 2025-03-31 13:03:20 +02:00
1 parent 73e8e7ee25
commit 8139dd4481
4 files changed
+82 -1

No files matched your search

@@ -11,6 +11,7 @@ tags:
- postgres
date: '2025-03-31'
toc_depth: 3
launchweek: 14
---
We're excited to release an [official Supabase UI Library](https://supabase.com/ui)—a collection of ready-to-use components built on top of [shadcn/ui](https://ui.shadcn.com/). Designed for flexibility, these components can be dropped into any Next.js, React Router, TanStack Start, or plain React app.
@@ -9,7 +9,7 @@ const LW13Summary = () => {
<div className="w-full border bg-alternative-200 flex flex-col rounded-lg text-foreground-lighter mt-12">
<div className="w-full p-4 flex justify-between items-center">
<Link
href="/launch-week"
href="/launch-week/13"
className="flex items-center text-foreground font-medium gap-1.5 leading-none uppercase text-xs opacity-80 transition-opacity hover:opacity-100"
>
Launch Week
@@ -0,0 +1,77 @@
import React from 'react'
import Link from 'next/link'
import { buildDays, mainDays } from './data'
const LW14Summary = () => {
const days = mainDays()
return (
<div
style={{
fontFamily: 'Departure Mono, Source Code Pro, Office Code Pro, Menlo, monospace',
}}
className="w-full border bg-alternative-200 flex flex-col rounded-lg text-foreground-lighter mt-12"
>
<div className="w-full p-4 flex justify-between items-center">
<Link
href="/launch-week"
className="flex items-center text-foreground font-medium gap-1.5 leading-none uppercase text-xs opacity-80 transition-opacity hover:opacity-100"
>
Launch Week 14
</Link>
<div className="uppercase tracking-wide text-xs">Mar 31 - Apr 04 '25</div>
</div>
<div className="pb-4 border-t p-4">
<ul className="flex flex-col gap-2">
{days.map(
(day, i: number) =>
day.shipped && (
<ol key={day.id}>
<Link href={day.blog} className="group flex py-1 gap-2 hover:text-foreground">
<span className="shrink-0 text-sm uppercase leading-6">Day {i + 1} -</span>
<span className="leading-6">{day.title}</span>
</Link>
</ol>
)
)}
</ul>
</div>
<div className="w-[calc(100%+2px)] bg-surface-100 flex flex-col gap-2 -m-px border rounded-lg">
<div className="p-4">
<div className=" uppercase text-xs text-foreground tracking-wide">Build Stage</div>
<ul className="flex flex-col gap-2 mt-4">
{buildDays.map(
(day, i: number) =>
day.is_shipped && (
<ol key={day.id}>
<Link
href={day.links[0].url}
className="relative flex items-center justify-between group w-full py-1 hover:text-foreground"
>
<span className="relative">
<span className=" uppercase mr-2">
{i + 1 < 10 ? '0' : ''}
{i + 1} -
</span>
{day.title}
</span>
</Link>
</ol>
)
)}
<ol className="border-t pt-4 mt-2">
<Link
href="/events?category=meetup"
className="relative flex items-center justify-between group w-full py-1 hover:text-foreground"
>
Community Meetups
</Link>
</ol>
</ul>
</div>
</div>
</div>
)
}
export default LW14Summary
+3
View File
@@ -20,6 +20,7 @@ import CTABanner from '~/components/CTABanner'
import LW11Summary from '~/components/LaunchWeek/11/LW11Summary'
import LW12Summary from '~/components/LaunchWeek/12/LWSummary'
import LW13Summary from '~/components/LaunchWeek/13/Releases/LWSummary'
import LW14Summary from '~/components/LaunchWeek/14/Releases/LWSummary'
import BlogLinks from '~/components/LaunchWeek/7/BlogLinks'
import LWXSummary from '~/components/LaunchWeek/X/LWXSummary'
import DefaultLayout from '~/components/Layouts/Default'
@@ -137,6 +138,7 @@ function BlogPostPage(props: InferGetStaticPropsType<typeof getStaticProps>) {
const isGAWeek = props.blog.launchweek?.toString().toLocaleLowerCase() === '11'
const isLaunchWeek12 = props.blog.launchweek?.toString().toLocaleLowerCase() === '12'
const isLaunchWeek13 = props.blog.launchweek?.toString().toLocaleLowerCase() === '13'
const isLaunchWeek14 = props.blog.launchweek?.toString().toLocaleLowerCase() === '14'
const author = authorArray
.map((authorId) => {
@@ -350,6 +352,7 @@ function BlogPostPage(props: InferGetStaticPropsType<typeof getStaticProps>) {
{isGAWeek && <LW11Summary />}
{isLaunchWeek12 && <LW12Summary />}
{isLaunchWeek13 && <LW13Summary />}
{isLaunchWeek14 && <LW14Summary />}
<div className="block lg:hidden py-8">
<div className="text-foreground-lighter text-sm">Share this article</div>
<ShareArticleActions title={props.blog.title} slug={props.blog.slug} />