Compare commits

...

4 Commits

Author SHA1 Message Date
victorAnumudu b69170d348 blog page clear up 2025-01-06 23:17:15 +01:00
victorAnumudu 5f21206604 blog page added 2025-01-06 23:15:59 +01:00
CHIEFSOFT\ameye b6ef222d0b Fix texts 2025-01-06 11:25:10 -05:00
victor.ebuka d5fba0caf3 Merge branch 'env-links' of MERMS/MermsWebsite2025 into master 2025-01-06 09:16:47 +00:00
5 changed files with 267 additions and 470 deletions
@@ -0,0 +1,22 @@
import { QueryClientProvider, QueryClient } from '@tanstack/react-query'
function QueryClientContext({children}) {
const queryClient = new QueryClient({
defaultOptions: {
queries: {
refetchOnWindowFocus: false,
retry: 3,
// refetchOnMount: false,
staleTime: 3000
},
},
})
return (
<QueryClientProvider client={queryClient}>
{children}
</QueryClientProvider>
);
}
export default QueryClientContext;
+1
View File
@@ -11,6 +11,7 @@
"sass": "sass --watch public/assets/scss/main.scss:public/assets/css/main.css" "sass": "sass --watch public/assets/scss/main.scss:public/assets/css/main.css"
}, },
"dependencies": { "dependencies": {
"@tanstack/react-query": "^5.62.16",
"eslint": "8.41.0", "eslint": "8.41.0",
"eslint-config-next": "13.4.3", "eslint-config-next": "13.4.3",
"next": "^13.5.8", "next": "^13.5.8",
+3
View File
@@ -10,6 +10,7 @@ import "/public/css/lunar.css"
import "/public/css/animate.css" import "/public/css/animate.css"
import "/public/css/merms.css" import "/public/css/merms.css"
import "/public/css/responsive.css" import "/public/css/responsive.css"
import QueryClientContext from "../components/queryclientProvider/QueryClientContext"
function MyApp({ Component, pageProps }) { function MyApp({ Component, pageProps }) {
@@ -24,7 +25,9 @@ function MyApp({ Component, pageProps }) {
{/* <SmoothScroll /> */} {/* <SmoothScroll /> */}
{!loading ? ( {!loading ? (
// <ProductHome /> // <ProductHome />
<QueryClientContext>
<Component {...pageProps} /> <Component {...pageProps} />
</QueryClientContext>
) : ( ) : (
<Preloader /> <Preloader />
)} )}
-69
View File
@@ -331,76 +331,7 @@ export default function Home() {
</section> {/* END BOX CONTENT */} </section> {/* END BOX CONTENT */}
{/* TEXT CONTENT {/* TEXT CONTENT
============================================= */} ============================================= */}
<section className="pt-100 ct-02 content-section division">
<div className="container">
{/* SECTION CONTENT (ROW) */}
<div className="row d-flex align-items-center">
{/* IMAGE BLOCK */}
<div className="col-md-6">
<div className="img-block left-column wow fadeInRight">
<img className="img-fluid" src="/images/img-07.png" alt="content-image" />
</div>
</div>
{/* 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">Right strategies &amp; implementations</h2>
{/* Text */}
<p>Sodales tempor sapien quaerat ipsum undo congue laoreet turpis neque auctor turpis
vitae dolor luctus placerat magna and ligula cursus purus vitae purus an ipsum suscipit
</p>
{/* Text */}
<p className="mb-0">Nemo ipsam egestas volute turpis egestas ipsum and purus sapien ultrice
an aliquam quaerat ipsum augue turpis sapien cursus congue magna purus quaerat at ligula
purus egestas magna cursus undo varius purus magnis sapien quaerat
</p>
</div>
</div> {/* END TEXT BLOCK */}
</div> {/* END SECTION CONTENT (ROW) */}
</div> {/* End container */}
</section> {/* END TEXT CONTENT */}
{/* TESTIMONIALS-2
============================================= */}
{/* RATING-1
============================================= */}
<section className="bg--white-400 py-100 ct-03 content-section division">
<div className="container">
<div className="row d-flex align-items-center">
{/* TEXT BLOCK */}
<div className="col-md-6 col-lg-5 order-last order-md-2">
<div className="txt-block left-column wow fadeInRight">
{/* Section ID */}
<span className="section-id">One-Stop Solution</span>
{/* Title */}
<h2 className="s-46 w-700">Data-driven digital marketing</h2>
{/* List */}
<ul className="simple-list">
<li className="list-item">
<p>Tempor sapien quaerat undo ipsum laoreet purus and sapien dolor ociis ultrice
ipsum aliquam undo congue dolor cursus congue varius magnis
</p>
</li>
<li className="list-item">
<p className="mb-0">Cursus purus suscipit vitae cubilia magnis diam volute egestas
sapien ultrice auctor
</p>
</li>
</ul>
</div>
</div> {/* END TEXT BLOCK */}
{/* IMAGE BLOCK */}
<div className="col-md-6 col-lg-7 order-first order-md-2">
<div className="img-block right-column wow fadeInLeft">
<img className="img-fluid" src="/images/img-14.png" alt="content-image" />
</div>
</div>
</div> {/* End row */}
</div> {/* End container */}
</section> {/* END TEXT CONTENT */}
{/* BLOG-1 {/* BLOG-1
============================================= */} ============================================= */}
<section id="blog-1" className="py-100 blog-section division"> <section id="blog-1" className="py-100 blog-section division">
+55 -215
View File
@@ -1,33 +1,26 @@
//"use server" //"use server"
import { useQuery } from "@tanstack/react-query";
import VideoPopup from "../components/elements/VidepPopup" import VideoPopup from "../components/elements/VidepPopup"
import Layout from "../components/layout/Layout" import Layout from "../components/layout/Layout"
import Link from "next/link" import Link from "next/link"
import {useState, useEffect } from "react";
export default function Home() { export default function Home() {
const [posts, setPosts] = useState(null) const {data, isFetching, isError, error} = useQuery({
queryKey: ['blog'],
useEffect(() => { queryFn: async () => {
async function fetchPosts() {
try { try {
const blog_url = 'https://blogdata.chiefsoft.net/mermsblogdata/mermsemr'; const blog_url = 'https://blogdata.chiefsoft.net/mermsblogdata/mermsemr';
//http://localhost:8805/mermsblogdata/mermsemr'; // https://blogdata.chiefsoft.net/mermsblogdata/mermsemr //http://localhost:8805/mermsblogdata/mermsemr'; // https://blogdata.chiefsoft.net/mermsblogdata/mermsemr
const res = await fetch(blog_url) const res = await fetch(blog_url)
const data = await res.json() const data = await res.json()
setPosts(data) return data
console.log(data)
} }
catch(e){ catch(e){
console.log(e) return(e)
} }
} }
fetchPosts().then(r => {
console.log(r)
}) })
}, [])
const firstBlogItem = posts?.payload?.blogdata[0];
console.log(firstBlogItem);
return ( return (
<> <>
@@ -35,6 +28,22 @@ export default function Home() {
<div> <div>
<section id="blog-page" className="pb-60 inner-page-hero blog-page-section"> <section id="blog-page" className="pb-60 inner-page-hero blog-page-section">
<div className="container"> <div className="container">
{isFetching ?
<div className="">
<div className="">
<p className='text-mute text-center'>Loading...</p>
</div>
</div>
: isError ?
<div className="">
<div className="">
<p className='text-danger text-center'>{error.message}</p>
</div>
</div>
:
<>
{(data && data?.payload?.blogdata?.length > 0) ?
<>
{/* WIDE BLOG POST */} {/* WIDE BLOG POST */}
<div className="blog-post wide-post wow fadeInUp"> <div className="blog-post wide-post wow fadeInUp">
<div className="row d-flex align-items-center"> <div className="row d-flex align-items-center">
@@ -43,7 +52,7 @@ export default function Home() {
<div className="blog-post-img"> <div className="blog-post-img">
<img <img
className="img-fluid r-16" className="img-fluid r-16"
src="https://blog.mermsemr.com/wp-content/uploads/2024/10/branding-practice.jpg" src={`${data?.payload?.image_url}/${data?.payload?.blogdata[0].meta_value}`}
alt="blog-post-image" /> alt="blog-post-image" />
</div> </div>
</div> </div>
@@ -52,18 +61,17 @@ export default function Home() {
<div className="blog-post-txt"> <div className="blog-post-txt">
<h3 className="s-38 w-700"> <h3 className="s-38 w-700">
<Link href="https://blog.mermsemr.com/?p=55"> {firstBlogItem?.post_name} <Link href={data?.payload?.blogdata[0].guid}> {data?.payload?.blogdata[0].post_title}</Link>
</Link>
</h3> </h3>
{/* Text */} {/* Text */}
<p>{firstBlogItem?.post_content.substring(0, 250)} {/* <p>{data?.payload?.blogdata[0].post_content.substring(0, 250)}</p> */}
</p> <p dangerouslySetInnerHTML={{ __html: data?.payload?.blogdata[0].post_content.length > 250 ? data?.payload?.blogdata[0].post_content.substring(0, 250) + ' ...' : data?.payload?.blogdata[0].post_content.substring(0, 250) }} />
{/* Post Meta */} {/* Post Meta */}
<div className="blog-post-meta mt-30"> <div className="blog-post-meta mt-30">
<ul className="post-meta-list ico-10"> <ul className="post-meta-list ico-10">
<li><p className="w-500">MERMS </p></li> <li><p className="w-500">MERMS </p></li>
<li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li> <li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li>
<li><p>{firstBlogItem?.post_date}</p></li> <li><p>{data?.payload?.blogdata[0]?.post_date}</p></li>
</ul> </ul>
</div> </div>
</div> </div>
@@ -74,97 +82,44 @@ export default function Home() {
<div className="posts-wrapper"> <div className="posts-wrapper">
<div className="row"> <div className="row">
{/* BLOG POST #1 */} {/* BLOG POST #1 */}
<div className="col-md-6 col-lg-4"> {data?.payload?.blogdata.map((item, index)=>{
if(index > 0){
return (
<div key={item.id || index} className="col-md-6 col-lg-4">
<div className="blog-post mb-40 wow fadeInUp clearfix"> <div className="blog-post mb-40 wow fadeInUp clearfix">
{/* BLOG POST IMAGE */} {/* BLOG POST IMAGE */}
<div className="blog-post-img mb-35"> <div className="blog-post-img mb-35">
<img className="img-fluid r-16" src="/images/blog/post-1-img.jpg" alt="blog-post-image" /> <img
className="img-fluid r-16"
src={`${data?.payload?.image_url}/${item.meta_value}`}
alt="blog-post-image"
/>
</div> </div>
{/* BLOG POST TEXT */} {/* BLOG POST TEXT */}
<div className="blog-post-txt"> <div className="blog-post-txt">
{/* Post Tag */} {/* Post Tag */}
<span className="post-tag color--red-400">Product News</span> {/* <span className="post-tag color--red-400">Product News</span> */}
{/* Post Link */} {/* Post Link */}
<h6 className="s-20 w-700"> <h6 className="s-20 w-700">
<Link href="/single-post">Aliqum mullam porta blandit: lacus and sapien <Link href={item.guid}> {item.post_title}</Link>
gravida
</Link>
</h6> </h6>
{/* Text */} {/* Text */}
<p>Egestas luctus vitae augue and ipsum ultrice quisque in cursus lacus feugiat <p dangerouslySetInnerHTML={{ __html: item.post_content.length > 250 ? item.post_content.substring(0, 250) + ' ...' : item.post_content.substring(0, 250) }} />
congue diam ultrice laoreet sagittis
</p>
{/* Post Meta */} {/* Post Meta */}
<div className="blog-post-meta mt-20"> <div className="blog-post-meta mt-20">
<ul className="post-meta-list ico-10"> <ul className="post-meta-list ico-10">
<li><p className="p-sm w-500">MermsEmr Team</p></li> <li><p className="p-sm w-500">Merms</p></li>
<li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li> <li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li>
<li><p className="p-sm">Apr 23, 2023</p></li> <li><p className="p-sm">{item.post_date}</p></li>
</ul> </ul>
</div> </div>
</div> {/* END BLOG POST TEXT */} </div> {/* END BLOG POST TEXT */}
</div> </div>
</div> {/* END BLOG POST #1 */}
{/* BLOG POST #2 */}
<div className="col-md-6 col-lg-4">
<div className="blog-post mb-40 wow fadeInUp clearfix">
{/* BLOG POST IMAGE */}
<div className="blog-post-img mb-35">
<img className="img-fluid r-16" src="/images/blog/post-2-img.jpg" alt="blog-post-image" />
</div> </div>
{/* BLOG POST TEXT */} )
<div className="blog-post-txt"> }
{/* Post Tag */} })}
<span className="post-tag color--green-400">Community</span> {/* END BLOG POST #1 */}
{/* Post Link */}
<h6 className="s-20 w-700">
<Link href="/single-post">Porttitor cursus fusce neque CEO egestas cursus
magna sapien and suscipit ipsum
</Link>
</h6>
{/* Text */}
<p>Aliqum mullam ipsum vitae and blandit vitae tempor sapien and donec lipsum</p>
{/* Post Meta */}
<div className="blog-post-meta mt-20">
<ul className="post-meta-list ico-10">
<li><p className="p-sm w-500">By Miranda Green</p></li>
<li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li>
<li><p className="p-sm">Apr 09, 2023</p></li>
</ul>
</div>
</div> {/* END BLOG POST TEXT */}
</div>
</div> {/* END BLOG POST #2 */}
{/* BLOG POST #3 */}
<div className="col-md-12 col-lg-4">
<div className="blog-post mb-40 wow fadeInUp clearfix">
{/* BLOG POST IMAGE */}
<div className="blog-post-img mb-35">
<img className="img-fluid r-16" src="/images/blog/post-3-img.jpg" alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="blog-post-txt">
{/* Post Tag */}
<span className="post-tag color--violet-400">Freelancer Tips</span>
{/* Post Link */}
<h6 className="s-20 w-700">
<Link href="/single-post">Cubilia laoreet ipsum augue eget egestas Martex magna</Link>
</h6>
{/* Text */}
<p>Luctus vitae egestas augue and ipsum ultrice quisque in cursus lacus feugiat
egets congue ultrice sagittis laoreet
</p>
{/* Post Meta */}
<div className="blog-post-meta mt-20">
<ul className="post-meta-list ico-10">
<li><p className="p-sm w-500">By Helen J.</p></li>
<li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li>
<li><p className="p-sm">Apr 01, 2023</p></li>
</ul>
</div>
</div> {/* END BLOG POST TEXT */}
</div>
</div> {/* END BLOG POST #3 */}
</div> </div>
</div> {/* END POSTS WRAPPER */} </div> {/* END POSTS WRAPPER */}
{/* BLOG POSTS CATEGORY */} {/* BLOG POSTS CATEGORY */}
@@ -318,142 +273,27 @@ export default function Home() {
</div> </div>
</div> {/* End row */} </div> {/* End row */}
</div> {/* END SQUARE BLOG POST */} </div> {/* END SQUARE BLOG POST */}
{/* BLOG POSTS CATEGORY */} </>
<div className="row"> :
<div className="col"> <div className="">
<div className="posts-category ico-20 wow fadeInUp"> <div className="">
<h4 className="s-34 w-700">All Stories <span className="flaticon-next" /></h4> <p className='text-mute text-center'>No Blog Found!</p>
</div> </div>
</div> </div>
</div> }
{/* POSTS WRAPPER */} </>
<div className="posts-wrapper"> }
<div className="row">
{/* BLOG POST #7 */}
<div className="col-md-6 col-lg-4">
<div className="blog-post mb-40 wow fadeInUp clearfix">
{/* BLOG POST IMAGE */}
<div className="blog-post-img mb-35">
<img className="img-fluid r-16" src="/images/blog/post-7-img.jpg" alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="blog-post-txt">
{/* Post Tag */}
<span className="post-tag color--red-400">Product News</span>
{/* Post Link */}
<h6 className="s-20 w-700">
<Link href="/single-post">Phasellus blandit justo undo aliquam diam vitae
molestie
</Link>
</h6>
{/* Text */}
<p>Egestas luctus vitae augue and ipsum ultrice quisque in cursus lacus feugiat
congue diam ultrice laoreet sagittis
</p>
{/* Post Meta */}
<div className="blog-post-meta mt-20">
<ul className="post-meta-list ico-10">
<li><p className="p-sm w-500">MermsEmr Team</p></li>
<li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li>
<li><p className="p-sm">Feb 02, 2023</p></li>
</ul>
</div>
</div> {/* END BLOG POST TEXT */}
</div>
</div> {/* END BLOG POST #7 */}
{/* BLOG POST #8 */}
<div className="col-md-6 col-lg-4">
<div className="blog-post mb-40 wow fadeInUp clearfix">
{/* BLOG POST IMAGE */}
<div className="blog-post-img mb-35">
<img className="img-fluid r-16" src="/images/blog/post-8-img.jpg" alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="blog-post-txt">
{/* Post Tag */}
<span className="post-tag color--violet-400">Freelancer Tips</span>
{/* Post Link */}
<h6 className="s-20 w-700">
<Link href="/single-post">Porttitor cursus fusce neque CEO egestas cursus
magna sapien and suscipit ipsum
</Link>
</h6>
{/* Text */}
<p>Aliqum mullam ipsum vitae and blandit vitae tempor sapien and donec lipsum</p>
{/* Post Meta */}
<div className="blog-post-meta mt-20">
<ul className="post-meta-list ico-10">
<li><p className="p-sm w-500">By Miranda Green</p></li>
<li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li>
<li><p className="p-sm">Jan 26, 2023</p></li>
</ul>
</div>
</div> {/* END BLOG POST TEXT */}
</div>
</div> {/* END BLOG POST #8 */}
{/* BLOG POST #9 */}
<div className="col-md-12 col-lg-4">
<div className="blog-post mb-40 wow fadeInUp clearfix">
{/* BLOG POST IMAGE */}
<div className="blog-post-img mb-35">
<img className="img-fluid r-16" src="/images/blog/post-9-img.jpg" alt="blog-post-image" />
</div>
{/* BLOG POST TEXT */}
<div className="blog-post-txt">
{/* Post Tag */}
<span className="post-tag color--green-400">Community</span>
{/* Post Link */}
<h6 className="s-20 w-700">
<Link href="/single-post">Aliqum mullam porta blandit: lacus and sapien
gravida
</Link>
</h6>
{/* Text */}
<p>Luctus vitae egestas augue and ipsum ultrice quisque in cursus lacus feugiat
egets congue ultrice sagittis laoreet
</p>
{/* Post Meta */}
<div className="blog-post-meta mt-20">
<ul className="post-meta-list ico-10">
<li><p className="p-sm w-500">By Miranda Green</p></li>
<li className="meta-list-divider"><p><span className="flaticon-minus" /></p></li>
<li><p className="p-sm">Jan 12, 2023</p></li>
</ul>
</div>
</div> {/* END BLOG POST TEXT */}
</div>
</div> {/* END BLOG POST #9 */}
</div> {/* End row */}
</div> {/* END POSTS WRAPPER */}
</div> {/* End container */} </div> {/* End container */}
</section> {/* END BLOG POSTS LISTING */} </section> {/* END BLOG POSTS LISTING */}
{/* PAGE PAGINATION {/* PAGE PAGINATION
============================================= */} ============================================= */}
<div className="pb-100 page-pagination theme-pagination">
<div className="container">
<div className="row">
<div className="col-md-12">
<nav aria-label="Page navigation">
<ul className="pagination ico-20 justify-content-center">
<li className="page-item disabled"><Link className="page-link" href="#" tabIndex={-1}><span className="flaticon-back" /></Link>
</li>
<li className="page-item active" aria-current="page"><Link className="page-link" href="#">1</Link></li>
<li className="page-item"><Link className="page-link" href="#">2</Link></li>
<li className="page-item"><Link className="page-link" href="#">3</Link></li>
<li className="page-item"><Link className="page-link" href="#" aria-label="Next"><span className="flaticon-next" /></Link></li>
</ul>
</nav>
</div>
</div> {/* End row */}
</div> {/* End container */}
</div> {/* END PAGE PAGINATION */}
{/* DIVIDER LINE */} {/* DIVIDER LINE */}
<hr className="divider" /> <hr className="divider" />
{/* NEWSLETTER-1 {/* NEWSLETTER-1
============================================= */} ============================================= */}
</div> </div>
</Layout> </Layout>
</> </>
) )