Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
90 changes: 90 additions & 0 deletions public/images/celestia-logo-invert.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 27 additions & 20 deletions public/images/celestia-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions src/app/layout.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import Nav from "@/components/Nav/Nav";
import Footer from "@/components/Footer/Footer";
import LoadingScreen from "@/components/Loading/LoadingScreen";
import meta from "@/components/Meta/Meta";
import Nav from "@/components/Nav/Nav";
import { BannerProvider } from "@/context/BannerContext";
import ScrollPositionProvider from "@/utils/scrollLock";
import PlausibleProvider from "next-plausible";
import { Suspense } from "react";
import "./styles/fonts.css";
import "./styles/globals.scss";
import "./styles/text-link.scss";
import { Suspense } from "react";
import meta from "@/components/Meta/Meta";
import LoadingScreen from "@/components/Loading/LoadingScreen";
import { BannerProvider } from "@/context/BannerContext";
import PlausibleProvider from "next-plausible";

export const metadata = meta();

Expand Down
22 changes: 22 additions & 0 deletions src/app/lazybridge/layout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import LoadingScreen from "@/components/Loading/LoadingScreen";
import Nav from "@/components/Nav/Nav";
import { Suspense } from "react";

export const metadata = {
title: "LazyBridge | Celestia",
description:
"LazyBridge: A unified blockchain solution enabling seamless cross-chain transactions, developer flexibility, and instant access to multi-chain assets and users.",
};

const LazyBridgeLayout = ({ children }) => {
return (
<>
<Nav dark={true} />
<main id={"main-content"}>
<Suspense fallback={<LoadingScreen />}>{children}</Suspense>
</main>
</>
);
};

export default LazyBridgeLayout;
48 changes: 48 additions & 0 deletions src/app/lazybridge/page.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import Container from "@/components/Container/Container";
import PrimaryHeroDark from "@/components/Heroes/PrimaryHeroDark";
import PrimaryButton from "@/macros/Buttons/PrimaryButton";
import { Body, Display } from "@/macros/Copy";
export default async function Home() {
return (
<>
<PrimaryHeroDark
headline={`Lazybridging testnet`}
subheadline={<>Hangout with the Celestia community IRL or online.</>}
buttons={[
{ text: "try 1-click interaction", url: "/build" },
{ text: "Build with lazybridging", url: "#explore-celestia" },
]}
backgroundImage='/images/app/lasybridge/celestia_lazybridging_bg.png'
/>

<section className='py-24 bg-black'>
<Container size={"lg"}>
<Display
size={"sm"}
className={`mb-8 max-w-[731px]`}
style={{
background: "linear-gradient(58.28deg, #FFFFFF -5.81%, #9747FF 109.36%)",
WebkitBackgroundClip: "text",
WebkitTextFillColor: "transparent",
backgroundClip: "text",
textFillColor: "transparent",
}}
>
Build whatever with instant access to users and assets
</Display>
<Body size={"lg"} className={`mb-8 text-white`}>
Today, buildings apps on rollups often means trading off access to users and liquidity on other chains due to fragmentation.
</Body>
<Body size={"md"} className={`mb-8 text-white`}>
Lazybridging aims to eliminate this tradeoff, enabling a unified onchain experience for end-users while giving developers the
best of all worlds: the freedom to build whatever and instant access to users and assets on all other major blockchains.
</Body>
<PrimaryButton href={"#"} className={"inline-block mr-3 mb-3 group"} noBorder={false}>
Continue
</PrimaryButton>
</Container>
</section>
<div className='block h-10 -mb-10 bg-black w-fill'></div>
</>
);
}
10 changes: 5 additions & 5 deletions src/app/page.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import PrimaryHero from "@/components/Heroes/PrimaryHero";
import Blog from "@/components/Resources/Blog/Blog";
import AlternatingMediaRows from "@/components/AlternatingMediaRows/AlternatingMediaRows";
import { Link } from "@/micros/TertiaryPageMicors/TertiaryPageMicors";
import HomepageScrollText from "@/components/ScrollText/views/HomepageScrollText";
import ExploreCardsContainer from "@/components/Cards/ExploreCards/ExploreCardsContainer";
import ExploreCard from "@/components/Cards/ExploreCards/ExploreCard";
import ExploreCardsContainer from "@/components/Cards/ExploreCards/ExploreCardsContainer";
import EcosytemExplorer from "@/components/Ecosystem/EcosytemExplorer/EcosytemExplorer";
import PrimaryHero from "@/components/Heroes/PrimaryHero";
import Blog from "@/components/Resources/Blog/Blog";
import HomepageScrollText from "@/components/ScrollText/views/HomepageScrollText";
import { ANALYTICS_EVENTS } from "@/constants/analytics";
import { Link } from "@/micros/TertiaryPageMicors/TertiaryPageMicors";

export default async function Home() {
const posts = await getPosts();
Expand Down
47 changes: 46 additions & 1 deletion src/app/styles/globals.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,59 @@
-moz-osx-font-smoothing: grayscale;
}

