update owliver skill

This commit is contained in:
2026-08-14 17:33:16 +05:30
parent cccada9bd2
commit 4fdfb90326
58 changed files with 8015 additions and 1339 deletions

View File

@@ -10,6 +10,7 @@ import {
import { SectionTitle } from '@/pages/admin/_shell';
import { FilterSelect } from '@/pages/admin/Positions';
import { completedCourseIds, skillStates } from '@/lib/skillGraph';
import { SkillSurface } from '@/components/skills/SkillSurface';
/**
* KROW Forge — workforce skill verification, from the managing side.
@@ -88,7 +89,7 @@ export default function University() {
const statuses = useMemo(() => {
const found = new Set(courses.map(statusOf));
return [
{ value: 'all', label: 'All statuses' },
{ value: 'all', label: 'All' },
...STATUS_ORDER.filter((s) => found.has(s)).map((s) => ({ value: s, label: s })),
];
}, [courses]);
@@ -204,6 +205,8 @@ export default function University() {
<div className="space-y-7 pb-12">
<ForgeHeader onCreate={openCreate} onBrowse={scrollToLibrary} />
<SkillSurface page="krow-forge" placement="after-header" />
<ForgeProgress figures={figures} loading={isLoading} />
{/* Skill progression — the primary experience. The library below is the
@@ -302,6 +305,8 @@ export default function University() {
onCreate={(data) => createCourse.mutateAsync(data)}
onUpdate={(id, data) => updateCourse.mutateAsync({ id, data })}
/>
<SkillSurface page="krow-forge" placement="before-footer" />
</div>
);
}