rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI (#61)
CI / Architecture Guardrails (push) Successful in 2m38s
CI / Assistant Split Regression (push) Successful in 3m33s
CI / Typecheck (push) Successful in 3m51s
CI / Lint (push) Successful in 5m2s
CI / E2E Tests (push) Has been cancelled
CI / Fresh-Linux Docker Deploy (push) Has been cancelled
CI / Release Images (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled

rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI (#61)

Co-authored-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com>
Co-committed-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com>
This commit was merged in pull request #61.
This commit is contained in:
2026-05-21 16:28:40 +02:00
committed by Hartmut
parent d9a7ec0338
commit b41c1d2501
943 changed files with 24548 additions and 16832 deletions
@@ -6,7 +6,12 @@ const styles = StyleSheet.create({
title: { fontSize: 18, marginBottom: 4, fontFamily: "Helvetica-Bold" },
subtitle: { fontSize: 11, color: "#6b7280", marginBottom: 20 },
table: { marginTop: 10 },
tableHeader: { flexDirection: "row", backgroundColor: "#f3f4f6", padding: "6 8", borderBottom: "1 solid #e5e7eb" },
tableHeader: {
flexDirection: "row",
backgroundColor: "#f3f4f6",
padding: "6 8",
borderBottom: "1 solid #e5e7eb",
},
tableRow: { flexDirection: "row", padding: "5 8", borderBottom: "1 solid #f3f4f6" },
col1: { width: "25%" },
col2: { width: "20%" },
@@ -16,7 +21,15 @@ const styles = StyleSheet.create({
col6: { width: "10%" },
headerText: { fontFamily: "Helvetica-Bold", color: "#374151", fontSize: 9 },
cellText: { color: "#4b5563", fontSize: 9 },
footer: { position: "absolute", bottom: 20, left: 30, right: 30, textAlign: "center", color: "#9ca3af", fontSize: 8 },
footer: {
position: "absolute",
bottom: 20,
left: 30,
right: 30,
textAlign: "center",
color: "#9ca3af",
fontSize: 8,
},
});
interface AllocationRow {
@@ -52,7 +65,10 @@ export function AllocationReport({ title, generatedAt, rows }: AllocationReportP
<Text style={[styles.col6, styles.headerText]}>h/day</Text>
</View>
{rows.map((row, i) => (
<View key={i} style={[styles.tableRow, i % 2 === 1 ? { backgroundColor: "#f9fafb" } : {}]}>
<View
key={i}
style={[styles.tableRow, i % 2 === 1 ? { backgroundColor: "#f9fafb" } : {}]}
>
<Text style={[styles.col1, styles.cellText]}>{row.resourceName}</Text>
<Text style={[styles.col2, styles.cellText]}>{row.projectName}</Text>
<Text style={[styles.col3, styles.cellText]}>{row.role ?? "—"}</Text>
@@ -63,7 +79,7 @@ export function AllocationReport({ title, generatedAt, rows }: AllocationReportP
))}
</View>
<Text style={styles.footer}>CapaKraken · Confidential · {rows.length} allocations</Text>
<Text style={styles.footer}>Nexus · Confidential · {rows.length} allocations</Text>
</Page>
</Document>
);
@@ -86,7 +86,7 @@ export function ReportResultsPanel({
<p className="text-xs text-gray-500 dark:text-gray-400">
{explainability?.entity === "resource_month"
? "Exports include the report sheet plus an Explainability sheet with location, holiday, absence and SAH basis."
: "CSV exports include the selected basis columns and computed CapaKraken metrics exactly as shown here."}
: "CSV exports include the selected basis columns and computed Nexus metrics exactly as shown here."}
</p>
{groupBy && rows.length > 0 ? (
<p className="text-xs text-gray-500 dark:text-gray-400">
@@ -60,9 +60,8 @@ export function ResourceMonthConfigSection<
/>
</div>
<p className="max-w-2xl text-sm text-emerald-900/80 dark:text-emerald-200/80">
Resource Months uses the CapaKraken holiday and absence logic directly. SAH, booked hours
and chargeability are calculated per resource and month with country, state and city
context.
Resource Months uses the Nexus holiday and absence logic directly. SAH, booked hours and
chargeability are calculated per resource and month with country, state and city context.
</p>
</div>
@@ -156,7 +155,7 @@ export function ResourceMonthConfigSection<
</p>
<p className="mt-2 text-xs text-emerald-900/75 dark:text-emerald-200/75">
Export recommendation: include both basis columns and computed metrics in the CSV. That
keeps Excel as a review layer instead of rebuilding CapaKraken logic outside the product.
keeps Excel as a review layer instead of rebuilding Nexus logic outside the product.
</p>
<p className="mt-2 text-xs text-emerald-900/75 dark:text-emerald-200/75">
Minimum audit set: month, location context, SAH, holiday deductions, absence deductions,