Skip to content

Commit

Permalink
feat: source button
Browse files Browse the repository at this point in the history
  • Loading branch information
JMBeresford committed Sep 2, 2023
1 parent 9416920 commit ea577d8
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 1 deletion.
29 changes: 29 additions & 0 deletions apps/lab/app/experiments/[experiment]/SourceButton.module.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.sourceButton {
position: fixed;
bottom: 2rem;
right: 2rem;
cursor: pointer;
background-color: white;
box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.65);

width: 3rem;
height: 3rem;
border-radius: 50%;

display: grid;
place-items: center;

transform: scale(1);
transition: transform 0.2s ease-in-out;

&:hover {
transform: scale(1.125);
}

a {
// font-family: $sans-serif;
color: black;
font-weight: light;
text-decoration: none;
}
}
15 changes: 15 additions & 0 deletions apps/lab/app/experiments/[experiment]/SourceButton.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import styles from "./SourceButton.module.scss";

export function SourceButton(props: { experiment: string }) {
return (
<div className={styles.sourceButton}>
<a
rel="noreferrer"
target="_blank"
href={`https://github.com/JMBeresford/lab-2023/tree/main/experiments/${props.experiment}`}
>
{"</>"}
</a>
</div>
);
}
12 changes: 11 additions & 1 deletion apps/lab/app/experiments/[experiment]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { getMetadata } from "@/helpers/metadata";
import { ExperimentData } from "experiment-data";
import dynamic from "next/dynamic";
import { SourceButton } from "./SourceButton";

const ExperimentFrame = dynamic(() => import("./ExperimentFrame"), { ssr: false });

Expand All @@ -11,7 +12,16 @@ type Props = {
};

export default function Page({ params }: Props) {
return <ExperimentFrame experiment={params.experiment} />;
const datum = Object.values(ExperimentData).find((e) => e.pathName === params.experiment);

if (!datum) return null;

return (
<>
<SourceButton experiment={datum?.name} />
<ExperimentFrame experiment={params.experiment} />
</>
);
}

export async function generateStaticParams() {
Expand Down

0 comments on commit ea577d8

Please sign in to comment.