I'm developping an app with Strapi as a backend and Next.js as a front-end.
In my frontend I have many links. They all are "syntaxed" like these exemples below. The problem is, on my browsers (Desktop and mobile) when I click on a link it doesn't show that the browser is charging the page but the page appears 2 seconds later. It will make an user think the website doesn't work.
How can I correct that ? It would be nice to have the probress bar /circle showing like this exemple:
Circle progress bar exemple on another website
<Box key={sectionPart.id} mx={20} className={`button button-${sectionPart.style}`}>
<Link href={sectionPart.url} >
<Box as="a">
{sectionPart.title}
</Box>
</Link>
</Box>
//snipet of menu navigation
<Link key={retrieveLinkId(link)} /*href={link.url}*/ href="/">
<a className={router.pathname === retrieveLinkUrl(link) ? 'active' : ''}>
<Flex justifyContent="start" className="featured-content" >
{/*** featured content Image **/}
<Box className="link-featured-image-container">
<Image className="link-featured-image"
src={retrieveLinkFeatureImg(link)}
width={120}
height={120}
/>
</Box>
{/*** featured content title & button ***/}
<Box className="featured-content-links">
<Flex justifyContent="start" alignItems="start">
<p className="dropdown-section-item-title">
{retrieveLinkLabel(link)}
</p>
</Flex>
<Flex className="dropdown-section-cta" alignItems="flex-end">
<p>
{retrieveLinkFeatureBtn(link)}
</p>
</Flex>
</Box>
</Flex>
</a>
</Link>
Thank you !
You can use, Nprogress to have a progress bar during route navigation. Place the code below in your root app file
import React from 'react';
import Router from 'next/router';
import App, { Container } from 'next/app';
import NProgress from 'nprogress';
Router.onRouteChangeStart = () => {
NProgress.start();
};
Router.onRouteChangeComplete = () => {
NProgress.done();
};
Router.onRouteChangeError = () => {
// hanlde the rror
NProgress.done();
};
See the configuration section in the NProgress readme for addition config, if you want to add more functionality to it
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With