# Widget injection points

> Every page (155) where a FeatherPanel plugin can inject a widget, the injection points it exposes and the full widgets.json schema.

Source: https://featherpanel.com/docs/plugins/widgets/

Widgets let a plugin put its own HTML onto existing panel pages without patching the frontend. The panel renders each widget in an iframe (optionally wrapped in a card; add `iframe.sandbox` if you want a sandbox) at a named _injection point_ on a page. For whole new pages in the sidebar, use `Frontend/sidebar.json` instead; see [Frontend](https://featherpanel.com/docs/plugins/frontend/).

## widgets.json

Put a JSON array in `Frontend/widgets.json` inside the plugin folder. `component` is a path below `Frontend/Components/`. This is from the DemoShowcase example plugin that ships with the panel:

```json
[
  {
    "id": "demoshowcase-dashboard-card",
    "component": "demoshowcase/dist/dashboard-card.html",
    "enabled": true,
    "priority": 80,
    "page": "dashboard",
    "location": "after-header",
    "pluginName": "DemoShowcase",
    "title": "Demo Showcase",
    "description": "Example addon card widget",
    "size": "half",
    "card": { "enabled": true, "padding": "sm", "header": { "show": true } },
    "iframe": { "minHeight": "140px", "title": "Demo Showcase card" },
    "hidden": { "type": "plugin_setting", "key": "hide_admin_card", "equals": "true" }
  }
]
```

## Widget fields

| Field | Type | Meaning |
| --- | --- | --- |
| `id` | string | Unique widget id. |
| `component` | string | HTML file under `Frontend/Components/`. |
| `page` | string | Page slug from the table below. |
| `location` | string | Injection point on that page. |
| `priority` | number | Ordering among widgets at the same location. |
| `enabled`, `hidden` | boolean or rule | See [visibility rules](#visibility). |
| `pluginName`, `title`, `description`, `icon` | string | Labels shown in the card header. |
| `size` | `full` | `half` | `third` | `quarter` or `{default, sm, md, lg, xl}` | Width preset or column counts per breakpoint. |
| `layout` | `{columns, sm, md, lg, xl, rowSpan, colSpan}` | Grid placement. |
| `card` | `{enabled, variant, padding, header, bodyClass, footer}` | `variant`: default, outline, ghost, soft. `padding`: none, sm, md, lg. `header`: show, title, description, icon. `footer`: show, text. |
| `borderless` / `useRawRendering` | boolean | Render without the card wrapper. |
| `iframe` | `{minHeight, maxHeight, sandbox, allow, loading, referrerPolicy, title, ariaLabel}` | Attributes of the iframe that hosts the component. |
| `behavior` | `{loadingMessage, errorMessage, retryLabel, emptyStateMessage}` | Texts for loading and error states. |
| `classes` | `{container, card, header, content, iframe, footer}` | Extra CSS classes. |

## Visibility rules

`enabled` and `hidden` (also used by `sidebar.json` entries) accept a boolean or a rule object:

-   `{ "type": "always" }` and `{ "type": "never" }`
-   `{ "type": "plugin_setting", "key": "hide_x", "equals": "true" }` compares one of the plugin's settings with `equals` (default `"true"`). An unset setting counts as no match.

Admins can also hide any single widget or sidebar entry from the plugin's settings page; that override wins over the manifest.

## Pages and injection points

Generated from the `usePluginWidgets()` calls in the frontend: 155 pages.

### Admin area

| `page` | `location` values | Source |
| --- | --- | --- |
| `admin-ai-agent` | `after-header` `before-content` `bottom-of-page` `top-of-page` | [`(app)/admin/featherpanel-ai-agent/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/featherpanel-ai-agent/page.tsx) |
| `admin-analytics` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/page.tsx) |
| `admin-analytics-activity` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/activity/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/activity/page.tsx) |
| `admin-analytics-content` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/content/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/content/page.tsx) |
| `admin-analytics-infrastructure` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/infrastructure/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/infrastructure/page.tsx) |
| `admin-analytics-knowledgebase` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/knowledgebase/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/knowledgebase/page.tsx) |
| `admin-analytics-plugins` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/plugins/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/plugins/page.tsx) |
| `admin-analytics-servers` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/servers/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/servers/page.tsx) |
| `admin-analytics-system` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/system/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/system/page.tsx) |
| `admin-analytics-tickets` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/tickets/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/tickets/page.tsx) |
| `admin-analytics-users` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/users/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/users/page.tsx) |
| `admin-analytics-vds` | `bottom-of-page` `top-of-page` | [`(app)/admin/analytics/vds/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/analytics/vds/page.tsx) |
| `admin-api-keys` | `bottom-of-page` `top-of-page` | [`(app)/admin/api-keys/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/api-keys/page.tsx) |
| `admin-databases-management` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/databases/management/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/databases/management/page.tsx) |
| `admin-dev-console` | `bottom-of-page` `top-of-page` | [`(app)/admin/dev/console/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/dev/console/page.tsx) |
| `admin-dev-logs-redirect` | `bottom-of-page` `top-of-page` | [`(app)/admin/dev/logs/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/dev/logs/page.tsx) |
| `admin-dev-plugins` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/dev/plugins/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/dev/plugins/page.tsx) |
| `admin-dev-plugins-create` | `bottom-of-page` `top-of-page` | [`(app)/admin/dev/plugins/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/dev/plugins/create/page.tsx) |
| `admin-dev-plugins-edit` | `bottom-of-page` `top-of-page` | [`(app)/admin/dev/plugins/[identifier]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/dev/plugins/[identifier]/edit/page.tsx) |
| `admin-feathercloud-marketplace` | `after-header` `before-content` `bottom-of-page` `top-of-page` | [`(app)/admin/feathercloud/marketplace/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/feathercloud/marketplace/page.tsx) |
| `admin-feathercloud-spells` | `after-header` `before-content` `bottom-of-page` `top-of-page` | [`(app)/admin/feathercloud/spells/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/feathercloud/spells/page.tsx) |
| `admin-featherzerotrust` | `bottom-of-page` `top-of-page` | [`(app)/admin/featherzerotrust/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/featherzerotrust/page.tsx) |
| `admin-home` | `after-header` `after-widgets-grid` `before-widgets-grid` `bottom-of-page` `top-of-page` | [`(app)/admin/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/page.tsx) |
| `admin-images` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/images/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/images/page.tsx) |
| `admin-knowledgebase-article-edit` | `after-header` `before-content` `bottom-of-page` `top-of-page` | [`(app)/admin/knowledgebase/articles/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/knowledgebase/articles/[id]/edit/page.tsx) |
| `admin-knowledgebase-categories` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/knowledgebase/categories/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/knowledgebase/categories/page.tsx) |
| `admin-knowledgebase-category-articles` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/knowledgebase/categories/[id]/articles/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/knowledgebase/categories/[id]/articles/page.tsx) |
| `admin-ldap-providers` | `bottom-of-page` `top-of-page` | [`(app)/admin/ldap-providers/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/ldap-providers/page.tsx) |
| `admin-locations` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/locations/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/locations/page.tsx) |
| `admin-logs` | `bottom-of-page` `top-of-page` | [`(app)/admin/logs/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/logs/page.tsx) |
| `admin-mail-templates` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/mail-templates/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/mail-templates/page.tsx) |
| `admin-mounts` | `after-header` `top-of-page` | [`(app)/admin/mounts/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/mounts/page.tsx) |
| `admin-node-databases` | `bottom-of-page` `top-of-page` | [`(app)/admin/databases/nodes/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/databases/nodes/page.tsx) |
| `admin-node-databases-id` | `bottom-of-page` `top-of-page` | [`(app)/admin/nodes/[id]/databases/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/nodes/[id]/databases/page.tsx) |
| `admin-nodes` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/nodes/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/nodes/page.tsx) |
| `admin-nodes-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/nodes/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/nodes/create/page.tsx) |
| `admin-nodes-edit` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/nodes/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/nodes/[id]/edit/page.tsx) |
| `admin-nodes-status` | `after-global-stats` `after-header` `after-individual-nodes` `after-resource-usage` `before-global-stats` `bottom-of-page` `top-of-page` | [`(app)/admin/nodes/status/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/nodes/status/page.tsx) |
| `admin-notifications` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/notifications/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/notifications/page.tsx) |
| `admin-oidc-providers` | `bottom-of-page` `top-of-page` | [`(app)/admin/oidc-providers/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/oidc-providers/page.tsx) |
| `admin-plugin-page` | `bottom-of-page` `top-of-page` | [`(app)/admin/[...pluginPath]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/[...pluginPath]/page.tsx) |
| `admin-plugins` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/plugins/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/plugins/page.tsx) |
| `admin-pterodactyl-importer` | `after-header` `before-content` `bottom-of-page` `top-of-page` | [`(app)/admin/pterodactyl-importer/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/pterodactyl-importer/page.tsx) |
| `admin-rate-limits` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/rate-limits/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/rate-limits/page.tsx) |
| `admin-realms` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/realms/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/realms/page.tsx) |
| `admin-roles` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/roles/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/roles/page.tsx) |
| `admin-roles-create` | `bottom-of-page` `top-of-page` | [`(app)/admin/roles/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/roles/create/page.tsx) |
| `admin-roles-edit` | `bottom-of-page` `top-of-page` | [`(app)/admin/roles/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/roles/[id]/edit/page.tsx) |
| `admin-servers` | `after-header` `before-list` `top-of-page` | [`(app)/admin/servers/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/servers/page.tsx) |
| `admin-servers-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/servers/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/servers/create/page.tsx) |
| `admin-servers-edit` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/servers/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/servers/[id]/edit/page.tsx) |
| `admin-settings` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/settings/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/settings/page.tsx) |
| `admin-spells` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/spells/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/spells/page.tsx) |
| `admin-spells-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/spells/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/spells/create/page.tsx) |
| `admin-spells-edit` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/spells/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/spells/[id]/edit/page.tsx) |
| `admin-storage-sense` | `bottom-of-page` `top-of-page` | [`(app)/admin/storage-sense/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/storage-sense/page.tsx) |
| `admin-subdomains` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/subdomains/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/subdomains/page.tsx) |
| `admin-tickets` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/tickets/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/tickets/page.tsx) |
| `admin-tickets-categories` | `bottom-of-page` `top-of-page` | [`(app)/admin/tickets/categories/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/tickets/categories/page.tsx) |
| `admin-tickets-priorities` | `bottom-of-page` `top-of-page` | [`(app)/admin/tickets/priorities/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/tickets/priorities/page.tsx) |
| `admin-tickets-statuses` | `bottom-of-page` `top-of-page` | [`(app)/admin/tickets/statuses/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/tickets/statuses/page.tsx) |
| `admin-tickets-view` | `after-header` `after-messages` `sidebar-bottom` `sidebar-top` `top-of-page` | [`(app)/admin/tickets/[uuid]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/tickets/[uuid]/page.tsx) |
| `admin-translations` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/translations/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/translations/page.tsx) |
| `admin-users` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/users/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/users/page.tsx) |
| `admin-users-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/users/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/users/create/page.tsx) |
| `admin-users-edit` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/users/[uuid]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/users/[uuid]/edit/page.tsx) |
| `admin-users-servers` | `bottom-of-page` `top-of-page` | [`(app)/admin/users/[uuid]/servers/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/users/[uuid]/servers/page.tsx) |
| `admin-vds-node-edit` | `bottom-of-page` `top-of-page` | [`(app)/admin/vds-nodes/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/vds-nodes/[id]/edit/page.tsx) |
| `admin-vds-nodes-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/vds-nodes/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/vds-nodes/create/page.tsx) |
| `admin-vm-instance-edit` | `bottom-of-page` `top-of-page` | [`(app)/admin/vm-instances/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/vm-instances/[id]/edit/page.tsx) |
| `admin-vm-instances` | `after-header` `before-list` `top-of-page` | [`(app)/admin/vm-instances/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/vm-instances/page.tsx) |
| `admin-vm-instances-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/vm-instances/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/vm-instances/create/page.tsx) |
| `admin-vm-nodes` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/vds-nodes/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/vds-nodes/page.tsx) |
| `admin-web-node-edit` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/web-nodes/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/web-nodes/[id]/edit/page.tsx) |
| `admin-web-nodes` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/web-nodes/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/web-nodes/page.tsx) |
| `admin-web-nodes-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/web-nodes/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/web-nodes/create/page.tsx) |
| `admin-webplates` | `after-header` `before-list` `bottom-of-page` `top-of-page` | [`(app)/admin/webplates/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/webplates/page.tsx) |
| `admin-webplates-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/webplates/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/webplates/create/page.tsx) |
| `admin-webplates-edit` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/admin/webplates/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/webplates/[id]/edit/page.tsx) |
| `admin-webspaces` | `after-header` `before-list` `top-of-page` | [`(app)/admin/webspaces/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/admin/webspaces/page.tsx) |

### Client area, auth and account

| `page` | `location` values | Source |
| --- | --- | --- |
| `auth-forgot-password` | `auth-forgot-password-after-form` `auth-forgot-password-before-form` `auth-forgot-password-bottom` `auth-forgot-password-top` | [`(app)/auth/forgot-password/ForgotPasswordForm.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/auth/forgot-password/ForgotPasswordForm.tsx) |
| `auth-login` | `auth-login-after-form` `auth-login-before-form` `auth-login-top` | [`(app)/auth/login/LoginForm.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/auth/login/LoginForm.tsx) |
| `auth-register` | `auth-register-after-form` `auth-register-before-form` `auth-register-bottom` `auth-register-top` | [`(app)/auth/register/RegisterForm.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/auth/register/RegisterForm.tsx) |
| `auth-reset-password` | `auth-reset-password-after-form` `auth-reset-password-before-form` `auth-reset-password-bottom` `auth-reset-password-top` | [`(app)/auth/reset-password/ResetPasswordForm.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/auth/reset-password/ResetPasswordForm.tsx) |
| `auth-setup-2fa` | `auth-setup-2fa-after-form` `auth-setup-2fa-before-form` `auth-setup-2fa-bottom` `auth-setup-2fa-top` | [`(app)/auth/setup-2fa/SetupTwoFactorForm.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/auth/setup-2fa/SetupTwoFactorForm.tsx) |
| `auth-verify-2fa` | `auth-verify-2fa-after-form` `auth-verify-2fa-before-form` `auth-verify-2fa-bottom` `auth-verify-2fa-top` | [`(app)/auth/verify-2fa/VerifyTwoFactorForm.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/auth/verify-2fa/VerifyTwoFactorForm.tsx) |
| `dashboard` | `after-server-list` `before-server-list` `bottom-of-page` `top-of-page` | [`(app)/dashboard/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/page.tsx) |
| `dashboard-account` | `after-profile-card` `after-tabs` `bottom-of-page` `top-of-page` | [`(app)/dashboard/account/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/account/page.tsx) |
| `dashboard-knowledgebase` | `after-categories-list` `after-header` `before-categories-list` `bottom-of-page` `top-of-page` | [`(app)/dashboard/knowledgebase/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/knowledgebase/page.tsx) |
| `dashboard-knowledgebase-article` | `after-article-content` `after-attachments` `after-header` `before-article-content` `before-attachments` `bottom-of-page` `top-of-page` | [`(app)/dashboard/knowledgebase/article/[id]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/knowledgebase/article/[id]/page.tsx) |
| `dashboard-knowledgebase-category` | `after-articles-list` `after-header` `before-articles-list` `bottom-of-page` `top-of-page` | [`(app)/dashboard/knowledgebase/category/[id]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/knowledgebase/category/[id]/page.tsx) |
| `dashboard-servers` | `after-header` `after-server-list` `before-server-list` `bottom-of-page` `top-of-page` | [`(app)/dashboard/servers/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/servers/page.tsx) |
| `dashboard-status` | `after-global-stats` `after-header` `after-node-list` `before-node-list` `bottom-of-page` `top-of-page` | [`(app)/dashboard/status/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/status/page.tsx) |
| `dashboard-tickets-create` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/dashboard/tickets/create/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/tickets/create/page.tsx) |
| `dashboard-tickets-list` | `after-filters` `after-header` `after-tickets-list` `before-tickets-list` `bottom-of-page` `top-of-page` | [`(app)/dashboard/tickets/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/tickets/page.tsx) |
| `dashboard-tickets-view` | `after-header` `after-messages` `bottom-of-page` `sidebar-bottom` `sidebar-top` `top-of-page` | [`(app)/dashboard/tickets/[uuid]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/tickets/[uuid]/page.tsx) |

