Skip to content

Commit 4c51a83

Browse files
committed
Package Pages Versions tabs version numbers to be links to the specific version
1 parent e19c1bc commit 4c51a83

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

apps/cyberstorm-remix/app/p/tabs/Versions/Versions.tsx

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
Heading,
1212
NewAlert,
1313
SkeletonBox,
14+
NewLink,
1415
} from "@thunderstore/cyberstorm";
1516
import { Await, LoaderFunctionArgs } from "react-router";
1617
import { useLoaderData } from "react-router";
@@ -31,7 +32,7 @@ import {
3132
import { Suspense } from "react";
3233

3334
export async function loader({ params }: LoaderFunctionArgs) {
34-
if (params.namespaceId && params.packageId) {
35+
if (params.communityId && params.namespaceId && params.packageId) {
3536
const publicEnvVariables = getPublicEnvVariables(["VITE_API_URL"]);
3637
const dapper = new DapperTs(() => {
3738
return {
@@ -40,6 +41,9 @@ export async function loader({ params }: LoaderFunctionArgs) {
4041
};
4142
});
4243
return {
44+
communityId: params.communityId,
45+
namespaceId: params.namespaceId,
46+
packageId: params.packageId,
4347
versions: dapper.getPackageVersions(params.namespaceId, params.packageId),
4448
};
4549
}
@@ -51,7 +55,7 @@ export async function loader({ params }: LoaderFunctionArgs) {
5155
}
5256

5357
export async function clientLoader({ params }: LoaderFunctionArgs) {
54-
if (params.namespaceId && params.packageId) {
58+
if (params.communityId && params.namespaceId && params.packageId) {
5559
const tools = getSessionTools();
5660
const dapper = new DapperTs(() => {
5761
return {
@@ -60,6 +64,9 @@ export async function clientLoader({ params }: LoaderFunctionArgs) {
6064
};
6165
});
6266
return {
67+
communityId: params.communityId,
68+
namespaceId: params.namespaceId,
69+
packageId: params.packageId,
6370
versions: dapper.getPackageVersions(params.namespaceId, params.packageId),
6471
};
6572
}
@@ -97,9 +104,8 @@ function rowSemverCompare(
97104
}
98105

99106
export default function Versions() {
100-
const { status, message, versions } = useLoaderData<
101-
typeof loader | typeof clientLoader
102-
>();
107+
const { communityId, namespaceId, packageId, status, message, versions } =
108+
useLoaderData<typeof loader | typeof clientLoader>();
103109

104110
if (status === "error") {
105111
return <div>{message}</div>;
@@ -120,7 +126,22 @@ export default function Versions() {
120126
}
121127
headers={columns}
122128
rows={resolvedValue.map((v) => [
123-
{ value: v.version_number, sortValue: v.version_number },
129+
{
130+
value: (
131+
<NewLink
132+
primitiveType="cyberstormLink"
133+
linkId="PackageVersion"
134+
package={packageId}
135+
community={communityId}
136+
namespace={namespaceId}
137+
version={v.version_number}
138+
csVariant="cyber"
139+
>
140+
{v.version_number}
141+
</NewLink>
142+
),
143+
sortValue: v.version_number,
144+
},
124145
{
125146
value: new Date(v.datetime_created).toUTCString(),
126147
sortValue: v.datetime_created,

0 commit comments

Comments
 (0)