# @growthops/ext-nextjs

> Next.js library for the GO Digital modern stack

Latest version **2.0.5** (published 2024-02-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install @growthops/ext-nextjs
pnpm add @growthops/ext-nextjs
yarn add @growthops/ext-nextjs
bun add @growthops/ext-nextjs
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.5 |
| Published | 2024-02-06 |
| First published | 2021-05-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 13.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Maintainers | 28keish, go-tristan |

## Links

- npm: https://www.npmjs.com/package/@growthops/ext-nextjs
- Repository: https://github.com/growthops-digital/ext-nextjs
- Homepage: https://github.com/growthops-digital/ext-nextjs#readme
- Issues: https://github.com/growthops-digital/ext-nextjs/issues
- npm.io page: https://npm.io/package/@growthops/ext-nextjs

## Recent versions

- 2.0.5 (latest) — 2024-02-06
- 2.0.2 — 2021-06-21
- 2.0.1 — 2021-06-21
- 2.0.0 — 2021-05-31
- 1.1.1 — 2021-05-31
- 1.1.0 — 2021-05-31
- 1.0.0 — 2021-05-25
- 0.0.5 — 2021-05-25
- 0.0.4 — 2021-05-25
- 0.0.3 — 2021-05-25
- 0.0.2 — 2021-05-25
- 0.0.0 — 2021-05-25

## README

# GrowthOps Ext Next.js

A collection of useful components, helpers, and extensions for Next.js projects.

## Components

### ProgressBar
Provides a wrapper around the `nprogress` package.

**Example**
```js
// <project>/pages/_app.js

import React from 'react';
import App from 'next/app.js';
import {ProgressBar} from '@growthops/ext-nextjs/components';

class MyApp extends App {
	render() {
		const {Component, pageProps} = this.props;

		return (
			<ProgressBar>
				<Component {...pageProps}/>
			</ProgressBar>
		);
	}
}
```

### PreviewMode
A small floating "preview mode" component.

**Example**
```js
// <project>/pages/_app.js

import React from 'react';
import App from 'next/app.js';
import {ProgressBar, PreviewMode} from '@growthops/ext-nextjs/components';

class MyApp extends App {
	render() {
		const {Component, pageProps} = this.props;

		return (
			<ProgressBar>
				<Component {...pageProps}/>
				<PreviewMode disableUrl="/api/preview-mode/disable"/>
			</ProgressBar>
		);
	}
}
```

## Utils

### previewModeEnable / previewModeDisable
Next.js preview mode API route helpers.

**Example**
```js
// <project>/pages/api/preview-mode/enable.js

import {previewModeEnable} from '@growthops/ext-nextjs/utils';

export default function preview(request, response) {
	return previewModeEnable(request, response, process.env.PREVIEW_MODE_SECRET);
}

// <project>/pages/api/preview-mode/disable.js

import {previewModeDisable} from '@growthops/ext-nextjs/utils';

export default function preview(request, response) {
	return previewModeDisable(response);
}
```

An optional `redirectTo` argument can be passed to either function as the last argument to customise the redirect path.

**Example**
```js
// <project>/pages/api/preview-mode/enable.js

import {previewModeEnable} from '@growthops/ext-nextjs/utils';

export default function preview(request, response) {
	return previewModeEnable(request, response, process.env.PREVIEW_MODE_SECRET, '/home');
}
```

---
_Source: https://npm.io/package/@growthops/ext-nextjs · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