### WebSpace pages

| `page` | `location` values | Source |
| --- | --- | --- |
| `dashboard-webspaces` | `after-header` `after-toolbar` `bottom-of-page` `top-of-page` | [`(app)/dashboard/webspaces/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/dashboard/webspaces/page.tsx) |
| `webspace-access` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/access/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/access/page.tsx) |
| `webspace-activities` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/activities/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/activities/page.tsx) |
| `webspace-analytics` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/analytics/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/analytics/page.tsx) |
| `webspace-apps` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/apps/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/apps/page.tsx) |
| `webspace-backups` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/backups/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/backups/page.tsx) |
| `webspace-console` | `after-header` `after-terminal` `bottom-of-page` `top-of-page` | [`src/components/webspace/WebSpaceConsolePage.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/components/webspace/WebSpaceConsolePage.tsx) |
| `webspace-databases` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/databases/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/databases/page.tsx) |
| `webspace-databases-new` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/databases/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/databases/new/page.tsx) |
| `webspace-domains` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/domains/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/domains/page.tsx) |
| `webspace-email` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/email/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/email/page.tsx) |
| `webspace-file-editor` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/files/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/files/edit/page.tsx) |
| `webspace-files` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/files/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/files/page.tsx) |
| `webspace-files-trash` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/files/trash/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/files/trash/page.tsx) |
| `webspace-logs` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/logs/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/logs/page.tsx) |
| `webspace-malware` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/malware/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/malware/page.tsx) |
| `webspace-plugin-page` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/[[...pluginPath]]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/[[...pluginPath]]/page.tsx) |
| `webspace-schedules` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/schedules/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/schedules/page.tsx) |
| `webspace-settings` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/settings/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/settings/page.tsx) |
| `webspace-users` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/users/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/users/page.tsx) |
| `webspace-waf` | `bottom-of-page` `top-of-page` | [`(app)/webspace/[uuidShort]/waf/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/webspace/[uuidShort]/waf/page.tsx) |

### Game server pages

| `page` | `location` values | Source |
| --- | --- | --- |
| `server-activities` | `activity-bottom` `activity-top` | [`(app)/server/[uuidShort]/activities/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/activities/page.tsx) |
| `server-allocations` | `allocation-bottom` `allocation-header` | [`(app)/server/[uuidShort]/allocations/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/allocations/page.tsx) |
| `server-backups` | `backup-bottom` `backup-header` | [`(app)/server/[uuidShort]/backups/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/backups/page.tsx) |
| `server-backups-new` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/backups/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/backups/new/page.tsx) |
| `server-console` | `after-header` `after-performance` `after-terminal` `after-wings-status` `before-performance` `before-terminal` `bottom-of-page` `top-of-page` `under-server-info-cards` | [`src/components/server/ServerConsolePage.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/components/server/ServerConsolePage.tsx) |
| `server-databases` | `after-databases-list` `after-warning-banner` `before-databases-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/databases/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/databases/page.tsx) |
| `server-databases-new` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/databases/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/databases/new/page.tsx) |
| `server-fastdl` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/fastdl/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/fastdl/page.tsx) |
| `server-file-editor` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/files/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/files/edit/page.tsx) |
| `server-files` | `after-files-list` `after-header` `after-search-bar` `before-files-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/files/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/files/page.tsx) |
| `server-firewall` | `after-header` `after-rules-list` `before-rules-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/firewall/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/firewall/page.tsx) |
| `server-import` | `after-header` `after-imports-list` `before-imports-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/import/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/import/page.tsx) |
| `server-import-new` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/import/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/import/new/page.tsx) |
| `server-lifecycle-hooks` | `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/lifecycle-hooks/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/lifecycle-hooks/page.tsx) |
| `server-lifecycle-step-create` | `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/lifecycle-hooks/step/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/lifecycle-hooks/step/new/page.tsx) |
| `server-lifecycle-step-edit` | `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/lifecycle-hooks/step/[stepId]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/lifecycle-hooks/step/[stepId]/edit/page.tsx) |
| `server-plugin-page` | `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/[[...pluginPath]]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/[[...pluginPath]]/page.tsx) |
| `server-proxy` | `after-header` `after-proxies-list` `before-proxies-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/proxy/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/proxy/page.tsx) |
| `server-proxy-new` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/proxy/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/proxy/new/page.tsx) |
| `server-schedules` | `after-header` `after-schedules-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/schedules/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/schedules/page.tsx) |
| `server-schedules-edit` | `after-header` | [`(app)/server/[uuidShort]/schedules/[id]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/schedules/[id]/edit/page.tsx) |
| `server-schedules-new` | `after-header` | [`(app)/server/[uuidShort]/schedules/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/schedules/new/page.tsx) |
| `server-settings` | `after-delete-server` `after-header` `after-server-actions` `after-server-info` `after-sftp-details` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/settings/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/settings/page.tsx) |
| `server-startup` | `after-docker-image` `after-header` `after-spell-selection` `after-startup-command` `after-variables` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/startup/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/startup/page.tsx) |
| `server-startup-transfer-spell` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/startup/transfer/spell/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/startup/transfer/spell/page.tsx) |
| `server-subdomains` | `after-header` `after-subdomains-list` `before-subdomains-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/subdomains/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/subdomains/page.tsx) |
| `server-subdomains-new` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/subdomains/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/subdomains/new/page.tsx) |
| `server-tasks` | `after-header` `after-tasks-list` `before-tasks-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/schedules/[id]/tasks/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/schedules/[id]/tasks/page.tsx) |
| `server-tasks-edit` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/schedules/[id]/tasks/[taskId]/edit/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/schedules/[id]/tasks/[taskId]/edit/page.tsx) |
| `server-tasks-new` | `after-header` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/schedules/[id]/tasks/new/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/schedules/[id]/tasks/new/page.tsx) |
| `server-users` | `after-header` `after-subusers-list` `before-subusers-list` `bottom-of-page` `top-of-page` | [`(app)/server/[uuidShort]/users/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/server/[uuidShort]/users/page.tsx) |

