@@ -28,6 +28,23 @@ export function Footer() {
]}
/>
+
+
@@ -61,16 +78,29 @@ function FooterColumn({
{title}
- {links.map((l) => (
- -
-
- {l.label}
-
-
- ))}
+ {links.map((l) =>
+ l.external ? (
+ -
+
+ {l.label}
+
+
+ ) : (
+ -
+
+ {l.label}
+
+
+ ),
+ )}
)
diff --git a/src/components/landing/github-icon.tsx b/src/components/landing/github-icon.tsx
new file mode 100644
index 0000000..cec9fcc
--- /dev/null
+++ b/src/components/landing/github-icon.tsx
@@ -0,0 +1,18 @@
+import type { SVGProps } from 'react'
+
+export function GithubIcon(props: SVGProps
) {
+ return (
+
+ )
+}
diff --git a/src/components/landing/nav.tsx b/src/components/landing/nav.tsx
index 4ea9e10..d1b2afc 100644
--- a/src/components/landing/nav.tsx
+++ b/src/components/landing/nav.tsx
@@ -5,6 +5,7 @@ import { useEffect, useState } from 'react'
import { MessageSquare, Menu, X } from 'lucide-react'
import { createClient } from '@/lib/supabase/client'
import { cn } from '@/lib/utils'
+import { GithubIcon } from './github-icon'
/**
* Landing-page top nav. Client component because we need to flip the
@@ -17,9 +18,12 @@ type AuthState = 'pending' | 'signed-in' | 'signed-out'
const LINKS = [
{ href: '#features', label: 'Features' },
{ href: '#how-it-works', label: 'How it works' },
+ { href: '#self-host', label: 'Self-host' },
{ href: '#faq', label: 'FAQ' },
]
+const REPO_URL = 'https://github.com/ArnasDon/wacrm'
+
export function LandingNav() {
const [auth, setAuth] = useState('pending')
const [scrolled, setScrolled] = useState(false)
@@ -75,6 +79,15 @@ export function LandingNav() {
@@ -101,6 +114,16 @@ export function LandingNav() {
{l.label}
))}
+ setMobileOpen(false)}
+ className="flex items-center gap-2 rounded-md px-3 py-2 text-sm text-slate-300 hover:bg-slate-800 hover:text-white"
+ >
+
+ GitHub
+
diff --git a/src/components/landing/open-source.tsx b/src/components/landing/open-source.tsx
new file mode 100644
index 0000000..733a3ec
--- /dev/null
+++ b/src/components/landing/open-source.tsx
@@ -0,0 +1,67 @@
+import { ArrowRight, Server } from 'lucide-react'
+import { Section, SectionHeader } from './section'
+import { GithubIcon } from './github-icon'
+
+const REPO_URL = 'https://github.com/ArnasDon/wacrm'
+const HOSTINGER_URL = 'https://www.hostinger.com/vps-hosting'
+
+export function OpenSource() {
+ return (
+
+ )
+}