/*
Skyline Bulletin — Simple, responsive "Coming Soon" page
File: src/App.tsx (React + Vite + TypeScript)
This single-file starter provides a focused, responsive "Coming Soon" landing page with:
- Hero with headline, subtitle, and email capture
- Responsive layout that works on mobile, tablet, desktop
- Accessible form (no backend; front-end mock) and success state
- Small features list and social links area
- Plain CSS inlined as separate file content below (create src/styles.css)
- No Tailwind; uses modern CSS with CSS variables and flex/grid
How to use:
1. Create a Vite + React + TS project if you haven't: `npm create vite@latest skyline-bulletin -- --template react-ts`
2. Install optional icons (lucide-react) if you want icons: `npm install lucide-react`
3. Replace src/App.tsx with this file and create src/styles.css with the CSS provided below.
4. Run `npm run dev`.
*/
import React, { useState } from "react";
import { Mail, Twitter, Linkedin, Sun, Moon } from "lucide-react";
import "./styles.css";
import logo from "./assets/Skybulletin_logo.jpeg";
export default function App(){
const [email, setEmail] = useState("");
const [subscribed, setSubscribed] = useState(false);
const [theme, setTheme] = useState<"light"|"dark">("light");
const onSubmit = (e: React.FormEvent) => {
e.preventDefault();
if (!email) return;
// mock subscribe
setSubscribed(true);
};
return (
Skyline Bulletin — Coming Soon
Short, verified, people-first news. Clean design. No noise. Launching soon.
{subscribed ? (
Thanks — you’re on the list.
We’ll email you when Skyline Bulletin launches.
) : (
)}
No advertisment • Human-first
Expected launch: Q4
Concise briefs
Quick reads for busy days.
Verified sources
Transparent sourcing and context.
People-first
Human editorial judgement over algorithms.
);
}