Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
ac3c4d4
frontpage work
Duncan-W Mar 25, 2024
02dec0d
consistency and correct markup
Duncan-W Mar 25, 2024
1074b47
buttons
Duncan-W Mar 25, 2024
926c7ac
fixed overlay issue
Duncan-W Mar 26, 2024
1c40f18
styling of Toggle box
Duncan-W Mar 26, 2024
890d85b
styling
Duncan-W Mar 26, 2024
19378d7
fixed mobile menu display
Duncan-W Mar 26, 2024
d8d6944
minor
Duncan-W Mar 26, 2024
6f0388a
okay z-indexes make no sense here - a 0 z-index overlaps a 2 z-index?…
Duncan-W Mar 26, 2024
c7fd7a0
header border
Duncan-W Apr 3, 2024
ba8dc27
files
Duncan-W Apr 3, 2024
4451f45
colours
Duncan-W Apr 3, 2024
6c95b37
formatting
Duncan-W Apr 3, 2024
7fcd451
whack the moles - screenshots need to be higher res
Duncan-W Apr 3, 2024
4a5d04c
minor css, carousel direction
Duncan-W Apr 4, 2024
42a8130
superfluous bg rv
Duncan-W Apr 4, 2024
bfdd9ce
homepage link
Duncan-W Apr 4, 2024
a52a6bf
homepage link
Duncan-W Apr 5, 2024
883413c
minor
Duncan-W Apr 5, 2024
34c8e38
minor
Duncan-W Apr 5, 2024
78883ce
global footer
Duncan-W Apr 6, 2024
c2f7836
TutorialCarousel.tsx
Duncan-W Apr 6, 2024
8e64088
footer images
Duncan-W Apr 7, 2024
d311324
I love chasing up invisible junk
Duncan-W Apr 7, 2024
cf36089
several hours of resolving mysterious box model behaviour that is not…
Duncan-W Apr 7, 2024
1bca117
Carousel component
Duncan-W Apr 7, 2024
ea60401
Carousel component
Duncan-W Apr 8, 2024
72683b9
Start Coding Journey Modal
Duncan-W Apr 8, 2024
b98ac17
modal
Duncan-W Apr 8, 2024
5d489ee
rollback of header css to resolve mobile responsive issue
Duncan-W Apr 9, 2024
7ca7081
preventing image overlap on mobile
Duncan-W Apr 9, 2024
c78af9f
better handing of images in pink/easy/programming with python section
Duncan-W Apr 9, 2024
51aeecb
formatting scss
Duncan-W Apr 9, 2024
32f8a90
css organisation
Duncan-W Apr 9, 2024
cf9e799
micromanaging absolute positioning
Duncan-W Apr 9, 2024
bb7d2b3
video modal
Duncan-W Apr 9, 2024
80e7ce3
extrating logic for navbar as it concerns mltiple pages
Duncan-W Apr 9, 2024
a11cebb
minor
Duncan-W Apr 9, 2024
0be4ffe
minor
Duncan-W Apr 9, 2024
37e2208
Px Grotesk
Duncan-W Apr 9, 2024
26eb275
minor
Duncan-W Apr 9, 2024
0f78956
reducing colour names
Duncan-W Apr 10, 2024
20e44d4
fixing Carousel loop
Duncan-W Apr 10, 2024
346f422
font faces
Duncan-W Apr 11, 2024
73f994b
hamburger menu right align
Duncan-W Apr 11, 2024
446ca8e
nav consistency
Duncan-W Apr 11, 2024
a74c344
font
Duncan-W Apr 12, 2024
6fe3867
font local files
Duncan-W Apr 12, 2024
7e1a2c6
asset reorganisation
Duncan-W Apr 12, 2024
809ca70
tutorial card assets
Duncan-W Apr 13, 2024
788ffc5
formatting
Duncan-W Apr 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@
content="Pytch: A system to help Python learners coming from Scratch"
/>
<title>Pytch</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ResearchProject",
"name": "Pytch",
"url": "https://www.pytch.org/",
"logo": "https://www.pytch.org/app/assets/python-logo.png",
"sameAs": "https://twitter.com/pytchlang/"
}
</script>

