diff --git a/apps/docs/components/CustomHTMLElements/CustomHTMLElements.utils.ts b/apps/docs/components/CustomHTMLElements/CustomHTMLElements.utils.ts index 844724a5466..337f48b2bbf 100644 --- a/apps/docs/components/CustomHTMLElements/CustomHTMLElements.utils.ts +++ b/apps/docs/components/CustomHTMLElements/CustomHTMLElements.utils.ts @@ -89,13 +89,13 @@ export const highlightSelectedNavItem = (id: string) => { const navMenuItems = document.querySelectorAll('.function-link-item a') // find any currently active items and remove them - const currentActiveItems = document.querySelectorAll('.function-link-list .text-brand-900') - currentActiveItems.forEach((item) => item.classList.remove('text-brand-900')) + const currentActiveItems = document.querySelectorAll('.function-link-list .text-brand') + currentActiveItems.forEach((item) => item.classList.remove('text-brand')) // Add active class to the current item navMenuItems.forEach((item) => { if (item.href.split('/').at(-1) === id) { - item.classList.add('text-brand-900') + item.classList.add('text-brand') } }) } diff --git a/apps/docs/components/GuidesTableOfContents.tsx b/apps/docs/components/GuidesTableOfContents.tsx index 9d25121f661..553f3165452 100644 --- a/apps/docs/components/GuidesTableOfContents.tsx +++ b/apps/docs/components/GuidesTableOfContents.tsx @@ -46,7 +46,7 @@ const GuidesTableOfContents: FC = ({ list }) => {
  • diff --git a/apps/docs/components/HomePageCover.tsx b/apps/docs/components/HomePageCover.tsx index e760c411dc3..657083befd2 100644 --- a/apps/docs/components/HomePageCover.tsx +++ b/apps/docs/components/HomePageCover.tsx @@ -28,6 +28,11 @@ const HomePageCover = (props) => { icon: '/docs/img/icons/flutter-icon', href: '/guides/getting-started/quickstarts/flutter', }, + { + tooltip: 'Android Kotlin', + icon: '/docs/img/icons/kotlin-icon', + href: '/guides/getting-started/quickstarts/kotlin', + }, { tooltip: 'SvelteKit', icon: '/docs/img/icons/svelte-icon', @@ -69,7 +74,7 @@ const HomePageCover = (props) => {
    - +

    Getting Started

    diff --git a/apps/docs/components/LinkCard.tsx b/apps/docs/components/LinkCard.tsx index e74ac68384a..6e22200bbda 100644 --- a/apps/docs/components/LinkCard.tsx +++ b/apps/docs/components/LinkCard.tsx @@ -14,7 +14,7 @@ export default function LinkCard({ }) { return ( -
    + {description ? ( <>

    {title}

    diff --git a/apps/docs/components/Navigation/Footer.tsx b/apps/docs/components/Navigation/Footer.tsx index 32f1b4f73db..6550b0f24ce 100644 --- a/apps/docs/components/Navigation/Footer.tsx +++ b/apps/docs/components/Navigation/Footer.tsx @@ -29,11 +29,7 @@ const Footer = () => ( {Icon && }

    {text}

    -
    + {ctaLabel} diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index 765aef663dc..a151d6639cf 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -669,10 +669,23 @@ export const database: NavMenuConstant = { name: 'RUM: inverted index for full-text search', url: '/guides/database/extensions/rum', }, + ], + }, + { + name: 'Foreign Data Wrappers', + url: undefined, + items: [ + { name: 'Overview', url: '/guides/database/extensions/wrappers/overview' }, + { name: 'Connecting to Airtable', url: '/guides/database/extensions/wrappers/airtable' }, + { name: 'Connecting to AWS S3', url: '/guides/database/extensions/wrappers/s3' }, + { name: 'Connecting to BigQuery', url: '/guides/database/extensions/wrappers/bigquery' }, { - name: 'wrappers: 3rd Party Integrations', - url: '/guides/database/extensions/wrappers', + name: 'Connecting to ClickHouse', + url: '/guides/database/extensions/wrappers/clickhouse', }, + { name: 'Connecting to Firebase', url: '/guides/database/extensions/wrappers/firebase' }, + { name: 'Connecting to Logflare', url: '/guides/database/extensions/wrappers/logflare' }, + { name: 'Connecting to Stripe', url: '/guides/database/extensions/wrappers/stripe' }, ], }, { diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx index deb8caf1f17..8c88d731560 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx @@ -23,7 +23,7 @@ const NavigationMenuCliList = ({ currentLevel, setLevel, id }) => { return (
  • - + {icon && } {title} @@ -100,7 +100,7 @@ const NavigationMenuCliList = ({ currentLevel, setLevel, id }) => {
    diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx index f264a4112b7..0d390a0e6af 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx @@ -19,7 +19,7 @@ const HeaderLink = React.memo(function HeaderLink(props: { className={[ ' ', !props.title && 'capitalize', - props.url === router.pathname ? 'text-brand-900' : 'hover:text-brand-900 text-scale-1200', + props.url === router.pathname ? 'text-brand' : 'hover:text-brand text-scale-1200', ].join(' ')} > {props.title ?? props.id} @@ -68,7 +68,7 @@ const ContentAccordionLink = React.memo(function ContentAccordionLink(props: any 'flex items-center gap-2', 'cursor-pointer transition text-sm', activeItem - ? 'text-brand-900 font-medium' + ? 'text-brand font-medium' : 'hover:text-scale-1200 dark:hover:text-scale-1100 text-scale-1000', ].join(' ')} parent={props.subItem.parent} @@ -97,8 +97,8 @@ const ContentAccordionLink = React.memo(function ContentAccordionLink(props: any className={[ 'cursor-pointer transition text-sm', subSubItem.url === router.pathname - ? 'text-brand-900' - : 'hover:text-brand-900 text-scale-1000', + ? 'text-brand' + : 'hover:text-brand text-scale-1000', ].join(' ')} > {subSubItem.name} @@ -124,7 +124,7 @@ const ContentLink = React.memo(function ContentLink(props: any) { className={[ 'cursor-pointer transition text-sm', props.url === router.pathname - ? 'text-brand-900' + ? 'text-brand' : 'hover:text-scale-1200 dark:hover:text-scale-1100 text-scale-1000', ].join(' ')} > @@ -152,7 +152,7 @@ const Content = (props) => {
    @@ -166,7 +166,7 @@ const Content = (props) => { -
    +
    diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx index a280bf07da6..8c2007c78b3 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx @@ -16,7 +16,7 @@ import { deepFilterSections } from './NavigationMenu.utils' const HeaderLink = React.memo(function HeaderLink(props: any) { return ( - + {props.title ?? props.id} ) @@ -64,7 +64,7 @@ const FunctionLink = React.memo(function FunctionLink({ className={cn( 'cursor-pointer transition text-sm hover:text-scale-1200 gap-3 relative', isParent ? 'flex justify-between' : 'leading-3', - active ? 'text-brand-900' : 'text-scale-1000' + active ? 'text-brand' : 'text-scale-1000' )} > {icon && {icon}} @@ -72,7 +72,7 @@ const FunctionLink = React.memo(function FunctionLink({ {active && !isSubItem && ( )} {isParent && ( @@ -180,7 +180,7 @@ const NavigationMenuRefListItems = ({
    diff --git a/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx b/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx index bd080d8e7c9..bba13421321 100644 --- a/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx @@ -56,7 +56,7 @@ const TopNavBarRef: FC = () => { } return ( -
  • Adopted the{' '} - + Snyk {' '} dependency monitor as part of our SSDLC on several key component of our system, to @@ -467,7 +462,7 @@ const Security = () => { now uses {' '} @@ -513,7 +508,7 @@ const Reliability = () => { https://status.supabase.com {' '} @@ -557,7 +552,7 @@ const NewFeaturesAndIntegrations = () => { JavaScript {' '} @@ -565,7 +560,7 @@ const NewFeaturesAndIntegrations = () => { HTTP @@ -587,7 +582,7 @@ const NewFeaturesAndIntegrations = () => { subscribe to changes in your database {' '} @@ -606,7 +601,7 @@ const NewFeaturesAndIntegrations = () => { querying from multiple tables {' '} @@ -614,7 +609,7 @@ const NewFeaturesAndIntegrations = () => { invoke complex functions @@ -703,7 +698,7 @@ const BetaPricing = () => ( rory@supabase.io @@ -716,7 +711,7 @@ const BetaPricing = () => (

    The Supabase Base plan is now called the Supabase Pro plan as per the{' '} - + pricing page . @@ -747,7 +742,7 @@ const OpenSource = () => ( sponsorship {' '} @@ -759,7 +754,7 @@ const OpenSource = () => ( partnering with Strive School {' '} @@ -772,7 +767,7 @@ const OpenSource = () => ( rory@supabase.io {' '} @@ -783,7 +778,7 @@ const OpenSource = () => ( our GitHub. {' '} @@ -819,7 +814,7 @@ const FundingPartners = () => ( Twitter {' '} @@ -856,7 +851,7 @@ const ScalingOurTeam = () => ( work@supabase.io @@ -917,7 +912,7 @@ const WhatsNext = () => ( support@supabase.io {' '} @@ -925,7 +920,7 @@ const WhatsNext = () => ( discussion {' '} diff --git a/apps/www/pages/blog/[slug].tsx b/apps/www/pages/blog/[slug].tsx index 1b1fcbd5b8b..356c3d5c107 100644 --- a/apps/www/pages/blog/[slug].tsx +++ b/apps/www/pages/blog/[slug].tsx @@ -202,7 +202,7 @@ function BlogPostPage(props: any) { {/* Title and description */}

    -

    Blog post

    +

    Blog post

    {props.blog.title}

    {props.blog.date}

    diff --git a/apps/www/pages/careers/index.tsx b/apps/www/pages/careers/index.tsx index a303e9f2e9a..f03c234b0a1 100644 --- a/apps/www/pages/careers/index.tsx +++ b/apps/www/pages/careers/index.tsx @@ -101,7 +101,7 @@ const CareerPage: NextPage = ({ jobs, contributors }: any) => {
    -

    +

    Supabase Careers

    @@ -121,9 +121,9 @@ const CareerPage: NextPage = ({ jobs, contributors }: any) => { return (
    -
    +

    {company.number}

    @@ -153,7 +153,7 @@ const CareerPage: NextPage = ({ jobs, contributors }: any) => { Discord to stay connected to our team, and our community.

    -
    +

    We deeply believe in the efficacy of collaborative open source

    @@ -445,10 +445,10 @@ const CareerPage: NextPage = ({ jobs, contributors }: any) => { className="flex lg:block items-start space-x-6 lg:space-x-0 lg:w-full" >
    -

    +

    {i + 1}

    -
    +

    @@ -461,7 +461,7 @@ const CareerPage: NextPage = ({ jobs, contributors }: any) => {

    ) })} -

    +

    diff --git a/apps/www/pages/customers/[slug].tsx b/apps/www/pages/customers/[slug].tsx index 7be097ca5b9..19880b2ca34 100644 --- a/apps/www/pages/customers/[slug].tsx +++ b/apps/www/pages/customers/[slug].tsx @@ -122,9 +122,7 @@ function CaseStudyPage(props: any) {
    - - Customer Stories - + Customer Stories

    {props.blog.title} diff --git a/apps/www/pages/edge-functions/edge-functions.tsx b/apps/www/pages/edge-functions/edge-functions.tsx index 20900033d31..981685a0268 100644 --- a/apps/www/pages/edge-functions/edge-functions.tsx +++ b/apps/www/pages/edge-functions/edge-functions.tsx @@ -145,7 +145,7 @@ function Database() { className="bg-scale-100 dark:bg-scale-300 group flex flex-col gap-4 rounded border px-8 py-6" key={i} > -
    +
    {item.icon ? item.icon : }
    diff --git a/apps/www/pages/launch-week/6/index.tsx b/apps/www/pages/launch-week/6/index.tsx index 7f8f8426cc1..4912c976a6b 100644 --- a/apps/www/pages/launch-week/6/index.tsx +++ b/apps/www/pages/launch-week/6/index.tsx @@ -1018,7 +1018,7 @@ export default function launchweek() { href="https://supabase.com/blog/launch-week-6-hackathon" target="_blank" rel="nooper noreferrer" - className="text-brand-900" + className="text-brand" > blog post @@ -1052,7 +1052,7 @@ export default function launchweek() { Join our Discord @@ -1064,7 +1064,7 @@ export default function launchweek() {

    Submit your project through{' '} @@ -1091,7 +1091,7 @@ export default function launchweek() {

    Supabase Cache Helpers

    Previous Best Overall Project Winner

    @@ -1105,7 +1105,7 @@ export default function launchweek() {

    Super UI

    Previous Best Overall Project Runner Up

    @@ -1120,7 +1120,7 @@ export default function launchweek() {

    Quid Faciam Hodie?

    Winner Best Flutter Project

    @@ -1130,7 +1130,7 @@ export default function launchweek() {

    That Hot Dog Game

    Previous Winner: Most Fun/Interesting

    @@ -1145,7 +1145,7 @@ export default function launchweek() {

    RepoWatch

    Previous Winner Best Realtime Project

    @@ -1177,10 +1177,10 @@ export default function launchweek() { }} >
    -
    +
    @@ -1204,7 +1204,7 @@ export default function launchweek() { We worked with more than 30 content creators from around the world to drop a mountain of content simultaneously! -
    +
    See all the content
    @@ -1220,7 +1220,7 @@ export default function launchweek() { {activeCreator !== null && (

    {creators[activeCreator].description}

    )} -

    +

    {creators[activeCreator].link_title} diff --git a/apps/www/pages/launch-week/index.tsx b/apps/www/pages/launch-week/index.tsx index a44ac87bf85..0462fd955db 100644 --- a/apps/www/pages/launch-week/index.tsx +++ b/apps/www/pages/launch-week/index.tsx @@ -11,16 +11,19 @@ import { PageState, ConfDataContext, UserData } from '~/components/LaunchWeek/ho import DefaultLayout from '~/components/Layouts/Default' import SectionContainer from '~/components/Layouts/SectionContainer' import { LaunchWeekLogoHeader } from '~/components/LaunchWeek/8/LaunchWeekLogoHeader' +import { Meetup } from '~/components/LaunchWeek/8/LW8Meetups' import { useTheme } from 'common/Providers' import 'swiper/swiper.min.css' import Head from 'next/head' +import LW8CalloutsSection from '../../components/LaunchWeek/8/LW8CalloutsSection' const AnimatedParticles = dynamic( () => import('~/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas') ) const TicketContainer = dynamic(() => import('~/components/LaunchWeek/8/Ticket/TicketContainer')) +const LW8Meetups = dynamic(() => import('~/components/LaunchWeek/8/LW8Meetups')) const LaunchWeekPrizeSection = dynamic( () => import('~/components/LaunchWeek/8/LaunchWeekPrizeSection') ) @@ -29,6 +32,7 @@ const CTABanner = dynamic(() => import('~/components/CTABanner')) interface Props { users?: UserData[] + meetups?: Meetup[] } const supabaseAdmin = createClient( @@ -39,7 +43,7 @@ const supabaseAdmin = createClient( 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9idWxkYW5ycHRsb2t0eGNmZnZuIiwicm9sZSI6ImFub24iLCJpYXQiOjE2Njk3MjcwMTIsImV4cCI6MTk4NTMwMzAxMn0.SZLqryz_-stF8dgzeVXmzZWPOqdOrBwqJROlFES8v3I' ) -export default function TicketHome({ users }: Props) { +export default function TicketHome({ users, meetups }: Props) { const { query } = useRouter() const TITLE = 'Supabase LaunchWeek 8' @@ -149,7 +153,7 @@ export default function TicketHome({ users }: Props) { />

    -
    +
    +
    + + + +
    + + + + +
    {supabase && (
    @@ -185,15 +199,19 @@ export default function TicketHome({ users }: Props) { ) } -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { +export const getServerSideProps: GetServerSideProps = async () => { // fetch users for the TicketBrickWall const { data: users } = await supabaseAdmin! .from('lw8_tickets_golden') - .select('username, golden', { count: 'exact' }) + .select('username, golden') + .limit(1000) + + const { data: meetups } = await supabaseAdmin!.from('lw8_meetups').select('*') return { props: { users, + meetups, }, } } diff --git a/apps/www/pages/launch-week/tickets/[username].tsx b/apps/www/pages/launch-week/tickets/[username].tsx index 37808e679e4..0aa62979f24 100644 --- a/apps/www/pages/launch-week/tickets/[username].tsx +++ b/apps/www/pages/launch-week/tickets/[username].tsx @@ -114,7 +114,7 @@ export default function UsernamePage({ user, users, ogImageUrl }: Props) { )}
    -
    +
    -
    +
    {

    You can download our latest DPA document by submitting your email here.

    {formSubmitted ? ( -

    +

    Thank you for your submission! A new tab should have opened with the DPA document

    diff --git a/apps/www/pages/open-source/index.tsx b/apps/www/pages/open-source/index.tsx index 1aac63bdcbe..49d24b55151 100644 --- a/apps/www/pages/open-source/index.tsx +++ b/apps/www/pages/open-source/index.tsx @@ -82,8 +82,8 @@ const OpenSource = () => { {maintainerPills.map((x) => (
  • setActivePill(x)} > diff --git a/apps/www/pages/partners/experts/[slug].tsx b/apps/www/pages/partners/experts/[slug].tsx index ffb5f8fe409..af94fef4e3c 100644 --- a/apps/www/pages/partners/experts/[slug].tsx +++ b/apps/www/pages/partners/experts/[slug].tsx @@ -160,7 +160,7 @@ function Partner({
    Category - + {partner.category} @@ -172,7 +172,7 @@ function Partner({ href={partner.website} target="_blank" rel="noreferrer" - className="text-brand-900 hover:text-brand-800 transition-colors" + className="text-brand hover:text-brand-300 transition-colors" > {new URL(partner.website).host} @@ -185,7 +185,7 @@ function Partner({ href={partner.docs} target="_blank" rel="noreferrer" - className="text-brand-900 hover:text-brand-800 transition-colors" + className="text-brand hover:text-brand-300 transition-colors" > Learn diff --git a/apps/www/pages/partners/integrations/[slug].tsx b/apps/www/pages/partners/integrations/[slug].tsx index 95a87f58eba..76772b66469 100644 --- a/apps/www/pages/partners/integrations/[slug].tsx +++ b/apps/www/pages/partners/integrations/[slug].tsx @@ -201,7 +201,7 @@ function Partner({
    Category - + {partner.category} @@ -213,7 +213,7 @@ function Partner({ href={partner.website} target="_blank" rel="noreferrer" - className="text-brand-900 hover:text-brand-800 transition-colors" + className="text-brand hover:text-brand-300 transition-colors" > {new URL(partner.website).host} @@ -226,7 +226,7 @@ function Partner({ href={partner.docs} target="_blank" rel="noreferrer" - className="text-brand-900 hover:text-brand-800 transition-colors" + className="text-brand hover:text-brand-300 transition-colors" > Learn diff --git a/apps/www/pages/partners/integrations/index.tsx b/apps/www/pages/partners/integrations/index.tsx index 8eba3c43e9b..eccd6d0ba2c 100644 --- a/apps/www/pages/partners/integrations/index.tsx +++ b/apps/www/pages/partners/integrations/index.tsx @@ -202,10 +202,10 @@ function IntegrationPartnersPage(props: Props) { INTEGRATIONS - EXPERTS + EXPERTS - + BECOME A PARTNER diff --git a/apps/www/pages/pricing/index.tsx b/apps/www/pages/pricing/index.tsx index 3940e1b06e6..1cc52e0a397 100644 --- a/apps/www/pages/pricing/index.tsx +++ b/apps/www/pages/pricing/index.tsx @@ -104,7 +104,7 @@ export default function IndexPage() { }) => { return (
    -

    +

    {plan}

    @@ -150,7 +150,7 @@ export default function IndexPage() {
    -

    Pricing

    +

    Pricing

    Predictable pricing, no surprises

    Start building for free, collaborate with a team, then scale to millions of users @@ -174,7 +174,7 @@ export default function IndexPage() { key={`row-${plan.name}`} className={[ plan.name === 'Pro' - ? 'bg-brand-1100 dark:bg-brand-900 border px-0.5 -mt-8 rounded-[6px]' + ? 'bg-brand-600 dark:bg-brand border px-0.5 -mt-8 rounded-[6px]' : '', ].join(' ')} > @@ -198,13 +198,13 @@ export default function IndexPage() {

    {plan.name}

    {plan.nameBadge && ( - + {plan.nameBadge} )} @@ -249,7 +249,7 @@ export default function IndexPage() { {plan.warning && (

    - + {plan.warning}

    @@ -273,7 +273,7 @@ export default function IndexPage() { {plan.features.map((feature) => (