diff --git a/static-site/app/contact/page.tsx b/static-site/app/contact/page.tsx
new file mode 100644
index 000000000..803bd60a0
--- /dev/null
+++ b/static-site/app/contact/page.tsx
@@ -0,0 +1,57 @@
+import type { Metadata } from "next";
+import React from "react";
+
+import { BigSpacer } from "../../components/spacers";
+import FlexCenter from "../../components/flex-center";
+import { FocusParagraphNarrow } from "../../components/focus-paragraph";
+
+export const metadata: Metadata = {
+ title: "Contact",
+};
+
+export default function ContactPage(): React.ReactElement {
+ return (
+ <>
+
+ You are a member of the following Nextstrain groups, which each contain + a collection of datasets and/or narratives: +
+ Public: +
+ You are not logged in.
+
+ Login
+
{children}
; +} + +export function FocusParagraphNarrow({ + children, +}: { + children: React.ReactNode; +}): React.ReactElement { + return{children}
; +} diff --git a/static-site/components/focus-paragraph/styles.module.css b/static-site/components/focus-paragraph/styles.module.css new file mode 100644 index 000000000..6cfda11c8 --- /dev/null +++ b/static-site/components/focus-paragraph/styles.module.css @@ -0,0 +1,22 @@ +/* this is the basic style for all FocusParagraph */ +.focus { + font-size: var(--niceFontSize); + font-weight: 300; + line-height: var(--tightLineHight); + max-width: 640px; +} + +/* this is specifically *added* to the base style for FocusParagraphCentered */ +.centered { + margin: 20px 0 0; + text-align: center; +} +.centered > strong { + font-weight: 500; +} + +/* this is specifically *added* to the base style for FocusParagraphNarrow */ +.narrow { + margin: 20px 0px 0px; + text-align: left; +} diff --git a/static-site/components/footer/index.tsx b/static-site/components/footer/index.tsx new file mode 100644 index 000000000..754084a24 --- /dev/null +++ b/static-site/components/footer/index.tsx @@ -0,0 +1,85 @@ +import React from "react"; + +import Logos from "../logos"; +import { BigSpacer, SmallSpacer } from "../spacers"; + +import SiteMap from "./site-map"; +import TeamList from "./team-list"; + +export default function Footer(): React.ReactElement { + return ( ++ All source code is + freely available under the terms of the{" "} + + GNU Affero General Public License + + . Screenshots may be used under a{" "} + + CC-BY-4.0 license + {" "} + and attribution to nextstrain.org must be provided. +
++ This work is made possible by the open sharing of genetic data by + research groups from all over the world. We gratefully acknowledge + their contributions. Special thanks to Kristian Andersen, Josh + Batson, David Blazes, Jesse Bloom, Peter Bogner, Anderson Brito, + Matt Cotten, Ana Crisan, Tulio de Oliveira, Gytis Dudas, Vivien + Dugan, Karl Erlandson, Nuno Faria, Jennifer Gardy, Nate Grubaugh, + Becky Kondor, Dylan George, Ian Goodfellow, Betz Halloran, Christian + Happi, Jeff Joy, Paul Kellam, Philippe Lemey, Nick Loman, Duncan + MacCannell, Erick Matsen, Sebastian Maurer-Stroh, Placide Mbala, + Danny Park, Oliver Pybus, Andrew Rambaut, Colin Russell, Pardis + Sabeti, Katherine Siddle, Kristof Theys, Dave Wentworth, Shirlee + Wohl and Cecile Viboud for comments, suggestions and data sharing. +
+© Trevor Bedford and Richard Neher
+
+ {entry.href.startsWith("http") ? (
+
+ {entry.name}{" "}
+
+
Nextstrain is supported by
+ +
- You are not logged in.
- Login
-