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

Commit 30f60da

Browse files
Merge branch 'Weaverse:main' into main
2 parents 42aedcf + 770f848 commit 30f60da

File tree

25 files changed

+966
-553
lines changed

25 files changed

+966
-553
lines changed

app/components/layout/mobile-menu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export function MobileMenu() {
3939
aria-describedby={undefined}
4040
>
4141
<Dialog.Title asChild>
42-
<div className="px-4">Menu</div>
42+
<div className="px-4 uppercase font-semibold">Menu</div>
4343
</Dialog.Title>
4444
<Dialog.Close asChild>
4545
<XIcon className="w-5 h-5 fixed top-4 right-4" />
@@ -87,7 +87,7 @@ function CollapsibleMenuItem({ item }: { item: SingleMenuItem }) {
8787
<CaretRightIcon className="w-4 h-4" />
8888
</button>
8989
</Collapsible.Trigger>
90-
<Collapsible.Content className="pl-4 border-l border-gray-300">
90+
<Collapsible.Content className="pl-4">
9191
{items.map((item) => (
9292
<CollapsibleMenuItem key={item.id} item={item} />
9393
))}

app/components/layout/predictive-search/search-desktop/index.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,16 +132,17 @@ function PredictiveSearchResults() {
132132
<div className="flex gap-6 border-b border-line-subtle">
133133
{["articles", "products"].map((type) => (
134134
<button
135+
type="button"
135136
key={type}
136137
className={clsx(
137-
"relative uppercase font-bold px-3 py-1 transition",
138+
"relative font-normal px-3 py-1 transition",
138139
activeType === type
139-
? "border-b-2 border-line text-body -mb-[2px]"
140-
: "text-body-subtle"
140+
? "border-b border-line text-[#524B46] -mb-[2px]"
141+
: "text-[#918379]",
141142
)}
142143
onClick={() => setActiveType(type)}
143144
>
144-
{type}
145+
<span className="uppercase">{type}</span>
145146
</button>
146147
))}
147148
</div>
@@ -164,7 +165,6 @@ function PredictiveSearchResults() {
164165
className="flex items-center gap-2 w-fit"
165166
>
166167
<span className=" uppercase">View all Products</span>
167-
<ArrowRightIcon className="w-4 h-4" />
168168
</Link>
169169
</div>
170170
)}

app/components/layout/predictive-search/search-desktop/predictive-search-result.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ export function PredictiveSearchResult({ items, type }: SearchResultTypeProps) {
2222
return (
2323
<div key={type} className="predictive-search-result flex flex-col gap-4">
2424
{isSuggestions && (
25-
<div className="uppercase border-b border-line-subtle py-1 px-3">
25+
<span className="uppercase border-b border-line-subtle py-1 px-3 font-normal">
2626
{isSuggestions && "Suggestions"}
27-
</div>
27+
</span>
2828
)}
2929
{items?.length ? (
3030
<ul

app/components/layout/predictive-search/search-mobile/index.tsx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ export function PredictiveSearchButtonMobile({ setIsSearchOpen }) {
5757
<VisuallyHidden.Root asChild>
5858
<Dialog.Title>Predictive search</Dialog.Title>
5959
</VisuallyHidden.Root>
60-
<div className="relative p-6">
61-
<div className="flex gap-2 items-center justify-between">
62-
<Dialog.Title asChild className="py-2.5">
63-
<span className="font-bold">Search</span>
60+
<div className="relative px-5 pt-3">
61+
<div className="flex gap-2 items-center justify-between py-2.5">
62+
<Dialog.Title asChild className="">
63+
<span className="font-semibold uppercase">Search</span>
6464
</Dialog.Title>
6565
<Dialog.Close asChild>
6666
<button
67-
className="p-2 translate-x-2"
67+
type="button"
6868
aria-label="Close cart drawer"
6969
>
7070
<X className="w-4 h-4" />
@@ -73,7 +73,7 @@ export function PredictiveSearchButtonMobile({ setIsSearchOpen }) {
7373
</div>
7474
<PredictiveSearchForm>
7575
{({ fetchResults, inputRef }) => (
76-
<div className="flex items-center gap-3 max-w-(--page-width) mx-auto my-6 border-b border-line-subtle">
76+
<div className="flex items-center gap-3 max-w-(--page-width) mx-auto my-4 border-b border-line-subtle">
7777
<MagnifyingGlass className="h-5 w-5 shrink-0 text-gray-500" />
7878
<input
7979
name="q"
@@ -126,11 +126,12 @@ function PredictiveSearchResults() {
126126
{["articles", "products"].map((type) => (
127127
<button
128128
key={type}
129+
type="button"
129130
className={clsx(
130-
"relative uppercase font-bold px-3 py-1 transition",
131+
"relative uppercase font-normal px-3 py-1 transition",
131132
activeType === type
132-
? "border-b-2 border-line text-body -mb-[2px]"
133-
: "text-body-subtle"
133+
? "border-b border-[#A79D95] font-medium text-body -mb-[2px]"
134+
: "text-body-subtle",
134135
)}
135136
onClick={() => setActiveType(type)}
136137
>

app/components/layout/predictive-search/search-mobile/predictive-search-result.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ export function PredictiveSearchResult({ items, type }: SearchResultTypeProps) {
2222
return (
2323
<div key={type} className="predictive-search-result flex flex-col gap-4">
2424
{isSuggestions && (
25-
<div className="uppercase font-bold border-b border-line-subtle pb-3">
25+
<span className="uppercase font-normal border-b border-line-subtle pb-3">
2626
{isSuggestions && "Suggestions"}
27-
</div>
27+
</span>
2828
)}
2929
{items?.length ? (
3030
<ul

app/components/layout/scrolling-announcement.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export function ScrollingAnnouncement() {
114114
<div
115115
id="announcement-bar"
116116
ref={ref}
117-
className="w-full flex justify-center items-center overflow-visible lg:px-0 md:px-4 px-3 z-10"
117+
className="w-full flex justify-center items-center overflow-visible lg:px-6 md:px-6 px-5 z-10"
118118
style={
119119
{
120120
minHeight: `${topbarHeight}px`,
@@ -127,11 +127,11 @@ export function ScrollingAnnouncement() {
127127
>
128128
<div
129129
className={cn(
130-
"grid lg:grid-cols-3 lg:gap-8 justify-center items-center py-1 grid-cols-1",
130+
"grid md:grid-cols-3 md:gap-8 justify-center items-center py-1 grid-cols-1",
131131
variants({ width: announcementWidth }),
132132
)}
133133
>
134-
<div className="lg:flex gap-4 justify-start hidden">
134+
<div className="md:flex gap-4 justify-start hidden">
135135
{socialItems.map((social) =>
136136
social.to ? (
137137
<Link
@@ -209,7 +209,7 @@ export function ScrollingAnnouncement() {
209209
</svg>
210210
</button>
211211
</div>
212-
<div className="lg:flex justify-end hidden">
212+
<div className="md:flex justify-end hidden">
213213
<CountrySelector inputClassName="px-4 py-1" enableFlag={false} />
214214
</div>
215215
</div>

app/components/product/product-card-options.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,15 @@ export function ProductCardOptions({
4747
.map(({ name, swatch, firstSelectableVariant }) => {
4848
if (asSwatch) {
4949
const swatchColor = swatch?.color || name;
50+
console.log(swatch?.color);
51+
5052
return (
5153
<Tooltip key={name}>
5254
<TooltipTrigger>
5355
<button
5456
type="button"
5557
className={clsx(
56-
"size-4 flex aspect-square",
58+
"size-3 flex aspect-square",
5759
"transition-(outline-color) outline-solid outline-offset-2 outline-1",
5860
selectedValue === name
5961
? "outline-line"
@@ -75,7 +77,7 @@ export function ProductCardOptions({
7577
className={clsx(
7678
"w-full h-full inline-block text-[0px]",
7779
isLightColor(swatch?.color || name) &&
78-
"border border-line-subtle",
80+
"border-[0.5px] border-line-subtle",
7981
)}
8082
style={{ backgroundColor: swatchColor }}
8183
>

app/components/product/product-card.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ export function ProductCard({
173173
</div>
174174
<div
175175
className={clsx(
176-
"py-3 text-sm flex flex-col gap-2",
176+
"py-3 flex flex-col gap-2",
177177
isVertical && styleVariants({ alignment: pcardAlignment })
178178
)}
179179
>

app/components/product/product-media.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ export interface ProductMediaProps extends VariantProps<typeof variants> {
4949
enableZoom?: boolean;
5050
showDots?: boolean;
5151
navigationStyle?: "corner" | "sides";
52+
showBadges?: boolean;
53+
badges?: React.ReactNode;
5254
}
5355

5456
export function ProductMedia(props: ProductMediaProps) {
@@ -62,6 +64,8 @@ export function ProductMedia(props: ProductMediaProps) {
6264
enableZoom,
6365
showDots = false,
6466
navigationStyle = "corner",
67+
showBadges = false,
68+
badges,
6569
} = props;
6670

6771
// Base navigation button styling
@@ -256,6 +260,13 @@ export function ProductMedia(props: ProductMediaProps) {
256260
onDotClick={(index) => swiper?.slideTo(index)}
257261
/>
258262
)}
263+
264+
{/* Badges Overlay */}
265+
{showBadges && badges && (
266+
<div className="absolute top-2.5 left-2.5 flex items-center gap-2 z-10">
267+
{badges}
268+
</div>
269+
)}
259270
</div>
260271
</div>
261272
{enableZoom && (

app/components/product/quick-shop.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ export function QuickShop({
305305
}
306306

307307
export function QuickShopTrigger({ productHandle }: { productHandle: string }) {
308+
const {
309+
quickShopButtonTextOpen
310+
} = useThemeSettings();
308311
const [open, setOpen] = useState(false);
309312
const [showDescription, setShowDescription] = useState(false);
310313
const { load, data, state } = useFetcher<ProductData>();
@@ -367,7 +370,7 @@ export function QuickShopTrigger({ productHandle }: { productHandle: string }) {
367370
/>
368371
</svg>
369372
{/* Text for desktop */}
370-
<span className="hidden lg:inline uppercase">Quick shop</span>
373+
<span className="hidden lg:inline uppercase">{quickShopButtonTextOpen}</span>
371374
</button>
372375
</Dialog.Trigger>
373376
<Dialog.Portal>

0 commit comments

Comments
 (0)