3.2.12 • Published 7 months ago

@bprogress/next v3.2.12

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

BProgress for Next.js

BProgress integration on Next.js compatible with /app and /pages directory.

Next NProgress Bar and NProgress V2 become BProgress!

Migration from next-nprogress-bar

If you are using next-nprogress-bar, you can migrate to @bprogress/next by following the migration guide.

Installation

To install BProgress, run the following command:

npm install @bprogress/next

Import

App Directory

Import into your /app/layout(.js/.jsx/.ts/.tsx) folder.

import { ProgressProvider } from '@bprogress/next/app';

Pages Directory

Import into your /pages/_app(.js/.jsx/.ts/.tsx) folder.

import { ProgressProvider } from '@bprogress/next/pages';

Usage

<ProgressProvider>...</ProgressProvider>

Example

App Directory

First approach in a use client layout.

// In /app/layout.tsx
'use client';

import { ProgressProvider } from '@bprogress/next/app';

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        <ProgressProvider
          height="4px"
          color="#fffd00"
          options={{ showSpinner: false }}
          shallowRouting
        >
          {children}
        </ProgressProvider>
      </body>
    </html>
  );
}

Second approach wrap in a use client Providers component. (Recommended)

Create a Providers component to wrap your application with all the components requiring 'use client', such as BProgress or your different contexts...

// In /app/providers.tsx
'use client';

import { ProgressProvider } from '@bprogress/next/app';

const Providers = ({ children }: { children: React.ReactNode }) => {
  return (
    <ProgressProvider
      height="4px"
      color="#fffd00"
      options={{ showSpinner: false }}
      shallowRouting
    >
      {children}
    </ProgressProvider>
  );
};

export default Providers;

Then wrap your application with the Providers component.

// In /app/layout.tsx
import Providers from './providers';

export const metadata = {
  title: 'Create Next App',
  description: 'Generated by create next app',
};

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}

Pages Directory

// In /pages/_app.tsx
import type { AppProps } from 'next/app';
import { ProgressProvider } from '@bprogress/next/pages';

export default function App({ Component, pageProps }: AppProps) {
  return (
    <ProgressProvider
      height="4px"
      color="#fffd00"
      options={{ showSpinner: false }}
      shallowRouting
    >
      <Component {...pageProps} />
    </ProgressProvider>
  );
}

More information on documentation

Go to the documentation to learn more about BProgress.

Issues

If you encounter any problems, do not hesitate to open an issue or make a PR here.

LICENSE

MIT

3.2.12

7 months ago

3.2.11

7 months ago

3.2.10

8 months ago

3.2.9

8 months ago

3.2.8

8 months ago

3.2.7

8 months ago

3.2.6

8 months ago

3.2.5

8 months ago

3.2.4

8 months ago

3.2.3

8 months ago

3.2.2

8 months ago

3.2.1

8 months ago

3.2.0

8 months ago

3.1.3

8 months ago

3.1.3-canary.0

8 months ago

3.1.2

8 months ago

3.1.1

8 months ago

3.1.0

8 months ago

3.0.10

8 months ago

3.0.9

8 months ago

3.0.8

8 months ago

3.0.7

8 months ago

3.0.6

8 months ago

3.0.5

9 months ago

3.0.4

9 months ago

3.0.3

9 months ago

3.0.2

9 months ago

3.0.1

9 months ago

3.0.0

9 months ago

3.0.0-beta.3

9 months ago