mirror of
https://github.com/supabase/supabase.git
synced 2026-10-15 22:29:11 +03:00
chore: lw summary in blog post
This commit is contained in:
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
|
||||
@@ -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} />
|
||||
|
||||
Reference in new issue
Block a user