@aws505/sheetsite 1.0.0 → 1.0.2

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.
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/components/layout/Header.tsx
2
4
  import { useState } from "react";
3
5
 
@@ -469,10 +471,10 @@ function Icon({ name, ...props }) {
469
471
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
470
472
  var defaultNavigation = [
471
473
  { label: "Home", href: "/" },
472
- { label: "Services", href: "/services" },
473
- { label: "Gallery", href: "/gallery" },
474
- { label: "About", href: "/about" },
475
- { label: "Contact", href: "/contact" }
474
+ { label: "Services", href: "/#services" },
475
+ { label: "Hours", href: "/#hours" },
476
+ { label: "Reviews", href: "/#reviews" },
477
+ { label: "FAQ", href: "/#faq" }
476
478
  ];
477
479
  function Header({
478
480
  business,
@@ -565,10 +567,10 @@ function Header({
565
567
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
566
568
  var defaultQuickLinks = [
567
569
  { label: "Home", href: "/" },
568
- { label: "Services", href: "/services" },
569
- { label: "About", href: "/about" },
570
- { label: "Contact", href: "/contact" },
571
- { label: "Privacy Policy", href: "/privacy" }
570
+ { label: "Services", href: "/#services" },
571
+ { label: "Hours", href: "/#hours" },
572
+ { label: "Reviews", href: "/#reviews" },
573
+ { label: "FAQ", href: "/#faq" }
572
574
  ];
573
575
  var dayNames = {
574
576
  monday: "Mon",
@@ -882,7 +884,8 @@ function Services({
882
884
  showIcons = true,
883
885
  variant = "cards",
884
886
  limit,
885
- className = ""
887
+ className = "",
888
+ id = "services"
886
889
  }) {
887
890
  const displayedServices = limit ? services.slice(0, limit) : services;
888
891
  const gridCols = {
@@ -891,7 +894,7 @@ function Services({
891
894
  4: "md:grid-cols-2 lg:grid-cols-4"
892
895
  };
893
896
  if (variant === "list") {
894
- return /* @__PURE__ */ jsx5("section", { className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs5("div", { className: "container mx-auto px-4", children: [
897
+ return /* @__PURE__ */ jsx5("section", { id, className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs5("div", { className: "container mx-auto px-4", children: [
895
898
  /* @__PURE__ */ jsx5(SectionHeader, { title, subtitle }),
896
899
  /* @__PURE__ */ jsx5("div", { className: "max-w-3xl mx-auto divide-y divide-gray-200", children: displayedServices.map((service) => /* @__PURE__ */ jsx5(
897
900
  ServiceListItem,
@@ -905,7 +908,7 @@ function Services({
905
908
  ] }) });
906
909
  }
907
910
  if (variant === "minimal") {
908
- return /* @__PURE__ */ jsx5("section", { className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs5("div", { className: "container mx-auto px-4", children: [
911
+ return /* @__PURE__ */ jsx5("section", { id, className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs5("div", { className: "container mx-auto px-4", children: [
909
912
  /* @__PURE__ */ jsx5(SectionHeader, { title, subtitle }),
910
913
  /* @__PURE__ */ jsx5("div", { className: `grid gap-6 ${gridCols[columns]}`, children: displayedServices.map((service) => /* @__PURE__ */ jsx5(
911
914
  ServiceMinimalCard,
@@ -917,7 +920,7 @@ function Services({
917
920
  )) })
918
921
  ] }) });
919
922
  }
920
- return /* @__PURE__ */ jsx5("section", { className: `py-16 bg-gray-50 ${className}`, children: /* @__PURE__ */ jsxs5("div", { className: "container mx-auto px-4", children: [
923
+ return /* @__PURE__ */ jsx5("section", { id, className: `py-16 bg-gray-50 ${className}`, children: /* @__PURE__ */ jsxs5("div", { className: "container mx-auto px-4", children: [
921
924
  /* @__PURE__ */ jsx5(SectionHeader, { title, subtitle }),
922
925
  /* @__PURE__ */ jsx5("div", { className: `grid gap-6 ${gridCols[columns]}`, children: displayedServices.map((service) => /* @__PURE__ */ jsx5(
923
926
  ServiceCard,
@@ -991,7 +994,8 @@ function Testimonials({
991
994
  showRatings = true,
992
995
  variant = "cards",
993
996
  limit,
994
- className = ""
997
+ className = "",
998
+ id = "reviews"
995
999
  }) {
996
1000
  const displayedTestimonials = limit ? testimonials.slice(0, limit) : testimonials;
997
1001
  const gridCols = {
@@ -999,7 +1003,7 @@ function Testimonials({
999
1003
  2: "md:grid-cols-2 max-w-4xl mx-auto",
1000
1004
  3: "md:grid-cols-2 lg:grid-cols-3"
1001
1005
  };
1002
- return /* @__PURE__ */ jsx6("section", { className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs6("div", { className: "container mx-auto px-4", children: [
1006
+ return /* @__PURE__ */ jsx6("section", { id, className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs6("div", { className: "container mx-auto px-4", children: [
1003
1007
  /* @__PURE__ */ jsxs6("div", { className: "text-center mb-12", children: [
1004
1008
  /* @__PURE__ */ jsx6("h2", { className: "text-3xl md:text-4xl font-bold text-gray-900 mb-4", children: title }),
1005
1009
  subtitle && /* @__PURE__ */ jsx6("p", { className: "text-lg text-gray-600 max-w-2xl mx-auto", children: subtitle })
@@ -1102,7 +1106,8 @@ function FAQ({
1102
1106
  variant = "accordion",
1103
1107
  defaultOpen = 0,
1104
1108
  allowMultiple = false,
1105
- className = ""
1109
+ className = "",
1110
+ id = "faq"
1106
1111
  }) {
1107
1112
  const initialOpen = Array.isArray(defaultOpen) ? defaultOpen : [defaultOpen];
1108
1113
  const [openItems, setOpenItems] = useState2(initialOpen);
@@ -1118,18 +1123,18 @@ function FAQ({
1118
1123
  }
1119
1124
  };
1120
1125
  if (variant === "cards") {
1121
- return /* @__PURE__ */ jsx7("section", { className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs7("div", { className: "container mx-auto px-4", children: [
1126
+ return /* @__PURE__ */ jsx7("section", { id, className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs7("div", { className: "container mx-auto px-4", children: [
1122
1127
  /* @__PURE__ */ jsx7(SectionHeader2, { title, subtitle }),
1123
1128
  /* @__PURE__ */ jsx7("div", { className: "grid md:grid-cols-2 gap-6 max-w-4xl mx-auto", children: items.map((item) => /* @__PURE__ */ jsx7(FAQCard, { item }, item.id || item.question)) })
1124
1129
  ] }) });
1125
1130
  }
1126
1131
  if (variant === "simple") {
1127
- return /* @__PURE__ */ jsx7("section", { className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs7("div", { className: "container mx-auto px-4", children: [
1132
+ return /* @__PURE__ */ jsx7("section", { id, className: `py-16 ${className}`, children: /* @__PURE__ */ jsxs7("div", { className: "container mx-auto px-4", children: [
1128
1133
  /* @__PURE__ */ jsx7(SectionHeader2, { title, subtitle }),
1129
1134
  /* @__PURE__ */ jsx7("div", { className: "max-w-3xl mx-auto space-y-8", children: items.map((item) => /* @__PURE__ */ jsx7(FAQSimple, { item }, item.id || item.question)) })
1130
1135
  ] }) });
1131
1136
  }
1132
- return /* @__PURE__ */ jsx7("section", { className: `py-16 bg-gray-50 ${className}`, children: /* @__PURE__ */ jsxs7("div", { className: "container mx-auto px-4", children: [
1137
+ return /* @__PURE__ */ jsx7("section", { id, className: `py-16 bg-gray-50 ${className}`, children: /* @__PURE__ */ jsxs7("div", { className: "container mx-auto px-4", children: [
1133
1138
  /* @__PURE__ */ jsx7(SectionHeader2, { title, subtitle }),
1134
1139
  /* @__PURE__ */ jsx7("div", { className: "max-w-3xl mx-auto", children: items.map((item, index) => /* @__PURE__ */ jsx7(
1135
1140
  FAQAccordionItem,
@@ -1226,14 +1231,15 @@ function Hours({
1226
1231
  highlightToday = true,
1227
1232
  variant = "card",
1228
1233
  timezone,
1229
- className = ""
1234
+ className = "",
1235
+ id = "hours"
1230
1236
  }) {
1231
1237
  const todayDay = getTodayDay(timezone);
1232
1238
  const sortedHours = [...hours].sort(
1233
1239
  (a, b) => dayOrder.indexOf(a.day) - dayOrder.indexOf(b.day)
1234
1240
  );
1235
1241
  if (variant === "inline") {
1236
- return /* @__PURE__ */ jsx8("div", { className: `flex flex-wrap gap-4 ${className}`, children: sortedHours.map((entry) => /* @__PURE__ */ jsx8(
1242
+ return /* @__PURE__ */ jsx8("div", { id, className: `flex flex-wrap gap-4 ${className}`, children: sortedHours.map((entry) => /* @__PURE__ */ jsx8(
1237
1243
  HoursInlineItem,
1238
1244
  {
1239
1245
  entry,
@@ -1243,7 +1249,7 @@ function Hours({
1243
1249
  )) });
1244
1250
  }
1245
1251
  if (variant === "minimal") {
1246
- return /* @__PURE__ */ jsx8("div", { className: `space-y-1 ${className}`, children: sortedHours.map((entry) => /* @__PURE__ */ jsx8(
1252
+ return /* @__PURE__ */ jsx8("div", { id, className: `space-y-1 ${className}`, children: sortedHours.map((entry) => /* @__PURE__ */ jsx8(
1247
1253
  HoursMinimalItem,
1248
1254
  {
1249
1255
  entry,
@@ -1252,7 +1258,7 @@ function Hours({
1252
1258
  entry.day
1253
1259
  )) });
1254
1260
  }
1255
- return /* @__PURE__ */ jsxs8("div", { className: `bg-white rounded-lg shadow p-6 ${className}`, children: [
1261
+ return /* @__PURE__ */ jsxs8("div", { id, className: `bg-white rounded-lg shadow p-6 ${className}`, children: [
1256
1262
  /* @__PURE__ */ jsxs8("div", { className: "flex items-center mb-4", children: [
1257
1263
  /* @__PURE__ */ jsx8(ClockIcon, { size: 24, className: "text-primary-600 mr-2" }),
1258
1264
  /* @__PURE__ */ jsx8("h3", { className: "text-xl font-semibold text-gray-900", children: title })