From 7034fe6da9b3b4a09c41464b961fae353447e091 Mon Sep 17 00:00:00 2001 From: Andy Bitz Date: Mon, 16 Dec 2024 14:13:59 +0100 Subject: [PATCH] Update winter-sale --- examples/winter-sale/app/favicon.ico | Bin 15406 -> 15406 bytes .../winter-sale/components/color-picker.tsx | 51 ------- examples/winter-sale/components/eu-flag.tsx | 62 --------- examples/winter-sale/components/footer.tsx | 113 ---------------- examples/winter-sale/components/header.tsx | 125 ------------------ .../winter-sale/components/image-gallery.tsx | 74 ----------- examples/winter-sale/components/materials.tsx | 17 --- examples/winter-sale/components/policies.tsx | 31 ----- .../components/product-detail-reviews.tsx | 40 ------ .../components/product-details.tsx | 14 -- .../components/product-heading.tsx | 10 -- examples/winter-sale/components/promo.tsx | 48 ------- .../components/related-products.tsx | 42 ------ examples/winter-sale/components/reviews.tsx | 66 --------- .../winter-sale/components/size-picker.tsx | 55 -------- .../winter-sale/components/top-banner.tsx | 7 - examples/winter-sale/middleware.ts | 13 +- 17 files changed, 1 insertion(+), 767 deletions(-) delete mode 100644 examples/winter-sale/components/color-picker.tsx delete mode 100644 examples/winter-sale/components/eu-flag.tsx delete mode 100644 examples/winter-sale/components/footer.tsx delete mode 100644 examples/winter-sale/components/header.tsx delete mode 100644 examples/winter-sale/components/image-gallery.tsx delete mode 100644 examples/winter-sale/components/materials.tsx delete mode 100644 examples/winter-sale/components/policies.tsx delete mode 100644 examples/winter-sale/components/product-detail-reviews.tsx delete mode 100644 examples/winter-sale/components/product-details.tsx delete mode 100644 examples/winter-sale/components/product-heading.tsx delete mode 100644 examples/winter-sale/components/promo.tsx delete mode 100644 examples/winter-sale/components/related-products.tsx delete mode 100644 examples/winter-sale/components/reviews.tsx delete mode 100644 examples/winter-sale/components/size-picker.tsx delete mode 100644 examples/winter-sale/components/top-banner.tsx diff --git a/examples/winter-sale/app/favicon.ico b/examples/winter-sale/app/favicon.ico index 4b98a2b5a1d982a0abcf15652846cec3a273e4b6..a5f43c6f60c1e1fcb718d224601117a50ef4cf42 100644 GIT binary patch literal 15406 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 Q|Kt829QX$ZJ{S)CH$RdAh5!Hn literal 15406 zcmeHOdu&rx9KH(TGYTpyiN=}uz($RGZpiGL}L3G3}T zM28|oKt-p}79VIxh>^LjEg(}EPBGvEobuW_KtvRf>-XLENWFCJDfF%-*-cK)J?H*@ zzwbN0d*1h4ML9$1rwkmZATCj+_g9qL6-6m2Nu-AkQk2EW8$LYw{CY)+4OWz)kbw#` z68VTSUb?QF@nv1v70t6tugVlCLs_%27EN8zqSt4O#jAQ`^(kxCk7)L1W%Vg*)^Dj(XUOVPHdVjf;~Eh0*{93uQ?@gG{VZV)m_skQ|MZ9_bxF6g6W6zKJ9Zw){ zCF=Fwh)>n`EOUPG$Hxy`F5VIEna5|8F=V~!v{ld*GK|?SqyDj%?FqOpNX_Rx^Y|=X z+cnGPl4d_sf>4IQ{^@kOnmlFwn|-A>qCVf*td-hMB^Wkfi#BC^Kza0;J49W`U##x< zqSiJt8wd0uq5NSUZgz?492j!n-6+Ug7@yuzAK~t>5SErcq z%xTp1QmgQzux-XOr<-a=4z&s&ZR-Xzo;khBZ@bJYeA+hSnbRv9D$ceFpSI0-<}}9v z;O9JUXXmUQ(sliW`Jow~=@y^8$FVm%&j0(I|Kwpa9ag%$u%>qWrzbsk?EyEbPn+qm z(&eEK+>&p6+DwO)E)VmGP5H*B&2(7l^3YD#=NljPTGL^PJdek7=GKOa!5F6p0zZ~- zeA;Z)?!IX2;)=oMc7Qq9weg^9`=-~%h`HdgeB;BOVRO@~V>rLvModw5q~`)(k7k(D z=8F$8h(%1|>+pL#9qu_gIcAd`K*m9|7x}pz|r- zub)%aYxu-6@RvKEiZ6FB?p#*gYuLgE#3Xh+=v=?;t;$}agn3%*yI7&M*dR*sy2fdx|O-|Myqa7Ld%=-@Y%2*3Zj9J7acIPtZ^Uyhx z4WDKFt#MKUH|Xkw?uxFEYaRpd5%wVHzr8z2m+=SYxkrf2J|OD1-GcscAvo;siN|*I z59l{`qP^U&H=Vea(wjW}yF=~=D6{?T41I~080sR-#cw8d>ecjS**Rg&HXdB&V6E~c zxco^zYwPb~e{ryLX$^MKGGCN|9}ZF{S(ZO(D`C?%KK9bcb2D2w{?u59`b)3D9>E>E zm)6{R{7L4!y&u%vN}Xot%C0*zTkLykl?S*_f-PEQD#GcuPXfw)SJDG$XBVKotIe9- zjkf+s*lU|=WgrInFgG!YeX=it{So$^pMkCXuel_~A@-35HaO(cH;VGce2#M1=yBYj z{ay!U?S>8gf-E-3byt{@%^CtxivMK)}_nD8?|as*#HV~pERqyGI}DE%F0XRfAKZufUnThD8e>1R65P8B#Xo_qR_4lE$m9K0z(&FL zABf#tYrj|U$rf{*`*z_y7jK+hetool^wnX_F%j>ut5E(YHaU>X`jc7{`PV7;`|No%=6>|Q-_GI9b6S;K-ou80vY7unIkFXEFklz`$ zzg?N}3|^t$1boaDZ1_tGj|%o&8tsl+@(@%1aCb)HFL;63wB#b&B*VlGj|GVDS)+OcG! z)Y*ho8>#o0CmH4EISWxY`F_oT&nQED>ZIDp<(}s#egS84M_7x0Bc#uFm~m)}oYI{g zG4mH`ai%2GzYb=c)HKhckaJhiwQgr%;!PVG%2#u)nJOc5&wnzuF1#0ha0*`^fj?T& zuKdV*6k~lQ`sfK=0oPQd>w(vbG8|z!s6*Y8`4-ZP1pmix~TT>c&W&IzLiZT0;)xLQXPvGs*Csh5e3UT-Ue1I`$FN sg@=B9x9ZAFI+>oumsed$8*Q+Ky~_J&J6*lVWTWp{p9lIpaQb@SUxU% -

