@anker-in/ui 0.1.5 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +162 -37
- package/dist/DemoRoom-Dx3PluHP.d.mts +85 -0
- package/dist/DemoRoom-Dx3PluHP.d.ts +85 -0
- package/dist/demo-room.d.mts +18 -1
- package/dist/demo-room.d.ts +18 -1
- package/dist/demo-room.js +120 -113
- package/dist/demo-room.js.map +1 -1
- package/dist/demo-room.mjs +120 -113
- package/dist/demo-room.mjs.map +1 -1
- package/dist/index.d.mts +116 -2
- package/dist/index.d.ts +116 -2
- package/dist/index.js +227 -175
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +227 -175
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +0 -1
- package/package.json +1 -1
- package/dist/DemoRoom-CZyrsxWe.d.mts +0 -30
- package/dist/DemoRoom-CZyrsxWe.d.ts +0 -30
package/dist/demo-room.mjs
CHANGED
|
@@ -14,7 +14,7 @@ var Title = ({
|
|
|
14
14
|
title = "",
|
|
15
15
|
...props
|
|
16
16
|
}) => {
|
|
17
|
-
return /* @__PURE__ */ jsx("div", { className: cn("w-full"), ...props, children: /* @__PURE__ */ jsx("h2", { className: "text-[48px] font-
|
|
17
|
+
return /* @__PURE__ */ jsx("div", { className: cn("w-full"), ...props, children: /* @__PURE__ */ jsx("h2", { className: "text-[32px] min-l:text-[48px] font-bold mb-12 text-[#080A0F]", children: title }) });
|
|
18
18
|
};
|
|
19
19
|
Title.displayName = "Title";
|
|
20
20
|
var StudioCard = ({
|
|
@@ -22,18 +22,18 @@ var StudioCard = ({
|
|
|
22
22
|
name,
|
|
23
23
|
availableTime,
|
|
24
24
|
address,
|
|
25
|
-
city,
|
|
26
|
-
state,
|
|
27
|
-
zipCode,
|
|
28
|
-
country = "United States",
|
|
29
25
|
euifyMakeModel,
|
|
30
26
|
distance,
|
|
31
27
|
onSchedule,
|
|
28
|
+
pageData = {
|
|
29
|
+
scheduleNow: "Schedule Now",
|
|
30
|
+
available: "Available",
|
|
31
|
+
away: "away"
|
|
32
|
+
},
|
|
32
33
|
className,
|
|
33
34
|
style,
|
|
34
35
|
...props
|
|
35
36
|
}) => {
|
|
36
|
-
const fullAddress = `${address}, ${city}, ${state} ${country} ${zipCode}`;
|
|
37
37
|
const [isHovered, setIsHovered] = React2.useState(false);
|
|
38
38
|
const handleScheduleClick = () => {
|
|
39
39
|
onSchedule?.(code);
|
|
@@ -66,7 +66,8 @@ var StudioCard = ({
|
|
|
66
66
|
/* @__PURE__ */ jsx("h3", { className: "text-xl font-semibold text-gray-900", children: name }),
|
|
67
67
|
distance !== void 0 && /* @__PURE__ */ jsxs("span", { className: "text-sm font-medium text-[#2E8B57] bg-[#E8F5E9] px-3 py-1 rounded-full whitespace-nowrap ml-2", children: [
|
|
68
68
|
formatDistance(distance),
|
|
69
|
-
"
|
|
69
|
+
" ",
|
|
70
|
+
pageData.away
|
|
70
71
|
] })
|
|
71
72
|
] }),
|
|
72
73
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3 mb-3", children: [
|
|
@@ -123,7 +124,8 @@ var StudioCard = ({
|
|
|
123
124
|
}
|
|
124
125
|
),
|
|
125
126
|
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-600", children: [
|
|
126
|
-
|
|
127
|
+
pageData.available,
|
|
128
|
+
" ",
|
|
127
129
|
availableTime
|
|
128
130
|
] }) })
|
|
129
131
|
] }),
|
|
@@ -157,7 +159,7 @@ var StudioCard = ({
|
|
|
157
159
|
]
|
|
158
160
|
}
|
|
159
161
|
),
|
|
160
|
-
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-600", children:
|
|
162
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-600 break-words", children: address }) })
|
|
161
163
|
] }),
|
|
162
164
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3 mb-6", children: [
|
|
163
165
|
/* @__PURE__ */ jsxs(
|
|
@@ -214,10 +216,10 @@ var StudioCard = ({
|
|
|
214
216
|
"w-full px-6 py-3 rounded-full",
|
|
215
217
|
"bg-white text-gray-900 border border-gray-900",
|
|
216
218
|
"font-medium text-sm",
|
|
217
|
-
"hover:bg-gray-900",
|
|
219
|
+
"hover:bg-gray-900 hover:text-white",
|
|
218
220
|
"transition-all duration-200"
|
|
219
221
|
),
|
|
220
|
-
children:
|
|
222
|
+
children: pageData.scheduleNow
|
|
221
223
|
}
|
|
222
224
|
)
|
|
223
225
|
]
|
|
@@ -249,6 +251,12 @@ var StudioMap = ({
|
|
|
249
251
|
defaultZoom = 4,
|
|
250
252
|
mapHeight = "600px",
|
|
251
253
|
onSchedule,
|
|
254
|
+
pageData = {
|
|
255
|
+
apiKeyRequired: "Google Maps API Key is required",
|
|
256
|
+
loadingMap: "Loading map...",
|
|
257
|
+
scheduleNow: "Schedule Now",
|
|
258
|
+
available: "Available"
|
|
259
|
+
},
|
|
252
260
|
className,
|
|
253
261
|
...props
|
|
254
262
|
}) => {
|
|
@@ -347,13 +355,13 @@ var StudioMap = ({
|
|
|
347
355
|
<svg style="display: inline-block; width: 16px; height: 16px; margin-right: 4px; vertical-align: middle;" fill="currentColor" viewBox="0 0 20 20">
|
|
348
356
|
<path d="M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z"/>
|
|
349
357
|
</svg>
|
|
350
|
-
<span style="vertical-align: middle;"
|
|
358
|
+
<span style="vertical-align: middle;">${pageData.available} ${location.availableTime}</span>
|
|
351
359
|
</div>` : ""}
|
|
352
360
|
<div style="margin-bottom: 8px; color: #666;">
|
|
353
361
|
<svg style="display: inline-block; width: 16px; height: 16px; margin-right: 4px; vertical-align: middle;" fill="currentColor" viewBox="0 0 20 20">
|
|
354
362
|
<path fill-rule="evenodd" d="M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z" clip-rule="evenodd"/>
|
|
355
363
|
</svg>
|
|
356
|
-
<span style="vertical-align: middle;">${location.address}
|
|
364
|
+
<span style="vertical-align: middle;">${location.address}</span>
|
|
357
365
|
</div>
|
|
358
366
|
${location.euifyMakeModel ? `<div style="margin-bottom: 12px; color: #666;">
|
|
359
367
|
<svg style="display: inline-block; width: 16px; height: 16px; margin-right: 4px; vertical-align: middle;" fill="currentColor" viewBox="0 0 20 20">
|
|
@@ -377,7 +385,7 @@ var StudioMap = ({
|
|
|
377
385
|
onmouseover="this.style.background='#333'"
|
|
378
386
|
onmouseout="this.style.background='#000'"
|
|
379
387
|
>
|
|
380
|
-
|
|
388
|
+
${pageData.scheduleNow}
|
|
381
389
|
</button>
|
|
382
390
|
</div>
|
|
383
391
|
`;
|
|
@@ -433,13 +441,13 @@ var StudioMap = ({
|
|
|
433
441
|
<svg style="display: inline-block; width: 16px; height: 16px; margin-right: 4px; vertical-align: middle;" fill="currentColor" viewBox="0 0 20 20">
|
|
434
442
|
<path d="M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z"/>
|
|
435
443
|
</svg>
|
|
436
|
-
<span style="vertical-align: middle;"
|
|
444
|
+
<span style="vertical-align: middle;">${pageData.available} ${location.availableTime}</span>
|
|
437
445
|
</div>` : ""}
|
|
438
446
|
<div style="margin-bottom: 8px; color: #666;">
|
|
439
447
|
<svg style="display: inline-block; width: 16px; height: 16px; margin-right: 4px; vertical-align: middle;" fill="currentColor" viewBox="0 0 20 20">
|
|
440
448
|
<path fill-rule="evenodd" d="M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z" clip-rule="evenodd"/>
|
|
441
449
|
</svg>
|
|
442
|
-
<span style="vertical-align: middle;">${location.address}
|
|
450
|
+
<span style="vertical-align: middle;">${location.address}</span>
|
|
443
451
|
</div>
|
|
444
452
|
${location.euifyMakeModel ? `<div style="margin-bottom: 12px; color: #666;">
|
|
445
453
|
<svg style="display: inline-block; width: 16px; height: 16px; margin-right: 4px; vertical-align: middle;" fill="currentColor" viewBox="0 0 20 20">
|
|
@@ -463,7 +471,7 @@ var StudioMap = ({
|
|
|
463
471
|
onmouseover="this.style.background='#333'"
|
|
464
472
|
onmouseout="this.style.background='#000'"
|
|
465
473
|
>
|
|
466
|
-
|
|
474
|
+
${pageData.scheduleNow}
|
|
467
475
|
</button>
|
|
468
476
|
</div>
|
|
469
477
|
`;
|
|
@@ -499,7 +507,7 @@ var StudioMap = ({
|
|
|
499
507
|
),
|
|
500
508
|
style: { height: mapHeight },
|
|
501
509
|
...props,
|
|
502
|
-
children: /* @__PURE__ */ jsx("p", { className: "text-gray-600", children:
|
|
510
|
+
children: /* @__PURE__ */ jsx("p", { className: "text-gray-600", children: pageData.apiKeyRequired })
|
|
503
511
|
}
|
|
504
512
|
);
|
|
505
513
|
}
|
|
@@ -512,7 +520,7 @@ var StudioMap = ({
|
|
|
512
520
|
/* @__PURE__ */ jsx("div", { ref: mapRef, style: { height: mapHeight } }),
|
|
513
521
|
!isLoaded && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-100", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
514
522
|
/* @__PURE__ */ jsx("div", { className: "inline-block animate-spin rounded-full h-8 w-8 border-4 border-gray-300 border-t-gray-900 mb-2" }),
|
|
515
|
-
/* @__PURE__ */ jsx("p", { className: "text-gray-600", children:
|
|
523
|
+
/* @__PURE__ */ jsx("p", { className: "text-gray-600", children: pageData.loadingMap })
|
|
516
524
|
] }) })
|
|
517
525
|
]
|
|
518
526
|
}
|
|
@@ -608,65 +616,6 @@ var AntdMobileIsolated = ({
|
|
|
608
616
|
AntdMobileIsolated.displayName = "AntdMobileIsolated";
|
|
609
617
|
|
|
610
618
|
// src/components/DemoRoom/utils/addressParser.ts
|
|
611
|
-
var KNOWN_COUNTRIES = [
|
|
612
|
-
"United States",
|
|
613
|
-
"United Kingdom",
|
|
614
|
-
"American Samoa",
|
|
615
|
-
"United Arab Emirates",
|
|
616
|
-
"Bosnia and Herzegovina",
|
|
617
|
-
"Trinidad and Tobago",
|
|
618
|
-
"Saint Kitts and Nevis",
|
|
619
|
-
"Antigua and Barbuda",
|
|
620
|
-
"Saint Vincent and the Grenadines",
|
|
621
|
-
"S\xE3o Tom\xE9 and Pr\xEDncipe",
|
|
622
|
-
"United States Minor Outlying Islands",
|
|
623
|
-
"British Virgin Islands",
|
|
624
|
-
"United States Virgin Islands",
|
|
625
|
-
"Cayman Islands",
|
|
626
|
-
"Cook Islands",
|
|
627
|
-
"Falkland Islands",
|
|
628
|
-
"Faroe Islands",
|
|
629
|
-
"Marshall Islands",
|
|
630
|
-
"Northern Mariana Islands",
|
|
631
|
-
"Pitcairn Islands",
|
|
632
|
-
"Solomon Islands",
|
|
633
|
-
"Turks and Caicos Islands",
|
|
634
|
-
"Wallis and Futuna"
|
|
635
|
-
];
|
|
636
|
-
function parseAddress(address) {
|
|
637
|
-
const parts = address.split(",").map((part) => part.trim()).filter(Boolean);
|
|
638
|
-
let country = "United States";
|
|
639
|
-
let state = "";
|
|
640
|
-
let city = "";
|
|
641
|
-
if (parts.length === 0) {
|
|
642
|
-
return { country, state, city };
|
|
643
|
-
}
|
|
644
|
-
const lastPart = parts[parts.length - 1];
|
|
645
|
-
const matchedCountry = KNOWN_COUNTRIES.find(
|
|
646
|
-
(knownCountry) => lastPart.toLowerCase() === knownCountry.toLowerCase()
|
|
647
|
-
);
|
|
648
|
-
if (matchedCountry) {
|
|
649
|
-
country = matchedCountry;
|
|
650
|
-
if (parts.length >= 2) {
|
|
651
|
-
state = parts[parts.length - 2].split(" ")[0];
|
|
652
|
-
}
|
|
653
|
-
if (parts.length >= 3) {
|
|
654
|
-
city = parts[parts.length - 3];
|
|
655
|
-
}
|
|
656
|
-
} else {
|
|
657
|
-
if (parts.length >= 2) {
|
|
658
|
-
state = parts[parts.length - 1].split(" ")[0];
|
|
659
|
-
city = parts[parts.length - 2];
|
|
660
|
-
} else if (parts.length === 1) {
|
|
661
|
-
city = parts[0];
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
return {
|
|
665
|
-
country: country.trim(),
|
|
666
|
-
state: state.trim(),
|
|
667
|
-
city: city.trim()
|
|
668
|
-
};
|
|
669
|
-
}
|
|
670
619
|
function groupByAlphabet(items) {
|
|
671
620
|
const groups = /* @__PURE__ */ new Map();
|
|
672
621
|
items.forEach((item) => {
|
|
@@ -693,7 +642,15 @@ var LocationFilter = ({
|
|
|
693
642
|
locations,
|
|
694
643
|
onSelect,
|
|
695
644
|
visible = false,
|
|
696
|
-
onClose
|
|
645
|
+
onClose,
|
|
646
|
+
pageData = {
|
|
647
|
+
allLocations: "All Locations",
|
|
648
|
+
clear: "Clear",
|
|
649
|
+
country: "Country",
|
|
650
|
+
state: "State",
|
|
651
|
+
city: "City",
|
|
652
|
+
noStudiosFound: "No studios found in this location"
|
|
653
|
+
}
|
|
697
654
|
}) => {
|
|
698
655
|
const [currentLevel, setCurrentLevel] = useState("country");
|
|
699
656
|
const [selectedCountry, setSelectedCountry] = useState();
|
|
@@ -704,7 +661,7 @@ var LocationFilter = ({
|
|
|
704
661
|
const states = /* @__PURE__ */ new Map();
|
|
705
662
|
const cities = /* @__PURE__ */ new Map();
|
|
706
663
|
locations.forEach((location) => {
|
|
707
|
-
const { country, state, city } =
|
|
664
|
+
const { country, state, city } = location;
|
|
708
665
|
if (country) {
|
|
709
666
|
const existing = countries.get(country);
|
|
710
667
|
countries.set(country, {
|
|
@@ -841,7 +798,7 @@ var LocationFilter = ({
|
|
|
841
798
|
"pb-[4px] transition-colors",
|
|
842
799
|
currentLevel === "country" ? "text-[#1D1D1F] border-b-2 border-[#2E8B57]" : "text-[#767880]"
|
|
843
800
|
),
|
|
844
|
-
children:
|
|
801
|
+
children: pageData.country
|
|
845
802
|
}
|
|
846
803
|
),
|
|
847
804
|
/* @__PURE__ */ jsx(
|
|
@@ -854,7 +811,7 @@ var LocationFilter = ({
|
|
|
854
811
|
currentLevel === "state" ? "text-[#1D1D1F] border-b-2 border-[#2E8B57]" : "text-[#767880]",
|
|
855
812
|
!selectedCountry && "opacity-50 cursor-not-allowed"
|
|
856
813
|
),
|
|
857
|
-
children:
|
|
814
|
+
children: pageData.state
|
|
858
815
|
}
|
|
859
816
|
),
|
|
860
817
|
/* @__PURE__ */ jsx(
|
|
@@ -867,7 +824,7 @@ var LocationFilter = ({
|
|
|
867
824
|
currentLevel === "city" ? "text-[#1D1D1F] border-b-2 border-[#2E8B57]" : "text-[#767880]",
|
|
868
825
|
!selectedState && "opacity-50 cursor-not-allowed"
|
|
869
826
|
),
|
|
870
|
-
children:
|
|
827
|
+
children: pageData.city
|
|
871
828
|
}
|
|
872
829
|
)
|
|
873
830
|
] })
|
|
@@ -899,11 +856,37 @@ var LocationFilter = ({
|
|
|
899
856
|
);
|
|
900
857
|
};
|
|
901
858
|
LocationFilter.displayName = "LocationFilter";
|
|
859
|
+
var defaultPageData = {
|
|
860
|
+
title: "Find a Studio Near You",
|
|
861
|
+
loadingText: "Loading demo rooms...",
|
|
862
|
+
errorTitle: "Failed to load demo rooms",
|
|
863
|
+
locationFilter: {
|
|
864
|
+
allLocations: "All Locations",
|
|
865
|
+
clear: "Clear",
|
|
866
|
+
country: "Country",
|
|
867
|
+
state: "State",
|
|
868
|
+
city: "City",
|
|
869
|
+
noStudiosFound: "No studios found in this location"
|
|
870
|
+
},
|
|
871
|
+
studioCard: {
|
|
872
|
+
scheduleNow: "Schedule Now",
|
|
873
|
+
available: "Available",
|
|
874
|
+
away: "away"
|
|
875
|
+
},
|
|
876
|
+
map: {
|
|
877
|
+
apiKeyRequired: "Google Maps API Key is required",
|
|
878
|
+
loadingMap: "Loading map...",
|
|
879
|
+
scheduleNow: "Schedule Now",
|
|
880
|
+
available: "Available"
|
|
881
|
+
},
|
|
882
|
+
defaultCountry: "United States",
|
|
883
|
+
noAvailableTime: "No available time"
|
|
884
|
+
};
|
|
902
885
|
var defaultStudioLocations = [
|
|
903
886
|
{
|
|
904
887
|
id: "1",
|
|
905
888
|
name: "Design District Demo Room",
|
|
906
|
-
address: "111 8th St",
|
|
889
|
+
address: "111 8th St, San Francisco, CA, United States",
|
|
907
890
|
city: "San Francisco",
|
|
908
891
|
state: "CA",
|
|
909
892
|
zipCode: "94108",
|
|
@@ -916,7 +899,7 @@ var defaultStudioLocations = [
|
|
|
916
899
|
{
|
|
917
900
|
id: "2",
|
|
918
901
|
name: "Brooklyn Creative Studio",
|
|
919
|
-
address: "456 Broadway",
|
|
902
|
+
address: "456 Broadway, Brooklyn, NY, United States",
|
|
920
903
|
city: "Brooklyn",
|
|
921
904
|
state: "NY",
|
|
922
905
|
zipCode: "11211",
|
|
@@ -929,7 +912,7 @@ var defaultStudioLocations = [
|
|
|
929
912
|
{
|
|
930
913
|
id: "3",
|
|
931
914
|
name: "Austin Innovation Hub",
|
|
932
|
-
address: "789 Tech Blvd",
|
|
915
|
+
address: "789 Tech Blvd, Austin, TX, United States",
|
|
933
916
|
city: "Austin",
|
|
934
917
|
state: "TX",
|
|
935
918
|
zipCode: "78701",
|
|
@@ -942,7 +925,7 @@ var defaultStudioLocations = [
|
|
|
942
925
|
{
|
|
943
926
|
id: "4",
|
|
944
927
|
name: "Seattle Maker Space",
|
|
945
|
-
address: "321 Pine St",
|
|
928
|
+
address: "321 Pine St, Seattle, WA, United States",
|
|
946
929
|
city: "Seattle",
|
|
947
930
|
state: "WA",
|
|
948
931
|
zipCode: "98101",
|
|
@@ -955,7 +938,7 @@ var defaultStudioLocations = [
|
|
|
955
938
|
{
|
|
956
939
|
id: "5",
|
|
957
940
|
name: "Chicago Design Center",
|
|
958
|
-
address: "654 Michigan Ave",
|
|
941
|
+
address: "654 Michigan Ave, Chicago, IL, United States",
|
|
959
942
|
city: "Chicago",
|
|
960
943
|
state: "IL",
|
|
961
944
|
zipCode: "60611",
|
|
@@ -968,7 +951,7 @@ var defaultStudioLocations = [
|
|
|
968
951
|
{
|
|
969
952
|
id: "6",
|
|
970
953
|
name: "Miami Beach Studio",
|
|
971
|
-
address: "987 Ocean Drive",
|
|
954
|
+
address: "987 Ocean Drive, Miami Beach, FL, United States",
|
|
972
955
|
city: "Miami Beach",
|
|
973
956
|
state: "FL",
|
|
974
957
|
zipCode: "33139",
|
|
@@ -981,7 +964,7 @@ var defaultStudioLocations = [
|
|
|
981
964
|
{
|
|
982
965
|
id: "7",
|
|
983
966
|
name: "Denver Mountain Studio",
|
|
984
|
-
address: "147 16th St",
|
|
967
|
+
address: "147 16th St, Denver, CO, United States",
|
|
985
968
|
city: "Denver",
|
|
986
969
|
state: "CO",
|
|
987
970
|
zipCode: "80202",
|
|
@@ -994,7 +977,7 @@ var defaultStudioLocations = [
|
|
|
994
977
|
{
|
|
995
978
|
id: "8",
|
|
996
979
|
name: "Los Angeles Creative Lab",
|
|
997
|
-
address: "258 Main St",
|
|
980
|
+
address: "258 Main St, Los Angeles, CA, United States",
|
|
998
981
|
city: "Los Angeles",
|
|
999
982
|
state: "CA",
|
|
1000
983
|
zipCode: "90012",
|
|
@@ -1012,8 +995,22 @@ var RoomsList = ({
|
|
|
1012
995
|
teamCode,
|
|
1013
996
|
brandWebsite,
|
|
1014
997
|
onSchedule,
|
|
998
|
+
pageData,
|
|
1015
999
|
...props
|
|
1016
1000
|
}) => {
|
|
1001
|
+
const mergedPageData = useMemo(
|
|
1002
|
+
() => ({
|
|
1003
|
+
...defaultPageData,
|
|
1004
|
+
...pageData,
|
|
1005
|
+
locationFilter: {
|
|
1006
|
+
...defaultPageData.locationFilter,
|
|
1007
|
+
...pageData?.locationFilter
|
|
1008
|
+
},
|
|
1009
|
+
studioCard: { ...defaultPageData.studioCard, ...pageData?.studioCard },
|
|
1010
|
+
map: { ...defaultPageData.map, ...pageData?.map }
|
|
1011
|
+
}),
|
|
1012
|
+
[pageData]
|
|
1013
|
+
);
|
|
1017
1014
|
const [showLocationFilter, setShowLocationFilter] = useState(false);
|
|
1018
1015
|
const [selectedLocation, setSelectedLocation] = useState();
|
|
1019
1016
|
const [hoveredRoomId, setHoveredRoomId] = useState(null);
|
|
@@ -1032,18 +1029,22 @@ var RoomsList = ({
|
|
|
1032
1029
|
const nextAvailableTimeslot = room?.timeslots?.find(
|
|
1033
1030
|
(slot) => slot.status === "available"
|
|
1034
1031
|
);
|
|
1035
|
-
const
|
|
1032
|
+
const country = room.location?.country || mergedPageData.defaultCountry;
|
|
1033
|
+
const state = room.location?.state || "";
|
|
1034
|
+
const city = room.location?.city || "";
|
|
1035
|
+
const addressParts = [room.address, city, state, country].filter(Boolean);
|
|
1036
|
+
const fullAddress = addressParts.join(", ");
|
|
1036
1037
|
return {
|
|
1037
1038
|
id: room.code,
|
|
1038
1039
|
name: room.name,
|
|
1039
|
-
address:
|
|
1040
|
+
address: fullAddress,
|
|
1040
1041
|
city,
|
|
1041
1042
|
state,
|
|
1042
1043
|
zipCode: "",
|
|
1043
1044
|
country,
|
|
1044
1045
|
lat: Number(room.latitude) || 34.0522,
|
|
1045
1046
|
lng: Number(room.longitude) || -118.2437,
|
|
1046
|
-
availableTime: nextAvailableTimeslot ? `${nextAvailableTimeslot.start_time}` :
|
|
1047
|
+
availableTime: nextAvailableTimeslot ? `${nextAvailableTimeslot.start_time}` : mergedPageData.noAvailableTime,
|
|
1047
1048
|
euifyMakeModel: room?.description
|
|
1048
1049
|
};
|
|
1049
1050
|
});
|
|
@@ -1051,25 +1052,24 @@ var RoomsList = ({
|
|
|
1051
1052
|
const filteredStudioLocations = useMemo(() => {
|
|
1052
1053
|
if (!selectedLocation) return studioLocations;
|
|
1053
1054
|
return studioLocations.filter((location) => {
|
|
1054
|
-
const { country, state, city } = parseAddress(location.address);
|
|
1055
1055
|
if (selectedLocation.city) {
|
|
1056
|
-
return country === selectedLocation.country && state === selectedLocation.state && city === selectedLocation.city;
|
|
1056
|
+
return location.country === selectedLocation.country && location.state === selectedLocation.state && location.city === selectedLocation.city;
|
|
1057
1057
|
}
|
|
1058
1058
|
if (selectedLocation.state) {
|
|
1059
|
-
return country === selectedLocation.country && state === selectedLocation.state;
|
|
1059
|
+
return location.country === selectedLocation.country && location.state === selectedLocation.state;
|
|
1060
1060
|
}
|
|
1061
1061
|
if (selectedLocation.country) {
|
|
1062
|
-
return country === selectedLocation.country;
|
|
1062
|
+
return location.country === selectedLocation.country;
|
|
1063
1063
|
}
|
|
1064
1064
|
return true;
|
|
1065
1065
|
});
|
|
1066
1066
|
}, [studioLocations, selectedLocation]);
|
|
1067
1067
|
const getSelectedLocationName = () => {
|
|
1068
|
-
if (!selectedLocation) return
|
|
1068
|
+
if (!selectedLocation) return mergedPageData.locationFilter.allLocations;
|
|
1069
1069
|
if (selectedLocation.city) return selectedLocation.city;
|
|
1070
1070
|
if (selectedLocation.state) return selectedLocation.state;
|
|
1071
1071
|
if (selectedLocation.country) return selectedLocation.country;
|
|
1072
|
-
return
|
|
1072
|
+
return mergedPageData.locationFilter.allLocations;
|
|
1073
1073
|
};
|
|
1074
1074
|
const handleLocationSelect = (selection) => {
|
|
1075
1075
|
setSelectedLocation(selection);
|
|
@@ -1080,17 +1080,17 @@ var RoomsList = ({
|
|
|
1080
1080
|
};
|
|
1081
1081
|
console.log(filteredStudioLocations);
|
|
1082
1082
|
return /* @__PURE__ */ jsxs("div", { className, ...props, children: [
|
|
1083
|
-
/* @__PURE__ */ jsx(Title, { title:
|
|
1084
|
-
loading && /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-[794px]", children: /* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx("div", { className: "text-lg font-medium", children:
|
|
1083
|
+
/* @__PURE__ */ jsx(Title, { title: mergedPageData.title }),
|
|
1084
|
+
loading && /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-[794px]", children: /* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx("div", { className: "text-lg font-medium", children: mergedPageData.loadingText }) }) }),
|
|
1085
1085
|
error && /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-[794px]", children: /* @__PURE__ */ jsxs("div", { className: "text-center", style: { color: "#FF4D4D" }, children: [
|
|
1086
|
-
/* @__PURE__ */ jsx("div", { className: "text-lg font-medium", children:
|
|
1086
|
+
/* @__PURE__ */ jsx("div", { className: "text-lg font-medium", children: mergedPageData.errorTitle }),
|
|
1087
1087
|
/* @__PURE__ */ jsx("div", { className: "text-sm mt-2", children: error.message })
|
|
1088
1088
|
] }) }),
|
|
1089
1089
|
!loading && !error && /* @__PURE__ */ jsxs("div", { className: "flex h-[794px] gap-4", children: [
|
|
1090
1090
|
/* @__PURE__ */ jsxs(
|
|
1091
1091
|
"div",
|
|
1092
1092
|
{
|
|
1093
|
-
className: "flex-none relative w-[420px]",
|
|
1093
|
+
className: "flex-none relative w-[420px] l:!w-full",
|
|
1094
1094
|
style: { height: "794px" },
|
|
1095
1095
|
children: [
|
|
1096
1096
|
/* @__PURE__ */ jsx("div", { className: "rounded-[12px] mb-4 bg-white border border-[#E4E5E6] px-[20px] py-[16px]", children: /* @__PURE__ */ jsxs("div", { className: "h-[40px] font-bold text-[16px] gap-10 flex items-center", children: [
|
|
@@ -1126,7 +1126,7 @@ var RoomsList = ({
|
|
|
1126
1126
|
{
|
|
1127
1127
|
onClick: handleClearFilter,
|
|
1128
1128
|
className: "ml-auto text-[14px] text-[#2E8B57] hover:underline",
|
|
1129
|
-
children:
|
|
1129
|
+
children: mergedPageData.locationFilter.clear
|
|
1130
1130
|
}
|
|
1131
1131
|
),
|
|
1132
1132
|
/* @__PURE__ */ jsxs("div", { className: "flex text-[#767880] cursor-not-allowed", children: [
|
|
@@ -1155,7 +1155,7 @@ var RoomsList = ({
|
|
|
1155
1155
|
{
|
|
1156
1156
|
style: { maxHeight: "706px", overflow: "auto" },
|
|
1157
1157
|
className: "rounded-[12px] bg-white border border-[#E4E5E6]",
|
|
1158
|
-
children: filteredStudioLocations.length === 0 ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-[200px] text-[#767880]", children:
|
|
1158
|
+
children: filteredStudioLocations.length === 0 ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-[200px] text-[#767880]", children: mergedPageData.locationFilter.noStudiosFound }) : filteredStudioLocations.map((item) => {
|
|
1159
1159
|
return /* @__PURE__ */ jsx(
|
|
1160
1160
|
StudioCard,
|
|
1161
1161
|
{
|
|
@@ -1169,7 +1169,8 @@ var RoomsList = ({
|
|
|
1169
1169
|
euifyMakeModel: item?.euifyMakeModel || "",
|
|
1170
1170
|
onSchedule,
|
|
1171
1171
|
onMouseEnter: () => setHoveredRoomId(item.id),
|
|
1172
|
-
onMouseLeave: () => setHoveredRoomId(null)
|
|
1172
|
+
onMouseLeave: () => setHoveredRoomId(null),
|
|
1173
|
+
pageData: mergedPageData.studioCard
|
|
1173
1174
|
},
|
|
1174
1175
|
item.id
|
|
1175
1176
|
);
|
|
@@ -1180,25 +1181,29 @@ var RoomsList = ({
|
|
|
1180
1181
|
LocationFilter,
|
|
1181
1182
|
{
|
|
1182
1183
|
locations: studioLocations.map((loc) => ({
|
|
1183
|
-
|
|
1184
|
-
|
|
1184
|
+
id: loc.id,
|
|
1185
|
+
country: loc.country,
|
|
1186
|
+
state: loc.state,
|
|
1187
|
+
city: loc.city
|
|
1185
1188
|
})),
|
|
1186
1189
|
visible: showLocationFilter,
|
|
1187
1190
|
onSelect: handleLocationSelect,
|
|
1188
|
-
onClose: () => setShowLocationFilter(false)
|
|
1191
|
+
onClose: () => setShowLocationFilter(false),
|
|
1192
|
+
pageData: mergedPageData.locationFilter
|
|
1189
1193
|
}
|
|
1190
1194
|
)
|
|
1191
1195
|
]
|
|
1192
1196
|
}
|
|
1193
1197
|
),
|
|
1194
|
-
googleMapsApiKey && /* @__PURE__ */ jsx("div", { className: cn("flex-1"), children: /* @__PURE__ */ jsx(
|
|
1198
|
+
googleMapsApiKey && /* @__PURE__ */ jsx("div", { className: cn("flex-1 l:!hidden"), children: /* @__PURE__ */ jsx(
|
|
1195
1199
|
StudioMap,
|
|
1196
1200
|
{
|
|
1197
1201
|
googleMapsApiKey,
|
|
1198
1202
|
locations: filteredStudioLocations,
|
|
1199
1203
|
hoveredLocationId: hoveredRoomId,
|
|
1200
1204
|
onSchedule,
|
|
1201
|
-
mapHeight: "794px"
|
|
1205
|
+
mapHeight: "794px",
|
|
1206
|
+
pageData: mergedPageData.map
|
|
1202
1207
|
}
|
|
1203
1208
|
) })
|
|
1204
1209
|
] })
|
|
@@ -1380,6 +1385,7 @@ var DemoRoom = ({
|
|
|
1380
1385
|
teamCode,
|
|
1381
1386
|
brandWebsite,
|
|
1382
1387
|
onSchedule,
|
|
1388
|
+
pageData,
|
|
1383
1389
|
...props
|
|
1384
1390
|
}) => {
|
|
1385
1391
|
const apiClient = useMemo(
|
|
@@ -1394,7 +1400,8 @@ var DemoRoom = ({
|
|
|
1394
1400
|
apiClient,
|
|
1395
1401
|
teamCode,
|
|
1396
1402
|
brandWebsite,
|
|
1397
|
-
onSchedule
|
|
1403
|
+
onSchedule,
|
|
1404
|
+
pageData
|
|
1398
1405
|
}
|
|
1399
1406
|
) });
|
|
1400
1407
|
};
|