Compare commits

...

21 Commits

Author SHA1 Message Date
ameye 6e0230d577 Merge branch 'contact-endpoint-bug' of MERMS/MermsWebsite2025 into master 2026-05-26 20:31:23 +00:00
victorAnumudu d641ea57bc bug-fixed issue with calling the endpoint 2026-05-26 19:35:13 +01:00
victorAnumudu 5cde7e1f58 bug-fixed issue with calling the endpoint 2026-05-26 19:30:18 +01:00
ameye 9e98293876 Merge branch 'contact-endpoint' of MERMS/MermsWebsite2025 into master 2026-05-25 19:51:00 +00:00
victorAnumudu 345eeaf971 contact endpoint added 2026-05-25 18:26:15 +01:00
ameye edbcb5f0c9 new text 2026-05-24 19:32:28 -04:00
ameye 992b87014f menu fix 2026-05-24 18:48:17 -04:00
CHIEFSOFT\ameye 0ae51a7a6a Merge branch 'master' of https://gitlab.chiefsoft.net/MERMS/MermsWebsite2025 2026-05-24 13:00:40 -04:00
CHIEFSOFT\ameye 6736715544 new home image 2026-05-24 12:59:53 -04:00
ameye da40046283 new hero title 2026-05-24 12:25:41 -04:00
ameye 9da2040e61 language fix 2026-05-24 08:45:09 -04:00
ameye 439e322abc language implementation MERMS 2026-05-23 20:49:12 -04:00
CHIEFSOFT\ameye d13d655cf6 Fix footer autoMedSys 2026-05-17 16:25:32 -04:00
CHIEFSOFT\ameye db9e6780d3 Fix footer autoMedSys 2026-05-17 16:14:52 -04:00
CHIEFSOFT\ameye 842ae7159b Fix footer autoMedSys 2026-05-16 20:55:45 -04:00
CHIEFSOFT\ameye e0d60ac993 Fix footer autoMedSys 2026-05-16 20:26:30 -04:00
CHIEFSOFT\ameye 3471bb6e86 Fix footer autoMedSys 2026-05-16 17:04:02 -04:00
ameye 8c93663921 Merge branch 'contact-us-image' of MERMS/MermsWebsite2025 into master 2026-05-15 21:23:29 +00:00
victorAnumudu e4ae8c4455 fixed contact page image 2026-05-15 21:29:48 +01:00
ameye c4312b007d Added Api end point 2026-05-15 12:12:51 -04:00
ameye 4b5c210bf6 Merge branch 'help-center-page-text' of MERMS/MermsWebsite2025 into master 2026-05-15 15:28:17 +00:00
60 changed files with 1682 additions and 681 deletions
+4 -1
View File
@@ -15,4 +15,7 @@ NEXT_PUBLIC_INSTAGRAM_URL=#
NEXT_PUBLIC_YOUTUBE_URL=#
#forum
NEXT_SITE_FORUM=https://blog.mermsemr.com/
NEXT_SITE_FORUM=https://blog.mermsemr.com/
#SITE API
NEXT_SITE_BACKEND_SERVER=https://api.mermsemr.com/
+4 -1
View File
@@ -15,4 +15,7 @@ NEXT_PUBLIC_INSTAGRAM_URL=#
NEXT_PUBLIC_YOUTUBE_URL=#
#forum
NEXT_SITE_FORUM=https://blog.mermsemr.com/
NEXT_SITE_FORUM=https://blog.mermsemr.com/
#SITE API
NEXT_SITE_BACKEND_SERVER=https://devapi.mermsemr.com/
+4 -1
View File
@@ -15,4 +15,7 @@ NEXT_PUBLIC_INSTAGRAM_URL=#
NEXT_PUBLIC_YOUTUBE_URL=#
#forum
NEXT_SITE_FORUM=https://blog.mermsemr.com/
NEXT_SITE_FORUM=https://blog.mermsemr.com/
#SITE API
NEXT_SITE_BACKEND_SERVER=https://api.mermsemr.com/
+4 -1
View File
@@ -15,4 +15,7 @@ NEXT_PUBLIC_INSTAGRAM_URL=#
NEXT_PUBLIC_YOUTUBE_URL=#
#forum
NEXT_SITE_FORUM=https://blog.mermsemr.com/
NEXT_SITE_FORUM=https://blog.mermsemr.com/
#SITE API
NEXT_SITE_BACKEND_SERVER=https://api.mermsemr.com/
+4 -1
View File
@@ -15,4 +15,7 @@ NEXT_PUBLIC_INSTAGRAM_URL=#
NEXT_PUBLIC_YOUTUBE_URL=#
#forum
NEXT_SITE_FORUM=https://blog.mermsemr.com/
NEXT_SITE_FORUM=https://blog.mermsemr.com/
#SITE API
NEXT_SITE_BACKEND_SERVER=https://devapi.mermsemr.com/
+38
View File
@@ -0,0 +1,38 @@
import { useRouter } from "next/router"
import { useTranslations } from "next-intl"
const LOCALES = [
{ code: "en", label: "EN" },
{ code: "fr", label: "FR" },
{ code: "es", label: "ES" },
]
export default function LanguageSwitcher() {
const router = useRouter()
const t = useTranslations("Navigation")
const switchLocale = (locale) => {
router.push(router.asPath, router.asPath, { locale })
}
return (
<li className="nl-simple" aria-haspopup="true" style={{ listStyle: "none", marginLeft: "auto", fontSize: '10px' }}>
<span className="h-link" style={{ cursor: "default" }}>
{t("language")} <span className="wsarrow" />
</span>
<ul className="sub-menu">
{LOCALES.map(({ code, label }) => (
<li key={code} aria-haspopup="true">
<a
href="#"
onClick={(e) => { e.preventDefault(); switchLocale(code) }}
style={{ fontWeight: router.locale === code ? "700" : "400" }}
>
{label}
</a>
</li>
))}
</ul>
</li>
)
}
+17 -24
View File
@@ -1,62 +1,55 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useTranslations } from "next-intl";
import LanguageSwitcher from "../elements/LanguageSwitcher";
export default function Menu() {
const router = useRouter();
const t = useTranslations("Navigation");
return (
<>
<ul className="wsmenu-list nav-theme">
{/* DROPDOWN SUB MENU */}
<li aria-haspopup="true">
<Link href="/#" className="h-link">
About <span className="wsarrow" />
{t("about")} <span className="wsarrow" />
</Link>
<ul className="sub-menu">
<li aria-haspopup="true">
<Link href="/#merms-about">Why MERMS?</Link>
<Link href="/#merms-about">{t("whyMerms")}</Link>
</li>
<li aria-haspopup="true">
<Link href="/#merms-works">How It Works</Link>
<Link href="/#merms-works">{t("howItWorks")}</Link>
</li>
{/* <li aria-haspopup="true">
<Link href="/contacts">{t("contactUs")}</Link>
</li> */}
<li aria-haspopup="true">
<Link href="/contacts">Contacts Us</Link>
</li>
<li aria-haspopup="true">
<Link href="/faqs">F.A.Q.</Link>
<Link href="/help-center">{t("helpCenter")}</Link>
</li>
</ul>
</li>
{/* SIMPLE NAVIGATION LINK */}
<li className="nl-simple" aria-haspopup="true">
<Link href="/#merms-features" className="h-link">
Features
{t("features")}
</Link>
</li>
<li className="nl-simple" aria-haspopup="true">
<Link href="/merms-blog" className="h-link">
Forum
<Link href="/contacts" className="h-link">
{t("contactUs")}
</Link>
</li>
<li
className="nl-simple reg-fst-link mobile-last-link"
aria-haspopup="true"
>
<li className="nl-simple reg-fst-link mobile-last-link" aria-haspopup="true">
<Link href={process.env.NEXT_PUBLIC_LOGIN_URL} className="h-link">
Sign in
{t("signIn")}
</Link>
</li>
{/* SIGN UP BUTTON */}
<li className="nl-simple" aria-haspopup="true">
<Link
href={process.env.NEXT_PUBLIC_SIGNUP_URL}
className="btn r-04 btn--theme hover--tra-white last-link"
>
Sign up
{t("signUp")}
</Link>
</li>
<LanguageSwitcher />
</ul>
</>
);
+17 -34
View File
@@ -1,80 +1,63 @@
import Link from "next/link";
import { useState } from "react";
import { useTranslations } from "next-intl";
export default function MobileMenu() {
const [isActive, setIsActive] = useState({
status: false,
key: "",
});
const t = useTranslations("Navigation");
const [isActive, setIsActive] = useState({ status: false, key: "" });
const handleToggle = (key) => {
if (isActive.key === key) {
setIsActive({
status: false,
});
setIsActive({ status: false });
} else {
setIsActive({
status: true,
key,
});
setIsActive({ status: true, key });
}
};
return (
<>
<ul className="wsmenu-list nav-theme">
{/* DROPDOWN SUB MENU */}
<li aria-haspopup="true">
<span
className={
isActive.key == 1 ? "wsmenu-click ws-activearrow" : "wsmenu-click"
}
className={isActive.key == 1 ? "wsmenu-click ws-activearrow" : "wsmenu-click"}
onClick={() => handleToggle(1)}
>
<i className="wsmenu-arrow" />
</span>
<Link href="#" className="h-link">
About <span className="wsarrow" />
{t("about")} <span className="wsarrow" />
</Link>
<ul
className="sub-menu"
style={{ display: `${isActive.key == 1 ? "block" : "none"}` }}
>
<ul className="sub-menu" style={{ display: `${isActive.key == 1 ? "block" : "none"}` }}>
<li aria-haspopup="true">
<Link href="#merms-about">Why MERMS?</Link>
<Link href="#merms-about">{t("whyMerms")}</Link>
</li>
<li aria-haspopup="true">
<Link href="#merms-works">How It Works</Link>
<Link href="#merms-works">{t("howItWorks")}</Link>
</li>
<li aria-haspopup="true">
<Link href="/contacts">Contacts Us</Link>
<Link href="/contacts">{t("contactUs")}</Link>
</li>
<li aria-haspopup="true">
<Link href="/faqs">F.A.Q.</Link>
</li>
</ul>
</li>
{/* SIMPLE NAVIGATION LINK */}
<li className="nl-simple" aria-haspopup="true">
<Link href="#merms-features" className="h-link">
Features
{t("features")}
</Link>
</li>
{/* SIGN IN LINK */}
<li
className="nl-simple reg-fst-link mobile-last-link"
aria-haspopup="true"
>
<li className="nl-simple reg-fst-link mobile-last-link" aria-haspopup="true">
<Link href={process.env.NEXT_PUBLIC_LOGIN_URL} className="h-link">
Sign in
{t("signIn")}
</Link>
</li>
{/* SIGN UP BUTTON */}
<li className="nl-simple" aria-haspopup="true">
<Link
href={process.env.NEXT_PUBLIC_SIGNUP_URL}
className="btn r-04 btn--theme hover--tra-white last-link"
>
Sign up
{t("signUp")}
</Link>
</li>
</ul>
+17 -81
View File
@@ -1,135 +1,71 @@
import Link from "next/link"
import { useTranslations } from "next-intl"
export default function MermsFooter() {
const t = useTranslations("Footer")
return (
<>
<footer id="footer-3" className="pt-100 footer ft-3-ntr" style={{backgroundColor: "#F6FFFB"}}>
<div className="container">
{/* FOOTER CONTENT */}
<div className="row">
{/* FOOTER LOGO */}
<div className="col-md-6 col-xl-4">
<div className="footer-info">
<img className="footer-logo" src="/images/logo-pink.png" alt="footer-logo"/>
</div>
<div>
<p>
Are you looking for secure cloud-based tools and a strong online presence for your
healthcare brand? MermEmr provides healthcare professionals with reliable SEO,
online marketing, and clinical solutions to help you grow.
</p>
<p>{t("description")}</p>
</div>
</div>
<div className="col-12 col-md-6 col-xl-8 row">
{/* FOOTER LINKS */}
<div className="col-6 col-sm-4 col-md-4 col-xl-4">
<div className="footer-links fl-1">
{/* Title */}
<h6 className="s-17 w-700">Site</h6>
{/* Links */}
<h6 className="s-17 w-700">{t("site")}</h6>
<ul className="foo-links clearfix">
<li>
<p><Link href="/">Home</Link></p>
</li>
<li>
<p><Link href="/about">About Us</Link></p>
</li>
{/*<li>*/}
{/* <p><Link href="/merms-blog">Use Cases</Link></p>*/}
{/*</li>*/}
<li>
<p><Link href="/contacts">Contact Us</Link></p>
</li>
{/*<li>*/}
{/* <p><Link href="/merms-blog">Our Blog</Link></p>*/}
{/*</li>*/}
<li><p><Link href="/">{t("home")}</Link></p></li>
<li><p><Link href="/about">{t("aboutUs")}</Link></p></li>
<li><p><Link href="/contacts">{t("contactUs")}</Link></p></li>
</ul>
</div>
</div>
{/* END FOOTER LINKS */}
{/* FOOTER LINKS */}
<div className="col-6 col-sm-4 col-md-4 col-xl-4">
<div className="footer-links fl-2">
{/* Title */}
<h6 className="s-17 w-700">Resources</h6>
{/* Links */}
<h6 className="s-17 w-700">{t("resources")}</h6>
<ul className="foo-links clearfix1">
<li>
<p><Link href="/features">Features</Link></p>
</li>
{/*<li>*/}
{/* <p><Link href="/merms-updates">What's New</Link></p>*/}
{/*</li>*/}
{/*<li>*/}
{/* <p><Link href="/pricing">Pricing</Link></p>*/}
{/*</li>*/}
<li>
<p><Link href="/help-center">Help Center</Link></p>
</li>
<li>
<p><Link href="https://blog.mermsemr.com/" target={"_blank"}>Our
Forum</Link></p>
</li>
<li><p><Link href="/features">{t("features")}</Link></p></li>
<li><p><Link href="/help-center">{t("helpCenter")}</Link></p></li>
<li><p><Link href="https://blog.mermsemr.com/" target={"_blank"}>{t("ourForum")}</Link></p></li>
</ul>
</div>
</div>
{/* END FOOTER LINKS */}
{/* FOOTER LINKS */}
<div className="col-6 col-sm-4 col-md-4 col-xl-4">
<div className="footer-links fl-3">
{/* Title */}
<h6 className="s-17 w-700">Legal</h6>
{/* Links */}
<h6 className="s-17 w-700">{t("legal")}</h6>
<ul className="foo-links clearfix1">
<li>
<p><Link href="/terms">Terms of Use</Link></p>
</li>
<li>
<p><Link href="/privacy">Privacy Policy</Link></p>
</li>
{/*<li>*/}
{/* <p><Link href="/cookies">Cookie Policy</Link></p>*/}
{/*</li>*/}
{/*<li>*/}
{/* <p><Link href="#">Site Map</Link></p>*/}
{/*</li>*/}
<li><p><Link href="/terms">{t("termsOfUse")}</Link></p></li>
<li><p><Link href="/privacy">{t("privacyPolicy")}</Link></p></li>
</ul>
</div>
</div>
</div>
</div>
{/* END FOOTER CONTENT */}
<hr/>
<div className="bottom-footer">
<div className="row row-cols-1 row-cols-md-2 d-flex align-items-center">
{/* FOOTER COPYRIGHT */}
<div className="col">
<div className="footer-copyright">
<p className="p-sm">© 2026 autoMedSys(AI) <span>All Rights Reserved</span></p>
<p className="p-sm">{t("copyright")} <span>{t("allRightsReserved")}</span></p>
</div>
</div>
{/* FOOTER SOCIALS */}
<div className="col">
<ul className="bottom-footer-socials ico-20 text-end">
<li><Link href={process.env.NEXT_PUBLIC_FACEBOOK_URL}><span
className="flaticon-facebook"/></Link></li>
<li><Link href={process.env.NEXT_PUBLIC_TWITTER_URL}><span
className="flaticon-twitter"/></Link></li>
{/*<li><Link href={process.env.NEXT_PUBLIC_INSTAGRAM_URL}><span className="flaticon-instagram" /></Link></li>*/}
{/*<li><Link href={process.env.NEXT_PUBLIC_YOUTUBE_URL}><span className="flaticon-youtube" /></Link></li>*/}
<li><Link href={process.env.NEXT_PUBLIC_FACEBOOK_URL}><span className="flaticon-facebook"/></Link></li>
<li><Link href={process.env.NEXT_PUBLIC_TWITTER_URL}><span className="flaticon-twitter"/></Link></li>
</ul>
</div>
</div>
{/* End row */}
</div>
{/* END BOTTOM FOOTER */}
</div>
{/* End container */}
</footer>
</>
)
}
+8 -16
View File
@@ -1,40 +1,32 @@
import { useTranslations } from "next-intl"
export default function MermsAbout() {
const t = useTranslations("About")
return (
<>
<section id="merms-about" className="pt-100 ct-03 content-section division">
<div className="container">
<div className="row d-flex align-items-center">
{/* IMAGE BLOCK */}
<div className="col-md-6 col-lg-7">
<div className="img-block left-column wow fadeInRight">
<img className="img-fluid" src="/images/img-14.png" alt="content-image" />
</div>
</div>
{/* TEXT BLOCK */}
<div className="col-md-6 col-lg-5">
<div className="txt-block right-column wow fadeInLeft">
{/* Section ID */}
{/*<span className="section-id">Control Data Access</span>*/}
{/* Title */}
<h2 className="s-46 w-700">The worldview of your practice matters.</h2>
{/* List */}
<h2 className="s-46 w-700">{t("title")}</h2>
<ul className="simple-list">
<li className="list-item">
<p>Actively or passively, your potential clients trust and evaluate your practice daily.
</p>
<p>{t("list1")}</p>
</li>
<li className="list-item">
<p className="mb-0">
In your profession that feeds heavily on trust and image, MERMS solutions actively guide and engage you with this task
</p>
<p className="mb-0">{t("list2")}</p>
</li>
</ul>
</div>
</div> {/* END TEXT BLOCK */}
</div> {/* End row */}
</div> {/* End container */}
</div>
</div>
</div>
</section>
</>
)
+32 -71
View File
@@ -1,169 +1,130 @@
import { useTranslations } from "next-intl"
export default function MermsAboutFeautures(){
export default function MermsAboutFeautures() {
const t = useTranslations("AboutFeatures")
return <>
<section id="features-11" className="py-100 features-section division">
<div className="container">
{/* SECTION TITLE */}
<div className="row justify-content-center">
<div className="col-md-10 col-lg-9">
<div className="section-title mb-70">
{/* Title */}
<h2 className="s-50 w-700">We help you drive your goals with ease</h2>
<h2 className="s-50 w-700">{t("title")}</h2>
</div>
</div>
</div>
{/* FEATURES-11 WRAPPER */}
<div className="fbox-wrapper">
<div className="row row-cols-1 row-cols-md-2 rows-3">
{/* FEATURE BOX #1 */}
<div className="col">
<div className="fbox-11 fb-1 wow fadeInUp">
{/* Icon */}
<div className="fbox-ico-wrap">
<div className="fbox-ico ico-50">
<div className="shape-ico">
{/* Vector Icon */}
<span className="flaticon-graphics color--theme" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path fill="#f4f9fc" d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h6 className="s-22 w-700">Healthcare Website</h6>
<p>Our platform is thoughtfully designed to cater to the unique needs of healthcare practitioners, ensuring that you can focus on what truly matters - your mission.
</p>
<h6 className="s-22 w-700">{t("feature1Title")}</h6>
<p>{t("feature1Desc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #1 */}
{/* FEATURE BOX #2 */}
</div>
<div className="col">
<div className="fbox-11 fb-2 wow fadeInUp">
{/* Icon */}
<div className="fbox-ico-wrap">
<div className="fbox-ico ico-50">
<div className="shape-ico">
{/* Vector Icon */}
<span className="flaticon-idea color--theme" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path fill="#f4f9fc" d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h6 className="s-22 w-700">Auto Engage</h6>
<p>We use our artificial intelligence tools to assist you in getting your users' engagement activities going with ease. We help you connect your contestants on social media sites.
</p>
<h6 className="s-22 w-700">{t("feature2Title")}</h6>
<p>{t("feature2Desc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #2 */}
{/* FEATURE BOX #3 */}
</div>
<div className="col">
<div className="fbox-11 fb-3 wow fadeInUp">
{/* Icon */}
<div className="fbox-ico-wrap">
<div className="fbox-ico ico-50">
<div className="shape-ico">
{/* Vector Icon */}
<span className="flaticon-graphic color--theme" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path fill="#f4f9fc" d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h6 className="s-22 w-700">Patient News</h6>
<p>Engage your patients and others will topics that educate and improve outcomes with blog addition to your website.
</p>
<h6 className="s-22 w-700">{t("feature3Title")}</h6>
<p>{t("feature3Desc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #3 */}
{/* FEATURE BOX #4 */}
</div>
<div className="col">
<div className="fbox-11 fb-4 wow fadeInUp">
{/* Icon */}
<div className="fbox-ico-wrap">
<div className="fbox-ico ico-50">
<div className="shape-ico">
{/* Vector Icon */}
<span className="flaticon-wireframe color--theme" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path fill="#f4f9fc" d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h6 className="s-22 w-700">Practice Tools</h6>
<p>From appointment scheduling, messaging patient records management and billing, manage your features account in one simple portal.
</p>
<h6 className="s-22 w-700">{t("feature4Title")}</h6>
<p>{t("feature4Desc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #4 */}
{/* FEATURE BOX #5 */}
</div>
<div className="col">
<div className="fbox-11 fb-5 wow fadeInUp">
{/* Icon */}
<div className="fbox-ico-wrap">
<div className="fbox-ico ico-50">
<div className="shape-ico">
{/* Vector Icon */}
<span className="flaticon-trophy color--theme" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path fill="#f4f9fc" d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h6 className="s-22 w-700">Personal Website</h6>
<p>You are already a practitioner , sometimes you need to engage in general health discourse, we provide personal channels that augments your online presence.
</p>
<h6 className="s-22 w-700">{t("feature5Title")}</h6>
<p>{t("feature5Desc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #5 */}
{/* FEATURE BOX #6 */}
</div>
<div className="col">
<div className="fbox-11 fb-6 wow fadeInUp">
{/* Icon */}
<div className="fbox-ico-wrap">
<div className="fbox-ico ico-50">
<div className="shape-ico">
{/* Vector Icon */}
<span className="flaticon-search-engine-1 color--theme" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path fill="#f4f9fc" d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h6 className="s-22 w-700">SEO &amp; Insight</h6>
<p>Monitor traffic and performance of your sites, get improvement recommendations and assist for improvement applicable.
</p>
<h6 className="s-22 w-700">{t("feature6Title")}</h6>
<p>{t("feature6Desc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #6 */}
</div> {/* End row */}
</div> {/* END FEATURES-11 WRAPPER */}
</div> {/* End container */}
</div>
</div>
</div>
</div>
</section>
</>
}
}
+11 -13
View File
@@ -1,32 +1,30 @@
import Link from "next/link"
import { useTranslations } from "next-intl"
export default function MermsBanner() {
const t = useTranslations("Banner")
return (
<>
<section id="banner-13" className="pt-100 banner-section" style={{paddingBottom: '15px'}} >
<section id="banner-13" className="pt-100 banner-section" style={{paddingBottom: '15px'}}>
<div className="container">
{/* BANNER-13 WRAPPER */}
<div className="banner-13-wrapper bg--03 bg--scroll r-16 block-shadow">
<div className="banner-overlay">
<div className="row d-flex align-items-center">
{/* BANNER-5 TEXT */}
<div className="col-md-7">
<div className="banner-13-txt color--white">
<h2 className="s-46 w-700">Getting started with MERMS today!</h2>
<Link href={process.env.NEXT_PUBLIC_SIGNUP_URL} className="btn r-04 btn--theme hover--tra-white" data-bs-toggle="modal" data-bs-target="#modal-3">Get Started Now</Link>
<h2 className="s-46 w-700">{t("title")}</h2>
<Link href={process.env.NEXT_PUBLIC_SIGNUP_URL} className="btn r-04 btn--theme hover--tra-white" data-bs-toggle="modal" data-bs-target="#modal-3">{t("cta")}</Link>
</div>
</div> {/* END BANNER-13 TEXT */}
{/* BANNER-13 IMAGE */}
</div>
<div className="col-md-5">
<div className="banner-13-img text-center">
<img className="img-fluid" src="/images/start-banner-01.png" alt="banner-image" />
</div>
</div>
</div> {/* End row */}
</div> {/* End banner overlay */}
</div> {/* END BANNER-13 WRAPPER */}
</div> {/* End container */}
</div>
</div>
</div>
</div>
</section>
</>
)
+8 -16
View File
@@ -1,33 +1,25 @@
import VideoPopup from "../elements/VidepPopup";
import { useTranslations } from "next-intl"
export default function MermsDedicatedTeam (){
export default function MermsDedicatedTeam() {
const t = useTranslations("DedicatedTeam")
return <>
<section className="bg--04 bg--fixed py-100 ct-01 content-section division">
<div className="container">
<div className="row d-flex align-items-center">
{/* TEXT BLOCK */}
<div className="col-md-6 order-last order-md-2">
<div className="txt-block left-column wow fadeInRight">
{/* Section ID */}
<span className="section-id">our Team at MERMS</span>
{/* Title */}
<h2 className="s-50 w-700">Dedicated Team</h2>
{/* Text */}
<p className="p-lg">"We pride ourselves on fostering a collaborative environment where creativity and innovation thrive. By staying at the forefront of industry trends and technological advancements, we transform your ideas into actionable strategies that elevate your practice. Our goal is to assist you in establishing a strong online presence while you focus on what you do best—providing exceptional care to your patients"
</p>
<h2 className="s-50 w-700">{t("title")}</h2>
<p className="p-lg">{t("description")}</p>
</div>
</div> {/* END TEXT BLOCK */}
{/* IMAGE BLOCK */}
</div>
<div className="col-md-6 order-first order-md-2">
<div className="img-block j-img video-preview right-column wow fadeInLeft">
{/* Play Icon */}
{/*<VideoPopup style={2} />*/}
{/* Preview Image */}
<img className="img-fluid r-20" src="/images/img-17.jpg" alt="video-preview" />
</div>
</div>
</div> {/* End row */}
</div> {/* End container */}
</div>
</div>
</section>
</>
}
+31
View File
@@ -0,0 +1,31 @@
import { useTranslations } from "next-intl"
export default function MermsEngageBox() {
const t = useTranslations("EngageBox")
return <>
<section className="pt-100 ws-wrapper content-section">
<div className="container">
<div className="bc-1-wrapper bg--white-400 bg--fixed r-16">
<div className="section-overlay">
<div className="row d-flex align-items-center">
<div className="col-md-6 order-last order-md-2">
<div className="txt-block left-column wow fadeInRight">
<span className="section-id">{t("sectionId")}</span>
<h2 className="s-46 w-700">{t("title")}</h2>
<p>{t("description")}</p>
<h5 className="s-24 w-700">{t("subtitle")}</h5>
<p className="mb-0">{t("subtitleDesc")}</p>
</div>
</div>
<div className="col-md-6 order-first order-md-2">
<div className="img-block right-column wow fadeInLeft">
<img className="img-fluid" src="/images/engage-box.png" alt="content-image"/>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</>
}
+17 -34
View File
@@ -1,70 +1,53 @@
import { useTranslations } from "next-intl"
export default function MermsFeatureSection4 (){
export default function MermsFeatureSection4() {
const t = useTranslations("FeatureSection4")
return (
<>
<section className="pt-100 ct-04 content-section division">
<div className="container">
{/* SECTION CONTENT (ROW) */}
<div className="row d-flex align-items-center">
{/* TEXT BLOCK */}
<div className="col-md-6 order-last order-md-2">
<div className="txt-block left-column wow fadeInRight">
{/* CONTENT BOX #1 */}
<div className="cbox-2 process-step">
{/* Icon */}
<div className="ico-wrap">
<div className="cbox-2-ico bg--theme color--white">1</div>
<span className="cbox-2-line" />
</div>
{/* Text */}
<div className="cbox-2-txt">
<h5 className="s-22 w-700">Simple, Secure &amp; Intuitive</h5>
<p>Accomplish your task in one easy-to-navigate dashboard that adapts to your priority. With a user-friendly interface, access important updates at a glance and make informed decisions quickly.
</p>
<h5 className="s-22 w-700">{t("step1Title")}</h5>
<p>{t("step1Desc")}</p>
</div>
</div> {/* END CONTENT BOX #1 */}
{/* CONTENT BOX #2 */}
</div>
<div className="cbox-2 process-step">
{/* Icon */}
<div className="ico-wrap">
<div className="cbox-2-ico bg--theme color--white">2</div>
<span className="cbox-2-line" />
</div>
{/* Text */}
<div className="cbox-2-txt">
<h5 className="s-22 w-700">Active Status Reports</h5>
<p>Our Active Status Reports provide real-time insights into your ongoing products and tasks, ensuring you are always in the loop. These reports adapt dynamically to your needs, highlighting key metrics and progress indicators, allowing you to respond proactively to changes or challenges.
</p>
<h5 className="s-22 w-700">{t("step2Title")}</h5>
<p>{t("step2Desc")}</p>
</div>
</div> {/* END CONTENT BOX #2 */}
{/* CONTENT BOX #3 */}
</div>
<div className="cbox-2 process-step">
{/* Icon */}
<div className="ico-wrap">
<div className="cbox-2-ico bg--theme color--white">3</div>
</div>
{/* Text */}
<div className="cbox-2-txt">
<h5 className="s-22 w-700">Secure at Core</h5>
<p className="mb-0">With "Secure at Core," you can focus on what matters mostgrowing your businesswhile we take care of your security needs. Security is an ongoing commitment. We provide 24/7 monitoring and support.
</p>
<h5 className="s-22 w-700">{t("step3Title")}</h5>
<p className="mb-0">{t("step3Desc")}</p>
</div>
</div> {/* END CONTENT BOX #3 */}
</div>
</div>
</div> {/* END TEXT BLOCK */}
{/* IMAGE BLOCK */}
</div>
<div className="col-md-6 order-first order-md-2">
<div className="img-block wow fadeInLeft">
<img className="img-fluid" src="/images/tablet-01.png" alt="content-image" />
</div>
</div>
</div> {/* END SECTION CONTENT (ROW) */}
</div> {/* End container */}
</section> {/* END TEXT CONTENT */}
</div>
</div>
</section>
</>
)
}
}
+19 -42
View File
@@ -1,4 +1,7 @@
import { useTranslations } from "next-intl"
export default function MermsFeatures() {
const t = useTranslations("Features")
return (
<>
<section id="merms-features" className="shape--bg shape--purple-100 pt-100 features-section division"
@@ -10,41 +13,31 @@ export default function MermsFeatures() {
<div className="row">
<div className="col-md-6">
<div id="fb-12-1" className="fbox-12 bg--green-100 block-shadow r-12 mb-30">
<div className="fbox-ico ico-50">
<div className="shape-ico color--theme">
{/* Vector Icon */}
<span className="flaticon-graphics"/>
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path
d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z"
transform="translate(100 100)"/>
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)"/>
</svg>
</div>
</div>
<div className="fbox-txt">
<h5 className="s-20 w-700">Deploy in Seconds</h5>
<p>Easily deploy the tools you need with our automated system.</p>
<h5 className="s-20 w-700">{t("deployTitle")}</h5>
<p>{t("deployDesc")}</p>
</div>
</div>
{/* FEATURE BOX #2 */}
<div id="fb-12-2" className="fbox-12 bg--white-100 block-shadow r-12">
{/* Icon */}
<div className="fbox-ico ico-50">
<div className="shape-ico color--theme">
{/* Vector Icon */}
<span className="flaticon-idea"/>
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path
d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z"
transform="translate(100 100)"/>
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)"/>
</svg>
</div>
</div>
<div className="fbox-txt">
<h5 className="s-20 w-700">Useful Addons</h5>
<p>Explore our expanding addons to improve your applications.</p>
<h5 className="s-20 w-700">{t("addonsTitle")}</h5>
<p>{t("addonsDesc")}</p>
</div>
</div>
</div>
@@ -54,36 +47,27 @@ export default function MermsFeatures() {
<div className="shape-ico color--theme">
<span className="flaticon-graphic"/>
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path
d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z"
transform="translate(100 100)"/>
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)"/>
</svg>
</div>
</div>
<div className="fbox-txt">
<h5 className="s-20 w-700">Digital Marketing</h5>
<p>Promote your presence and grow with MERMS SEO tools.</p>
<h5 className="s-20 w-700">{t("ecosystemTitle")}</h5>
<p>{t("ecosystemDesc")}</p>
</div>
</div>
<div id="fb-12-4" className="fbox-12 bg--green-100 block-shadow r-12">
{/* Icon */}
<div className="fbox-ico ico-50">
<div className="shape-ico color--theme">
{/* Vector Icon */}
<span className="flaticon-search-engine-1"/>
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path
d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z"
transform="translate(100 100)"/>
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)"/>
</svg>
</div>
</div>
{/* End Icon */}
{/* Text */}
<div className="fbox-txt">
<h5 className="s-20 w-700">Unified Management</h5>
<p>Manage everything from one portal with MERMS AI Assist Tools</p>
<h5 className="s-20 w-700">{t("unifiedTitle")}</h5>
<p>{t("unifiedDesc")}</p>
</div>
</div>
</div>
@@ -93,21 +77,14 @@ export default function MermsFeatures() {
<div className="col-md-5 order-first order-md-2">
<div className="txt-block left-column wow fadeInLeft">
<h2 className="s-46 w-700">Deploy Tools for Your Practice with Ease in Our Secure
Cloud.</h2>
<p>Empower your practice with seamless automation and essential tools for lasting
success.
</p>
<h2 className="s-46 w-700">{t("mainTitle")}</h2>
<p>{t("mainDesc")}</p>
<ul className="simple-list">
<li className="list-item">
<p>Effortlessly scale your practice with our growing ecosystem of innovative
tools.
</p>
<p>{t("list1")}</p>
</li>
<li className="list-item">
<p className="mb-0">Boost your online presence and expand your community using
our intelligent marketing platform.
</p>
<p className="mb-0">{t("list2")}</p>
</li>
</ul>
</div>
+19 -33
View File
@@ -1,76 +1,62 @@
import { useTranslations } from "next-intl"
export default function MermsFeaturesSection1(){
export default function MermsFeaturesSection1() {
const t = useTranslations("FeaturesSection1")
return (
<>
<section id="features-2" className="pt-100 features-section division">
<div className="container">
{/* SECTION TITLE */}
<div className="row justify-content-center">
<div className="col-md-10 col-lg-9">
<div className="section-title mb-80">
{/* Title */}
<h2 className="s-50 w-700">We pay attention to details</h2>
{/* Text */}
<p className="s-21 color--grey">Continually evolving digital space means that we are constantly updating the tools you will need by:</p>
<h2 className="s-50 w-700">{t("title")}</h2>
<p className="s-21 color--grey">{t("subtitle")}</p>
</div>
</div>
</div>
{/* FEATURES-2 WRAPPER */}
<div className="fbox-wrapper text-center">
<div className="row row-cols-1 row-cols-md-3">
{/* FEATURE BOX #1 */}
<div className="col">
<div className="fbox-2 fb-1 wow fadeInUp">
{/* Image */}
<div className="fbox-img gr--whitesmoke h-175">
<img className="img-fluid light-theme-img" src="/images/f_01.png" alt="feature-image" />
<img className="img-fluid dark-theme-img" src="/images/f_01_dark.png" alt="feature-image" />
</div>
{/* Text */}
<div className="fbox-txt">
<h6 className="s-22 w-700">Intuitive Dashboard</h6>
<p>Easy-to-follow and user-adaptive dashboard that optimizes your targets.</p>
<h6 className="s-22 w-700">{t("dashboardTitle")}</h6>
<p>{t("dashboardDesc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #1 */}
{/* FEATURE BOX #2 */}
</div>
<div className="col">
<div className="fbox-2 fb-2 wow fadeInUp">
{/* Image */}
<div className="fbox-img gr--whitesmoke h-175">
<img className="img-fluid light-theme-img" src="/images/f_05.png" alt="feature-image" />
<img className="img-fluid dark-theme-img" src="/images/f_05_dark.png" alt="feature-image" />
</div>
{/* Text */}
<div className="fbox-txt">
<h6 className="s-22 w-700">Effortless Integration</h6>
<p>Connect your tools to a target goal. Add and update what you need when required.</p>
<h6 className="s-22 w-700">{t("integrationTitle")}</h6>
<p>{t("integrationDesc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #2 */}
{/* FEATURE BOX #3 */}
</div>
<div className="col">
<div className="fbox-2 fb-3 wow fadeInUp">
{/* Image */}
<div className="fbox-img gr--whitesmoke h-175">
<img className="img-fluid light-theme-img" src="/images/f_02.png" alt="feature-image" />
<img className="img-fluid dark-theme-img" src="/images/f_02_dark.png" alt="feature-image" />
</div>
{/* Text */}
<div className="fbox-txt">
<h6 className="s-22 w-700">Real-time Analytics</h6>
<p>Reporting that gives visibility to trends with AI assistance for recommendations.</p>
<h6 className="s-22 w-700">{t("analyticsTitle")}</h6>
<p>{t("analyticsDesc")}</p>
</div>
</div>
</div> {/* END FEATURE BOX #3 */}
</div> {/* End row */}
</div> {/* END FEATURES-2 WRAPPER */}
</div> {/* End container */}
</section> {/* END FEATURES-2 */}
</div>
</div>
</div>
</div>
</section>
<hr className="divider" />
</>
)
}
}
+25 -54
View File
@@ -1,124 +1,95 @@
import { useTranslations } from "next-intl"
export default function MermsFeaturesSectionTwo(){
export default function MermsFeaturesSectionTwo() {
const t = useTranslations("FeaturesSectionTwo")
return (
<>
<section id="features-12" className="shape--bg shape--white-400 pt-100 features-section division">
<div className="container">
<div className="row d-flex align-items-center">
{/* TEXT BLOCK */}
<div className="col-md-5">
<div className="txt-block left-column wow fadeInRight">
<h2 className="s-46 w-700">Innovative solutions, real-time results</h2>
{/* Text */}
<p>Bring your vision to life with the website builder that gives you the tools you need to succeed.
</p>
{/* List */}
<h2 className="s-46 w-700">{t("title")}</h2>
<p>{t("description")}</p>
<ul className="simple-list">
<li className="list-item">
<p>Design your website using our modern templates, designer fonts, and color palettes in minutes.
</p>
<p>{t("list1")}</p>
</li>
<li className="list-item">
<p className="mb-0">Promote your business and grow. Create a blog to grow your community and drive more traffic.
</p>
<p className="mb-0">{t("list2")}</p>
</li>
</ul>
</div>
</div> {/* END TEXT BLOCK */}
{/* FEATURES-12 WRAPPER */}
</div>
<div className="col-md-7">
<div className="fbox-12-wrapper wow fadeInLeft">
<div className="row">
<div className="col-md-6">
{/* FEATURE BOX #1 */}
<div id="fb-12-1" className="fbox-12 bg--white-100 block-shadow r-12 mb-30">
{/* Icon */}
<div className="fbox-ico ico-50">
<div className="shape-ico color--theme">
{/* Vector Icon */}
<span className="flaticon-layers-1" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h5 className="s-20 w-700">Website in Seconds</h5>
<p>Build a website in seconds with MERMS AI website builder.</p>
<h5 className="s-20 w-700">{t("websiteTitle")}</h5>
<p>{t("websiteDesc")}</p>
</div>
</div>
{/* FEATURE BOX #2 */}
<div id="fb-12-2" className="fbox-12 bg--white-100 block-shadow r-12">
{/* Icon */}
<div className="fbox-ico ico-50">
<div className="shape-ico color--theme">
{/* Vector Icon */}
<span className="flaticon-click-1" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h5 className="s-20 w-700">Digital Marketing</h5>
<p>Promote your presence and grow with MERMS SEO tools.</p>
<h5 className="s-20 w-700">{t("ecosystemTitle")}</h5>
<p>{t("ecosystemDesc")}</p>
</div>
</div>
</div>
<div className="col-md-6">
{/* FEATURE BOX #3 */}
<div id="fb-12-3" className="fbox-12 bg--white-100 block-shadow r-12 mb-30">
{/* Icon */}
<div className="fbox-ico ico-50">
<div className="shape-ico color--theme">
{/* Vector Icon */}
<span className="flaticon-prioritize" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h5 className="s-20 w-700">Useful Addons</h5>
<p>Explore our expanding addons to improve your applications.</p>
<h5 className="s-20 w-700">{t("addonsTitle")}</h5>
<p>{t("addonsDesc")}</p>
</div>
</div>
{/* FEATURE BOX #4 */}
<div id="fb-12-4" className="fbox-12 bg--white-100 block-shadow r-12">
{/* Icon */}
<div className="fbox-ico ico-50">
<div className="shape-ico color--theme">
{/* Vector Icon */}
<span className="flaticon-analytics" />
{/* Shape */}
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path d="M69.8,-23C76.3,-2.7,57.6,25.4,32.9,42.8C8.1,60.3,-22.7,67,-39.1,54.8C-55.5,42.7,-57.5,11.7,-48.6,-11.9C-39.7,-35.5,-19.8,-51.7,5.9,-53.6C31.7,-55.6,63.3,-43.2,69.8,-23Z" transform="translate(100 100)" />
</svg>
</div>
</div> {/* End Icon */}
{/* Text */}
</div>
<div className="fbox-txt">
<h5 className="s-20 w-700">Unified Management</h5>
<p>Manage everything from one portal with MERMS AI Assist Tools.</p>
<h5 className="s-20 w-700">{t("unifiedTitle")}</h5>
<p>{t("unifiedDesc")}</p>
</div>
</div>
</div>
</div>
</div> {/* End row */}
</div> {/* END FEATURES-12 WRAPPER */}
</div> {/* End row */}
</div> {/* End container */}
</div>
</div>
</div>
</div>
</section>
</>
)
}
}
+10 -35
View File
@@ -1,76 +1,51 @@
import { useTranslations } from "next-intl"
export default function MermsHowItWorks() {
const t = useTranslations("HowItWorks")
return (
<>
<section id="merms-works" className="pt-100 ct-01 content-section division">
<div className="container">
{/* SECTION CONTENT (ROW) */}
<div className="row d-flex align-items-center">
{/* TEXT BLOCK */}
<div className="col-md-6 order-last order-md-2">
<div className="txt-block left-column wow fadeInRight">
<h2 className="s-46 w-700">MERMS-Agent: Always Here to Help You.</h2>
{/* CONTENT BOX #2 */}
<h2 className="s-46 w-700">{t("title")}</h2>
<div className="cbox-4">
{/* Icon & Title */}
<div className="box-title">
<span className="flaticon-layers-1 color--theme"/>
<h5 className="s-24 w-700">Automatic Workflows</h5>
<h5 className="s-24 w-700">{t("workflowTitle")}</h5>
</div>
{/* Text */}
<div className="cbox-4-txt">
<p>It takes a single touch! Standardize service delivery using visual process
workflows and AI-based automation. Get a quick visual summary of all your
requests and monitor them in one place.
</p>
<p>{t("workflowDesc")}</p>
</div>
</div>
{/* END CONTENT BOX #2 */}
{/* CONTENT BOX #1 */}
<div className="cbox-4">
{/* Icon & Title */}
<div className="box-title">
<span className="flaticon-paper-sizes color--theme"/>
<h5 className="s-24 w-700">Efficient A.I Assist</h5>
<h5 className="s-24 w-700">{t("aiTitle")}</h5>
</div>
{/* Text */}
<div className="cbox-4-txt">
<p>Drive brand loyalty, boost your brand with social media marketing, and build
your digital identity with our A.I. Assist creator tools.
</p>
<p>{t("aiDesc")}</p>
</div>
</div>
{/* END CONTENT BOX #1 */}
{/* CONTENT BOX #3 */}
<div className="cbox-4">
{/* Icon & Title */}
<div className="box-title">
<span className="flaticon-pie-chart color--theme"/>
<h5 className="s-24 w-700">Useful Analytics</h5>
<h5 className="s-24 w-700">{t("analyticsTitle")}</h5>
</div>
{/* Text */}
<div className="cbox-4-txt">
<p className="mb-0">Monitor your website performance with our simplified data
dashboard. You can stay on top of your website's performance with real-time
traffic statistics and trend charts.
</p>
<p className="mb-0">{t("analyticsDesc")}</p>
</div>
</div>
{/* END CONTENT BOX #3 */}
</div>
</div>
{/* END TEXT BLOCK */}
{/* IMAGE BLOCK */}
<div className="col-md-6 order-first order-md-2">
<div className="img-block right-column wow fadeInLeft">
<img className="img-fluid" src="/images/img-08.png" alt="content-image"/>
</div>
</div>
</div>
{/* END SECTION CONTENT (ROW) */}
</div>
{/* End container */}
</section>
</>
)
+14 -23
View File
@@ -1,40 +1,31 @@
import { useTranslations } from "next-intl"
export default function MermsWhyChooseUs(){
export default function MermsWhyChooseUs() {
const t = useTranslations("WhyChooseUs")
return <>
<section className="pt-100 ws-wrapper content-section">
<div className="container">
<div className="bc-1-wrapper bg--02 bg--fixed r-16">
<div className="section-overlay">
<div className="row d-flex align-items-center">
{/* TEXT BLOCK */}
<div className="col-md-6 order-last order-md-2">
<div className="txt-block left-column wow fadeInRight">
{/* Section ID */}
<span className="s-24 w-700 h5-title">Why Choose Us</span>
{/* Title */}
<h2 className="s-46 w-700 pt-3">Experience, Knowledge, Skills &amp; Passion</h2>
{/* Text */}
<p>
We make your practice stand out from other physicians in your area with modern A.I.-enabled solutions relevant to this period and time.
</p>
{/* Small Title */}
<h5 className="s-24 w-700 h5-title">Your success is the goal!</h5>
{/* Text */}
<p className="mb-0">Our platform helps any provider quickly create an online presence, a landing page, or a multi-page website. We also provide everything you need to get your practice humming at full speed.
</p>
<span className="s-24 w-700 h5-title">{t("sectionId")}</span>
<h2 className="s-46 w-700 pt-3">{t("title")}</h2>
<p>{t("description")}</p>
<h5 className="s-24 w-700 h5-title">{t("subtitle")}</h5>
<p className="mb-0">{t("subtitleDesc")}</p>
</div>
</div> {/* END TEXT BLOCK */}
{/* IMAGE BLOCK */}
</div>
<div className="col-md-6 order-first order-md-2">
<div className="img-block right-column wow fadeInLeft">
<img className="img-fluid" src="/images/img-08.png" alt="content-image" />
</div>
</div>
</div> {/* End row */}
</div> {/* End section overlay */}
</div> {/* End content wrapper */}
</div> {/* End container */}
</div>
</div>
</div>
</div>
</section>
</>
}
}
+9 -17
View File
@@ -1,7 +1,8 @@
import Link from "next/link"
import { useTranslations } from "next-intl"
export default function MersmHero() {
const t = useTranslations("Hero")
return (
<>
<section id="hero-13" className="hero-section">
@@ -10,28 +11,19 @@ export default function MersmHero() {
{/* HERO TEXT */}
<div className="col-md-5">
<div className="hero-13-txt wow fadeInRight">
{/* Section ID */}
{/*<span className="section-id">Online Reputation That Work</span>*/}
{/* Title */}
<h2 className="s-54 w-700">All-in-One Cloud Platform for Practice Management</h2>
{/* Text */}
<p className="p-lg">Streamline workflows across practice with powerful AI agents. Build and deploy automated workflows with ease.
</p>
{/* Button */}
<Link href={process.env.NEXT_PUBLIC_SIGNUP_URL} className="btn r-04 btn--theme hover--tra-black">Get started for free</Link>
{/*<p className="p-sm btn-txt ico-15">*/}
{/* <span className="flaticon-check" /> No credit card needed, free 14-day trial*/}
{/*</p>*/}
<h2 className="s-54 w-700">{t("title")} <span className="color--theme">{t("title1")}</span> </h2>
<p className="p-lg">{t("description")}</p>
<Link href={process.env.NEXT_PUBLIC_SIGNUP_URL} className="btn r-04 btn--theme hover--tra-black">{t("cta")}</Link>
</div>
</div> {/* END HERO TEXT */}
</div>
{/* HERO IMAGE */}
<div className="col-md-7">
<div className="hero-13-img wow fadeInLeft">
<img className="img-fluid" src="/images/hero-13-b-img.png" alt="hero-image" />
</div>
</div>
</div> {/* End row */}
</div> {/* End container */}
</div>
</div>
</section>
</>
)
+11 -4
View File
@@ -26,11 +26,11 @@ const blogBasePath = () => {
}
const siteServerPath = () => {
// NEXT_PUBLIC_APP_MAIN_API="https://devapi.mermsemr.com"
return 'https://devapi.mermsemr.com';
return process.env.NEXT_PUBLIC_APP_MAIN_API;
}
const postAuxEnd = (path, postData, media = false) => {
const basePath = media ? 'https://blogdata.chiefsoft.net' : 'https://blogdata.chiefsoft.net'
const postAuxEnd = (basePath, path, postData, media=false) => {
// const basePath = media ? process.env.NEXT_PUBLIC_APP_MAIN_API : process.env.NEXT_PUBLIC_APP_MAIN_API;
let newPostData = {}
if (!media) {
newPostData = {...postData}
@@ -75,3 +75,10 @@ export const serMermsWebContact = (reqData) => {
}
return getAuxEnd(siteServerPath(), '/mermsblogdata/mermsemr', postData)
}
export const sendContactMsg = (reqData) => {
let postData = {
...reqData
}
return postAuxEnd(siteServerPath(), '/website/contact', postData)
}
+173
View File
@@ -0,0 +1,173 @@
{
"Navigation": {
"about": "About",
"whyMerms": "Why MERMS?",
"howItWorks": "How It Works",
"contactUs": "Contact Us",
"helpCenter": "Help Center",
"features": "Features",
"forum": "Forum",
"signIn": "Sign in",
"signUp": "Sign up",
"language": "English"
},
"Footer": {
"description": "Are you looking for secure cloud-based tools and a strong online presence for your healthcare brand? MermEmr provides healthcare professionals with reliable SEO, online marketing, and clinical solutions to help you grow.",
"site": "Site",
"resources": "Resources",
"legal": "Legal",
"home": "Home",
"aboutUs": "About Us",
"contactUs": "Contact Us",
"features": "Features",
"helpCenter": "Help Center",
"ourForum": "Our Forum",
"termsOfUse": "Terms of Use",
"privacyPolicy": "Privacy Policy",
"copyright": "© 2026 MERMS(AI)",
"allRightsReserved": "All Rights Reserved"
},
"Hero": {
"title": "The AI Platform",
"title1": "Built for Medical Practitioners",
"description": "Empower your business with cutting-edge tools and seamless AI integration, elevating your practice to modern standards effortlessly.",
"cta": "Get started for free"
},
"Features": {
"deployTitle": "Deploy in Seconds",
"deployDesc": "Easily deploy the tools you need with our automated system.",
"addonsTitle": "Useful Addons",
"addonsDesc": "Explore our expanding addons to improve your applications.",
"ecosystemTitle": "Expanding Digital Ecosystem",
"ecosystemDesc": "We continuously introduce advanced digital tools designed to enhance and streamline your practice.",
"unifiedTitle": "Unified Management",
"unifiedDesc": "Manage everything from one portal with MERMS AI Assist Tools",
"mainTitle": "Deploy Tools for Your Practice with Ease in Our Secure Cloud.",
"mainDesc": "Empower your practice with seamless automation and essential tools for lasting success.",
"list1": "Effortlessly scale your practice with our growing ecosystem of innovative tools.",
"list2": "Boost your online presence and expand your community using our intelligent marketing platform."
},
"About": {
"title": "The worldview of your practice matters.",
"list1": "Actively or passively, your potential clients trust and evaluate your practice daily.",
"list2": "In your profession that feeds heavily on trust and image, MERMS solutions actively guide and engage you with this task"
},
"HowItWorks": {
"title": "MERMS-Agent: Always Here to Help You.",
"workflowTitle": "Automatic Workflows",
"workflowDesc": "It takes a single touch! Standardize service delivery using visual process workflows and AI-based automation. Get a quick visual summary of all your requests and monitor them in one place.",
"aiTitle": "Efficient A.I Assist",
"aiDesc": "Drive brand loyalty, boost your brand with social media marketing, and build your digital identity with our A.I. Assist creator tools.",
"analyticsTitle": "Useful Analytics",
"analyticsDesc": "Monitor your website performance with our simplified data dashboard. You can stay on top of your website's performance with real-time traffic statistics and trend charts."
},
"Banner": {
"title": "Getting started with MERMS today!",
"cta": "Get Started Now"
},
"EngageBox": {
"sectionId": "Enhance Engagement with Intelligent Solutions",
"title": "Achieve Success Through Automation.",
"description": "Utilize our automation tools and AI-Assist to enhance and manage your healthcare online presence, as well as streamline your practice operations.",
"subtitle": "Modern, Smarter Solutions for Your Practice",
"subtitleDesc": "Access up-to-date tools to manage your online presence and practice efficiently. Benefit from effective campaign management, seamless tool adoption, and real-time insights into industry trends."
},
"WhyChooseUs": {
"sectionId": "Why Choose Us",
"title": "Experience, Knowledge, Skills & Passion",
"description": "We make your practice stand out from other physicians in your area with modern A.I.-enabled solutions relevant to this period and time.",
"subtitle": "Your success is the goal!",
"subtitleDesc": "Our platform helps any provider quickly create an online presence, a landing page, or a multi-page website. We also provide everything you need to get your practice humming at full speed."
},
"AboutFeatures": {
"title": "We help you drive your goals with ease",
"feature1Title": "Healthcare Website",
"feature1Desc": "Our platform is thoughtfully designed to cater to the unique needs of healthcare practitioners, ensuring that you can focus on what truly matters - your mission.",
"feature2Title": "Auto Engage",
"feature2Desc": "We use our artificial intelligence tools to assist you in getting your users' engagement activities going with ease. We help you connect your contestants on social media sites.",
"feature3Title": "Patient News",
"feature3Desc": "Engage your patients and others with topics that educate and improve outcomes with blog addition to your website.",
"feature4Title": "Practice Tools",
"feature4Desc": "From appointment scheduling, messaging patient records management and billing, manage your features account in one simple portal.",
"feature5Title": "Personal Website",
"feature5Desc": "You are already a practitioner, sometimes you need to engage in general health discourse, we provide personal channels that augments your online presence.",
"feature6Title": "SEO & Insight",
"feature6Desc": "Monitor traffic and performance of your sites, get improvement recommendations and assist for improvement applicable."
},
"DedicatedTeam": {
"title": "Dedicated Team",
"description": "We pride ourselves on fostering a collaborative environment where creativity and innovation thrive. By staying at the forefront of industry trends and technological advancements, we transform your ideas into actionable strategies that elevate your practice. Our goal is to assist you in establishing a strong online presence while you focus on what you do best—providing exceptional care to your patients"
},
"FeaturesSection1": {
"title": "We pay attention to details",
"subtitle": "Continually evolving digital space means that we are constantly updating the tools you will need by:",
"dashboardTitle": "Intuitive Dashboard",
"dashboardDesc": "Easy-to-follow and user-adaptive dashboard that optimizes your targets.",
"integrationTitle": "Effortless Integration",
"integrationDesc": "Connect your tools to a target goal. Add and update what you need when required.",
"analyticsTitle": "Real-time Analytics",
"analyticsDesc": "Reporting that gives visibility to trends with AI assistance for recommendations."
},
"FeaturesSectionTwo": {
"title": "Innovative solutions, real-time results",
"description": "Bring your vision to life with the website builder that gives you the tools you need to succeed.",
"list1": "Design your website using our modern templates, designer fonts, and color palettes in minutes.",
"list2": "Promote your business and grow. Create a blog to grow your community and drive more traffic.",
"websiteTitle": "Website in Seconds",
"websiteDesc": "Build a website in seconds with MERMS AI website builder.",
"ecosystemTitle": "Expanding Digital Ecosystem",
"ecosystemDesc": "We continuously introduce advanced digital tools designed to enhance and streamline your practice.",
"addonsTitle": "Useful Addons",
"addonsDesc": "Explore our expanding addons to improve your applications.",
"unifiedTitle": "Unified Management",
"unifiedDesc": "Manage everything from one portal with MERMS AI Assist Tools."
},
"FeatureSection4": {
"step1Title": "Simple, Secure & Intuitive",
"step1Desc": "Accomplish your task in one easy-to-navigate dashboard that adapts to your priority. With a user-friendly interface, access important updates at a glance and make informed decisions quickly.",
"step2Title": "Active Status Reports",
"step2Desc": "Our Active Status Reports provide real-time insights into your ongoing products and tasks, ensuring you are always in the loop. These reports adapt dynamically to your needs, highlighting key metrics and progress indicators, allowing you to respond proactively to changes or challenges.",
"step3Title": "Secure at Core",
"step3Desc": "With Secure at Core, you can focus on what matters most—growing your business—while we take care of your security needs. Security is an ongoing commitment. We provide 24/7 monitoring and support."
},
"AboutPage": {
"title": "Helping healthcare providers with creative solutions.",
"description": "We aim to provide users with everything they need to succeed, from web presence and design to marketing, content creation, and more. Our specialists understand the unique challenges of running an efficient modern operation. We work with the latest technologies to maximize your return on investment.",
"quote": "As a healthcare provider, you must stay up-to-date on the latest trends and technologies to connect with your patients and provide them with top-notch care. We offer a variety of products that are specifically designed to help you meet the growing online needs of your practice"
},
"FeaturesPage": {
"sectionId": "Strategies That Work",
"title": "Modern Strategies & implementations",
"description": "In the agent world, we fit your solution to what works with attention to how your audience wants to reach you. We are an AI-first solution to your online and pipeline optimization practice.",
"subtitle": "Providing solutions that provably work",
"check1": "Made to suit different circumstances or requirements with ease.",
"check2": "Promote your brand, accomplish tasks quickly and effectively, and maximize productivity.",
"check3": "Create and grow your digital community and drive relevant traffic."
},
"ContactsPage": {
"title": "Questions? Let's Talk",
"description": "Want to learn more about MERMS, get a quote, or speak with an expert? Let us know what you are looking for and we'll get back to you right away",
"questionAbout": "This question is about:",
"chooseTopic": "Choose a topic, so we can best determine how to handle your request to:",
"selectDefault": "This question is about...",
"optionRegistering": "Registering or Accounts",
"optionApplication": "Application",
"optionTroubleshooting": "Troubleshooting",
"optionData": "Data or Files",
"optionOther": "Other",
"nameLabel": "Your Name:",
"namePlaceholder": "Please enter your name:",
"nameInput": "Your Name*",
"emailLabel": "Your Email Address:",
"emailPlaceholder": "Please carefully check your email address for accuracy:",
"emailInput": "Email Address*",
"messageLabel": "Explain your question in details:",
"messagePlaceholder": "Please provide specific details regarding your request or any feedback you wish to share.",
"messageInput": "I have a problem with...",
"sending": "Sending",
"messageSent": "Message Sent",
"submitRequest": "Submit Request",
"privacy": "We are committed to protecting your privacy. MERMS uses the information you provide to communicate with you regarding our relevant content, products, and services. You may unsubscribe from these communications at any time.",
"required": "Required"
}
}
+173
View File
@@ -0,0 +1,173 @@
{
"Navigation": {
"about": "Acerca de",
"whyMerms": "¿Por qué MERMS?",
"howItWorks": "Cómo funciona",
"contactUs": "Contáctenos",
"helpCenter": "Centro de ayuda",
"features": "Características",
"forum": "Foro",
"signIn": "Iniciar sesión",
"signUp": "Registrarse",
"language": "Idioma"
},
"Footer": {
"description": "¿Busca herramientas seguras en la nube y una sólida presencia en línea para su marca de atención médica? MermEmr proporciona a los profesionales de la salud soluciones confiables de SEO, marketing en línea y clínicas para ayudarle a crecer.",
"site": "Sitio",
"resources": "Recursos",
"legal": "Legal",
"home": "Inicio",
"aboutUs": "Acerca de nosotros",
"contactUs": "Contáctenos",
"features": "Características",
"helpCenter": "Centro de ayuda",
"ourForum": "Nuestro Foro",
"termsOfUse": "Términos de uso",
"privacyPolicy": "Política de privacidad",
"copyright": "© 2026 MERMS(AI)",
"allRightsReserved": "Todos los derechos reservados"
},
"Hero": {
"title": "La plataforma de IA",
"title1": "creada para profesionales médicos",
"description": "Potencie su negocio con herramientas de última generación e integración de IA sin esfuerzo, llevando su práctica a los estándares modernos con facilidad.",
"cta": "Comenzar gratis"
},
"Features": {
"deployTitle": "Implementación en segundos",
"deployDesc": "Implemente fácilmente las herramientas que necesita con nuestro sistema automatizado.",
"addonsTitle": "Complementos útiles",
"addonsDesc": "Explore nuestros complementos en expansión para mejorar sus aplicaciones.",
"ecosystemTitle": "Ecosistema digital en expansión",
"ecosystemDesc": "Introducimos continuamente herramientas digitales avanzadas diseñadas para mejorar y optimizar su consultorio.",
"unifiedTitle": "Gestión unificada",
"unifiedDesc": "Gestione todo desde un portal con las herramientas MERMS AI Assist",
"mainTitle": "Implemente herramientas para su consultorio fácilmente en nuestra nube segura.",
"mainDesc": "Empodere su consultorio con automatización fluida y herramientas esenciales para el éxito duradero.",
"list1": "Escale su consultorio sin esfuerzo con nuestro creciente ecosistema de herramientas innovadoras.",
"list2": "Impulse su presencia en línea y expanda su comunidad usando nuestra plataforma de marketing inteligente."
},
"About": {
"title": "La visión del mundo de su consultorio importa.",
"list1": "De forma activa o pasiva, sus clientes potenciales confían y evalúan su consultorio diariamente.",
"list2": "En su profesión que depende en gran medida de la confianza y la imagen, las soluciones MERMS le guían y comprometen activamente con esta tarea"
},
"HowItWorks": {
"title": "MERMS-Agent: Siempre aquí para ayudarle.",
"workflowTitle": "Flujos de trabajo automáticos",
"workflowDesc": "¡Con un solo toque! Estandarice la prestación de servicios usando flujos de trabajo visuales y automatización basada en IA. Obtenga un resumen visual rápido de todas sus solicitudes y monitoréelas en un solo lugar.",
"aiTitle": "Asistencia A.I. eficiente",
"aiDesc": "Impulse la lealtad a la marca, potencie su marca con marketing en redes sociales y construya su identidad digital con nuestras herramientas creadoras A.I. Assist.",
"analyticsTitle": "Análisis útiles",
"analyticsDesc": "Monitoree el rendimiento de su sitio web con nuestro panel de datos simplificado. Manténgase al día del rendimiento de su sitio con estadísticas de tráfico en tiempo real y gráficos de tendencias."
},
"Banner": {
"title": "¡Comience con MERMS hoy!",
"cta": "Comenzar ahora"
},
"EngageBox": {
"sectionId": "Mejore el compromiso con soluciones inteligentes",
"title": "Logre el éxito a través de la automatización.",
"description": "Utilice nuestras herramientas de automatización y AI-Assist para mejorar y gestionar su presencia en línea en el ámbito de la salud, así como para optimizar las operaciones de su consultorio.",
"subtitle": "Soluciones modernas e inteligentes para su consultorio",
"subtitleDesc": "Acceda a herramientas actualizadas para gestionar eficientemente su presencia en línea. Benefíciese de una gestión eficaz de campañas, adopción fluida de herramientas e información en tiempo real sobre las tendencias del sector."
},
"WhyChooseUs": {
"sectionId": "Por qué elegirnos",
"title": "Experiencia, Conocimiento, Habilidades & Pasión",
"description": "Hacemos que su consultorio se destaque de otros médicos en su área con soluciones modernas habilitadas por IA relevantes para este período.",
"subtitle": "¡Su éxito es el objetivo!",
"subtitleDesc": "Nuestra plataforma ayuda a cualquier proveedor a crear rápidamente una presencia en línea, una página de destino o un sitio web de múltiples páginas. También proporcionamos todo lo que necesita para que su consultorio funcione a plena velocidad."
},
"AboutFeatures": {
"title": "Le ayudamos a alcanzar sus objetivos con facilidad",
"feature1Title": "Sitio web de salud",
"feature1Desc": "Nuestra plataforma está cuidadosamente diseñada para satisfacer las necesidades únicas de los profesionales de la salud, permitiéndole concentrarse en lo que realmente importa: su misión.",
"feature2Title": "Auto Engage",
"feature2Desc": "Usamos nuestras herramientas de inteligencia artificial para ayudarle a poner en marcha fácilmente las actividades de compromiso de sus usuarios en las redes sociales.",
"feature3Title": "Noticias para pacientes",
"feature3Desc": "Involucre a sus pacientes con temas que educan y mejoran los resultados a través de un blog en su sitio web.",
"feature4Title": "Herramientas de consultorio",
"feature4Desc": "Desde la programación de citas hasta la gestión de registros de pacientes y facturación, gestione todo desde un portal simple.",
"feature5Title": "Sitio web personal",
"feature5Desc": "Como profesional, a veces necesita participar en el discurso general de salud. Proporcionamos canales personales que aumentan su presencia en línea.",
"feature6Title": "SEO e Información",
"feature6Desc": "Monitoree el tráfico y el rendimiento de sus sitios, obtenga recomendaciones de mejora y asistencia para las mejoras aplicables."
},
"DedicatedTeam": {
"title": "Equipo dedicado",
"description": "Nos enorgullecemos de fomentar un entorno colaborativo donde la creatividad y la innovación prosperan. Al mantenernos a la vanguardia de las tendencias de la industria y los avances tecnológicos, transformamos sus ideas en estrategias accionables que elevan su consultorio. Nuestro objetivo es ayudarle a establecer una sólida presencia en línea mientras se concentra en lo que mejor sabe hacer: brindar atención excepcional a sus pacientes"
},
"FeaturesSection1": {
"title": "Prestamos atención a los detalles",
"subtitle": "El espacio digital en continua evolución significa que actualizamos constantemente las herramientas que necesitará mediante:",
"dashboardTitle": "Panel intuitivo",
"dashboardDesc": "Panel fácil de seguir y adaptativo al usuario que optimiza sus objetivos.",
"integrationTitle": "Integración sin esfuerzo",
"integrationDesc": "Conecte sus herramientas a un objetivo. Agregue y actualice lo que necesite cuando lo requiera.",
"analyticsTitle": "Análisis en tiempo real",
"analyticsDesc": "Informes que brindan visibilidad de tendencias con asistencia de IA para recomendaciones."
},
"FeaturesSectionTwo": {
"title": "Soluciones innovadoras, resultados en tiempo real",
"description": "Dé vida a su visión con el constructor de sitios web que le brinda las herramientas que necesita para tener éxito.",
"list1": "Diseñe su sitio web usando nuestras plantillas modernas, fuentes de diseñador y paletas de colores en minutos.",
"list2": "Promueva su negocio y crezca. Cree un blog para hacer crecer su comunidad y generar más tráfico.",
"websiteTitle": "Sitio web en segundos",
"websiteDesc": "Cree un sitio web en segundos con el constructor de sitios web de IA MERMS.",
"ecosystemTitle": "Ecosistema digital en expansión",
"ecosystemDesc": "Introducimos continuamente herramientas digitales avanzadas diseñadas para mejorar y optimizar su consultorio.",
"addonsTitle": "Complementos útiles",
"addonsDesc": "Explore nuestros complementos en expansión para mejorar sus aplicaciones.",
"unifiedTitle": "Gestión unificada",
"unifiedDesc": "Gestione todo desde un portal con las herramientas MERMS AI Assist."
},
"FeatureSection4": {
"step1Title": "Simple, Seguro e Intuitivo",
"step1Desc": "Realice su tarea en un panel fácil de navegar que se adapta a su prioridad. Con una interfaz fácil de usar, acceda a actualizaciones importantes de un vistazo y tome decisiones informadas rápidamente.",
"step2Title": "Informes de estado activos",
"step2Desc": "Nuestros informes de estado activos proporcionan información en tiempo real sobre sus productos y tareas en curso. Estos informes se adaptan dinámicamente a sus necesidades, destacando métricas clave e indicadores de progreso.",
"step3Title": "Seguridad en el núcleo",
"step3Desc": "Con Seguridad en el núcleo, puede concentrarse en lo que más importa: hacer crecer su negocio, mientras nos ocupamos de sus necesidades de seguridad. Proporcionamos monitoreo y soporte 24/7."
},
"AboutPage": {
"title": "Ayudando a los proveedores de atención médica con soluciones creativas.",
"description": "Nuestro objetivo es proporcionar a los usuarios todo lo que necesitan para tener éxito, desde presencia web y diseño hasta marketing y creación de contenido. Nuestros especialistas comprenden los desafíos únicos de gestionar una operación moderna eficiente. Trabajamos con las últimas tecnologías para maximizar su retorno de inversión.",
"quote": "Como proveedor de atención médica, debe mantenerse al día con las últimas tendencias y tecnologías para conectarse con sus pacientes y brindarles atención de primer nivel. Ofrecemos una variedad de productos específicamente diseñados para ayudarle a satisfacer las crecientes necesidades en línea de su consultorio"
},
"FeaturesPage": {
"sectionId": "Estrategias que funcionan",
"title": "Estrategias modernas e implementaciones",
"description": "En el mundo de los agentes, adaptamos su solución a lo que funciona con atención a cómo su audiencia quiere comunicarse con usted. Somos una solución con IA primero para la optimización de su práctica en línea.",
"subtitle": "Brindando soluciones que funcionan de forma comprobada",
"check1": "Diseñado para adaptarse a diferentes circunstancias o requisitos con facilidad.",
"check2": "Promueva su marca, realice tareas de manera rápida y efectiva, y maximice la productividad.",
"check3": "Cree y haga crecer su comunidad digital y genere tráfico relevante."
},
"ContactsPage": {
"title": "¿Preguntas? Hablemos",
"description": "¿Quiere saber más sobre MERMS, obtener una cotización o hablar con un experto? Díganos qué está buscando y le responderemos de inmediato",
"questionAbout": "Esta pregunta es sobre:",
"chooseTopic": "Elija un tema para que podamos determinar mejor cómo manejar su solicitud:",
"selectDefault": "Esta pregunta es sobre...",
"optionRegistering": "Registro o Cuentas",
"optionApplication": "Aplicación",
"optionTroubleshooting": "Solución de problemas",
"optionData": "Datos o Archivos",
"optionOther": "Otro",
"nameLabel": "Su nombre:",
"namePlaceholder": "Por favor ingrese su nombre:",
"nameInput": "Su Nombre*",
"emailLabel": "Su dirección de correo electrónico:",
"emailPlaceholder": "Por favor verifique cuidadosamente la exactitud de su correo electrónico:",
"emailInput": "Dirección de correo*",
"messageLabel": "Explique su pregunta en detalle:",
"messagePlaceholder": "Por favor proporcione detalles específicos sobre su solicitud o los comentarios que desea compartir.",
"messageInput": "Tengo un problema con...",
"sending": "Enviando",
"messageSent": "Mensaje enviado",
"submitRequest": "Enviar solicitud",
"privacy": "Estamos comprometidos a proteger su privacidad. MERMS utiliza la información que proporciona para comunicarse con usted sobre nuestro contenido, productos y servicios relevantes. Puede darse de baja de estas comunicaciones en cualquier momento.",
"required": "Requerido"
}
}
+173
View File
@@ -0,0 +1,173 @@
{
"Navigation": {
"about": "À propos",
"whyMerms": "Pourquoi MERMS ?",
"howItWorks": "Comment ça marche",
"contactUs": "Nous contacter",
"helpCenter": "Centre d'aide",
"features": "Fonctionnalités",
"forum": "Forum",
"signIn": "Se connecter",
"signUp": "S'inscrire",
"language": "Langue"
},
"Footer": {
"description": "Vous cherchez des outils cloud sécurisés et une forte présence en ligne pour votre marque de santé ? MermEmr fournit aux professionnels de santé des solutions fiables de référencement, de marketing en ligne et cliniques pour vous aider à vous développer.",
"site": "Site",
"resources": "Ressources",
"legal": "Légal",
"home": "Accueil",
"aboutUs": "À propos de nous",
"contactUs": "Nous contacter",
"features": "Fonctionnalités",
"helpCenter": "Centre d'aide",
"ourForum": "Notre Forum",
"termsOfUse": "Conditions d'utilisation",
"privacyPolicy": "Politique de confidentialité",
"copyright": "© 2026 MERMS(AI)",
"allRightsReserved": "Tous droits réservés"
},
"Hero": {
"title": "La plateforme d'IA",
"title1": "créée pour les médecins",
"description": "Donnez à votre entreprise les moyens dagir grâce à des outils de pointe et à une intégration transparente de lIA, élevant votre pratique aux normes modernes en toute simplicité.",
"cta": "Commencer gratuitement"
},
"Features": {
"deployTitle": "Déploiement en quelques secondes",
"deployDesc": "Déployez facilement les outils dont vous avez besoin avec notre système automatisé.",
"addonsTitle": "Extensions utiles",
"addonsDesc": "Découvrez nos extensions en expansion pour améliorer vos applications.",
"ecosystemTitle": "Écosystème numérique en expansion",
"ecosystemDesc": "Nous introduisons continuellement des outils numériques avancés conçus pour améliorer et rationaliser votre cabinet.",
"unifiedTitle": "Gestion unifiée",
"unifiedDesc": "Gérez tout depuis un seul portail avec les outils MERMS AI Assist",
"mainTitle": "Déployez des outils pour votre cabinet facilement dans notre cloud sécurisé.",
"mainDesc": "Donnez à votre cabinet les moyens d'agir avec une automatisation transparente et des outils essentiels pour un succès durable.",
"list1": "Faites évoluer facilement votre cabinet grâce à notre écosystème croissant d'outils innovants.",
"list2": "Boostez votre présence en ligne et développez votre communauté grâce à notre plateforme marketing intelligente."
},
"About": {
"title": "La vision du monde de votre cabinet est importante.",
"list1": "Activement ou passivement, vos clients potentiels font confiance à votre cabinet et l'évaluent quotidiennement.",
"list2": "Dans votre profession qui repose fortement sur la confiance et l'image, les solutions MERMS vous guident et vous engagent activement dans cette tâche"
},
"HowItWorks": {
"title": "MERMS-Agent : Toujours là pour vous aider.",
"workflowTitle": "Workflows automatiques",
"workflowDesc": "Il suffit d'un seul contact ! Standardisez la prestation de services à l'aide de workflows visuels et d'une automatisation basée sur l'IA. Obtenez un résumé visuel rapide de toutes vos demandes et suivez-les en un seul endroit.",
"aiTitle": "Assistance A.I. efficace",
"aiDesc": "Fidélisez votre marque, boostez-la grâce au marketing sur les réseaux sociaux, et construisez votre identité numérique avec nos outils créateurs A.I. Assist.",
"analyticsTitle": "Analyses utiles",
"analyticsDesc": "Surveillez les performances de votre site web avec notre tableau de bord simplifié. Gardez une longueur d'avance avec des statistiques de trafic en temps réel et des graphiques de tendances."
},
"Banner": {
"title": "Commencez avec MERMS aujourd'hui !",
"cta": "Commencer maintenant"
},
"EngageBox": {
"sectionId": "Améliorez l'engagement avec des solutions intelligentes",
"title": "Atteignez le succès grâce à l'automatisation.",
"description": "Utilisez nos outils d'automatisation et l'AI-Assist pour améliorer et gérer votre présence en ligne dans le domaine de la santé, ainsi que pour rationaliser les opérations de votre cabinet.",
"subtitle": "Des solutions modernes et plus intelligentes pour votre cabinet",
"subtitleDesc": "Accédez à des outils à jour pour gérer efficacement votre présence en ligne. Bénéficiez d'une gestion de campagnes efficace, d'une adoption transparente des outils et d'informations en temps réel sur les tendances du secteur."
},
"WhyChooseUs": {
"sectionId": "Pourquoi nous choisir",
"title": "Expérience, Connaissances, Compétences & Passion",
"description": "Nous faisons ressortir votre cabinet par rapport aux autres médecins de votre région grâce à des solutions modernes basées sur l'IA.",
"subtitle": "Votre succès est notre objectif !",
"subtitleDesc": "Notre plateforme aide tout prestataire à créer rapidement une présence en ligne, une page d'atterrissage ou un site multipage. Nous fournissons également tout ce dont vous avez besoin pour faire fonctionner votre cabinet à pleine vitesse."
},
"AboutFeatures": {
"title": "Nous vous aidons à atteindre vos objectifs facilement",
"feature1Title": "Site web de santé",
"feature1Desc": "Notre plateforme est conçue avec soin pour répondre aux besoins uniques des praticiens de santé, vous permettant de vous concentrer sur ce qui compte vraiment - votre mission.",
"feature2Title": "Auto Engage",
"feature2Desc": "Nous utilisons nos outils d'intelligence artificielle pour vous aider à lancer facilement les activités d'engagement de vos utilisateurs sur les réseaux sociaux.",
"feature3Title": "Actualités patients",
"feature3Desc": "Engagez vos patients avec des sujets qui éduquent et améliorent les résultats grâce à un blog sur votre site web.",
"feature4Title": "Outils de cabinet",
"feature4Desc": "De la prise de rendez-vous à la gestion des dossiers patients et à la facturation, gérez tout depuis un portail simple.",
"feature5Title": "Site web personnel",
"feature5Desc": "En tant que praticien, vous avez parfois besoin de vous engager dans des discussions générales sur la santé. Nous fournissons des canaux personnels qui augmentent votre présence en ligne.",
"feature6Title": "SEO & Analyse",
"feature6Desc": "Surveillez le trafic et les performances de vos sites, obtenez des recommandations d'amélioration et de l'aide pour les améliorations applicables."
},
"DedicatedTeam": {
"title": "Équipe dédiée",
"description": "Nous sommes fiers de favoriser un environnement collaboratif où la créativité et l'innovation prospèrent. En restant à la pointe des tendances du secteur et des avancées technologiques, nous transformons vos idées en stratégies concrètes qui élèvent votre cabinet. Notre objectif est de vous aider à établir une forte présence en ligne pendant que vous vous concentrez sur ce que vous faites le mieux — fournir des soins exceptionnels à vos patients"
},
"FeaturesSection1": {
"title": "Nous prêtons attention aux détails",
"subtitle": "L'espace numérique en constante évolution signifie que nous mettons constamment à jour les outils dont vous aurez besoin par :",
"dashboardTitle": "Tableau de bord intuitif",
"dashboardDesc": "Tableau de bord facile à suivre et adaptatif qui optimise vos objectifs.",
"integrationTitle": "Intégration sans effort",
"integrationDesc": "Connectez vos outils à un objectif cible. Ajoutez et mettez à jour ce dont vous avez besoin au besoin.",
"analyticsTitle": "Analytique en temps réel",
"analyticsDesc": "Rapports qui donnent de la visibilité aux tendances avec l'aide de l'IA pour les recommandations."
},
"FeaturesSectionTwo": {
"title": "Solutions innovantes, résultats en temps réel",
"description": "Donnez vie à votre vision avec le constructeur de site web qui vous donne les outils dont vous avez besoin pour réussir.",
"list1": "Créez votre site web en utilisant nos modèles modernes, polices de designer et palettes de couleurs en quelques minutes.",
"list2": "Promouvez votre activité et développez-vous. Créez un blog pour développer votre communauté et générer plus de trafic.",
"websiteTitle": "Site web en quelques secondes",
"websiteDesc": "Créez un site web en quelques secondes avec le constructeur de site web IA MERMS.",
"ecosystemTitle": "Écosystème numérique en expansion",
"ecosystemDesc": "Nous introduisons continuellement des outils numériques avancés conçus pour améliorer et rationaliser votre cabinet.",
"addonsTitle": "Extensions utiles",
"addonsDesc": "Découvrez nos extensions en expansion pour améliorer vos applications.",
"unifiedTitle": "Gestion unifiée",
"unifiedDesc": "Gérez tout depuis un seul portail avec les outils MERMS AI Assist."
},
"FeatureSection4": {
"step1Title": "Simple, Sécurisé & Intuitif",
"step1Desc": "Accomplissez votre tâche dans un tableau de bord facile à naviguer qui s'adapte à vos priorités. Avec une interface conviviale, accédez aux mises à jour importantes en un coup d'œil et prenez des décisions éclairées rapidement.",
"step2Title": "Rapports d'état actifs",
"step2Desc": "Nos rapports d'état actifs fournissent des informations en temps réel sur vos produits et tâches en cours. Ces rapports s'adaptent dynamiquement à vos besoins, mettant en évidence les métriques clés et les indicateurs de progression.",
"step3Title": "Sécurité au cœur",
"step3Desc": "Avec Sécurité au cœur, vous pouvez vous concentrer sur ce qui compte le plus — développer votre activité — pendant que nous prenons soin de vos besoins en sécurité. Nous fournissons une surveillance et un support 24h/24 et 7j/7."
},
"AboutPage": {
"title": "Aider les prestataires de soins de santé avec des solutions créatives.",
"description": "Nous visons à fournir aux utilisateurs tout ce dont ils ont besoin pour réussir, de la présence web et du design au marketing et à la création de contenu. Nos spécialistes comprennent les défis uniques de la gestion d'une opération moderne efficace. Nous travaillons avec les dernières technologies pour maximiser votre retour sur investissement.",
"quote": "En tant que prestataire de soins de santé, vous devez rester au courant des dernières tendances et technologies pour vous connecter avec vos patients et leur fournir des soins de premier ordre. Nous proposons une variété de produits spécifiquement conçus pour vous aider à répondre aux besoins en ligne croissants de votre cabinet"
},
"FeaturesPage": {
"sectionId": "Des stratégies qui fonctionnent",
"title": "Stratégies modernes & mises en œuvre",
"description": "Dans le monde des agents, nous adaptons votre solution à ce qui fonctionne en tenant compte de la façon dont votre audience veut vous atteindre. Nous sommes une solution IA-first pour votre pratique d'optimisation en ligne.",
"subtitle": "Des solutions qui fonctionnent de manière prouvée",
"check1": "Conçu pour s'adapter à différentes circonstances ou exigences avec facilité.",
"check2": "Promouvez votre marque, accomplissez les tâches rapidement et efficacement, et maximisez la productivité.",
"check3": "Créez et développez votre communauté numérique et générez du trafic pertinent."
},
"ContactsPage": {
"title": "Des questions ? Parlons-en",
"description": "Vous voulez en savoir plus sur MERMS, obtenir un devis ou parler à un expert ? Faites-nous part de ce que vous recherchez et nous vous répondrons immédiatement",
"questionAbout": "Cette question concerne :",
"chooseTopic": "Choisissez un sujet pour que nous puissions mieux déterminer comment traiter votre demande :",
"selectDefault": "Cette question concerne...",
"optionRegistering": "Inscription ou Comptes",
"optionApplication": "Application",
"optionTroubleshooting": "Dépannage",
"optionData": "Données ou Fichiers",
"optionOther": "Autre",
"nameLabel": "Votre nom :",
"namePlaceholder": "Veuillez entrer votre nom :",
"nameInput": "Votre Nom*",
"emailLabel": "Votre adresse e-mail :",
"emailPlaceholder": "Veuillez vérifier attentivement l'exactitude de votre adresse e-mail :",
"emailInput": "Adresse e-mail*",
"messageLabel": "Expliquez votre question en détail :",
"messagePlaceholder": "Veuillez fournir des détails spécifiques concernant votre demande ou les commentaires que vous souhaitez partager.",
"messageInput": "J'ai un problème avec...",
"sending": "Envoi en cours",
"messageSent": "Message envoyé",
"submitRequest": "Soumettre la demande",
"privacy": "Nous nous engageons à protéger votre vie privée. MERMS utilise les informations que vous fournissez pour communiquer avec vous. Vous pouvez vous désabonner de ces communications à tout moment.",
"required": "Obligatoire"
}
}
+8
View File
@@ -4,6 +4,14 @@ const path = require('path')
const nextConfig = {
reactStrictMode: true,
outputFileTracingRoot: path.join(__dirname),
i18n: {
locales: ['en', 'fr', 'es'],
defaultLocale: 'en',
},
webpack: (config) => {
config.resolve.alias['next-intl'] = path.join(__dirname, 'utils/next-intl-compat.js')
return config
},
}
module.exports = nextConfig
+433 -12
View File
@@ -8,16 +8,21 @@
"name": "merms",
"version": "0.1.1",
"dependencies": {
"@tanstack/react-query": "^5.62.16",
"axios": "^1.13.2",
"eslint": "8.41.0",
"eslint-config-next": "13.4.3",
"formik": "^2.4.9",
"next": "^13.5.8",
"next-intl": "^3.26.5",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-modal-video": "^2.0.2",
"sass": "^1.62.1",
"server-only": "^0.0.1",
"swiper": "^10.0.4",
"wowjs": "^1.1.3"
"wowjs": "^1.1.3",
"yup": "^1.7.1"
}
},
"node_modules/@babel/runtime": {
@@ -91,6 +96,66 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@formatjs/ecma402-abstract": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.6.tgz",
"integrity": "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==",
"license": "MIT",
"dependencies": {
"@formatjs/fast-memoize": "2.2.7",
"@formatjs/intl-localematcher": "0.6.2",
"decimal.js": "^10.4.3",
"tslib": "^2.8.0"
}
},
"node_modules/@formatjs/ecma402-abstract/node_modules/@formatjs/intl-localematcher": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz",
"integrity": "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.8.0"
}
},
"node_modules/@formatjs/fast-memoize": {
"version": "2.2.7",
"resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz",
"integrity": "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.8.0"
}
},
"node_modules/@formatjs/icu-messageformat-parser": {
"version": "2.11.4",
"resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.4.tgz",
"integrity": "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==",
"license": "MIT",
"dependencies": {
"@formatjs/ecma402-abstract": "2.3.6",
"@formatjs/icu-skeleton-parser": "1.8.16",
"tslib": "^2.8.0"
}
},
"node_modules/@formatjs/icu-skeleton-parser": {
"version": "1.8.16",
"resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.16.tgz",
"integrity": "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==",
"license": "MIT",
"dependencies": {
"@formatjs/ecma402-abstract": "2.3.6",
"tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-localematcher": {
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz",
"integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==",
"license": "MIT",
"dependencies": {
"tslib": "2"
}
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.14",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
@@ -646,12 +711,60 @@
"tslib": "^2.4.0"
}
},
"node_modules/@tanstack/query-core": {
"version": "5.100.14",
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.14.tgz",
"integrity": "sha512-5X41dGpxgeaHISCRW2oYwcSycZeULZzAunaudXT9ov1KOTj9xwt0CH6hbwqP1/z74ZWF7rYFnDpyYH07XFcZew==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@tanstack/react-query": {
"version": "5.100.14",
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.14.tgz",
"integrity": "sha512-oOr6aRdSFEwWhzxEkD/9ZcItM3+LjBSkeVmadWKwUssAHTsqd/7bOjWrX4AbvEkoEhgAxzN0Xk6H/aYzXiYBAw==",
"license": "MIT",
"dependencies": {
"@tanstack/query-core": "5.100.14"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
"react": "^18 || ^19"
}
},
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz",
"integrity": "sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==",
"license": "MIT",
"dependencies": {
"hoist-non-react-statics": "^3.3.0"
},
"peerDependencies": {
"@types/react": "*"
}
},
"node_modules/@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"license": "MIT"
},
"node_modules/@types/react": {
"version": "19.2.15",
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz",
"integrity": "sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==",
"license": "MIT",
"peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
},
"node_modules/@typescript-eslint/parser": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
@@ -758,6 +871,7 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -774,6 +888,18 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"license": "MIT",
"dependencies": {
"debug": "4"
},
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -999,6 +1125,12 @@
"integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==",
"license": "MIT"
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"license": "MIT"
},
"node_modules/available-typed-arrays": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
@@ -1023,6 +1155,18 @@
"node": ">=4"
}
},
"node_modules/axios": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
"integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.16.0",
"form-data": "^4.0.5",
"https-proxy-agent": "^5.0.1",
"proxy-from-env": "^2.1.0"
}
},
"node_modules/axobject-query": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
@@ -1128,9 +1272,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001690",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz",
"integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==",
"version": "1.0.30001793",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz",
"integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==",
"funding": [
{
"type": "opencollective",
@@ -1202,6 +1346,18 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT"
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -1234,9 +1390,9 @@
}
},
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
"license": "MIT"
},
"node_modules/damerau-levenshtein": {
@@ -1313,12 +1469,27 @@
}
}
},
"node_modules/decimal.js": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
"license": "MIT"
},
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"license": "MIT"
},
"node_modules/deepmerge": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
"integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/define-data-property": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
@@ -1353,6 +1524,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/detect-libc": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
@@ -1554,14 +1734,15 @@
}
},
"node_modules/es-set-tostringtag": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
"integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
"license": "MIT",
"dependencies": {
"get-intrinsic": "^1.2.4",
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.6",
"has-tostringtag": "^1.0.2",
"hasown": "^2.0.1"
"hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -1611,6 +1792,7 @@
"integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==",
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.4.0",
@@ -1774,6 +1956,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz",
"integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==",
"license": "MIT",
"peer": true,
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.8",
@@ -2145,6 +2328,26 @@
"integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
"license": "ISC"
},
"node_modules/follow-redirects": {
"version": "1.16.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
"integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"license": "MIT",
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/for-each": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
@@ -2154,6 +2357,47 @@
"is-callable": "^1.1.3"
}
},
"node_modules/form-data": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
"hasown": "^2.0.2",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/formik": {
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/formik/-/formik-2.4.9.tgz",
"integrity": "sha512-5nI94BMnlFDdQRBY4Sz39WkhxajZJ57Fzs8wVbtsQlm5ScKIR1QLYqv/ultBnobObtlUyxpxoLodpixrsf36Og==",
"funding": [
{
"type": "individual",
"url": "https://opencollective.com/formik"
}
],
"license": "Apache-2.0",
"dependencies": {
"@types/hoist-non-react-statics": "^3.3.1",
"deepmerge": "^2.1.1",
"hoist-non-react-statics": "^3.3.0",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"react-fast-compare": "^2.0.1",
"tiny-warning": "^1.0.2",
"tslib": "^2.0.0"
},
"peerDependencies": {
"react": ">=16.8.0"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -2452,6 +2696,28 @@
"node": ">= 0.4"
}
},
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"license": "BSD-3-Clause",
"dependencies": {
"react-is": "^16.7.0"
}
},
"node_modules/https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"license": "MIT",
"dependencies": {
"agent-base": "6",
"debug": "4"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/ignore": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@@ -2523,6 +2789,18 @@
"node": ">= 0.4"
}
},
"node_modules/intl-messageformat": {
"version": "10.7.18",
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.18.tgz",
"integrity": "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==",
"license": "BSD-3-Clause",
"dependencies": {
"@formatjs/ecma402-abstract": "2.3.6",
"@formatjs/fast-memoize": "2.2.7",
"@formatjs/icu-messageformat-parser": "2.11.4",
"tslib": "^2.8.0"
}
},
"node_modules/is-array-buffer": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
@@ -3035,6 +3313,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/lodash": {
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
"license": "MIT"
},
"node_modules/lodash-es": {
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
"integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
"license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -3084,6 +3374,27 @@
"node": ">=8.6"
}
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -3135,11 +3446,21 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"license": "MIT"
},
"node_modules/negotiator": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
"integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/next": {
"version": "13.5.8",
"resolved": "https://registry.npmjs.org/next/-/next-13.5.8.tgz",
"integrity": "sha512-VlR7FaXpSibCs7ujOqStaDFTGSdX/NvWgLDcd47oiHUe8i63ZtNkX9intgcYAu/MxpaeEGinHaMB5mwxuzglKw==",
"license": "MIT",
"peer": true,
"dependencies": {
"@next/env": "13.5.8",
"@swc/helpers": "0.5.2",
@@ -3181,6 +3502,27 @@
}
}
},
"node_modules/next-intl": {
"version": "3.26.5",
"resolved": "https://registry.npmjs.org/next-intl/-/next-intl-3.26.5.tgz",
"integrity": "sha512-EQlCIfY0jOhRldiFxwSXG+ImwkQtDEfQeSOEQp6ieAGSLWGlgjdb/Ck/O7wMfC430ZHGeUKVKax8KGusTPKCgg==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/amannn"
}
],
"license": "MIT",
"dependencies": {
"@formatjs/intl-localematcher": "^0.5.4",
"negotiator": "^1.0.0",
"use-intl": "^3.26.5"
},
"peerDependencies": {
"next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0"
}
},
"node_modules/node-addon-api": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
@@ -3504,6 +3846,21 @@
"react-is": "^16.13.1"
}
},
"node_modules/property-expr": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz",
"integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==",
"license": "MIT"
},
"node_modules/proxy-from-env": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
"integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==",
"license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -3538,6 +3895,7 @@
"resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
"integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0"
},
@@ -3550,6 +3908,7 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
"license": "MIT",
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.0"
@@ -3558,6 +3917,12 @@
"react": "^18.2.0"
}
},
"node_modules/react-fast-compare": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz",
"integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==",
"license": "MIT"
},
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
@@ -3797,6 +4162,7 @@
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.0.tgz",
"integrity": "sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==",
"license": "MIT",
"peer": true,
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^5.0.2",
@@ -4217,6 +4583,18 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"license": "MIT"
},
"node_modules/tiny-case": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz",
"integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==",
"license": "MIT"
},
"node_modules/tiny-warning": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
"license": "MIT"
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -4229,6 +4607,12 @@
"node": ">=8.0"
}
},
"node_modules/toposort": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
"integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==",
"license": "MIT"
},
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -4407,6 +4791,19 @@
"punycode": "^2.1.0"
}
},
"node_modules/use-intl": {
"version": "3.26.5",
"resolved": "https://registry.npmjs.org/use-intl/-/use-intl-3.26.5.tgz",
"integrity": "sha512-OdsJnC/znPvHCHLQH/duvQNXnP1w0hPfS+tkSi3mAbfjYBGh4JnyfdwkQBfIVf7t8gs9eSX/CntxUMvtKdG2MQ==",
"license": "MIT",
"dependencies": {
"@formatjs/fast-memoize": "^2.2.0",
"intl-messageformat": "^10.5.14"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0"
}
},
"node_modules/watchpack": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
@@ -4553,6 +4950,30 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/yup": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/yup/-/yup-1.7.1.tgz",
"integrity": "sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==",
"license": "MIT",
"dependencies": {
"property-expr": "^2.0.5",
"tiny-case": "^1.0.3",
"toposort": "^2.0.2",
"type-fest": "^2.19.0"
}
},
"node_modules/yup/node_modules/type-fest": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
"integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
"license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
}
}
}
+1
View File
@@ -17,6 +17,7 @@
"eslint-config-next": "13.4.3",
"formik": "^2.4.9",
"next": "^13.5.8",
"next-intl": "^3.26.5",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-modal-video": "^2.0.2",
+10 -1
View File
@@ -37,4 +37,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -22,4 +22,13 @@ export default function ProductHome() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+14 -12
View File
@@ -1,5 +1,6 @@
import Preloader from "../components/elements/Preloader"
import { useEffect, useState } from "react"
import { NextIntlClientProvider } from "next-intl"
import "/public/css/bootstrap.min.css"
import "/public/css/flaticon.css"
@@ -13,25 +14,26 @@ import "/public/css/responsive.css"
import QueryClientContext from "../components/queryclientProvider/QueryClientContext"
function MyApp({ Component, pageProps }) {
const { messages, locale, ...restPageProps } = pageProps
const [loading, setLoading] = useState(true)
useEffect(() => {
setTimeout(() => {
setLoading(false)
}, 1000)
}, [])
return (<>
{/* <SmoothScroll /> */}
{!loading ? (
// <ProductHome />
<QueryClientContext>
<Component {...pageProps} />
</QueryClientContext>
) : (
<Preloader />
)}
</>)
return (
<NextIntlClientProvider locale={locale || "en"} messages={messages || {}}>
{!loading ? (
<QueryClientContext>
<Component {...restPageProps} />
</QueryClientContext>
) : (
<Preloader />
)}
</NextIntlClientProvider>
)
}
export default MyApp
+10 -1
View File
@@ -515,4 +515,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+16 -14
View File
@@ -7,30 +7,25 @@ import MermsRecentBlog from "../components/sections/MermsRecentBlog";
import MermsWhyChooseUs from "../components/sections/MermsWhyChooseUs";
import MermsDedicatedTeam from "../components/sections/MermsDedicatedTeam";
import MermsAboutFeautures from "../components/sections/MermsAboutFeautures";
import { useTranslations } from "next-intl";
export default function Home() {
const t = useTranslations("AboutPage")
return (
<>
<Layout headerStyle={1} footerStyle={3} headerCls="navbar-dark inner-page-header">
<div>
{/* ABOUT-2
============================================= */}
<section id="about-2" className="rel inner-page-hero about-section division">
{/* ABOUT-2 TITLE */}
<div className="container">
<div className="row">
<div className="col-md-11 col-lg-10 col-xl-9">
<div className="about-2-title mb-60">
{/* Title */}
<h2 className="s-52 w-700 mb-30">Helping healthcare providers with creative solutions.</h2>
{/* Text */}
<p className="mb-0">We aim to provide users with everything they need to succeed, from web presence and design to marketing,
content creation, and more. Our specialists understand the unique challenges of running an efficient modern operation. We work with the latest technologies to maximize your return on investment.
</p>
<h2 className="s-52 w-700 mb-30">{t("title")}</h2>
<p className="mb-0">{t("description")}</p>
</div>
</div>
</div>
</div> {/* END ABOUT-2 TITLE */}
</div>
{/* ABOUT-2 IMAGES */}
<div className="container-fluid">
<div className="row">
@@ -61,9 +56,7 @@ export default function Home() {
<div className="a2-txt-quote ico-40 o-20">
<span className="flaticon-quote" />
</div>
{/* Text */}
<p>As a healthcare provider, you must stay up-to-date on the latest trends and technologies to connect with your patients and provide them with top-notch care. We offer a variety of products that are specifically designed to help you meet the growing online needs of your practice
</p>
<p>{t("quote")}</p>
{/* Author */}
{/* <p className="a2-txt-author">Charlie Cheever <span>CEO &amp; CO-FOUNDER</span></p> */}
</div>
@@ -92,4 +85,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -460,4 +460,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -158,4 +158,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getServerSideProps({ locale }) {
const { getMessages } = await import('../../../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+81 -69
View File
@@ -2,16 +2,19 @@ import {useMutation} from '@tanstack/react-query';
import Layout from "../components/layout/Layout"
import Link from "next/link"
import {Form, Formik} from 'formik';
//import {Form, Formik} from 'formik';
import * as Yup from "yup";
import { useTranslations } from "next-intl";
import { sendContactMsg } from "../components/services/services";
export default function Home() {
const t = useTranslations("ContactsPage")
const validationSchema = Yup.object().shape({
subject: Yup.string().required("Required"),
name: Yup.string().required("Required"),
email: Yup.string().required("Required"),
message: Yup.string().required("Required"),
subject: Yup.string().required(t("required")),
name: Yup.string().required(t("required")),
email: Yup.string().required(t("required")),
message: Yup.string().required(t("required")),
})
const initialValues = {
@@ -23,13 +26,19 @@ export default function Home() {
const contactMutation = useMutation({
mutationFn: (fields) => {
return null //completePWDReset(fields)
return sendContactMsg(fields)
},
onSuccess: (res) => {
if (res?.data?.resultCode != '0') {
throw({message: res?.data?.resultDescription})
}
// if (res?.data?.resultCode != '0') {
// throw({message: res?.data?.resultDescription})
// }
window.scrollTo(0, 0);
},
// onSettled: () => {
// setTimeout(() => {
// contactMutation.reset()
// }, 3000)
// }
// onError: (err) => {
// console.log('err', err)
// }
@@ -39,10 +48,6 @@ export default function Home() {
let reqData = {
...values
}
console.log(reqData)
setTimeout(() => {
contactMutation.reset()
}, 3000)
contactMutation.mutate(reqData)
}
@@ -56,13 +61,8 @@ export default function Home() {
<div className="row justify-content-center">
<div className="col-md-10 col-lg-9">
<div className="section-title text-center mb-80">
{/* Title */}
<h2 className="s-52 w-700">Questions? Let's Talk</h2>
{/* Text */}
<p className="p-lg">Want to learn more about MERMS, get a quote, or speak with
an expert?
Let us know what you are looking for and well get back to you right away
</p>
<h2 className="s-52 w-700">{t("title")}</h2>
<p className="p-lg">{t("description")}</p>
</div>
</div>
</div>
@@ -73,7 +73,7 @@ export default function Home() {
{/* IMAGE BLOCK */}
<div className="col-md-6 col-lg-6">
<div className="img-block left-column wow fadeInRight">
<img className="img-fluid" src="/images/img-14.png" alt="content-image"/>
<img className="img-fluid" src="/images/contact-us-page.png" alt="content-image"/>
</div>
</div>
@@ -89,82 +89,85 @@ export default function Home() {
return (
<Form name="contactform" className="row contact-form">
{/* Form Select */}
{contactMutation.isSuccess ?
<div className='w-100 text-center'>
<p className='p-lg' style={{lineHeight: '30px'}}>
Thank you for reaching out to us. We have received your message and will treat it with utmost urgency. Our team will respond to you as soon as possible.
</p>
<div className="d-flex justify-content-center mt-15" style={{marginTop: '80px'}}>
<Link href="/" className="btn btn--theme hover--theme submit">
Return Home
</Link>
</div>
</div>
:contactMutation.isError ?
<div className='w-100 text-center'>
<p className='p-lg' style={{lineHeight: '30px', color: 'red'}}>
Opps! An error occured, please try again.
</p>
<div className="d-flex justify-content-center mt-15" style={{marginTop: '80px'}}>
<button onClick={()=>contactMutation.reset()} type='button' className="btn btn--theme hover--theme submit">
Resend Message
</button>
</div>
</div>
:
<>
<div className="col-md-12 input-subject">
<p className="p-lg">This question is
about:{(props.errors.subject && props.touched.subject) &&
<span style={{display: 'inline'}}
className='text-danger'>{props.errors.subject}</span>}</p>
<span>Choose a topic, so we can best determine hot to handle your request to: </span>
<p className="p-lg">{t("questionAbout")}{(props.errors.subject && props.touched.subject) &&
<span style={{display: 'inline'}} className='text-danger'>{props.errors.subject}</span>}</p>
<span>{t("chooseTopic")}</span>
<select name='subject' onChange={props.handleChange}
className="form-select subject"
aria-label="Default select example">
<option value=''>This question is about...</option>
<option
value='registering or account'>Registering or
Accounts
</option>
<option value='using application'>Application
</option>
<option value='troubleshooting'>Troubleshooting
</option>
<option value='data and files'>Data or Files
</option>
<option value='others'>Other</option>
<option value=''>{t("selectDefault")}</option>
<option value='registering or account'>{t("optionRegistering")}</option>
<option value='using application'>{t("optionApplication")}</option>
<option value='troubleshooting'>{t("optionTroubleshooting")}</option>
<option value='data and files'>{t("optionData")}</option>
<option value='others'>{t("optionOther")}</option>
</select>
</div>
{/* Contact Form Input */}
<div className="col-md-12">
<p className="p-lg">Your
Name:{(props.errors.name && props.touched.name) &&
<span style={{display: 'inline'}}
className='text-danger'>{props.errors.name}</span>}</p>
<span>Please enter your name: </span>
<p className="p-lg">{t("nameLabel")}{(props.errors.name && props.touched.name) &&
<span style={{display: 'inline'}} className='text-danger'>{props.errors.name}</span>}</p>
<span>{t("namePlaceholder")}</span>
<input type="text" onChange={props.handleChange}
name="name" className="form-control name"
placeholder="Your Name*"/>
placeholder={t("nameInput")}/>
</div>
<div className="col-md-12">
<p className="p-lg">Your Email
Address:{(props.errors.email && props.touched.email) &&
<span style={{display: 'inline'}}
className='text-danger'>{props.errors.email}</span>}</p>
<span>Please carefully check your email address for accuracy:</span>
<p className="p-lg">{t("emailLabel")}{(props.errors.email && props.touched.email) &&
<span style={{display: 'inline'}} className='text-danger'>{props.errors.email}</span>}</p>
<span>{t("emailPlaceholder")}</span>
<input type="text" onChange={props.handleChange}
name="email" className="form-control email"
placeholder="Email Address*"/>
placeholder={t("emailInput")}/>
</div>
<div className="col-md-12">
<p className="p-lg">Explain your question in
details:{(props.errors.message && props.touched.message) &&
<span style={{display: 'inline'}}
className='text-danger'>{props.errors.message}</span>}</p>
<span>Details like yur Your OS version, browser and any specific steps will really help. Be VERY precise!</span>
<p className="p-lg">{t("messageLabel")}{(props.errors.message && props.touched.message) &&
<span style={{display: 'inline'}} className='text-danger'>{props.errors.message}</span>}</p>
<span>{t("messagePlaceholder")}</span>
<textarea onChange={props.handleChange}
className="form-control message"
name="message" rows={6}
placeholder="I have a problem with..."/>
placeholder={t("messageInput")}/>
</div>
{/* Contact Form Button */}
<div className="d-flex justify-content-end mt-15 form-btn">
<button
type="submit"
className="btn btn--theme hover--theme submit"
disabled={contactMutation.isPending || contactMutation.isSuccess}
>
{contactMutation.isPending ? 'Sending' : contactMutation.isSuccess ? 'Message Sent' : 'Submit Request'}
{contactMutation.isPending ? t("sending") : contactMutation.isSuccess ? t("messageSent") : t("submitRequest")}
</button>
</div>
</>
}
<div className="contact-form-notice">
<p className="p-sm">We are committed to your privacy.
MERMS uses the information you
provide us to contact you about our relevant
content, products, and services.
You may unsubscribe from these communications at any
time. For more information,
check out our <Link href="/privacy">Privacy
Policy</Link>.
</p>
<p className="p-sm">{t("privacy")}</p>
</div>
{/* Contact Form Message */}
<div className="col-lg-12 contact-form-msg">
<span className="loading"/>
@@ -200,4 +203,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -225,4 +225,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -203,4 +203,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -595,4 +595,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+21 -49
View File
@@ -7,7 +7,10 @@ import MermsBanner from "../components/sections/MermsBanner";
import MermsFeatureSection4 from "../components/sections/MermsFeatureSection4";
import MermsFeaturesSection1 from "../components/sections/MermsFeaturesSection1";
import MermsFeaturesSectionTwo from "../components/sections/MermsFeaturesSectionTwo";
import MermsEngageBox from "../components/sections/MermsEngageBox";
import { useTranslations } from "next-intl";
export default function Home() {
const t = useTranslations("FeaturesPage")
return (
<>
@@ -26,39 +29,32 @@ export default function Home() {
{/* TEXT BLOCK */}
<div className="col-md-6">
<div className="txt-block right-column wow fadeInLeft">
{/* Section ID */}
<span className="section-id">Strategies That Work</span>
{/* Title */}
<h2 className="s-46 w-700">Modern Strategies &amp; implementations</h2>
{/* Text */}
<p>In the agent world, we fit your solution to what works with attention to how your audience wants to reach you. We are an AI-first solution to your online and pipeline optimization practice.</p>
{/* Small Title */}
<h5 className="s-24 w-700">Providing solutions that provable work</h5>
{/* CONTENT BOX #1 */}
<span className="section-id">{t("sectionId")}</span>
<h2 className="s-46 w-700">{t("title")}</h2>
<p>{t("description")}</p>
<h5 className="s-24 w-700">{t("subtitle")}</h5>
<div className="cbox-1 ico-15">
<div className="ico-wrap color--theme">
<div className="cbox-1-ico"><span className="flaticon-check" /></div>
</div>
<div className="cbox-1-txt">
<p>Made to suit different circumstances or requirements with ease.</p>
<p>{t("check1")}</p>
</div>
</div>
{/* CONTENT BOX #2 */}
<div className="cbox-1 ico-15">
<div className="ico-wrap color--theme">
<div className="cbox-1-ico"><span className="flaticon-check" /></div>
</div>
<div className="cbox-1-txt">
<p>Promote your brand, accomplish tasks quickly and effectively, and maximize productivity.</p>
<p>{t("check2")}</p>
</div>
</div>
{/* CONTENT BOX #3 */}
<div className="cbox-1 ico-15">
<div className="ico-wrap color--theme">
<div className="cbox-1-ico"><span className="flaticon-check" /></div>
</div>
<div className="cbox-1-txt">
<p className="mb-0">Create and grow your digital community and drive relevant traffic.</p>
<p className="mb-0">{t("check3")}</p>
</div>
</div>
</div>
@@ -75,44 +71,20 @@ export default function Home() {
<hr className="divider" />
<MermsAboutFeautures />
<hr className="divider" />
<section className="pt-100 ws-wrapper content-section">
<div className="container">
<div className="bc-1-wrapper bg--white-400 bg--fixed r-16">
<div className="section-overlay">
<div className="row d-flex align-items-center">
{/* TEXT BLOCK */}
<div className="col-md-6 order-last order-md-2">
<div className="txt-block left-column wow fadeInRight">
{/* Section ID */}
<span className="section-id">Enhance Engagement</span>
{/* Title */}
<h2 className="s-46 w-700">Automate your way to success</h2>
{/* Text */}
<p>Leverage our automation tools to present and manage your healthcare online presence and your practice tools with AI-Assist.
</p>
{/* Small Title */}
<h5 className="s-24 w-700 h5-title">Modern & Smarter for your Practice</h5>
{/* Text */}
<p className="mb-0">Up to date tools to manage all you need for effective online presence and your practice management. Effective practice campaign, easy adoptions of tools and visibility to trends.
</p>
</div>
</div> {/* END TEXT BLOCK */}
{/* IMAGE BLOCK */}
<div className="col-md-6 order-first order-md-2">
<div className="img-block right-column wow fadeInLeft">
<img className="img-fluid" src="/images/img-05.png" alt="content-image" />
</div>
</div>
</div> {/* End row */}
</div> {/* End section overlay */}
</div> {/* End content wrapper */}
</div> {/* End container */}
</section> {/* END BOX CONTENT */}
<MermsEngageBox />
<hr className="divider" />
<MermsBanner />
</div>
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -193,4 +193,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -22,4 +22,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -520,4 +520,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -164,4 +164,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -156,4 +156,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -73,4 +73,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -455,4 +455,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -112,4 +112,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -262,4 +262,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -400,4 +400,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -58,4 +58,13 @@ export default function Home() {
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -243,4 +243,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -558,4 +558,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -442,4 +442,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
+10 -1
View File
@@ -135,4 +135,13 @@ export default function Home() {
</Layout>
</>
)
}
}
export async function getStaticProps({ locale }) {
const { getMessages } = await import('../utils/getMessages')
return {
props: {
locale,
messages: await getMessages(locale),
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 KiB

After

Width:  |  Height:  |  Size: 413 KiB

+11
View File
@@ -0,0 +1,11 @@
const loaders = {
en: () => import('../messages/en.json'),
fr: () => import('../messages/fr.json'),
es: () => import('../messages/es.json'),
}
export async function getMessages(locale) {
const load = loaders[locale] || loaders.en
const mod = await load()
return mod.default
}
+25
View File
@@ -0,0 +1,25 @@
import React, { createContext, useContext } from 'react'
const TranslationContext = createContext({ messages: {}, locale: 'en' })
export function NextIntlClientProvider({ locale, messages, children, timeZone }) {
return React.createElement(
TranslationContext.Provider,
{ value: { locale: locale || 'en', messages: messages || {} } },
children
)
}
export function useTranslations(namespace) {
const { messages } = useContext(TranslationContext)
return function t(key) {
const ns = messages?.[namespace]
if (!ns) return key
return ns[key] ?? key
}
}
export function useLocale() {
const { locale } = useContext(TranslationContext)
return locale
}