### VDS pages

| `page` | `location` values | Source |
| --- | --- | --- |
| `vds-activities` | `bottom-of-page` `top-of-page` | [`(app)/vds/[id]/activities/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/vds/[id]/activities/page.tsx) |
| `vds-backups` | `bottom-of-page` `top-of-page` | [`(app)/vds/[id]/backups/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/vds/[id]/backups/page.tsx) |
| `vds-console` |  | [`(app)/vds/[id]/VdsConsolePage.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/vds/[id]/VdsConsolePage.tsx) |
| `vds-network` | `bottom-of-page` `top-of-page` | [`(app)/vds/[id]/network/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/vds/[id]/network/page.tsx) |
| `vds-plugin-page` | `bottom-of-page` `top-of-page` | [`(app)/vds/[id]/[[...pluginPath]]/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/vds/[id]/[[...pluginPath]]/page.tsx) |
| `vds-settings` | `bottom-of-page` `top-of-page` | [`(app)/vds/[id]/settings/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/vds/[id]/settings/page.tsx) |
| `vds-users` | `bottom-of-page` `top-of-page` | [`(app)/vds/[id]/users/page.tsx`](https://github.com/MythicalLTD/FeatherPanel/blob/develop/frontendv2/src/app/\(app\)/vds/[id]/users/page.tsx) |
