From a1c75653d0f43a6557d3472c6d03f8b8f4a43d8b Mon Sep 17 00:00:00 2001 From: Emir Karabeg Date: Tue, 6 May 2025 02:23:45 -0700 Subject: [PATCH] improvement(landing): fixed icons for tweets, added typeform, added logo --- sim/app/(landing)/components/nav-client.tsx | 123 +++++++++++++----- sim/app/(landing)/components/nav-wrapper.tsx | 68 +++++----- .../(landing)/components/sections/footer.tsx | 22 +--- .../components/sections/testimonials.tsx | 22 ++-- sim/app/(landing)/landing.tsx | 10 +- sim/app/layout.tsx | 18 ++- sim/package-lock.json | 2 +- sim/package.json | 2 +- sim/public/logo-sim.svg | 7 + sim/public/sim.svg | 8 ++ sim/public/social/facebook.png | Bin 0 -> 142298 bytes sim/public/social/instagram.png | Bin 0 -> 190592 bytes sim/public/social/twitter.png | Bin 0 -> 151243 bytes sim/public/twitter/daniel.jpg | Bin 0 -> 21594 bytes sim/public/twitter/github-projects.jpg | Bin 0 -> 13222 bytes sim/public/twitter/hasan.jpg | Bin 0 -> 14173 bytes sim/public/twitter/lazukars.png | Bin 0 -> 158130 bytes sim/public/{ => twitter}/nizzy.jpg | Bin sim/public/twitter/samarth.jpg | Bin 0 -> 55419 bytes sim/public/twitter/syamrajk.jpg | Bin 0 -> 46937 bytes sim/public/twitter/xyflow.jpg | Bin 0 -> 11383 bytes 21 files changed, 183 insertions(+), 99 deletions(-) create mode 100644 sim/public/logo-sim.svg create mode 100644 sim/public/sim.svg create mode 100644 sim/public/social/facebook.png create mode 100644 sim/public/social/instagram.png create mode 100644 sim/public/social/twitter.png create mode 100644 sim/public/twitter/daniel.jpg create mode 100644 sim/public/twitter/github-projects.jpg create mode 100644 sim/public/twitter/hasan.jpg create mode 100644 sim/public/twitter/lazukars.png rename sim/public/{ => twitter}/nizzy.jpg (100%) create mode 100644 sim/public/twitter/samarth.jpg create mode 100644 sim/public/twitter/syamrajk.jpg create mode 100644 sim/public/twitter/xyflow.jpg diff --git a/sim/app/(landing)/components/nav-client.tsx b/sim/app/(landing)/components/nav-client.tsx index 5b69e1a381..82698686d1 100644 --- a/sim/app/(landing)/components/nav-client.tsx +++ b/sim/app/(landing)/components/nav-client.tsx @@ -1,6 +1,7 @@ 'use client' import { useEffect, useState } from 'react' +import Image from 'next/image' import Link from 'next/link' import { useRouter } from 'next/navigation' import { AnimatePresence, motion } from 'framer-motion' @@ -75,8 +76,16 @@ const mobileButtonVariants = { // --- End Framer Motion Variants --- // Component for Navigation Links -const NavLinks = ({ mobile, currentPath }: { mobile?: boolean; currentPath?: string }) => { - const links = [ +const NavLinks = ({ + mobile, + currentPath, + onContactClick, +}: { + mobile?: boolean + currentPath?: string + onContactClick?: () => void +}) => { + const navigationLinks = [ // { href: "/", label: "Marketplace" }, ...(currentPath !== '/' ? [{ href: '/', label: 'Home' }] : []), { href: 'https://docs.simstudio.ai/', label: 'Docs', external: true }, @@ -84,22 +93,26 @@ const NavLinks = ({ mobile, currentPath }: { mobile?: boolean; currentPath?: str { href: 'https://github.com/simstudioai/sim', label: 'Contributors', external: true }, ] + // Common CSS class for navigation items + const navItemClass = `text-white/60 hover:text-white/100 text-base ${ + mobile ? 'p-2.5 text-lg font-medium text-left' : 'p-1.5' + } rounded-md transition-colors duration-200 block md:inline-block` + return ( <> - {links.map((link) => { + {navigationLinks.map((link) => { const linkElement = ( {link.label} ) + // Wrap the motion.div with SheetClose if mobile return mobile ? ( @@ -109,6 +122,34 @@ const NavLinks = ({ mobile, currentPath }: { mobile?: boolean; currentPath?: str linkElement ) })} + + {/* Enterprise button with the same action as contact */} + {onContactClick && + (mobile ? ( + + + + Enterprise + + + + ) : ( + + + Enterprise + + + ))} ) } @@ -117,9 +158,15 @@ interface NavClientProps { children: React.ReactNode initialIsMobile?: boolean currentPath?: string + onContactClick?: () => void } -export default function NavClient({ children, initialIsMobile, currentPath }: NavClientProps) { +export default function NavClient({ + children, + initialIsMobile, + currentPath, + onContactClick, +}: NavClientProps) { const [mounted, setMounted] = useState(false) const [isMobile, setIsMobile] = useState(initialIsMobile ?? false) const [isSheetOpen, setIsSheetOpen] = useState(false) @@ -140,7 +187,9 @@ export default function NavClient({ children, initialIsMobile, currentPath }: Na return (