<script
src="%VITE_SKULPT_BASE%/skulpt.min.js"
Expand All @@ -21,11 +31,16 @@
type="text/javascript"
charset="utf-8"
></script>
<div id="dynamic-scripts"></div>
<style>

</style>
</head>

<body class="pytch-toplevel">
<div id="dynamic-scripts"></div>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<div id="root" class="container"></div>
<script type="module" src="/src/main.tsx"></script>
</body>

</html>
Binary file added public/assets/box3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/logos/TCD - Copy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/logos/TCD.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/logos/sfi_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/logos/tcd_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/logos/tudublin_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/organisation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/pytch_alt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/pytch_jr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/pytch_org.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/tutorial-assets/boing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/tutorial-assets/catch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/tutorial-assets/qbert.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/tutorial-assets/splat.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file added public/assets/type/PxGrotesk-Bold.otf
Binary file not shown.
Binary file added public/assets/welcome/Icon-02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/welcome/Overview.mp4
Binary file not shown.
Binary file added public/assets/welcome/abstract_image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/welcome/invaders.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/welcome/pytch_girls_computer.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import "./pytch-jr-ide.scss";
import "./pytch-jr-lesson.scss";
import "./help-sidebar.scss";
import "./font-awesome-lib";
import "./pytch-welcome.scss";

import { AllModals } from "./components/AllModals";
import { SingleTutorial } from "./components/SingleTutorial";
Expand Down Expand Up @@ -131,4 +132,4 @@ function App() {
);
}

export default App;
export default App;
40 changes: 40 additions & 0 deletions src/components/<nav>.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<nav>
<div className="title-and-version">
<h1>
<a href="/app/" style={{ color: "white !important" }}>
Pytch
</a>
</h1>
<a className="version-tag" href="/doc/releases/changelog.html">
v1.11.1
</a>
</div>
<div
className="hamburger-menu"
onclick="toggleNav()"
aria-label="click here for navigation menu"
>
<div />
<div />
<div />
</div>
<ul>
<li>
<a href="https://pytch.scss.tcd.ie/">About... </a>
</li>
<li>
<a href="/doc/index.html">Help/Info?</a>
</li>
<Link to="/tutorials/">
<li>Tutorials</li>
</Link>
<li>
<a href="https://pytch.scss.tcd.ie/lesson-plans/">Lesson plans</a>
</li>
<li>
<a href="/app/my-projects/">My projects</a>
</li>
<li className="mail">✉</li>
</ul>
</nav>

1 change: 1 addition & 0 deletions src/components/IDE.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { IDEContents_Flat } from "./IDEContents_Flat";
import { IDEContents as IDEContents_Junior } from "./Junior/IDEContents";
import { ExceptionDisplay } from "./ExceptionDisplay";


// eslint-disable-next-line @typescript-eslint/no-explicit-any
declare let Sk: any;

Expand Down
84 changes: 59 additions & 25 deletions src/components/NavBanner.tsx
Original file line number Diff line number Diff line change
@@ -1,37 +1,71 @@
import React from "react";
import React, { useEffect } from 'react';
import { envVarOrFail, withinSite } from "../env-utils";
import { Link } from "./LinkWithinApp";
import { pytchResearchSiteUrl } from "../constants";


