Files
krow_talent_app/src/pages/admin/positions/nodes.js
Aravind 6249e00a3a
Some checks failed
CI / check (push) Failing after 4m58s
candidates and board ui agent issue
2026-09-05 10:46:06 +05:30

37 lines
1.5 KiB
JavaScript

import { registerPageComposition } from '@/lib/ui/composition';
/**
* Positions, page level only.
*
* Positions has three scopes and only one of them is flat. These two slots
* render **once for the page**, with no position in context, which is what a
* definition reporting across every role needs — and it is where the Board
* skill's section lives.
*
* The other seven slots are *instanced*: `after-position-card` renders inside
* each card, and five more render inside the drawer for one open position, each
* with `context={{ position }}`. A single tree cannot address those, because
* there is no one node for them — there are as many renderings as there are
* records. Giving them identity needs a repeating-subtree model and a decision
* about whether a change to one card means every card; that is deliberately not
* attempted here, and the page keeps rendering them exactly as it always has.
*
* So this composition is honest about being partial: two nodes, drawn where
* they have always been drawn, addressable like anything else.
*/
registerPageComposition('positions', [
{
id: 'positions-extensions-summary',
type: 'skill-surface',
props: { page: 'positions', placement: 'after-position-list-summary' },
/* The separation this slot has always had from the grid below it. */
layout: { spacingAfter: 'md' },
},
{
id: 'positions-extensions-list',
type: 'skill-surface',
props: { page: 'positions', placement: 'after-position-list' },
layout: { spacingBefore: 'lg' },
},
]);