Skip to content

Commit

Permalink
landing about
Browse files Browse the repository at this point in the history
  • Loading branch information
fiji-flo committed Feb 2, 2024
1 parent 1b2073f commit c1fb57f
Show file tree
Hide file tree
Showing 16 changed files with 398 additions and 125 deletions.
2 changes: 1 addition & 1 deletion client/public/assets/curriculum/cur-topic-practices.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions client/public/assets/curriculum/cur-topic-scripting.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions client/public/assets/curriculum/cur-topic-standards.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions client/public/assets/curriculum/cur-topic-styling.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions client/public/assets/curriculum/cur-topic-tooling.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions client/src/assets/icons/cur-landing-about-beginner.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions client/src/assets/icons/cur-landing-about-bullet.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions client/src/assets/icons/cur-landing-about-free.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions client/src/assets/icons/cur-landing-about-pace.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions client/src/curriculum/about.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import useSWR from "swr";

import { HydrationData } from "../../../libs/types/hydration";
import { CurriculumDoc, ModuleData } from "../../../libs/types/curriculum";
import { HTTPError, RenderDocumentBody } from "../document";
import { HTTPError } from "../document";
import { PLACEMENT_ENABLED, WRITER_MODE } from "../env";
import { SidePlacement } from "../ui/organisms/placement";

Expand All @@ -15,6 +15,7 @@ import { ArticleActionsContainer } from "../ui/organisms/article-actions-contain
import { topic2css, useDocTitle } from "./utils";
import { SidebarContainer } from "../document/organisms/sidebar";
import { TOC } from "../document/organisms/toc";
import { RenderCurriculumBody } from "./body";

export function CurriculumAbout(props: HydrationData<any, CurriculumDoc>) {
const dataURL = `./index.json`;
Expand Down Expand Up @@ -77,7 +78,7 @@ export function CurriculumAbout(props: HydrationData<any, CurriculumDoc>) {
<span>{coloredTitle}</span> {restTitle.join(" ")}
</h1>
</header>
<RenderDocumentBody doc={doc} />
<RenderCurriculumBody doc={doc} />
</article>
</main>
</>
Expand Down
44 changes: 44 additions & 0 deletions client/src/curriculum/body.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import { useMemo } from "react";
import { DisplayH2, DisplayH3 } from "../document/ingredients/utils";
import { CurriculumDoc } from "../../../libs/types/curriculum";
import { Section } from "../../../libs/types/document";

function Render({ section }) {
const { id } = section;
const html = useMemo(() => ({ __html: section.content }), [section.content]);

if (!id) {
return (
<div
key={section.id}
className="section-content"
dangerouslySetInnerHTML={html}
/>
);
}

const DisplayHx = section.isH3 ? DisplayH3 : DisplayH2;

return (
<section aria-labelledby={id} key={section.id}>
<DisplayHx
id={id}
title={section.title}
titleAsText={section.titleAsText}
/>
<div className="section-content" dangerouslySetInnerHTML={html} />
</section>
);
}

export function RenderCurriculumBody({
doc,
renderer = () => null,
}: {
doc: CurriculumDoc;
renderer?: (section: Section, i: number) => null | JSX.Element;
}) {
return doc.body.map((section, i) => {
return renderer(section, i) || <Render section={section.value} />;
});
}
Loading

0 comments on commit c1fb57f

Please sign in to comment.