diff --git a/app/[installer-slug]/page.tsx b/app/[installer-slug]/page.tsx index a31a8aa..b8a06df 100644 --- a/app/[installer-slug]/page.tsx +++ b/app/[installer-slug]/page.tsx @@ -1,10 +1,10 @@ -import Link from "next/link"; import { createInstall } from "@/app/[installer-slug]/actions"; import { NUON_API_URL } from "@/common"; import { AWSInstallerFormFields, AppInputFields, AzureInstallerFormFields, + Link, ScrollToButton, StepOneAWS, StepOneAzure, @@ -36,10 +36,7 @@ export default async function Installer({ params, searchParams }) { return ( <>
- + View all installation options
@@ -62,12 +59,14 @@ export default async function Installer({ params, searchParams }) { className="inline-flex align-middle" src="/azure-logo.svg" width="40px" + alt="azure" /> ) : ( aws )}{" "} account. @@ -80,7 +79,7 @@ export default async function Installer({ params, searchParams }) { )} - diff --git a/app/layout.tsx b/app/layout.tsx index 24300ad..12f9fce 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,5 +1,6 @@ import type { Metadata } from "next"; import { Inter } from "next/font/google"; +import { Link } from "@/components"; import "./globals.css"; const inter = Inter({ subsets: ["latin"] }); @@ -16,10 +17,55 @@ export default function RootLayout({ children: React.ReactNode; }>) { return ( - +
{children} +
+
+ © {new Date().getFullYear()} + + Nuon + +
+
+ + Installer docs + + + Github + + + Slack + + + support@nuon.co + +
+
diff --git a/app/page.tsx b/app/page.tsx index 8068ba2..bdee805 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,5 +1,5 @@ -import Link from "next/link"; import { NUON_API_URL } from "@/common"; +import { Link } from "@/components"; async function getInstallers(): Promise>> { const res = await fetch(`${NUON_API_URL}/v1/installers`, { @@ -11,7 +11,7 @@ async function getInstallers(): Promise>> { }); if (!res.ok) { - console.debug(await res.json()); + console.debug(await res.json()); throw new Error("Can't fetch installers"); } @@ -24,18 +24,32 @@ export default async function Home() { return ( <>
-

Nuon installers

+

+ + Nuon + light logo + dark logo + +

-
+
{installers.length && installers.map((installer) => (
-

+

{installer?.app_installer_metadata?.name}

@@ -43,10 +57,7 @@ export default async function Home() {

- + Install now
diff --git a/components/Link.tsx b/components/Link.tsx new file mode 100644 index 0000000..cdcd1c4 --- /dev/null +++ b/components/Link.tsx @@ -0,0 +1,17 @@ +import React, { type FC } from "react"; +import NextLink from "next/link"; + +export const Link: FC> = ({ + className = "", + children, + ...props +}) => { + return ( + + {children} + + ); +}; diff --git a/components/ScrollToButton.tsx b/components/ScrollToButton.tsx index 61abc6d..e6e30b4 100644 --- a/components/ScrollToButton.tsx +++ b/components/ScrollToButton.tsx @@ -17,7 +17,7 @@ export const ScrollToButton: FC = ({ return (
-
+

Create IAM policies with CloudFormation

@@ -38,14 +37,14 @@ export const StepOneAWS: FC<{ installer: Record }> = ({ link. This will create an IAM role granting access for{" "} {installer?.metadata?.name} to install Sourcegraph. Please use the stack output called{" "} - + RoleARN {" "} as an input in step 2.

}> = ({
-
+

Create IAM policies with Terraform

@@ -65,7 +64,7 @@ export const StepOneAWS: FC<{ installer: Record }> = ({

}> = ({
-
+

Create IAM policies manually

@@ -85,9 +84,9 @@ export const StepOneAWS: FC<{ installer: Record }> = ({ install, and can be added later if desired.

-
+
}> = ({ Trust policy }> = ({ Provision policy