Skip to content

Commit 114171f

Browse files
committed
feat(aurora): add serviceBanner slot
1 parent 8689aa9 commit 114171f

4 files changed

Lines changed: 14 additions & 1 deletion

File tree

.changeset/service-banner-slot.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@cobaltcore-dev/aurora": minor
3+
---
4+
5+
Add `serviceBanner` slot — renders below the page title divider on service pages, receives `auroraContext.currentService`

packages/aurora/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,11 @@ function MyFooter(_props: SlotProps) {
167167
| `login` | Replaces the default login form — use in OIDC environments || No |
168168
| `serviceBadge` | Inline next to each service label in the side nav and project home cards | `currentService` (service key) | No |
169169
| `servicePageActions` | Beside the page title in the service page header | `currentService` (service key) | No |
170+
| `serviceBanner` | Below the page title divider on every service page | `currentService` (service key) | No |
170171
| `projectsBanner` | Below the "Projects" heading on the projects list page || No |
171172
| `projectOverviewBanner` | Below the project description on the project overview page (`/projects/:id`) || No |
172173

173-
The `serviceBadge` and `servicePageActions` slots receive `auroraContext.currentService` — a string identifying which service is being rendered (e.g. `"images"`, `"ceph-containers"`). Return `null` from these slots to suppress rendering for specific services.
174+
The `serviceBadge`, `servicePageActions`, and `serviceBanner` slots receive `auroraContext.currentService` — a string identifying which service is being rendered (e.g. `"images"`, `"ceph-containers"`). Return `null` from these slots to suppress rendering for specific services.
174175

175176
**Service key reference:** `"images"`, `"flavors"`, `"securitygroups"`, `"floatingips"`, `"containers"`, `"ceph-containers"`, `"pca"`
176177

packages/aurora/src/client/AuroraApp.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ export type Slots = {
3030
projectsBanner?: FC<SlotProps>
3131
/** Rendered below the project description on the project overview page (/projects/$projectId). Renders outside shadow DOM. */
3232
projectOverviewBanner?: FC<SlotProps>
33+
/** Rendered below the page title divider on every service page. Receives `auroraContext.currentService`. Renders outside shadow DOM. */
34+
serviceBanner?: FC<SlotProps>
3335
}
3436

3537
/**

packages/aurora/src/client/components/ContentHeader/ContentHeader.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ export function ContentHeader({ title, projectId, description, actions, badges }
3030
<Slot component={slots.servicePageActions} useShadowDOM={false} currentService={currentService} />
3131
) : null
3232

33+
const serviceBanner = slots?.serviceBanner ? (
34+
<Slot component={slots.serviceBanner} useShadowDOM={false} currentService={currentService} />
35+
) : null
36+
3337
return (
3438
<header className="mb-8">
3539
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between">
@@ -46,6 +50,7 @@ export function ContentHeader({ title, projectId, description, actions, badges }
4650
</div>
4751
{description && <p className="text-sm font-normal">{description}</p>}
4852
<Divider className="mt-4" />
53+
{serviceBanner}
4954
{(badges || actions) && (
5055
<div className="mt-3 flex items-start justify-between">
5156
<div className="flex items-center gap-2">{badges} </div>

0 commit comments

Comments
 (0)