Color

- - - Choose a color -
- {product.colors.map((color) => ( - - clsx( - color.selectedColor, - active && checked ? 'ring ring-offset-1' : '', - !active && checked ? 'ring-2' : '', - 'relative -m-0.5 flex cursor-pointer items-center justify-center rounded-full p-0.5 focus:outline-none', - ) - } - > - - {color.name} - - - ))} -
-
- - ); -} diff --git a/examples/winter-sale/components/eu-flag.tsx b/examples/winter-sale/components/eu-flag.tsx deleted file mode 100644 index 76d1b8f..0000000 --- a/examples/winter-sale/components/eu-flag.tsx +++ /dev/null @@ -1,62 +0,0 @@ -export function EuFlag({ className }: { className: string }) { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -} diff --git a/examples/winter-sale/components/footer.tsx b/examples/winter-sale/components/footer.tsx deleted file mode 100644 index af89fa8..0000000 --- a/examples/winter-sale/components/footer.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { ShoppingBagIcon } from '@heroicons/react/24/outline'; -import { footerNavigation } from '@/app/data'; - -export function Footer() { - return ( -
- -
-
-
- {/* Image section */} -
- -
- - {/* Sitemap sections */} -
-
-
-

- Products -

- -
-
-

Company

- -
-
-
-

- Customer Service -

- -
-
- - {/* Newsletter section */} -
-

- Sign up for our newsletter -

-

- The latest deals and savings, sent to your inbox weekly. -

-
- - -
- -
-
-
-
-
- -
-

- © 2021 Your Company, Inc. All rights reserved. -

-
-
-
- ); -} diff --git a/examples/winter-sale/components/header.tsx b/examples/winter-sale/components/header.tsx deleted file mode 100644 index 2b6071a..0000000 --- a/examples/winter-sale/components/header.tsx +++ /dev/null @@ -1,125 +0,0 @@ -'use client'; - -import { clsx } from 'clsx'; -import { Popover } from '@headlessui/react'; -import { - Bars3Icon, - MagnifyingGlassIcon, - ShoppingBagIcon, - ShoppingCartIcon, - UserIcon, -} from '@heroicons/react/24/outline'; -import { EuFlag } from './eu-flag'; -import { navigation } from '@/app/data'; - -export function Header() { - return ( -
- -
- ); -} diff --git a/examples/winter-sale/components/image-gallery.tsx b/examples/winter-sale/components/image-gallery.tsx deleted file mode 100644 index 4289787..0000000 --- a/examples/winter-sale/components/image-gallery.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import clsx from 'clsx'; -import { product } from '@/app/data'; -import Image from 'next/image'; - -export function ImageGallery() { - return ( -
-

Images

- -
- {product.images.map((image) => ( - {image.imageAlt} - ))} -
-
- ); -} - -export function ImageGalleryTwoColumns() { - return ( -
-

Images

- -
- {product.images.map((image) => { - if (image.primary) return null; - return ( - {image.imageAlt} - ); - })} -
-
- ); -} - -export function ImageGalleryReversed() { - return ( -
-

Images

- -
- {product.images - .slice() - .reverse() - .map((image) => ( - {image.imageAlt} - ))} -
-
- ); -} diff --git a/examples/winter-sale/components/materials.tsx b/examples/winter-sale/components/materials.tsx deleted file mode 100644 index 2c03407..0000000 --- a/examples/winter-sale/components/materials.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { product } from '@/app/data'; - -export function Materials() { - return ( -
-

Fabric & Care

- -
-
    - {product.details.map((item) => ( -
  • {item}
  • - ))} -
-
-
- ); -} diff --git a/examples/winter-sale/components/policies.tsx b/examples/winter-sale/components/policies.tsx deleted file mode 100644 index 10bc1d1..0000000 --- a/examples/winter-sale/components/policies.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { policies } from '@/app/data'; - -export function Policies() { - return ( -
-

- Our Policies -

- -
- {policies.map((policy) => ( -
-
-
-
{policy.description}
-
- ))} -
-
- ); -} diff --git a/examples/winter-sale/components/product-detail-reviews.tsx b/examples/winter-sale/components/product-detail-reviews.tsx deleted file mode 100644 index a69b1e5..0000000 --- a/examples/winter-sale/components/product-detail-reviews.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import clsx from 'clsx'; -import { StarIcon } from '@heroicons/react/24/solid'; -import { reviews } from '@/app/data'; - -export function ProductDetailReviews() { - return ( -
-

Reviews

-
-

- {reviews.average} - out of 5 stars -

-
- {[0, 1, 2, 3, 4].map((rating) => ( - rating ? 'text-yellow-400' : 'text-gray-200', - 'h-5 w-5 flex-shrink-0', - )} - aria-hidden="true" - /> - ))} -
- - -
-
- ); -} diff --git a/examples/winter-sale/components/product-details.tsx b/examples/winter-sale/components/product-details.tsx deleted file mode 100644 index cbe984f..0000000 --- a/examples/winter-sale/components/product-details.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { product } from '@/app/data'; - -export function ProductDetails() { - return ( -
-

Description

- -
-
- ); -} diff --git a/examples/winter-sale/components/product-heading.tsx b/examples/winter-sale/components/product-heading.tsx deleted file mode 100644 index 6af3438..0000000 --- a/examples/winter-sale/components/product-heading.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { product } from '@/app/data'; - -export function ProductHeading() { - return ( -
-

{product.name}

-

{product.price}

-
- ); -} diff --git a/examples/winter-sale/components/promo.tsx b/examples/winter-sale/components/promo.tsx deleted file mode 100644 index d3490f2..0000000 --- a/examples/winter-sale/components/promo.tsx +++ /dev/null @@ -1,48 +0,0 @@ -'use client'; - -import Image from 'next/image'; -import summer from '../public/etienne-girardet-Xh6BpT-1tXo-unsplash.jpg'; -import { track } from '@vercel/analytics/react'; - -export function Promo() { - return ( -
-
-
-
- -
-
-
-

- Summer Sale -

-

- Enjoy 20% off all summer styles, -
- from bright dresses to pastel-hued tops. -

- -
-
-
-
-
- ); -} diff --git a/examples/winter-sale/components/related-products.tsx b/examples/winter-sale/components/related-products.tsx deleted file mode 100644 index 863502f..0000000 --- a/examples/winter-sale/components/related-products.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { relatedProducts } from '@/app/data'; -import Image from 'next/image'; - -export function RelatedProducts() { - return ( -
- - -
- {relatedProducts.map((relatedProduct) => ( -
-
- {relatedProduct.imageAlt} -
-
-
-

- - -

-

- {relatedProduct.color} -

-
-

- {relatedProduct.price} -

-
-
- ))} -
-
- ); -} diff --git a/examples/winter-sale/components/reviews.tsx b/examples/winter-sale/components/reviews.tsx deleted file mode 100644 index 27ad322..0000000 --- a/examples/winter-sale/components/reviews.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import clsx from 'clsx'; -import { StarIcon } from '@heroicons/react/24/solid'; -import { reviews } from '@/app/data'; - -export function Reviews() { - return ( -
-

- Recent reviews -

- -
- {reviews.featured.map((review) => ( -
-
-
-
- {[0, 1, 2, 3, 4].map((rating) => ( - rating - ? 'text-yellow-400' - : 'text-gray-200', - 'h-5 w-5 flex-shrink-0', - )} - aria-hidden="true" - /> - ))} -
-

- {review.rating} - out of 5 stars -

-
- -
-

- {review.title} -

- -
-
-
- -
-

{review.author}

- -
-
- ))} -
-
- ); -} diff --git a/examples/winter-sale/components/size-picker.tsx b/examples/winter-sale/components/size-picker.tsx deleted file mode 100644 index 2173311..0000000 --- a/examples/winter-sale/components/size-picker.tsx +++ /dev/null @@ -1,55 +0,0 @@ -'use client'; - -import clsx from 'clsx'; -import { useState } from 'react'; -import { RadioGroup } from '@headlessui/react'; -import { product } from '@/app/data'; - -export function SizePicker() { - const [selectedSize, setSelectedSize] = useState(product.sizes[2]); - - return ( -
- - - - Choose a size -
- {product.sizes.map((size) => ( - - clsx( - size.inStock - ? 'cursor-pointer focus:outline-none' - : 'cursor-not-allowed opacity-25', - active ? 'ring-2 ring-slate-500 ring-offset-2' : '', - checked - ? 'border-transparent bg-slate-600 text-white hover:bg-slate-700' - : 'border-gray-200 bg-white text-gray-900 hover:bg-gray-50', - 'flex items-center justify-center rounded-md border py-3 px-3 text-sm font-medium uppercase sm:flex-1', - ) - } - disabled={!size.inStock} - > - {size.name} - - ))} -
-
-
- ); -} diff --git a/examples/winter-sale/components/top-banner.tsx b/examples/winter-sale/components/top-banner.tsx deleted file mode 100644 index 00775e2..0000000 --- a/examples/winter-sale/components/top-banner.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export function TopBanner({ children }: { children?: string }) { - return ( -
- {children ? children : 'Get free delivery on orders over $100'} -
- ); -} diff --git a/examples/winter-sale/middleware.ts b/examples/winter-sale/middleware.ts index 76e32ac..24204c9 100644 --- a/examples/winter-sale/middleware.ts +++ b/examples/winter-sale/middleware.ts @@ -1,6 +1,6 @@ import { type NextRequest, NextResponse } from 'next/server'; import { precompute } from '@vercel/flags/next'; -import { precomputeFlags, bannerFlags } from '@/flags'; +import { precomputeFlags } from '@/flags'; import { getOrGenerateVisitorId } from './utils/generateVisitorId'; export const config = { matcher: ['/', '/precomputed-pages-router-example'] }; @@ -24,15 +24,4 @@ export async function middleware(request: NextRequest) { : undefined, }); } - - if (request.nextUrl.pathname === '/precomputed-pages-router-example') { - const code = await precompute(bannerFlags); - - // rewrites the request to the variant for this flag combination - const nextUrl = new URL( - `/${code}${request.nextUrl.pathname}${request.nextUrl.search}`, - request.url, - ); - return NextResponse.rewrite(nextUrl, { request }); - } }