diff --git a/package.json b/package.json index a4c6bef..02396c4 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,8 @@ "build": "next build", "start": "next start", "lint": "next lint", - "payload": "cross-env PAYLOAD_CONFIG_PATH=src/payload.config.ts payload", "payload:generate:types": "payload generate:types", + "payload:generate:importMap": "payload generate:importMap", "tsc": "tsc" }, "dependencies": { @@ -69,4 +69,4 @@ "typescript": "^5" }, "packageManager": "yarn@4.6.0" -} +} \ No newline at end of file diff --git a/src/app/(payload)/admin/importMap.js b/src/app/(payload)/admin/importMap.js index 2172f9e..f9eae4d 100644 --- a/src/app/(payload)/admin/importMap.js +++ b/src/app/(payload)/admin/importMap.js @@ -22,6 +22,7 @@ import { BoldFeatureClient as BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 import { ItalicFeatureClient as ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client' import { FixedToolbarFeatureClient as FixedToolbarFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client' import { default as default_382980007b1adf7b8e8832707f1169fb } from '@/components/Logo/AdminLogo' +import { S3ClientUploadHandler as S3ClientUploadHandler_f97aa6c64367fa259c5bc0567239ef24 } from '@payloadcms/storage-s3/client' export const importMap = { "@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell": RscEntryLexicalCell_44fe37237e0ebf4470c9990d8cb7b07e, @@ -47,5 +48,6 @@ export const importMap = { "@payloadcms/richtext-lexical/client#BoldFeatureClient": BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, "@payloadcms/richtext-lexical/client#ItalicFeatureClient": ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, "@payloadcms/richtext-lexical/client#FixedToolbarFeatureClient": FixedToolbarFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, - "/components/Logo/AdminLogo#default": default_382980007b1adf7b8e8832707f1169fb + "/components/Logo/AdminLogo#default": default_382980007b1adf7b8e8832707f1169fb, + "@payloadcms/storage-s3/client#S3ClientUploadHandler": S3ClientUploadHandler_f97aa6c64367fa259c5bc0567239ef24 } diff --git a/src/app/globals.css b/src/app/globals.css index 70ed84f..b202b6a 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -36,31 +36,43 @@ body { } @layer components { + /* casual button */ .ext-btn { - @apply py-2 px-4 rounded-full hover:opacity-95 hover:scale-95 transition-transform font-semibold no-underline; + @apply py-2 px-4 rounded-full hover:opacity-95 hover:scale-105 transition-all font-medium no-underline duration-300; } .ext-btn-primary { - @apply bg-extColorPrimary text-white; + @apply ext-btn bg-extColorPrimary text-white hover:text-extColorPrimary3; } .ext-btn-primary2 { - @apply bg-extColorPrimary2 text-white; + @apply ext-btn bg-extColorPrimary2 text-white hover:text-extColorPrimary3; } .ext-btn-primary3 { - @apply bg-extColorPrimary3 text-white; + @apply ext-btn bg-extColorPrimary3 text-white hover:text-extColorPrimary3; } .ext-btn-primary4 { - @apply bg-extColorPrimary4 text-white; + @apply ext-btn bg-extColorPrimary4 text-white hover:text-extColorPrimary3; } - .ext-btn-shadow-sm { - @apply py-2 px-3 rounded-full text-sm font-medium no-underline shadow-[0px_0px_10px_0px_rgba(0,0,0,0.5)]; + /* CTA button */ + .ext-btn-cta { + @apply inline-block !text-[16px] font-medium bg-extColorPrimary6 hover:bg-extColorPrimary8 !text-white py-1 px-6 hover:scale-105 rounded-full text-lg shadow-sm transition-all duration-300; } - .ext-btn-shadow-sm-primary4 { - @apply bg-extColorPrimary4 text-white hover:text-white hover:bg-extColorPrimary6 transition-colors; + .ext-btn-cta * { + @apply !inline-block; + } + .ext-btn-cta-md { + @apply ext-btn-cta !text-lg py-4 px-8; } - .ext-btn-shadow-sm-primary8 { - @apply bg-extColorPrimary8 text-white hover:text-white hover:bg-extColorPrimary6 transition-colors; + /* button with shadow */ + .ext-btn-shadow { + @apply py-2 px-3 rounded-full text-sm font-medium no-underline shadow-[0px_0px_10px_0px_rgba(0,0,0,0.5)] transition-colors duration-300; + } + .ext-btn-shadow-primary4 { + @apply ext-btn-shadow bg-extColorPrimary4 text-white hover:text-white hover:bg-extColorPrimary6; + } + .ext-btn-shadow-primary8 { + @apply ext-btn-shadow bg-extColorPrimary8 text-white hover:text-white hover:bg-extColorPrimary6; } .shadow-nav { diff --git a/src/components/Blocks/BeforeFooter/index.tsx b/src/components/Blocks/BeforeFooter/index.tsx index 95a47af..088860c 100644 --- a/src/components/Blocks/BeforeFooter/index.tsx +++ b/src/components/Blocks/BeforeFooter/index.tsx @@ -1,4 +1,5 @@ import Link from "next/link"; +import { FaArrowRight } from "react-icons/fa"; export interface BeforeFooterBlockProps { id?: string; @@ -50,11 +51,8 @@ export function BeforeFooterBlock({ title, description, buttonText, showLinier =

{title ?? placeholderTitle}

{description ?? placeholderDescription}
- - {buttonText ?? placeholderButtonText} → + + {buttonText ?? placeholderButtonText}
diff --git a/src/components/Blocks/BoxMenuGrid/BoxMenu.tsx b/src/components/Blocks/BoxMenuGrid/BoxMenu.tsx index d5117cc..9ab6c34 100644 --- a/src/components/Blocks/BoxMenuGrid/BoxMenu.tsx +++ b/src/components/Blocks/BoxMenuGrid/BoxMenu.tsx @@ -11,7 +11,7 @@ export default function BoxMenu({ title, description, href }: BoxMenuProps) {
{title ?? ""}
{description ?? ""}
- + Learn More
diff --git a/src/components/Blocks/Contact/index.tsx b/src/components/Blocks/Contact/index.tsx index 85069be..95f869a 100644 --- a/src/components/Blocks/Contact/index.tsx +++ b/src/components/Blocks/Contact/index.tsx @@ -1,5 +1,7 @@ import { fetchContact } from "@/services/payload/contact"; import { Suspense } from "react"; +import { FaClock, FaFax, FaMapMarkerAlt } from "react-icons/fa"; +import { GiRotaryPhone } from "react-icons/gi"; export default function ContactBlock() { return ( @@ -31,22 +33,8 @@ async function ContactWithData() {
{/* Contact Item */}
-
-
- -
- +
+

Location

@@ -60,21 +48,8 @@ async function ContactWithData() { {/* End Contact Item */} {/* Contact Item */}
-
-
- -
+
+

Phone

@@ -88,21 +63,8 @@ async function ContactWithData() {
{/* Contact Item */}
-
-
- -
+
+

Hours

{Array.isArray(contact?.hours) && @@ -117,21 +79,8 @@ async function ContactWithData() { {/* End Contact Item */} {/* Contact Item */}
-
-
- -
+
+

Fax

@@ -182,21 +131,7 @@ function ContactSkeleton() { {/* Contact Item */}
-
- -
- +

Location

@@ -205,20 +140,7 @@ function ContactSkeleton() { {/* Contact Item */}
-
- -
+

Phone

@@ -229,20 +151,7 @@ function ContactSkeleton() { {/* Contact Item */}
-
- -
+

Hours

@@ -251,20 +160,7 @@ function ContactSkeleton() { {/* Contact Item */}
-
- -
+

Fax

diff --git a/src/components/Blocks/Form/index.tsx b/src/components/Blocks/Form/index.tsx index 52c28e4..9abc227 100644 --- a/src/components/Blocks/Form/index.tsx +++ b/src/components/Blocks/Form/index.tsx @@ -89,7 +89,7 @@ export const FormBlock: React.FC< }, 250); try { - const req = await fetch(`${process.env.NEXT_PUBLIC_PAYLOAD_URL}/api/form-submissions`, { + const req = await fetch(`/api/form-submissions`, { body: JSON.stringify({ form: formID, submissionData: dataToSend, @@ -140,7 +140,7 @@ export const FormBlock: React.FC< ); return ( -
+
{!!enableIntro && introContent && !hasSubmitted && } {!isLoading && hasSubmitted && confirmationType === "message" && } diff --git a/src/components/Blocks/RenderBlocks.tsx b/src/components/Blocks/RenderBlocks.tsx index 277a987..f6052d8 100644 --- a/src/components/Blocks/RenderBlocks.tsx +++ b/src/components/Blocks/RenderBlocks.tsx @@ -51,7 +51,7 @@ export const RenderBlocks: React.FC<{ ); } else if (blockType === "formBlock") { return ( -
+
{data.title} diff --git a/src/components/Contacts/Contact.tsx b/src/components/Contacts/Contact.tsx deleted file mode 100644 index 637abe0..0000000 --- a/src/components/Contacts/Contact.tsx +++ /dev/null @@ -1,233 +0,0 @@ -import { fetchContact } from "@/services/payload/contact"; -import { FaClock, FaFax, FaMapMarkerAlt } from "react-icons/fa"; -import { GiRotaryPhone } from "react-icons/gi"; -import { Suspense } from "react"; - -export default function Contact() { - return ( - <> - }> - - - - ); -} - -async function ContactWithData() { - const contact = await fetchContact(); - - return ( -
-
-
-
-
-

Contact Us

-
-
-
-
-
-
- {/* Contact Form */} -
- {/* Contact Item */} -
-
- -

Location

- -
-
- {/* End Contact Item */} - {/* Contact Item */} -
-
- -

Phone

- -
-
- {/* End Contact Item */} -
-
- {/* Contact Item */} -
-
- -

Hours

-
- {Array.isArray(contact?.hours) && - contact.hours.map((h) => ( -

- {h.hour ?? ""} -

- ))} -
-
-
- {/* End Contact Item */} - {/* Contact Item */} -
-
- -

Fax

- -
-
- {/* End Contact Item */} -
- {/* End Contact Form */} -
-
- {/* Google Map */} -
-