:root {
--scrollbar-width: calc(100vw - 100%);
}
html {
margin-right: calc(-1 * var(--scrollbar-width));
width: 100%;
height: -webkit-fill-available;
overflow-x: hidden;
overflow-y: scroll;
}

html,
body {
width: 100vw;
overflow-x: hidden;
scroll-behavior: smooth;
}

body {
font-family: "UntitledSans", sans-serif;
font-weight: 400;
}

/* Banner-adjusted components */
.banner-adjusted {
transition: min-height var(--transition-duration, 0.3s) ease-out, padding var(--transition-duration, 0.3s) ease-out,
margin var(--transition-duration, 0.3s) ease-out;
will-change: min-height, padding, margin;
}

/* Ensure smooth header transitions */
header {
will-change: transform;
}

/* Smooth banner animations */
.banner-animation-enter {
opacity: 0;
transform: translateY(-100%);
}

.banner-animation-enter-active {
opacity: 1;
transform: translateY(0);
transition: opacity 300ms, transform 300ms;
}

.banner-animation-exit {
opacity: 1;
transform: translateY(0);
}

.banner-animation-exit-active {
opacity: 0;
transform: translateY(-100%);
transition: opacity 300ms, transform 300ms;
}
16 changes: 8 additions & 8 deletions src/app/what-is-celestia/page.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import VerticalTitleCard from "@/components/Cards/VerticalTitleCards/VerticalTitleCard";
import SecondaryHero from "@/components/Heroes/SecondaryHero";
import WhatIsCelestiaScrollText from "@/components/ScrollText/views/WhatIsCelestiaScrollText";
import Introduction from "@/components/Introduction/Introduction";
import { Heading, Display, Body } from "@/macros/Copy";
import SecondaryButton from "@/macros/Buttons/SecondaryButton";
import ListSection from "@/components/List/Layout/ListSection";
import ListItem from "@/components/List/ListItem";
import Icon from "@/macros/Icons/Icon";
import ArrowLongSVG from "@/macros/SVGs/ArrowLongSVG";
import ScrollNavigation from "@/components/ScrollNavigation/ScrollNavigation";
import ScrollSection from "@/components/ScrollNavigation/ScrollSection";
import WhatIsCelestiaScrollText from "@/components/ScrollText/views/WhatIsCelestiaScrollText";
import SecondaryButton from "@/macros/Buttons/SecondaryButton";
import { Body, Display, Heading } from "@/macros/Copy";
import { Col, Row } from "@/macros/Grids";
import Icon from "@/macros/Icons/Icon";
import ArrowLongSVG from "@/macros/SVGs/ArrowLongSVG";
import HeadingWithSuperscript from "@/micros/HeadingWithSuperscript/HeadingWithSuperscript";
import { Row, Col } from "@/macros/Grids";
import Image from "next/image";
import VerticalTitleCard from "@/components/Cards/VerticalTitleCards/VerticalTitleCard";

import Container from "@/components/Container/Container";
import meta from "@/components/Meta/Meta";
import seo from "@/data/what-is-celestia/seo";
import Container from "@/components/Container/Container";

export const metadata = meta(seo);

Expand Down
11 changes: 5 additions & 6 deletions src/components/AlternatingMediaRows/MediaRow.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
"use client";
import { Body, Heading } from "@/macros/Copy";
import VideoPlayer from "@/components/VideoPlayer/VideoPlayer";
import PrimaryButton from "@/macros/Buttons/PrimaryButton";
import SecondaryButton from "@/macros/Buttons/SecondaryButton";
import VideoPlayer from "@/components/VideoPlayer/VideoPlayer";
import { Body, Heading } from "@/macros/Copy";
import { usePlausible } from "next-plausible";
import React from "react";

const MediaRow = ({ title, body, buttons, videoSrc, className, index, totalRows }) => {
const videoRight = index % 2 === 0 ? true : false;
Expand Down Expand Up @@ -51,10 +52,9 @@ const MediaRow = ({ title, body, buttons, videoSrc, className, index, totalRows
</div>
{buttons.map((button, index) => {
return (
<>
<React.Fragment key={`button-${index}`}>
{button.type === "primary" ? (
<PrimaryButton
key={index}
href={button.url}
className={"inline-block mr-3 mb-3 group"}
lightMode
Expand All @@ -65,7 +65,6 @@ const MediaRow = ({ title, body, buttons, videoSrc, className, index, totalRows
</PrimaryButton>
) : (
<SecondaryButton
key={index}
href={button.url}
className={"inline-block mr-3 mb-3 group"}
lightMode={false}
Expand All @@ -75,7 +74,7 @@ const MediaRow = ({ title, body, buttons, videoSrc, className, index, totalRows
{button.text}
</SecondaryButton>
)}
</>
</React.Fragment>
);
})}
</div>
Expand Down
Loading