# nav.page

A link to a top-level page in site navigation. Pass current on the page you are on

Component: [`<Action>`](https://www.prongs.dev/docs/components/action.md) · Renders: `<a>` · Profile: [UI](https://www.prongs.dev/docs/intents/ui.md)

## Example

```tsx
<Action intent="nav.page" href="/somewhere" current={isCurrent}>Page</Action>
```

## Choosing between neighbours

Find the row that describes your element, and use the intent on the right.

| If it is for… | Use |
|---|---|
| A link to a top-level page in site navigation. Pass current on the page you are on | `nav.page` (this page) |
| Switching between views of the same content | [`nav.view`](https://www.prongs.dev/docs/intents/nav/view.md) |
| The pages above it in the trail (rather than [`text.current`](https://www.prongs.dev/docs/intents/text/current.md)) | `nav.page` (this page) |
| Other pages in the site navigation (rather than [`nav.home`](https://www.prongs.dev/docs/intents/nav/home.md)) | `nav.page` (this page) |
| Pages inside an area (rather than [`nav.area`](https://www.prongs.dev/docs/intents/nav/area.md)) | `nav.page` (this page) |
| Pages in site navigation (rather than [`nav.step`](https://www.prongs.dev/docs/intents/nav/step.md)) | `nav.page` (this page) |
| Pages in site navigation (rather than [`nav.paging`](https://www.prongs.dev/docs/intents/nav/paging.md)) | `nav.page` (this page) |

## Connections

Declared in the registry, both directions. Where an intent is used in your own code is something check and the gallery see; this site has no app code.

- Built from: [`control.menu`](https://www.prongs.dev/docs/intents/ui.md#control-menu)

## For registry authors

**Starter intents.** These are the intents `prongs add` puts in your registry, shown in this site’s theme. Yours are your own `registry.ts`: rename, restyle and add to them, and see them with `prongs add gallery`.

What this intent is built from and its entry in `components/prongs/registry.ts`. You only need this to change how it looks or to add an intent like it.

How nav.page resolves, and its definition

Each layer adds to the one before it; a later class wins over an earlier one that sets the same thing.

- [`control.menu`](https://www.prongs.dev/docs/intents/ui.md#control-menu) — Plain navigation link; strong while current

  ```
  text-sm text-muted-foreground hover:text-foreground
  aria-[current]:text-link
  ```

- `nav.page` (this page) — A link to a top-level page in site navigation. Pass current on the page you are on

  ```
  font-normal
  ```

Final classes

```
text-sm text-muted-foreground hover:text-foreground
aria-[current]:text-link font-normal
```

Definition

```ts
'nav.page': {
  kind: 'semantic',
  description: 'A link to a top-level page in site navigation. Pass current on the page you are on',
  refs: ['control.menu'],
  binding: { classes: 'font-normal' },
  notFor: [
    {
      context: 'switching between views of the same content',
      instead: 'nav.view',
    },
  ],
},
```
