+4
frontend/src/features/landing/templates/LandingPage.tsx
+4
frontend/src/features/landing/templates/LandingPage.tsx
···
56
56
currentUser={currentUser}
57
57
>
58
58
<div className="px-4 py-8">
59
+
{!currentUser?.isAuthenticated && (
60
+
<>
59
61
{/* Hero Section */}
60
62
<div className="text-center mb-16">
61
63
<Text
···
457
459
</div>
458
460
</div>
459
461
</div>
462
+
</>
463
+
)}
460
464
461
465
<PageHeader title="Timeline" />
462
466
+12
-1
frontend/src/features/slices/overview/handlers.tsx
+12
-1
frontend/src/features/slices/overview/handlers.tsx
···
2
2
import { withAuth } from "../../../routes/middleware.ts";
3
3
import { renderHTML } from "../../../utils/render.tsx";
4
4
import { SliceOverview } from "./templates/SliceOverview.tsx";
5
-
import { withSliceAccess } from "../../../routes/slice-middleware.ts";
5
+
import {
6
+
getSliceStats,
7
+
withSliceAccess,
8
+
} from "../../../routes/slice-middleware.ts";
6
9
import { extractSliceParams } from "../../../utils/slice-params.ts";
7
10
8
11
async function handleSliceOverview(
···
34
37
return Response.redirect(lexiconUrl, 302);
35
38
}
36
39
40
+
const stats = await getSliceStats(context.sliceContext!.sliceUri);
41
+
const collections = stats.collections.map((stat) => ({
42
+
name: stat.name,
43
+
count: stat.count,
44
+
actors: stat.actors,
45
+
}));
46
+
37
47
return renderHTML(
38
48
<SliceOverview
39
49
slice={context.sliceContext!.slice!}
40
50
sliceId={sliceParams.sliceId}
51
+
collections={collections}
41
52
currentTab="overview"
42
53
currentUser={authContext.currentUser}
43
54
hasSliceAccess={context.sliceContext?.hasAccess}