Skip to content

Commit 4f26a7a

Browse files
feat(landing): new landing page (#1219)
* update infra and remove railway * feat(landing): background; font; metadata; nav * finished navbar ui * completed hero UI * hero heading UI/UX * updated icon descriptions * canvas improvements * canvas improvements * updated canvas; adjusted background * removed gsap; adjusted canvas height * added templates outline * feat(landing, landing-2): Update background, hero components, nav, integrations, pricing, templates, testimonials, tailwind config * feat(landing, landing-2): Update background, footer, hero, index components, integrations, landing-pricing, landing templates, footer in sections, icons, middleware * improvement(landing): optimized html * feat(landing): update background, footer, hero, integrations, landing-enterprise, landing-pricing, landing-templates, nav, add github-stars route * feat(landing): added onclicks * feat(landing): commented out templates * fix: reset environment * fixed build * feat(landing): updated background, footer, index, integrations, landing-pricing, nav, testimonials, landing page, fonts, environment * feat(landing): swapped integrations and pricing * navigation for new landing * login/signup/terms/privacy preliminary changes, as well as navigation setup * feat(landing,nav,hero,integrations,footer,testimonials,background,structured-data): updates and additions across components * feat(landing): updated terms and privacy * feat(auth): adjusted background * feat(auth): signup and login complete * feat(auth): completed all flows ui/ux * fix: testing and build * feat(landing, auth): update nav and login tests * fix(ui): update auth navigation component (149 chars) * restore scripts dir * revert back to old globals.css brand primary color, updated invite page * Revert "update infra and remove railway" This reverts commit abfa2f8. * remove logos * add gh stars action for reuse on landing + cht --------- Co-authored-by: waleedlatif1 <[email protected]>
1 parent ab97ac5 commit 4f26a7a

File tree

96 files changed

+5628
-7183
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+5628
-7183
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
export default function AuthBackgroundSVG() {
2+
return (
3+
<svg
4+
aria-hidden='true'
5+
className='pointer-events-none fixed inset-0 h-full w-full'
6+
style={{ zIndex: 5 }}
7+
viewBox='0 0 1880 960'
8+
fill='none'
9+
xmlns='http://www.w3.org/2000/svg'
10+
preserveAspectRatio='xMidYMid slice'
11+
>
12+
{/* Right side paths - extended to connect */}
13+
<path
14+
d='M1393.53 42.8889C1545.99 173.087 1688.28 339.75 1878.44 817.6'
15+
stroke='#E7E4EF'
16+
strokeWidth='2'
17+
/>
18+
<path d='M1624.21 960L1625.78 0' stroke='#E7E4EF' strokeWidth='2' />
19+
<path d='M1832.67 715.81L1880 716.031' stroke='#E7E4EF' strokeWidth='2' />
20+
<path d='M1393.4 40V0' stroke='#E7E4EF' strokeWidth='2' />
21+
<circle cx='1393.03' cy='40.0186' r='8.07846' fill='white' stroke='#E7E4EF' strokeWidth='2' />
22+
<circle cx='1625.28' cy='303.147' r='8.07846' fill='white' stroke='#E7E4EF' strokeWidth='2' />
23+
<circle cx='1837.37' cy='715.81' r='8.07846' fill='white' stroke='#E7E4EF' strokeWidth='2' />
24+
25+
{/* Left side paths - extended to connect */}
26+
<path
27+
d='M160 157.764C319.811 136.451 417.278 102.619 552.39 0'
28+
stroke='#E7E4EF'
29+
strokeWidth='2'
30+
/>
31+
<path d='M310.22 803.025V0' stroke='#E7E4EF' strokeWidth='2' />
32+
<path
33+
d='M160 530.184C256.142 655.353 308.338 749.141 348.382 960'
34+
stroke='#E7E4EF'
35+
strokeWidth='2'
36+
/>
37+
<path d='M160 157.764V960' stroke='#E7E4EF' strokeWidth='2' />
38+
<path d='M-50 157.764L160 157.764' stroke='#E7E4EF' strokeWidth='2' />
39+
<circle cx='160' cy='157.764' r='8.07846' fill='white' stroke='#E7E4EF' strokeWidth='2' />
40+
<circle cx='310.22' cy='803.025' r='8.07846' fill='white' stroke='#E7E4EF' strokeWidth='2' />
41+
<circle cx='160' cy='530.184' r='8.07846' fill='white' stroke='#E7E4EF' strokeWidth='2' />
42+
</svg>
43+
)
44+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { cn } from '@/lib/utils'
2+
import AuthBackgroundSVG from './auth-background-svg'
3+
4+
type AuthBackgroundProps = {
5+
className?: string
6+
children?: React.ReactNode
7+
}
8+
9+
export default function AuthBackground({ className, children }: AuthBackgroundProps) {
10+
return (
11+
<div className={cn('relative min-h-screen w-full overflow-hidden', className)}>
12+
<AuthBackgroundSVG />
13+
<div className='relative z-20'>{children}</div>
14+
</div>
15+
)
16+
}

apps/sim/app/(auth)/components/social-login-buttons.tsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { useEffect, useState } from 'react'
44
import { GithubIcon, GoogleIcon } from '@/components/icons'
55
import { Button } from '@/components/ui/button'
66
import { client } from '@/lib/auth-client'
7+
import { inter } from '@/app/fonts/inter'
78

89
interface SocialLoginButtonsProps {
910
githubAvailable: boolean
@@ -92,24 +93,24 @@ export function SocialLoginButtons({
9293
const githubButton = (
9394
<Button
9495
variant='outline'
95-
className='w-full border-neutral-700 bg-neutral-900 text-white hover:bg-neutral-800 hover:text-white'
96+
className='w-full rounded-[10px] shadow-sm hover:bg-gray-50'
9697
disabled={!githubAvailable || isGithubLoading}
9798
onClick={signInWithGithub}
9899
>
99-
<GithubIcon className='mr-2 h-4 w-4' />
100-
{isGithubLoading ? 'Connecting...' : 'Continue with GitHub'}
100+
<GithubIcon className='!h-[18px] !w-[18px] mr-1' />
101+
{isGithubLoading ? 'Connecting...' : 'GitHub'}
101102
</Button>
102103
)
103104

104105
const googleButton = (
105106
<Button
106107
variant='outline'
107-
className='w-full border-neutral-700 bg-neutral-900 text-white hover:bg-neutral-800 hover:text-white'
108+
className='w-full rounded-[10px] shadow-sm hover:bg-gray-50'
108109
disabled={!googleAvailable || isGoogleLoading}
109110
onClick={signInWithGoogle}
110111
>
111-
<GoogleIcon className='mr-2 h-4 w-4' />
112-
{isGoogleLoading ? 'Connecting...' : 'Continue with Google'}
112+
<GoogleIcon className='!h-[18px] !w-[18px] mr-1' />
113+
{isGoogleLoading ? 'Connecting...' : 'Google'}
113114
</Button>
114115
)
115116

@@ -120,9 +121,9 @@ export function SocialLoginButtons({
120121
}
121122

122123
return (
123-
<div className='grid gap-3'>
124-
{githubAvailable && githubButton}
124+
<div className={`${inter.className} grid gap-3 font-light`}>
125125
{googleAvailable && googleButton}
126+
{githubAvailable && githubButton}
126127
</div>
127128
)
128129
}

apps/sim/app/(auth)/layout.tsx

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,42 @@
11
'use client'
22

3-
import Image from 'next/image'
4-
import Link from 'next/link'
5-
import { useBrandConfig } from '@/lib/branding/branding'
6-
import { GridPattern } from '@/app/(landing)/components/grid-pattern'
3+
import { useEffect } from 'react'
4+
import Nav from '@/app/(landing)/components/nav/nav'
5+
import AuthBackground from './components/auth-background'
6+
7+
// Helper to detect if a color is dark
8+
function isColorDark(hexColor: string): boolean {
9+
const hex = hexColor.replace('#', '')
10+
const r = Number.parseInt(hex.substr(0, 2), 16)
11+
const g = Number.parseInt(hex.substr(2, 2), 16)
12+
const b = Number.parseInt(hex.substr(4, 2), 16)
13+
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255
14+
return luminance < 0.5
15+
}
716

817
export default function AuthLayout({ children }: { children: React.ReactNode }) {
9-
const brand = useBrandConfig()
18+
useEffect(() => {
19+
// Check if brand background is dark and add class accordingly
20+
const rootStyle = getComputedStyle(document.documentElement)
21+
const brandBackground = rootStyle.getPropertyValue('--brand-background-hex').trim()
1022

23+
if (brandBackground && isColorDark(brandBackground)) {
24+
document.body.classList.add('auth-dark-bg')
25+
} else {
26+
document.body.classList.remove('auth-dark-bg')
27+
}
28+
}, [])
1129
return (
12-
<main className='relative flex min-h-screen flex-col bg-[var(--brand-background-hex)] font-geist-sans text-white'>
13-
{/* Background pattern */}
14-
<GridPattern
15-
x={-5}
16-
y={-5}
17-
className='absolute inset-0 z-0 stroke-[#ababab]/5'
18-
width={90}
19-
height={90}
20-
aria-hidden='true'
21-
/>
30+
<AuthBackground>
31+
<main className='relative flex min-h-screen flex-col font-geist-sans text-foreground'>
32+
{/* Header - Nav handles all conditional logic */}
33+
<Nav hideAuthButtons={true} variant='auth' />
2234

23-
{/* Header */}
24-
<div className='relative z-10 px-6 pt-9'>
25-
<div className='mx-auto max-w-7xl'>
26-
<Link href='/' className='inline-flex'>
27-
{brand.logoUrl ? (
28-
<img
29-
src={brand.logoUrl}
30-
alt={`${brand.name} Logo`}
31-
width={56}
32-
height={56}
33-
className='h-[56px] w-[56px] object-contain'
34-
/>
35-
) : (
36-
<Image src='/sim.svg' alt={`${brand.name} Logo`} width={56} height={56} />
37-
)}
38-
</Link>
35+
{/* Content */}
36+
<div className='relative z-30 flex flex-1 items-center justify-center px-4 pb-24'>
37+
<div className='w-full max-w-lg px-4'>{children}</div>
3938
</div>
40-
</div>
41-
42-
{/* Content */}
43-
<div className='relative z-10 flex flex-1 items-center justify-center px-4 pb-6'>
44-
<div className='w-full max-w-md'>{children}</div>
45-
</div>
46-
</main>
39+
</main>
40+
</AuthBackground>
4741
)
4842
}

0 commit comments

Comments
 (0)