Skip to content

Commit 301a157

Browse files
committed
Move InstallLink and DownloadLink to common file
1 parent b3c84ef commit 301a157

File tree

4 files changed

+44
-109
lines changed

4 files changed

+44
-109
lines changed

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

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
import { faDownload } from "@fortawesome/free-solid-svg-icons";
2-
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
3-
41
import "./Versions.css";
52
import {
63
NewTableSort,
7-
NewButton,
8-
NewIcon,
94
NewTable,
105
NewTableLabels,
116
Heading,
@@ -22,14 +17,13 @@ import {
2217
TableCompareColumnMeta,
2318
TableRow,
2419
} from "@thunderstore/cyberstorm/src/newComponents/Table/Table";
25-
import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg";
2620
import {
2721
getPublicEnvVariables,
2822
getSessionTools,
2923
} from "cyberstorm/security/publicEnvVariables";
3024
import { Suspense } from "react";
3125
import { isSemver } from "cyberstorm/utils/typeChecks";
32-
import { ModManagerBanner } from "./common";
26+
import { DownloadLink, InstallLink, ModManagerBanner } from "./common";
3327

3428
export async function loader({ params }: LoaderFunctionArgs) {
3529
if (params.communityId && params.namespaceId && params.packageId) {
@@ -180,32 +174,3 @@ const columns: NewTableLabels = [
180174
},
181175
{ value: "Actions", disableSort: true },
182176
];
183-
184-
const DownloadLink = (props: { download_url: string }) => (
185-
<NewButton
186-
csVariant="secondary"
187-
csModifiers={["ghost"]}
188-
csSize="small"
189-
primitiveType="link"
190-
href={props.download_url}
191-
>
192-
<NewIcon noWrapper csMode="inline">
193-
<FontAwesomeIcon icon={faDownload} />
194-
</NewIcon>
195-
Download
196-
</NewButton>
197-
);
198-
199-
const InstallLink = (props: { install_url: string }) => (
200-
<NewButton
201-
csVariant="accent"
202-
csSize="small"
203-
primitiveType="link"
204-
href={props.install_url}
205-
>
206-
<NewIcon csMode="inline">
207-
<ThunderstoreLogo />
208-
</NewIcon>
209-
Install
210-
</NewButton>
211-
);

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

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
import { faDownload } from "@fortawesome/free-solid-svg-icons";
2-
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
3-
41
import "./Versions.css";
52
import {
63
NewTableSort,
7-
NewButton,
8-
NewIcon,
94
NewTable,
105
NewTableLabels,
116
Heading,
@@ -22,14 +17,13 @@ import {
2217
TableCompareColumnMeta,
2318
TableRow,
2419
} from "@thunderstore/cyberstorm/src/newComponents/Table/Table";
25-
import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg";
2620
import {
2721
getPublicEnvVariables,
2822
getSessionTools,
2923
} from "cyberstorm/security/publicEnvVariables";
3024
import { Suspense } from "react";
3125
import { isSemver } from "cyberstorm/utils/typeChecks";
32-
import { ModManagerBanner } from "./common";
26+
import { DownloadLink, InstallLink, ModManagerBanner } from "./common";
3327

3428
export async function loader({ params }: LoaderFunctionArgs) {
3529
if (params.namespaceId && params.packageId) {
@@ -180,32 +174,3 @@ const columns: NewTableLabels = [
180174
},
181175
{ value: "Actions", disableSort: true },
182176
];
183-
184-
const DownloadLink = (props: { download_url: string }) => (
185-
<NewButton
186-
csVariant="secondary"
187-
csModifiers={["ghost"]}
188-
csSize="small"
189-
primitiveType="link"
190-
href={props.download_url}
191-
>
192-
<NewIcon noWrapper csMode="inline">
193-
<FontAwesomeIcon icon={faDownload} />
194-
</NewIcon>
195-
Download
196-
</NewButton>
197-
);
198-
199-
const InstallLink = (props: { install_url: string }) => (
200-
<NewButton
201-
csVariant="accent"
202-
csSize="small"
203-
primitiveType="link"
204-
href={props.install_url}
205-
>
206-
<NewIcon csMode="inline">
207-
<ThunderstoreLogo />
208-
</NewIcon>
209-
Install
210-
</NewButton>
211-
);

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

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
import { faDownload } from "@fortawesome/free-solid-svg-icons";
2-
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
3-
41
import "./Versions.css";
52
import {
63
NewTableSort,
7-
NewButton,
8-
NewIcon,
94
NewTable,
105
NewTableLabels,
116
Heading,
@@ -22,14 +17,13 @@ import {
2217
TableCompareColumnMeta,
2318
TableRow,
2419
} from "@thunderstore/cyberstorm/src/newComponents/Table/Table";
25-
import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg";
2620
import {
2721
getPublicEnvVariables,
2822
getSessionTools,
2923
} from "cyberstorm/security/publicEnvVariables";
3024
import { Suspense } from "react";
3125
import { isSemver } from "cyberstorm/utils/typeChecks";
32-
import { ModManagerBanner } from "./common";
26+
import { DownloadLink, InstallLink, ModManagerBanner } from "./common";
3327

3428
export async function loader({ params }: LoaderFunctionArgs) {
3529
if (params.communityId && params.namespaceId && params.packageId) {
@@ -180,32 +174,3 @@ const columns: NewTableLabels = [
180174
},
181175
{ value: "Actions", disableSort: true },
182176
];
183-
184-
const DownloadLink = (props: { download_url: string }) => (
185-
<NewButton
186-
csVariant="secondary"
187-
csModifiers={["ghost"]}
188-
csSize="small"
189-
primitiveType="link"
190-
href={props.download_url}
191-
>
192-
<NewIcon noWrapper csMode="inline">
193-
<FontAwesomeIcon icon={faDownload} />
194-
</NewIcon>
195-
Download
196-
</NewButton>
197-
);
198-
199-
const InstallLink = (props: { install_url: string }) => (
200-
<NewButton
201-
csVariant="accent"
202-
csSize="small"
203-
primitiveType="link"
204-
href={props.install_url}
205-
>
206-
<NewIcon csMode="inline">
207-
<ThunderstoreLogo />
208-
</NewIcon>
209-
Install
210-
</NewButton>
211-
);

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

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { NewAlert } from "@thunderstore/cyberstorm";
1+
import { faDownload } from "@fortawesome/pro-solid-svg-icons";
2+
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
3+
import { NewAlert, NewButton, NewIcon } from "@thunderstore/cyberstorm";
4+
import { ThunderstoreLogo } from "@thunderstore/cyberstorm/src/svg/svg";
25
import { memo } from "react";
36

47
export const ModManagerBanner = memo(function ModManagerBanner() {
@@ -13,3 +16,40 @@ export const ModManagerBanner = memo(function ModManagerBanner() {
1316
</NewAlert>
1417
);
1518
});
19+
20+
export const DownloadLink = memo(function DownloadLink(props: {
21+
download_url: string;
22+
}) {
23+
return (
24+
<NewButton
25+
csVariant="secondary"
26+
csModifiers={["ghost"]}
27+
csSize="small"
28+
primitiveType="link"
29+
href={props.download_url}
30+
>
31+
<NewIcon noWrapper csMode="inline">
32+
<FontAwesomeIcon icon={faDownload} />
33+
</NewIcon>
34+
Download
35+
</NewButton>
36+
);
37+
});
38+
39+
export const InstallLink = memo(function InstallLink(props: {
40+
install_url: string;
41+
}) {
42+
return (
43+
<NewButton
44+
csVariant="accent"
45+
csSize="small"
46+
primitiveType="link"
47+
href={props.install_url}
48+
>
49+
<NewIcon csMode="inline">
50+
<ThunderstoreLogo />
51+
</NewIcon>
52+
Install
53+
</NewButton>
54+
);
55+
});

0 commit comments

Comments
 (0)