const NavBanner = () => {
const versionTag = envVarOrFail("VITE_VERSION_TAG");

useEffect(() => {
function toggleNav() {
const navUl = document.querySelector("nav ul");
if (navUl) {
navUl.classList.toggle("show");
}
}

const hamburgerMenu = document.querySelector(".hamburger-menu");
if (hamburgerMenu) {
hamburgerMenu.addEventListener("click", toggleNav);
}

return () => {
if (hamburgerMenu) {
hamburgerMenu.removeEventListener("click", toggleNav);
}
};
}, []); // run only once on mount


return (
<div className="NavBar">
<nav>
<div className="title-and-version">
<Link to="/">
<h1>
Pytch <span className="beta-tag">BETA</span>
</h1>
</Link>
<p className="version-tag">
<a href={withinSite("/doc/releases/changelog.html")}>{versionTag}</a>
</p>
<h1>
<a href="/" style={{ color: "white !important" }}>
Pytch
</a>
</h1>
{/* {<a className="version-tag" href={withinSite("/doc/releases/changelog.html")}>
v2.0.0
</a>} */}
</div>
<div
className="hamburger-menu"

aria-label="click here for navigation menu"
>
<div /> {/*<!-- This produces the horizontal bars -->*/}
<div />
<div />
</div>
<ul>
<a href={pytchResearchSiteUrl}>
<li>About Pytch</li>
</a>
<a href={withinSite("/doc/index.html")}>
<li>Help</li>
</a>
<Link to="/tutorials/">
<li>Tutorials</li>
</Link>
<Link to="/my-projects/">
<li>My projects</li>
</Link>
<li>
<a href={withinSite("https://pytch.scss.tcd.ie/")}>About... </a>
</li>
<li>
<a href={withinSite("/doc/index.html")}>Help/Info?</a>
</li>
<li>
<Link to="/tutorials/">Tutorials</Link>
</li>
<li>
<a href="https://pytch.scss.tcd.ie/lesson-plans/">Lesson plans</a>
</li>
<li>
<Link to="/my-projects/">My projects</Link>
</li>
<li className="mail">&#x2709;</li>
</ul>
</div>
</nav>
);
};

Expand Down
1 change: 1 addition & 0 deletions src/components/ProjectList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { EmptyProps, assertNever } from "../utils";
import { MtimeDisplay } from "./MtimeDisplay";
import { EditorKindThumbnail } from "./EditorKindThumbnail";


type ProjectCardProps = {
project: IDisplayedProjectSummary;
anySelected: boolean;
Expand Down
76 changes: 76 additions & 0 deletions src/components/SiteFooter.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import React from "react";
import { envVarOrFail, withinSite } from "../env-utils";
import { Link } from "./LinkWithinApp";
import { pytchResearchSiteUrl } from "../constants";
import { urlWithinApp } from "../env-utils";


const SiteFooter = () => {
const sfi_logo = urlWithinApp("/assets/logos/sfi_logo.png");
const tcd_logo = urlWithinApp("/assets/logos/tcd_logo.png");
const tudublin_logo = urlWithinApp("/assets/logos/tudublin_logo.png");
return (
<footer className="site-footer">
<div className="section-content">
<div className="sitemap">
<div className="list-container">
<h2>
Contact us<span role="presentation">_</span>
</h2>
<ul>
<li>
<a href="mailto:info@pytch.org">Email</a>
</li>
<li>
<a href="https://twitter.com/pytchlang/">Twitter</a>
</li>
</ul>
</div>
<div className="list-container">
<h2>
About<span role="presentation">_</span>
</h2>
<ul>
<li>
<a href="https://pytch.scss.tcd.ie/who-we-are/">Our team</a>
</li>
<li>
<a href="https://pytch.scss.tcd.ie/research/">Our research</a>
</li>
</ul>
</div>
<div className="list-container">
<h2>
For teachers<span role="presentation">_</span>
</h2>
<ul>
<li><Link to="/tutorials/">Tutorials</Link></li>
<li>
<a href="https://pytch.scss.tcd.ie/lesson-plans/">Lesson plans</a>
</li>
</ul>
</div>
{/*
<div class="list-container">
<h2>Resources<span role="presentation">_</span></h2>
<ul>
<li><a href="https://www.pytch.org/doc/developer.html">Info for developers</a></li>
<li><a href="https://www.pytch.org/doc/webapp/user/index.html">Help</a></li>
</ul>
</div>
*/}
</div>
<div className="section-images">
<img src={sfi_logo} alt="Science Foundation Ireland" />
<img src={tcd_logo} alt="Trinity College Dublin" />
<img src={tudublin_logo} alt="TUDublin" />

</div>
</div>
</footer>

);
};

export default SiteFooter;

Loading