diff --git a/public/assets/css/style-responsive.css b/public/assets/css/style-responsive.css index c9fcbf8..ec8462b 100644 --- a/public/assets/css/style-responsive.css +++ b/public/assets/css/style-responsive.css @@ -586,6 +586,9 @@ .blog-item { margin-bottom: 50px; } + .list-bullet li { + list-style-type: circle; + } .blog-item-title { font-size: 28px; } diff --git a/public/assets/css/style.css b/public/assets/css/style.css index 238c61c..94629fc 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -238,10 +238,10 @@ Primary use: Multipurpose Template --gradient-primary-alpha-2: linear-gradient(90deg, transparent 13%, var(--color-primary-1) 60%); --border-radius-default: 4px; --border-radius-large: 30px; - --box-shadow: - 0px 5px 10px 0px rgba(0, 0, 0, 0.05), 0px 1px 1px 0px rgba(0, 0, 0, 0.03), 0px 3px 5px 0px rgba(0, 0, 0, 0.03); - --box-shadow-strong: - 0px 5px 10px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.06), 0px 3px 5px 0px rgba(0, 0, 0, 0.06); + --box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.05), 0px 1px 1px 0px rgba(0, 0, 0, 0.03), + 0px 3px 5px 0px rgba(0, 0, 0, 0.03); + --box-shadow-strong: 0px 5px 10px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.06), + 0px 3px 5px 0px rgba(0, 0, 0, 0.06); --box-shadow-block: 0px 3px 50px 0px rgba(0, 0, 0, 0.05); --box-shadow-block-strong: 0px 3px 50px 0px rgba(0, 0, 0, 0.15); --transition-default: all 0.27s cubic-bezier(0, 0, 0.58, 1); @@ -10290,6 +10290,9 @@ a.link-to-top.color:before { position: relative; margin-bottom: 80px; } +.list-bullet li { + list-style-type: disc; +} .blog-item .lead, .blog-item blockquote p { font-size: 130%; diff --git a/public/assets/images/about-image.webp b/public/assets/images/about-image.webp new file mode 100644 index 0000000..2c34833 Binary files /dev/null and b/public/assets/images/about-image.webp differ diff --git a/public/assets/images/full-width-images/section-bg-13.jpeg b/public/assets/images/full-width-images/section-bg-13.jpeg new file mode 100644 index 0000000..7e4bc74 Binary files /dev/null and b/public/assets/images/full-width-images/section-bg-13.jpeg differ diff --git a/src/app/(main)/biography/[slug]/page.tsx b/src/app/(main)/biography/[slug]/page.tsx new file mode 100644 index 0000000..5ba0222 --- /dev/null +++ b/src/app/(main)/biography/[slug]/page.tsx @@ -0,0 +1,96 @@ +import { BeforeFooterBlock } from "@/components/Blocks/BeforeFooter"; +import { fetchTeamDetail } from "@/services/payload/team"; +import { RichText } from "@payloadcms/richtext-lexical/react"; +import Image from "next/image"; +import { Suspense } from "react"; + +export default async function BiographySinglePage({ params }: { params: Promise<{ slug: string }> }) { + const slug = (await params).slug; + const data = await fetchTeamDetail(slug); + if (!data?.data) return <>; + return ( + <> + }> + <> +
+ {/* */} +
+ +
+ {/* */} + +
+
+
+

{data.data.name}

+ {/* Author, Categories, Comments */} +
+ +
+ {/* End Author, Categories, Comments */} +
+
+
+
+ + {/* Section */} +
+
+
+ {/* Content */} +
+ {/* Post */} +
+
+
+ {data.data.name} +
+
+ +
+
+
+ {/* End Post */} +
+ {/* End Content */} +
+
+
+ {/* End Section */} + + +
+ + ); +} + +function Loading() { + return ( +
+
+
+ {/* Content */} +
+ {/* Post */} +
+
+
+
+
+
+
+
+
+
+
+ {/* End Post */} +
+ {/* End Content */} +
+
+
+ ); +} diff --git a/src/app/(main)/home-bg-video/page.tsx b/src/app/(main)/home-bg-video/page.tsx index 9317775..901ca2c 100644 --- a/src/app/(main)/home-bg-video/page.tsx +++ b/src/app/(main)/home-bg-video/page.tsx @@ -1,5 +1,5 @@ "use client"; -import Hero from "@/components/Hero"; +import Hero6 from "@/components/Hero"; import dynamic from "next/dynamic"; const ParallaxContainer = dynamic(() => import("@/components/ParallaxContainer"), { @@ -9,15 +9,21 @@ const ParallaxContainer = dynamic(() => import("@/components/ParallaxContainer") export default function Home1BGVideoMultiPage() { return ( <> - - - +
+
+
+ + + +
+
+
); } diff --git a/src/app/(main)/layout.tsx b/src/app/(main)/layout.tsx index 6d532b6..876f694 100644 --- a/src/app/(main)/layout.tsx +++ b/src/app/(main)/layout.tsx @@ -1,20 +1,20 @@ "use client"; -import "@/app/globals.css"; -import Footer from "@/components/Footer"; -import Header from "@/components/Header"; -import { navMenuData } from "@/data/menu"; -import { headerChangeOnScroll } from "@/utils/changeHeaderOnScroll"; +import { usePathname } from "next/navigation"; +import { useEffect } from "react"; import { init_wow } from "@/utils/initWow"; import { parallaxMouseMovement, parallaxScroll } from "@/utils/parallax"; -import "@public/assets/css/styles.css"; -import "jarallax/dist/jarallax.min.css"; -import { usePathname } from "next/navigation"; -import "photoswipe/dist/photoswipe.css"; -import { useEffect } from "react"; -import "react-modal-video/css/modal-video.css"; +import { headerChangeOnScroll } from "@/utils/changeHeaderOnScroll"; +import Header from "@/components/Header"; +import Footer from "@/components/Footer"; +import { navMenuData } from "@/data/menu"; +import "@/app/globals.css"; import "swiper/css"; +import "jarallax/dist/jarallax.min.css"; import "swiper/css/effect-fade"; +import "react-modal-video/css/modal-video.css"; +import "photoswipe/dist/photoswipe.css"; import "tippy.js/dist/tippy.css"; +import "@public/assets/css/styles.css"; export default function MainLayout({ children, @@ -52,29 +52,6 @@ export default function MainLayout({ return ( - - - - - - - -
diff --git a/src/components/About.tsx b/src/components/About.tsx new file mode 100644 index 0000000..5ba3bc8 --- /dev/null +++ b/src/components/About.tsx @@ -0,0 +1,50 @@ +"use client"; +import Image from "next/image"; + +export default function About() { + return ( +
+
+
+ {/* Image */} +
+ Image Description +
+ {/* End Image */} + {/* Decorative Waves */} +
+ +
+ {/* End Decorative Waves */} +
+
+
+

What is Radixact® Radiation Therapy?

+

+ Radixact® is an advanced form of radiation therapy that targets a wide range of cancers. Radixact® is a form + of TomoTherapy®, a system of CT imaging that provides 3D images of the tumor, then targets it more precisely + to minimize the effects on healthy tissue. It also works from all directions to treat tumors more effectively + from multiple angles. +

+

What are the Side Effects of Radixact®?

+

+ Radixact® reduces many of the common after-effects of radiation therapy by protecting healthy tissue. Common + side effects of radiation therapy include fatigue and local skin irritation in the treatment area. Radixact® + decreases the occurrence of these problems by leaving healthy tissue as untouched as possible. Radixact® + patients usually go about their daily lives during treatment with minimal disruption. +

+
+
+ ); +} diff --git a/src/components/Blocks/GoogleReviews/index.tsx b/src/components/Blocks/GoogleReviews/index.tsx index 8880d36..44ff184 100644 --- a/src/components/Blocks/GoogleReviews/index.tsx +++ b/src/components/Blocks/GoogleReviews/index.tsx @@ -64,13 +64,13 @@ export function GoogleReviewsBlock() {
-

Reviews

+

Reviews

-

4.8

+

4.8

-
Over 200 Reviews
+
Over 200 Reviews
@@ -41,7 +39,7 @@ export default function HeaderNav({ links, animateY = false }: any) { links.map((link: any, index: any) => (
  • {!Array.isArray(link?.child) && ( - + {animateY ? ( {link.text} diff --git a/src/components/Hero.tsx b/src/components/Hero.tsx index 79332a4..9ef59ed 100644 --- a/src/components/Hero.tsx +++ b/src/components/Hero.tsx @@ -1,64 +1,63 @@ "use client"; -import { useRef } from "react"; -import Link from "next/link"; +import ModalVideo from "react-modal-video"; +import { useState } from "react"; export default function Hero6() { - const videoRef = useRef(null); - + const [isOpen, setOpen] = useState(false); return ( -
    -
    - {/* Background Video */} - {/* Please replace the video file in folder "video" with your own file */} -
    - -
    -
    + <> +
    {/* Home Section Content */}
    {/* Home Section Text */} -
    -

    Healing Begins Here

    -

    - +
    +

    + Healing Begins Here +

    +

    + Cochise Oncology

    -

    - Southern Arizona’s Only Complete Cancer Treatment Center in Sierra Vista. -

    - +
    {/* End Home Section Text */}

    {/* End Home Section Content */} - {/* Scroll Down */} - - {/* End Scroll Down */} -
    -
    +
  • {" "} + setOpen(false)} + />{" "} + ); } diff --git a/src/components/Homepage.tsx b/src/components/Homepage.tsx index 9a0082a..4b64426 100644 --- a/src/components/Homepage.tsx +++ b/src/components/Homepage.tsx @@ -2,8 +2,8 @@ import { features4 } from "@/data/features"; import Image from "next/image"; import Link from "next/link"; import Cta3 from "./cta3"; -import Service from "./Service"; -import { GoogleReviewsBlock } from "./Blocks/GoogleReviews"; +import Testimonials from "./Testimonials"; +import About from "./About"; export default function homepage({ onePage = false, dark = false }) { return ( @@ -95,34 +95,9 @@ export default function homepage({ onePage = false, dark = false }) {
    -
    -
    -
    -
    -

    Testimonials

    -
    - +
    +
    -
    -
    -
    - {/* Left Column */} -
    -

    Our Services

    -

    A Cancer Treatment Center of Excellence.

    -

    - Get compassionate care and excellent medical services from COCHISE ONCOLOGY in Sierra Vista, Arizona. -

    -
    - {/* End Left Column */} - {/* Right Column */} - - {/* End Right Column */} -
    -
    -
    - -
    -
    +

    A Cancer Treatment Center of Excellence

    -

    - We believe our patients deserve and demand the very best in timely treatments, personalized care, - professional competence, and advanced technology. We will achieve this vision by employing caring and - competent staff with excellent training, developing multidisciplinary collaborations, and using the - latest technology available in the most comfortable environment. +

    + Get compassionate care and excellent medical services from COCHISE ONCOLOGY in Sierra Vista, Arizona. We + are the largest full-service cancer treatment center between Albuquerque, New Mexico and Tucson, + Arizona. Our services cover radiation treatments as well as chemotherapy, and we also have an infusion + center. We offer support groups as well as free hospitality housing for patients undergoing treatment. + Read on to learn more about our establishment, or reach out to us via phone or email to make an inquiry. +

    +

    The Mission of Cochise Oncology

    +

    + To provide excellence in cancer and patient care in a comprehensive center for the local community. + Optimal cancer treatment places the patient first—from the patient’s first greeting with the front + office staff to the trust they develop with the physicians and the whole treatment team. We believe our + patients deserve and demand the very best in timely treatments, personalized care, professional + competence, and advanced technology. We will achieve this vision by employing caring and competent staff + with excellent training, developing multidisciplinary collaborations, and using the latest technology + available in the most comfortable environment.

    {/* Features List */} @@ -152,6 +138,39 @@ export default function homepage({ onePage = false, dark = false }) {
    + +
    +
    +
    +
    +

    Our Service

    +

    Radixact® Radiation Therapy

    +
    +
    + {/* Decorative Dots */} +
    + +
    + {/* End Decorative Dots */} + + + + Explore Radixact® + + + +
    +
    + +
    +
    ); } diff --git a/src/components/SplashScreen.tsx b/src/components/SplashScreen.tsx index 53be7ce..e69de29 100644 --- a/src/components/SplashScreen.tsx +++ b/src/components/SplashScreen.tsx @@ -1,52 +0,0 @@ -import React, { useEffect, useState } from "react"; -import Image from "next/image"; -import anime from "animejs"; - -interface SplashScreenProps { - finishLoading: () => void; -} - -const SplashScreen: React.FC = ({ finishLoading }) => { - const [isMounted, setIsMounted] = useState(false); - - const animate = () => { - const loader = anime.timeline({ - complete: () => finishLoading(), - }); - - loader - .add({ - targets: "#logo", - delay: 0, - scale: 1, - duration: 500, - easing: "easeInOutExpo", - }) - .add({ - targets: "#logo", - delay: 0, - scale: 1.25, - duration: 500, - easing: "easeInOutExpo", - }); - }; - - useEffect(() => { - const timeout = setTimeout(() => { - setIsMounted(true); - }, 10); - - animate(); - return () => clearTimeout(timeout); - }, []); - - return isMounted ? ( -
    - -
    - ) : ( - <> - ); -}; - -export default SplashScreen; diff --git a/src/components/Team.tsx b/src/components/Team.tsx index c8b6d57..e3dd78a 100644 --- a/src/components/Team.tsx +++ b/src/components/Team.tsx @@ -1,25 +1,28 @@ "use client"; +import Link from "next/link"; import { CardTeam } from "./Teams/CardTeam"; export default function Team({ data }: any) { return (
    -
    +

    Our Team .

    -
    - The same color can evoke different emotions, or have various meanings to different individuals and cultures. -
    -
    +
    {/* Team item */} {data.map((member: any, index: any) => ( -
    +
    + + +
    ))} {/* End Team item */} diff --git a/src/components/Teams/CardTeam.tsx b/src/components/Teams/CardTeam.tsx index 18ca208..0804220 100644 --- a/src/components/Teams/CardTeam.tsx +++ b/src/components/Teams/CardTeam.tsx @@ -10,7 +10,7 @@ export interface CardTeamProps { export function CardTeam({ data }: CardTeamProps) { return ( -
    +
    (null); @@ -15,7 +10,7 @@ export default function Testimonials() { const isotope = new Isotope(isotopContainer.current, { itemSelector: ".col-md-6", - layoutMode: "masonry", + layoutMode: "masonry", }); imagesloaded(isotopContainer.current).on("progress", function () { isotope.layout(); @@ -26,120 +21,12 @@ export default function Testimonials() { initIsotop(); }, []); return ( -
    +
    - {/* Section Text */} -
    -
    -

    - Testimonials -

    -

    - We're trusted by leading companies. -

    -

    - A static website stores a unique file for every page of a static - website. Each time that page is requested, the same content is - returned. -

    - {/* Numbers */} -
    - {numberItems4.map((item, index) => ( -
    -
    {item.title}
    -
    {item.description}
    -
    - ))} -
    - {/* End Numbers */} -
    +
    +
    - {/* End Section Text */} - {/* Testimonials Grid */} -
    -
    -
    - {/* Testimonials Item */} - {testimonials5.map((testimonial: any, index: number) => ( -
    -
    -
    - -
    -
    -

    {testimonial.text}

    -
    -
    - {testimonial.altText} -
    -
    - {testimonial.author} -
    {testimonial.position}
    -
    -
    -
    -
    -
    - ))} - - {/* End Testimonials Item */} -
    -
    -
    - {/* Testimonials Grid */}
    - {/* Logotypes */} -
    -

    Trusted by Leading Companies

    - - {/* Team item */} - {brands.map((elm: any, i: number) => ( - -
    - Company Name -
    -
    - ))} - - {/* End Team item */} -
    -
    - {/* End Logotypes */}
    ); } diff --git a/src/data/menu.ts b/src/data/menu.ts index 404d43b..3a5a32e 100644 --- a/src/data/menu.ts +++ b/src/data/menu.ts @@ -1,5 +1,8 @@ export const navMenuData = [ { href: "/", text: "Home" }, + { href: "/blog", text: "Blog" }, + { href: "/testimonials", text: "Testimonials" }, + { href: "https://cochise.mdnavigatorclinical.com/prognocistc1/cochiseClinicIndex.html", text: "Patient Portal" }, { href: "#", text: "About", @@ -69,14 +72,11 @@ export const navMenuData = [ href: "#", text: "Resources", child: [ - { href: "/testimonials", text: "Testimonials" }, { href: "/insurances", text: "Insurances" }, { href: "/support", text: "Support Groups" }, { href: "/hospitality-house", text: "Hospitality House" }, { href: "/in-house-lab", text: "In-House Lab" }, { href: "/american-cancer-society", text: "American Cancer Society" }, - { href: "/#", text: "Patient Portal" }, - { href: "/blog", text: "Blog" }, ], }, ]; diff --git a/src/data/testimonials.ts b/src/data/testimonials.ts index e7ee076..fdd4136 100644 --- a/src/data/testimonials.ts +++ b/src/data/testimonials.ts @@ -1,169 +1,168 @@ export const testimonials = [ - { - quote: `This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!`, - author: "Adam Peterson", - role: "Business Owner", - image: "/assets/images/ts1-user.jpg", + { + quote: `This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!`, + author: "Adam Peterson", + role: "Business Owner", + image: "/assets/images/ts1-user.jpg", + }, + { + quote: `This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!`, + author: "Adam Peterson", + role: "Business Owner", + image: "/assets/images/ts1-user.jpg", + }, + { + quote: `This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!`, + author: "Adam Peterson", + role: "Business Owner", + image: "/assets/images/ts1-user.jpg", + }, +]; + +export const testimonials2 = [ + { + id: 1, + blockquote: + "Beautifull template, nice code and easy to customize. Optimization and structure are very good for seo basics.", + author: { + name: "Adam Peterson", + title: "Business Owner", + imgSrc: "/assets/images/ts1-user.jpg", }, - { - quote: `This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!`, - author: "Adam Peterson", - role: "Business Owner", - image: "/assets/images/ts1-user.jpg", + }, + { + id: 2, + blockquote: + "Beautifull template, nice code and easy to customize. Optimization and structure are very good for seo basics.", + author: { + name: "Adam Peterson", + title: "Business Owner", + imgSrc: "/assets/images/ts1-user.jpg", }, - { - quote: `This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!`, - author: "Adam Peterson", - role: "Business Owner", - image: "/assets/images/ts1-user.jpg", + }, + { + id: 3, + blockquote: + "Beautifull template, nice code and easy to customize. Optimization and structure are very good for seo basics.", + author: { + name: "Adam Peterson", + title: "Business Owner", + imgSrc: "/assets/images/ts1-user.jpg", }, - ]; - - export const testimonials2 = [ - { - id: 1, - blockquote: - "Beautifull template, nice code and easy to customize. Optimization and structure are very good for seo basics.", - author: { - name: "Adam Peterson", - title: "Business Owner", - imgSrc: "/assets/images/ts1-user.jpg", - }, - }, - { - id: 2, - blockquote: - "Beautifull template, nice code and easy to customize. Optimization and structure are very good for seo basics.", - author: { - name: "Adam Peterson", - title: "Business Owner", - imgSrc: "/assets/images/ts1-user.jpg", - }, - }, - { - id: 3, - blockquote: - "Beautifull template, nice code and easy to customize. Optimization and structure are very good for seo basics.", - author: { - name: "Adam Peterson", - title: "Business Owner", - imgSrc: "/assets/images/ts1-user.jpg", - }, - }, - ]; - - export const testimonials3 = [ - { - text: "Beautiful template, nice code and easy to customize. Optimization, structure and pages are very good for SEO basics.", - author: "Thomas Johnson", - role: "UI/UX designer", - imgSrc: "/assets/images/demo-gradient/user-1.jpg", - }, - { - text: "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality.", - author: "Alice Watson", - role: "3D artist", - imgSrc: "/assets/images/demo-gradient/user-2.jpg", - }, - { - text: "A remarkable model, everything has been thought out with talent, the design, the responsiveness, the various adaptations.", - author: "Peter Braun", - role: "Business owner", - imgSrc: "/assets/images/demo-gradient/user-3.jpg", - }, - { - text: "Beautiful template, nice code and easy to customize. Optimization, structure and pages are very good for SEO basics.", - author: "Thomas Johnson", - role: "UI/UX designer", - imgSrc: "/assets/images/demo-gradient/user-1.jpg", - }, - { - text: "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality.", - author: "Alice Watson", - role: "3D artist", - imgSrc: "/assets/images/demo-gradient/user-2.jpg", - }, - { - text: "A remarkable model, everything has been thought out with talent, the design, the responsiveness, the various adaptations.", - author: "Peter Braun", - role: "Business owner", - imgSrc: "/assets/images/demo-gradient/user-3.jpg", - }, - ]; - - export const testimonials4 = [ - { - id: 1, - delay: "0s", - stars: 4.5, - text: "“Really impressed with the service and the results!”", - caption: "Rated 4.5 on Trustpilot", - }, - { - id: 2, - delay: "0.15s", - stars: 4.5, - text: "“Excellent service for targeted lead generation.”", - caption: "Rated 4.5 on Trustpilot", - }, - { - id: 3, - delay: "0.3s", - stars: 4.5, - text: "“I have super enjoyed working with Resonance.”", - caption: "Rated 4.5 on Trustpilot", - }, - ]; - - export const testimonialItems = [ - { - imageSrc: "/assets/images/demo-corporate/testimonial-1.jpg", - quote: - "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is the absolute best I've ever had the pleasure of interacting with. Quick, courteous, premium and extremely helpful!", - author: "Adam Peterson", - position: "Marketing Consultant", - }, - { - imageSrc: "/assets/images/demo-corporate/testimonial-2.jpg", - quote: - "Optimization and structure are very good for SEO basics. A remarkable model, everything has been thought out with talent, the design, the various adaptations. Beautiful template, nice code and easy to customize.", - author: "Jordan Harvey", - position: "SEO/SMO Expert", - }, - ]; - - export const testimonials5 = [ - { - text: "Beautifull template, nice code and easy to customize. Optimization and structure are verry good for SEO basics.", - author: "Thomas Johnson", - position: "UI/ UX Designer", - imgSrc: "/assets/images/demo-fancy/user-1.jpg", - altText: "Image description is here", - extraClass: "mt-50 mt-sm-0", - }, - { - text: "The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!", - author: "Emma Kande", - position: "3D Artist", - imgSrc: "/assets/images/demo-fancy/user-2.jpg", - altText: "Image description is here", - extraClass: "", - }, - { - text: "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality.", - author: "Peter Rebel", - position: "Business Owner", - imgSrc: "/assets/images/demo-fancy/user-3.jpg", - altText: "Image description is here", - extraClass: "", - }, - { - text: "A remarkable model, everything has been thought out with talent, the design, the responsiveness, the various adaptations.", - author: "Alice Watson", - position: "Product Designer", - imgSrc: "/assets/images/demo-fancy/user-4.jpg", - altText: "Image description is here", - extraClass: "", - }, - ]; - \ No newline at end of file + }, +]; + +export const testimonials3 = [ + { + text: "Beautiful template, nice code and easy to customize. Optimization, structure and pages are very good for SEO basics.", + author: "Thomas Johnson", + role: "UI/UX designer", + imgSrc: "/assets/images/demo-gradient/user-1.jpg", + }, + { + text: "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality.", + author: "Alice Watson", + role: "3D artist", + imgSrc: "/assets/images/demo-gradient/user-2.jpg", + }, + { + text: "A remarkable model, everything has been thought out with talent, the design, the responsiveness, the various adaptations.", + author: "Peter Braun", + role: "Business owner", + imgSrc: "/assets/images/demo-gradient/user-3.jpg", + }, + { + text: "Beautiful template, nice code and easy to customize. Optimization, structure and pages are very good for SEO basics.", + author: "Thomas Johnson", + role: "UI/UX designer", + imgSrc: "/assets/images/demo-gradient/user-1.jpg", + }, + { + text: "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality.", + author: "Alice Watson", + role: "3D artist", + imgSrc: "/assets/images/demo-gradient/user-2.jpg", + }, + { + text: "A remarkable model, everything has been thought out with talent, the design, the responsiveness, the various adaptations.", + author: "Peter Braun", + role: "Business owner", + imgSrc: "/assets/images/demo-gradient/user-3.jpg", + }, +]; + +export const testimonials4 = [ + { + id: 1, + delay: "0s", + stars: 4.5, + text: "“Really impressed with the service and the results!”", + caption: "Rated 4.5 on Trustpilot", + }, + { + id: 2, + delay: "0.15s", + stars: 4.5, + text: "“Excellent service for targeted lead generation.”", + caption: "Rated 4.5 on Trustpilot", + }, + { + id: 3, + delay: "0.3s", + stars: 4.5, + text: "“I have super enjoyed working with Resonance.”", + caption: "Rated 4.5 on Trustpilot", + }, +]; + +export const testimonialItems = [ + { + imageSrc: "/assets/images/demo-corporate/testimonial-1.jpg", + quote: + "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality. The support is the absolute best I've ever had the pleasure of interacting with. Quick, courteous, premium and extremely helpful!", + author: "Adam Peterson", + position: "Marketing Consultant", + }, + { + imageSrc: "/assets/images/demo-corporate/testimonial-2.jpg", + quote: + "Optimization and structure are very good for SEO basics. A remarkable model, everything has been thought out with talent, the design, the various adaptations. Beautiful template, nice code and easy to customize.", + author: "Jordan Harvey", + position: "SEO/SMO Expert", + }, +]; + +export const testimonials5 = [ + { + text: "Beautifull template, nice code and easy to customize. Optimization and structure are verry good for SEO basics.", + author: "Thomas Johnson", + position: "UI/ UX Designer", + imgSrc: "/assets/images/demo-fancy/user-1.jpg", + altText: "Image description is here", + extraClass: "mt-50 mt-sm-0", + }, + { + text: "The support is one of the absolute best I've ever had the pleasure of interacting with. Quick, courteous, and extremely helpful!", + author: "Emma Kande", + position: "3D Artist", + imgSrc: "/assets/images/demo-fancy/user-2.jpg", + altText: "Image description is here", + extraClass: "", + }, + { + text: "This template is so beautiful and has such wonderful new options. It is updated often which gives me even more quality.", + author: "Peter Rebel", + position: "Business Owner", + imgSrc: "/assets/images/demo-fancy/user-3.jpg", + altText: "Image description is here", + extraClass: "", + }, + { + text: "A remarkable model, everything has been thought out with talent, the design, the responsiveness, the various adaptations.", + author: "Alice Watson", + position: "Product Designer", + imgSrc: "/assets/images/demo-fancy/user-4.jpg", + altText: "Image description is here", + extraClass: "", + }, +]; diff --git a/src/services/payload/team.ts b/src/services/payload/team.ts new file mode 100644 index 0000000..e5dd882 --- /dev/null +++ b/src/services/payload/team.ts @@ -0,0 +1,27 @@ +import payloadConfig from "@/payload.config"; +import { formatDate } from "@/utils/datetime"; +import { getPayload } from "payload"; + +export async function fetchTeamDetail(name: string | undefined) { + const payload = await getPayload({ config: payloadConfig }); + const blogDataQuery = await payload.find({ + collection: "teams", + where: { + name: { like: `%${name}%` }, + }, + limit: 1, + pagination: false, + }); + + if (!blogDataQuery?.docs?.[0]) return null; + + const data = blogDataQuery?.docs?.[0]; + const createdAt = formatDate(data.createdAt); + const imgUrl = typeof data.img !== "number" ? (data?.img?.url ?? "") : ""; + + return { + data, + createdAt, + imgUrl, + }; +}