From fa533badcb3e0c24e7ff4ead80111eaa9db34559 Mon Sep 17 00:00:00 2001 From: Nacho Mandagaran Date: Mon, 22 Apr 2024 20:48:38 -0300 Subject: [PATCH 1/5] ci workflow changes --- public/images/tabs/tab-1.png | Bin 0 -> 5269 bytes public/images/tabs/tab-2.png | Bin 0 -> 5270 bytes public/images/tabs/tab-3.png | Bin 0 -> 5230 bytes public/images/tabs/tab-4.png | Bin 0 -> 5268 bytes src/components/sections/TestSuites.tsx | 299 ++++++++++--------------- 5 files changed, 116 insertions(+), 183 deletions(-) create mode 100644 public/images/tabs/tab-1.png create mode 100644 public/images/tabs/tab-2.png create mode 100644 public/images/tabs/tab-3.png create mode 100644 public/images/tabs/tab-4.png diff --git a/public/images/tabs/tab-1.png b/public/images/tabs/tab-1.png new file mode 100644 index 0000000000000000000000000000000000000000..eadb0fe27bf4e4971c65b8760ab4465155c7ab20 GIT binary patch literal 5269 zcmeHKX;hO}8opon0(|U*b(F1;fJK&wsKnHm&CITl96cu0a+x3D6$Wuh&pl3ng28A)N?xLwtd*6HSIq!Y$ zbDn!&5u4?2sJBKB0AR>u(8B=GWdMMUgSFHV&Lvo;Hbi#N=R4H)-T%_a!7x$1$Cww! z`V3qiaWI)hZ&UKw(LG7E6N*MR0L-yWI_-1*CDyR14nE#m|@i}l-|d|AD$KElxN!_)EwFZ6EtRnzj$3UL0hibEQ&RqOzUiFOB+ z%bwb@hlA5kegfy4O11drRHqAlBy^VIBQ6OfWpg3#dev&rJ^Rz47^ApHv^(n{olPo- zm}1nAH9?HRvPYiU-0K5Z2OkJq5%G;qQo#l2@5>aO1ri!=mYH~9tAU=xw!8A8vA9M+ zDh`3JmGfMFKWZPDtDjI6Rdk=1Z+q>08q;yn4{X}j^XpfLxT=>__6E2l3w@bv|z*Y3P)C$J?gDG-ouuMwvu`**$k{9^M2U&XlJ4&U_Hj)f()`^+eN~GhO;` zZIsDPW?#QaK*X1ZZSok@V3HWT4aCzixpZH=nDNIs<1T_@+&$sea5R4@3jfw2RV*f3 z?LqbHp)E5KtuIX0*J-_=lIu?L3V0^Cg%({iT^M)2V)!p*6KT18(#S>9h_Hz9HC+5Y zEj-QqOZMDpQ?ffa6CvHV!F7|Cl8a&uymmgUASy>@{dUte|ekOfBGbR;;M! z{7JG@5P3;S^;C!4bkZ%T=Xyx87!dh(l3ES%(#o|eurfuY5zmCGx-=U$P?be7=6tsg zTH=>EWgz1AcQ&d|&~LijgFPy{du^VDfVI}lU0pd8GO4%{zP`)QmU+Og>7w4|dP4G{ zE$Cnx^sE(%jM&F@QyRw4eXJuelRjGJ)SU&E%Rc^#g;s7a1bL}8(qKFMkrhj6mfXp+ zrsc?pCoP6)&uQ(0+~N}E^4dzYMzZe2%5N_k`EW|1Dy(-W4}PX^?#E}`QMt_JSFr3>wdIPv ztBPEhoe^*`2ptc;+K0?t_M9JVvqhq%v6in{cqzKYBMd6}a@C88(i-}?&X9H@c@Vh% z*x##SC5(bhIm2Vx?18)n zM7FfS&V}0R`b6DrAtwntl>7n^Jn}RV^UAO@T)J55^1!yBDf9@xiLW?PWmTwP01+^@3VEdKazd| z(Q}MuVs;gQQanmP{(Nq%2HFpGIT~m`81FUEYM}kM^lP;CgFS>AXf@Ej|FCGZR-?5V zt^Kf-#{ZYrD)U0G=v^TiWR_VIX-PUrBhdM^!|xhaUw?gl{V}9jYpoy!`w%xI+${H? z;ex)!ed5LPYAb(z`O!V)?zYbMTiZ{SGJty_*y9LYr(@zpuuNV05pdK%Jo?{G%pFxk zKnAv_VHv6OG{$;s_i^=TG7vJTn8<((GJ5V}tXE3cV~MGPA}~Dy0=wV64kre%Xup)V~3r76s0-eond#oNW)p)B@-3hS3=V;)|W7 zGv?B4|J}_|z>K08x`64QbF#8Cm*yBZ)hTKyL_Sl(YXS11pddtSi>rcV#-fs+^07$| z2Hegyozh=@ks|-f11)jceN!PP)N!_U=4{LKLAm~mLH(h~X#UfK<-DB)w953s%yH=5 zt#;3i*WWxWdwDCAsORVN(z{a#*+(BS+rE-%ekLoF=qn5xb6;}A01p*v`uMkzi1*bd Ma|erF;~SmzFE*gN&j0`b literal 0 HcmV?d00001 diff --git a/public/images/tabs/tab-2.png b/public/images/tabs/tab-2.png new file mode 100644 index 0000000000000000000000000000000000000000..1dba6372f2ee69ff9529691548c53b61b1ba1bdd GIT binary patch literal 5270 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 H+^jzUlXusO literal 0 HcmV?d00001 diff --git a/src/components/sections/TestSuites.tsx b/src/components/sections/TestSuites.tsx index 59e2b8b4..72950ed8 100644 --- a/src/components/sections/TestSuites.tsx +++ b/src/components/sections/TestSuites.tsx @@ -1,11 +1,9 @@ 'use client' -import { useId } from 'react' import Image, { type ImageProps } from 'next/image' -import { Tab } from '@headlessui/react' +import { Tab, Transition } from '@headlessui/react' import clsx from 'clsx' import { LandingPageFragment } from '~/lib/basehub-queries' -import styles from '../../styles/Landingpage.module.css' import { Container } from '~/components/Container' import screenshotDashboard from '~/images/screenshots/dashboard-view.png' @@ -14,13 +12,11 @@ import screenshotRuns from '~/images/screenshots/runs-view.png' import screenshotPRComments from '~/images/screenshots/pr-comments.png' import { getImageSizes } from '~/lib/utils/image' import { Eyebrow, Title } from '../primitives/texts' +import { Button } from '../Button' +import { useState } from 'react' interface Feature { - title: React.ReactNode - subTitle: string | null - description: string | null - image: ImageProps['src'] - icon: React.ComponentType + children: React.ReactNode } const images = { @@ -29,120 +25,30 @@ const images = { runs: screenshotRuns, pr: screenshotPRComments } -const icons = { - tests: function TestsIcon() { - let id = useId() - return ( - <> - - - - - - - - - - - ) - }, - dashboard: function DashboardIcon() { - let id = useId() - return ( - <> - - - - - ) - }, - runs: function RunsIcon() { - return ( - <> - - - - - ) - }, - pr: function PRIcon() { - return ( - <> - - - - - - ) - } -} -function Feature({ - feature, +function TabHeading({ + children, isActive, className, - ...props -}: React.ComponentPropsWithoutRef<'div'> & { - feature: Feature - isActive: boolean -}) { + ...rest +}: React.ComponentPropsWithoutRef<'div'> & { isActive: boolean }) { return ( -
-
+

-

- -
-
-

- {feature.title} -

-

{feature.subTitle}

-

{feature.description}

+ {children} +

) } @@ -153,29 +59,32 @@ function FeaturesMobile({ features: LandingPageFragment['testSuites']['features']['items'] }) { return ( -
+
{features.map((feature) => ( -
- -
-
+
+ + {feature._title} + -
+

+ {feature.subtitle} +

+

+ {feature.description} +

+
+
@@ -190,70 +99,94 @@ function FeaturesDesktop({ }: { features: LandingPageFragment['testSuites']['features']['items'] }) { + const [selectedIndex, setSelectedIndex] = useState(0) return ( - - {({ selectedIndex }) => ( - <> - +
+ {Array.from({ length: 4 }).map((_, index) => ( +
+ ))} + + + {features.map((feature, featureIndex) => ( + + {feature._title} + + ))} + + +
{features.map((feature, featureIndex) => ( - - - {feature._title} - - ) - }} - isActive={featureIndex === selectedIndex} - className="relative" - /> - ))} - - -
- {features.map((feature, featureIndex) => ( - +

+ {feature.subtitle} +

+

+ {feature.description} +

+ -
+
- - ))} -
-
- - - )} - + +
+ +
+ + ))} +
+ + +
) } export function TestSuites({ testSuites }: LandingPageFragment) { return ( -
+
{testSuites.superTitle} From 85133027a5d9abf8a777cb2a97ca63b1a1ebbcca Mon Sep 17 00:00:00 2001 From: Nacho Mandagaran Date: Mon, 22 Apr 2024 21:02:05 -0300 Subject: [PATCH 2/5] upd --- src/components/sections/TestSuites.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/sections/TestSuites.tsx b/src/components/sections/TestSuites.tsx index 72950ed8..aba40e02 100644 --- a/src/components/sections/TestSuites.tsx +++ b/src/components/sections/TestSuites.tsx @@ -43,7 +43,7 @@ function TabHeading({ >

@@ -62,7 +62,7 @@ function FeaturesMobile({

{features.map((feature) => (
@@ -76,8 +76,8 @@ function FeaturesMobile({

{feature.description}

-
-
+
+
+
))}
From b246d92a5445ffed35ee597ae661eedac79b2a3a Mon Sep 17 00:00:00 2001 From: Nacho Mandagaran Date: Mon, 22 Apr 2024 21:08:27 -0300 Subject: [PATCH 3/5] upd --- src/components/sections/TestSuites.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/components/sections/TestSuites.tsx b/src/components/sections/TestSuites.tsx index aba40e02..7ef4d513 100644 --- a/src/components/sections/TestSuites.tsx +++ b/src/components/sections/TestSuites.tsx @@ -113,12 +113,17 @@ function FeaturesDesktop({ {Array.from({ length: 4 }).map((_, index) => (
))} From 0fd926fd5e9dfac96d96ae6e8293309ec9c72b65 Mon Sep 17 00:00:00 2001 From: Nacho Mandagaran Date: Mon, 22 Apr 2024 21:28:38 -0300 Subject: [PATCH 4/5] add links --- src/components/sections/TestSuites.tsx | 10 +++------- src/lib/basehub-queries.ts | 3 ++- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/components/sections/TestSuites.tsx b/src/components/sections/TestSuites.tsx index 7ef4d513..4d254626 100644 --- a/src/components/sections/TestSuites.tsx +++ b/src/components/sections/TestSuites.tsx @@ -1,6 +1,6 @@ 'use client' -import Image, { type ImageProps } from 'next/image' +import Image from 'next/image' import { Tab, Transition } from '@headlessui/react' import clsx from 'clsx' import { LandingPageFragment } from '~/lib/basehub-queries' @@ -15,10 +15,6 @@ import { Eyebrow, Title } from '../primitives/texts' import { Button } from '../Button' import { useState } from 'react' -interface Feature { - children: React.ReactNode -} - const images = { dashboard: screenshotDashboard, tests: screenshotTests, @@ -91,7 +87,7 @@ function FeaturesMobile({