Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
1 change: 1 addition & 0 deletions src/new-landingpage/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" href="/src/new-assets/visualailogo.png" />
<script src="https://cdn.tailwindcss.com"></script>
<title>Langflow Landing Page</title>
</head>
<body>
Expand Down
43 changes: 43 additions & 0 deletions src/new-landingpage/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/new-landingpage/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
},
"dependencies": {
"@clerk/clerk-react": "^5.32.4",
"framer-motion": "^11.11.11",
"react-cookie": "^7.1.4",
"react": "^18.3.1",
"react-dom": "^18.3.1",
Expand Down
46 changes: 3 additions & 43 deletions src/new-landingpage/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,58 +1,18 @@
import { useAuth } from "@clerk/clerk-react";
import { BrowserRouter, Link, Navigate, Route, Routes } from "react-router-dom";
import { BrowserRouter, Navigate, Route, Routes } from "react-router-dom";
import { LANDING_BASENAME } from "./landingRoutes";
import NewLandingPageLogin from "./NewLandingPageLogin";
import OrganizationOnboarding from "./OrganizationOnboarding";
import "./App.css";
import DashboardPage from "./DashboardPage";
import { useCookies } from "react-cookie";
import LandingPage from "./LandingPage";
import {
hasWorkspaceSession,
LANGFLOW_ACCESS_TOKEN,
LANGFLOW_REFRESH_TOKEN,
} from "./session";

const features = [
"Visual builder for complex AI flows",
"One-click deployment",
"Extensible component catalog",
"Bring your own keys and data",
];

function LandingHero() {
return (
<main className="hero">
<section>
<p className="eyebrow">Introducing</p>
<h1>Langflow Landing Page</h1>
<p className="description">
This lightweight Vite application is served from <code>/new/landingpage</code> and helps demonstrate how nginx can multiplex
between Langflow and standalone marketing pages inside a single container image.
</p>
<div className="cta-row">
<Link className="cta" to="/login">
Log in
</Link>
<a className="secondary" href="https://github.com/langflow-ai/langflow" target="_blank" rel="noreferrer">
Visit GitHub
</a>
<a className="secondary" href="https://docs.langflow.org" target="_blank" rel="noreferrer">
Explore Docs
</a>
</div>
</section>
<section className="feature-card">
<h2>Why Langflow?</h2>
<ul>
{features.map((feature) => (
<li key={feature}>{feature}</li>
))}
</ul>
</section>
</main>
);
}

function RootRoute() {
const { isSignedIn } = useAuth();
const [cookies] = useCookies([LANGFLOW_ACCESS_TOKEN, LANGFLOW_REFRESH_TOKEN]);
Expand All @@ -71,7 +31,7 @@ function RootRoute() {
return <Navigate to={destination} replace />;
}

return <LandingHero />;
return <LandingPage />;
}

export default function App() {
Expand Down
Loading
Loading