diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..47cc272 --- /dev/null +++ b/next.config.js @@ -0,0 +1,41 @@ +const { PHASE_DEVELOPMENT_SERVER } = require('next/constants') + +/** @type {import('next').NextConfig} */ +module.exports = (phase, { defaultConfig }) => { + const defaultConfigWWW = { + images: { + remotePatterns: [ + { + protocol: "https", + hostname: "raw.githubusercontent.com", + }, + { + protocol: "https", + hostname: "cdn.jsdelivr.net", + } + ], + domains: ['cdn.jsdelivr.net', "raw.githubusercontent.com"], // Allow images from jsDelivr + }, + experimental: { + serverActions: { + // edit: updated to new key. Was previously `allowedForwardedHosts` + allowedOrigins: ["localhost:3000", "get-zen.vercel.app"], + }, + }, + compiler: { + styledComponents: true, + }, + }; + if (phase === PHASE_DEVELOPMENT_SERVER) { + return { + ...defaultConfigWWW, + // development only config options here + }; + } + return { + ...defaultConfigWWW, + // production only config options here + output: 'export', + }; +}; + diff --git a/next.config.mjs b/next.config.mjs deleted file mode 100644 index 7d5f96b..0000000 --- a/next.config.mjs +++ /dev/null @@ -1,28 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - output: 'export', - images: { - remotePatterns: [ - { - protocol: "https", - hostname: "raw.githubusercontent.com", - }, - { - protocol: "https", - hostname: "cdn.jsdelivr.net", - } - ], - domains: ['cdn.jsdelivr.net', "raw.githubusercontent.com"], // Allow images from jsDelivr - }, - experimental: { - serverActions: { - // edit: updated to new key. Was previously `allowedForwardedHosts` - allowedOrigins: ["localhost:3000", "get-zen.vercel.app"], - }, - }, - compiler: { - styledComponents: true, - }, -}; - -export default nextConfig; diff --git a/src/app/globals.css b/src/app/globals.css index 76e5131..fd93773 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -41,6 +41,8 @@ --color-two: #fe8bbb; --color-three: #9e7aff; + --surface: rgb(235, 235, 235); + /* --color-one: #37ecba; --color-two: #72afd3; @@ -52,6 +54,8 @@ --background: 0 0% 0%; --foreground: 0 0% 98%; + --surface: rgb(23, 23, 23); + --card: 0 0% 3.9%; --card-foreground: 0 0% 98%; @@ -86,5 +90,7 @@ } body { @apply bg-background text-foreground; + + scroll-behavior: smooth; } } diff --git a/src/components/features.tsx b/src/components/features.tsx index 0805bab..f6129d7 100644 --- a/src/components/features.tsx +++ b/src/components/features.tsx @@ -4,9 +4,11 @@ import { CheckIcon, ChevronLeft, ChevronRight, + ExternalLinkIcon, EyeIcon, EyeOffIcon, Github, + HeartHandshake, HomeIcon, RabbitIcon, ShieldAlertIcon, @@ -45,19 +47,19 @@ import { ny } from '@/lib/utils'; function Checkmark() { return ( - + ); } function Cross() { return ( - + ); } function Question() { return ( - + ); } @@ -70,389 +72,87 @@ export default function Features() { return () => clearInterval(interval); }); return ( -
-
-
-
- -
-
-

- Goodbye bad performance -

-

- We are constantly tweaking Firefox's engine and settings to make it - faster than ever. Learn more -

+
+
+
+

Built for simplicity

+

Zen Browser is designed to be simple and easy to use. It's built with the user in mind, so you can focus on what matters most.

+
+
+ +

Completely Customizable

+
+
+ +

Vertical Tabs

+
+
+ +

Thoughtful Design

+
-
-
- -
-
-

Privacy first

-

- We don't track you. We don't sell your data. We don't even know - who you are.{' '} - - Learn more - -

-
-
-
-
- -
-
-

Secure by default

-

- We are always using the latest security features from Firefox to - keep you safe.{' '} - - Learn more - -

-
-
-
- -

User experience comes first

-

- We are always looking for ways to make your experience better. - Always looking for feedback and suggestions! -

-
-
-
-
-
-
-

Customization is key

-

- We are always looking for ways to make your experience better. - With stackable themes that can be mixed and matched, you can - create a browser that is truly yours.{' '} - - Learn more - -

-
- - - -
-
- {COLORS.map((color) => ( -
- ))} -
-
- -
- - Checkout our themes store - - -
-
-
-
-
-
-

Compact mode is here!

-

- With a new compact mode, you can save space and focus on what - matters. -

-
- Killer feature -
-
- - - -
- -
-
-
-
-
- What makes Zen Browser different? -
- -
-
- - - - - How Zen compares to other browsers - - - zen - Zen - - - floorp - Floorp - - - librewolf - LibreWolf - - - - - - - Fine-grained security like sandboxing - - - - - - - - - - - - - - Optimized for peak performance - - - - - - - - - - - - - - Based on the latest Firefox - - - - - - - - - - - - - - Customizable with cutting-edge features - - - - - - - - - - - - -
-
-
-
-
-
- -

Open source

-
-

- Zen Browser is open source and always will be. You can check out - the source code on our{' '} - - Github - - ! -

-
-
-
- -

Updated

-
-

- We are always working on new features and improvements. You can - expect regular updates to keep your browser up to date. -

-
- -
-
- -

Community

-
-

- Zen Browser is built by a community of passionate developers and - designers. You can join us on our{' '} - - Discord - - ! -

-
-
-
-
-
- -

Your Data

-
-

- We are always looking for ways to improve your privacy. Zen - Browser comes with built-in privacy features to keep you safe. -

-
-
-
- -

Improvements

-
-

- We are always looking for ways to make Zen Browser better. You can - expect regular updates with new features and improvements. -

-
-
-
-
-
- - - -
-
-
-
setFeature(0)} - > -

- - Split view -

-

- Split your browser into two windows to work more efficiently. -

-
-
setFeature(1)} - > -

- - Workspaces -

-

- Organize your tabs into workspaces to keep things tidy. -

-
-
setFeature(2)} - > -

