Skip to content
This repository was archived by the owner on Mar 25, 2026. It is now read-only.

Commit f21be08

Browse files
Merge branch 'Weaverse:main' into main
2 parents 1aa857f + 3351c00 commit f21be08

File tree

13 files changed

+95
-96
lines changed

13 files changed

+95
-96
lines changed

app/components/layout/cart-drawer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ export function CartDrawer() {
6464
aria-describedby={undefined}
6565
>
6666
<div className="">
67-
<div className="flex gap-2 items-center justify-between px-4">
67+
<div className="flex gap-2 items-center justify-between px-4 pb-0.5 pt-1.5">
6868
<Dialog.Title asChild className="text-base">
69-
<span className="font-bold">Cart</span>
69+
<span className="font-semibold uppercase">Cart</span>
7070
</Dialog.Title>
7171
<Dialog.Close asChild>
7272
<button

app/components/layout/country-selector.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export function CountrySelector({
8686
<button
8787
type="button"
8888
className={cn(
89-
"w-full border border-line-subtle overflow-clip cursor-pointer text-left outline-hidden flex items-center gap-2",
89+
"w-full border border-[#A79D95] overflow-clip cursor-pointer text-left outline-hidden flex items-center gap-2",
9090
inputClassName,
9191
)}
9292
aria-label="Select country"
@@ -104,7 +104,7 @@ export function CountrySelector({
104104
</Popover.Trigger>
105105
<Popover.Portal>
106106
<Popover.Content className="z-10">
107-
<div className="w-80 max-h-40 overflow-auto py-2 bg-neutral-800 my-2">
107+
<div className="w-48 max-h-40 overflow-auto py-2 bg-[#3b352c] my-2">
108108
{countries &&
109109
Object.keys(countries).map((countryPath) => {
110110
const countryLocale = countries[countryPath];
@@ -128,13 +128,15 @@ export function CountrySelector({
128128
},
129129
})
130130
}
131-
className="text-white bg-neutral-800 hover:bg-neutral-600 w-full p-2 transition flex gap-2 items-center text-left cursor-pointer py-2 px-4 text-sm"
131+
className="text-white bg-[#3b352c] hover:bg-[#4a423a] w-full p-2 transition flex gap-2 items-center text-left cursor-pointer py-2 px-4 text-sm"
132132
>
133-
<ReactCountryFlag
134-
svg
135-
countryCode={countryLocale.country}
136-
style={{ width: "24px", height: "14px" }}
137-
/>
133+
{enableFlag && (
134+
<ReactCountryFlag
135+
svg
136+
countryCode={countryLocale.country}
137+
style={{ width: "24px", height: "14px" }}
138+
/>
139+
)}
138140
<span>{countryLocale.label}</span>
139141
{isSelected ? (
140142
<span className="ml-auto">

app/components/layout/footer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ export function Footer() {
159159
type="email"
160160
required
161161
placeholder={newsletterPlaceholder}
162-
className="text-body focus-visible:outline-hidden px-3 placeholder:text-[#918379] border border-line-subtle lg:w-80 w-full"
162+
className="text-body bg-white focus-visible:outline-hidden px-3 placeholder:text-[#918379] border border-line-subtle lg:w-80 w-full"
163163
/>
164164
<Button
165165
variant="primary"
@@ -195,7 +195,7 @@ export function Footer() {
195195
{copyright}
196196
</p>
197197
<div className="flex justify-start lg:justify-center items-center order-1">
198-
<CountrySelector inputClassName="px-4 py-3" enableFlag={false} />
198+
<CountrySelector inputClassName="px-4 py-2" enableFlag={false} />
199199
</div>
200200
<div className="flex gap-4 justify-start md:justify-end order-2">
201201
{SOCIAL_ACCOUNTS.map((social) =>

app/components/layout/header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export function Header() {
6262
"text-(--color-header-text) hover:text-(--color-header-text)",
6363
"border-b border-line-subtle",
6464
variants({ padding: headerWidth }),
65-
scrolled ? "shadow-header" : "shadow-none",
65+
scrolled ? "shadow-none" : "shadow-none",
6666
enableTransparent
6767
? [
6868
"fixed w-screen group/header",

app/components/layout/scrolling-announcement.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ export function ScrollingAnnouncement() {
210210
</button>
211211
</div>
212212
<div className="lg:flex justify-end hidden">
213-
<CountrySelector inputClassName="px-4 py-2" enableFlag={false} />
213+
<CountrySelector inputClassName="px-4 py-1" enableFlag={false} />
214214
</div>
215215
</div>
216216
</div>

app/components/link.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ export const Link = forwardRef(
145145
"--btn-bg-hover": backgroundColorHover,
146146
"--btn-text-hover": textColorHover,
147147
"--btn-border-hover": borderColorHover,
148-
149148
} as React.CSSProperties;
150149
}
151150
if (variant === "decor") {
@@ -170,20 +169,29 @@ export const Link = forwardRef(
170169
{...rest}
171170
>
172171
{variant === "decor" ? (
173-
<span className="inline-flex items-center gap-1">
172+
<span className="inline-flex items-center gap-2.5">
174173
{children || text}
175-
<ArrowRight
176-
size={20}
177-
weight="thin"
178-
className="transition-transform duration-300 transform group-hover:translate-x-1"
179-
/>
174+
<span className="transition-transform duration-300 transform group-hover:translate-x-1">
175+
<svg
176+
xmlns="http://www.w3.org/2000/svg"
177+
width="20"
178+
height="20"
179+
viewBox="0 0 20 20"
180+
fill="none"
181+
>
182+
<path
183+
d="M14.0575 4.74121L13.1737 5.62508L16.9236 9.37496H0.625V10.625H16.9234L13.1737 14.3748L14.0575 15.2586L19.3163 9.99992L14.0575 4.74121Z"
184+
fill="currentColor"
185+
/>
186+
</svg>
187+
</span>
180188
</span>
181189
) : (
182190
children || text
183191
)}
184192
</RemixLink>
185193
);
186-
}
194+
},
187195
);
188196

189197
export default Link;

app/components/product/product-card.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export function ProductCard({
8888
return (
8989
<div
9090
className={clsx(
91-
"group rounded-(--pcard-radius) transition-all hover:border hover:border-[#DBD7D1] hover:shadow-lg",
91+
"group rounded-(--pcard-radius) transition-all hover:border hover:border-[#DBD7D1]",
9292
className
9393
)}
9494
style={
@@ -183,7 +183,7 @@ export function ProductCard({
183183
)
184184
}
185185
>
186-
<RevealUnderline>{product.title}</RevealUnderline>
186+
<span className="font-semibold uppercase">{product.title}</span>
187187
</NavLink>
188188
<div
189189
className={clsx(

app/components/product/quick-shop.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ function ProductDescriptionDrawer({
111111
/>
112112
<Dialog.Content
113113
className={clsx([
114-
"fixed inset-y-0 w-full md:max-w-[430px] bg-background py-6 z-20",
114+
"fixed inset-y-0 w-full md:max-w-[430px] bg-background py-2.5 z-20",
115115
"right-0 data-[state=open]:animate-enter-from-right shadow-2xl",
116116
])}
117117
aria-describedby={undefined}
@@ -128,7 +128,7 @@ function ProductDescriptionDrawer({
128128
<CaretLeftIcon className="w-4 h-4 text-[#29231E]" />
129129
</button>
130130
<Dialog.Title asChild>
131-
<span className="font-semibold text-sm tracking-[0.02em] text-[#29231E] uppercase">DESCRIPTION</span>
131+
<span className="font-semibold uppercase">DESCRIPTION</span>
132132
</Dialog.Title>
133133
</div>
134134
<button
@@ -229,7 +229,7 @@ export function QuickShop({
229229
{/* Product Details */}
230230
<div className="space-y-6">
231231
{/* Product Title & Price */}
232-
<h4 className="font-semibold leading-tight line-clamp-2">{title}</h4>
232+
<h4 className="font-medium leading-tight line-clamp-2">{title}</h4>
233233
<button
234234
type="button"
235235
className="underline cursor-pointer"
@@ -341,7 +341,7 @@ export function QuickShopTrigger({ productHandle }: { productHandle: string }) {
341341
type="button"
342342
className={clsx(
343343
"absolute inset-x-4 bottom-4 !opacity-0 -translate-y-1.5 -translate-x-2 lg:group-hover:!opacity-100 lg:group-hover:translate-x-0 lg:group-hover:translate-y-2 !transition-all duration-500",
344-
"border px-4 py-3",
344+
"border px-4 py-2",
345345
"text-(--btn-secondary-text)",
346346
"bg-(--btn-secondary-bg)",
347347
"border-(--btn-secondary-bg)",
@@ -362,16 +362,16 @@ export function QuickShopTrigger({ productHandle }: { productHandle: string }) {
362362
/>
363363
<Dialog.Content
364364
className={clsx([
365-
"fixed inset-y-0 w-full md:max-w-[430px] bg-background py-4 z-10",
365+
"fixed inset-y-0 w-full md:max-w-[430px] bg-background py-2.5 z-10",
366366
"right-0 data-[state=open]:animate-enter-from-right shadow-2xl",
367367
])}
368368
aria-describedby={undefined}
369369
>
370370
<div className="h-full flex flex-col">
371371
{/* Header */}
372-
<div className="flex items-center justify-between px-5 flex-shrink-0 py-2.5">
372+
<div className="flex items-center justify-between px-5 flex-shrink-0 py-3">
373373
<Dialog.Title asChild>
374-
<span className="font-semibold">Quick Shop</span>
374+
<span className="font-semibold uppercase">Quick Shop</span>
375375
</Dialog.Title>
376376
<button
377377
type="button"

app/sections/collection-filters/tools-bar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,14 @@ function FiltersDrawer({
9191
/>
9292
<Dialog.Content
9393
className={clsx([
94-
"fixed inset-y-0 w-full md:w-[360px] bg-(--color-background) py-4 z-10",
94+
"fixed inset-y-0 w-full md:max-w-[430px] bg-(--color-background) py-4 z-10",
9595
"right-0 data-[state=open]:animate-enter-from-right",
9696
])}
9797
aria-describedby={undefined}
9898
>
9999
<div className="space-y-1">
100100
<div className="flex gap-2 items-center justify-between px-4">
101-
<Dialog.Title asChild className="py-2.5 font-bold">
101+
<Dialog.Title asChild className="py-2.5 font-semibold uppercase">
102102
<span>Filters</span>
103103
</Dialog.Title>
104104
<Dialog.Close asChild>

app/sections/featured-products/index.tsx

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@ const FeaturedProducts = forwardRef<
1919

2020
export default FeaturedProducts;
2121

22-
// TODO: allowing pick products or select a collection
2322
const FEATURED_PRODUCTS_QUERY = `#graphql
24-
query featuredProducts($country: CountryCode, $language: LanguageCode)
23+
query featuredProducts($country: CountryCode, $language: LanguageCode, $handle: String!)
2524
@inContext(country: $country, language: $language) {
26-
products(first: 16) {
27-
nodes {
28-
...ProductCard
25+
collection(handle: $handle) {
26+
id
27+
handle
28+
title
29+
products(first: 16) {
30+
nodes {
31+
...ProductCard
32+
}
2933
}
3034
}
3135
}
@@ -34,14 +38,17 @@ const FEATURED_PRODUCTS_QUERY = `#graphql
3438

3539
export type FeaturedProductsLoaderData = Awaited<ReturnType<typeof loader>>;
3640

37-
export const loader = async ({ weaverse }: ComponentLoaderArgs) => {
41+
export const loader = async ({ weaverse, data }: ComponentLoaderArgs) => {
3842
const { language, country } = weaverse.storefront.i18n;
43+
const { collectionHandle = 'frontpage' } = data;
44+
3945
return await weaverse.storefront.query<FeaturedProductsQuery>(
4046
FEATURED_PRODUCTS_QUERY,
4147
{
4248
variables: {
4349
country,
4450
language,
51+
handle: collectionHandle,
4552
},
4653
},
4754
);
@@ -52,13 +59,26 @@ export const schema = createSchema({
5259
title: "Featured products",
5360
childTypes: ["featured-products-items", "featured-content-products"],
5461
settings: [
62+
{
63+
group: "Collection",
64+
inputs: [
65+
{
66+
type: "text",
67+
name: "collectionHandle",
68+
label: "Collection handle",
69+
defaultValue: "frontpage",
70+
placeholder: "Enter collection handle (e.g., frontpage, featured)",
71+
},
72+
],
73+
},
5574
{
5675
group: "Layout",
5776
inputs: layoutInputs.filter((i) => i.name !== "borderRadius"),
5877
},
5978
],
6079
presets: {
6180
gap: 32,
81+
collectionHandle: "frontpage",
6282
children: [
6383
{ type: "featured-content-products" },
6484
{ type: "featured-products-items" },

0 commit comments

Comments
 (0)