- - Sidebar -

-

- Keep your favorite websites at your fingertips with the sidebar. -

-
+ Zen Browser +
+
+ Zen Browser +
+

Split Views

+

Zen Browser allows you to split your view into multiple panes, so you can work on multiple things at once. It's perfect for multitasking.

+
+
-
+
+
+

Sidebar

+

Zen Browser has a built-in sidebar that lets you quickly access your favorite websites, bookmarks, and more. It's the perfect way to stay organized.

+
+
+ +

Quick Access

+
+
+ +

Customizable

+
+
+ +

Easy to Use

+
+
+
+ Zen Browser +
+
+ Zen Browser +
+

Introducing Compact Mode

+

Zen Browser's compact mode gives you more screen real estate by hiding the title bar and tabs. It's perfect for when you need to focus on your work.

+
+ +
+
+
+
+
+

Convinced?

+

Download Zen Browser now and experience the future of browsing.

+
+ +
+
+
+
+

Even more convinced?

+

Help support the development of Zen Browser by donating to our cause.

+
+ + +
+
+
+
); } diff --git a/src/components/header.tsx b/src/components/header.tsx index cd1fae9..69507b2 100644 --- a/src/components/header.tsx +++ b/src/components/header.tsx @@ -7,7 +7,7 @@ import AnimatedGradientText from "./ui/animated-gradient-text"; import { Button } from "./ui/button"; import { BorderBeam } from "./ui/border-beam"; import { ny } from "@/lib/utils"; -import { ChevronRight } from "lucide-react"; +import { ChevronDown, ChevronRight } from "lucide-react"; import Particles from "./ui/particles"; import Image from "next/image"; import Link from "next/link"; @@ -18,7 +18,7 @@ export default function Header() { <>
@@ -42,64 +42,22 @@ export default function Header() {
We care about your experience, not your data.

-
- - -
- - ); } diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx index 6ef26fb..8e96fe1 100644 --- a/src/components/ui/button.tsx +++ b/src/components/ui/button.tsx @@ -5,7 +5,7 @@ import { type VariantProps, cva } from "class-variance-authority"; import { ny } from "@/lib/utils"; const buttonVariants = cva( - "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", + "inline-flex items-center justify-center whitespace-nowrap rounded-full text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", { variants: { variant: { @@ -21,7 +21,7 @@ const buttonVariants = cva( link: "text-primary underline-offset-4 hover:underline", }, size: { - default: "h-9 px-4 py-2", + default: "h-12 px-8 py-4", sm: "h-8 rounded-md px-3 text-xs", lg: "h-10 rounded-md px-8", icon: "h-9 w-9", diff --git a/tailwind.config.ts b/tailwind.config.ts index c931e80..8ef2c95 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -28,6 +28,7 @@ const config = { ring: 'hsl(var(--ring))', background: 'hsl(var(--background))', foreground: 'hsl(var(--foreground))', + surface: "var(--surface)", primary: { DEFAULT: 'hsl(var(--primary))', foreground: 'hsl(var(--primary-foreground))',