Skip to content

Commit abe2281

Browse files
authored
feat: landing page launch build (#3512)
1 parent fa8dd94 commit abe2281

File tree

101 files changed

+2392
-5793
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+2392
-5793
lines changed

client/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
<meta charset="UTF-8" />
55
<meta
66
name="description"
7-
content="An open-source platform for reproducible and collaborative data science. Share code, data and computational environments whilst tracking provenance and lineage of research objects."
7+
content="An open-source platform for connecting data, code, and compute and empowering collaborative data science."
88
/>
99

1010
<meta
1111
property="og:title"
12-
content="Reproducible Data Science | Open Research | Renku"
12+
content="Renku | Collaborative Data Science | Open Research"
1313
/>
1414
<meta
1515
property="og:description"
16-
content="Work together on data science projects reproducibly. Share code, data and computational environments whilst accessing free computing resources."
16+
content="An open-source platform for connecting data, code, and compute and empowering collaborative data science."
1717
/>
1818

1919
<meta

client/src/App.jsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,11 @@ import { Unavailable } from "./features/maintenance/Maintenance";
4141
import LazyRootV1 from "./features/rootV1/LazyRootV1";
4242
import LazyRootV2 from "./features/rootV2/LazyRootV2";
4343
import { useGetUserQuery } from "./features/usersV2/api/users.api";
44-
import LazyAnonymousHome from "./landing/LazyAnonymousHome";
45-
import { FooterNavbar, RenkuNavBar } from "./landing/NavBar";
44+
import LazyAnonymousHome from "./features/landing/LazyAnonymousHome";
45+
import {
46+
FooterNavbar,
47+
RenkuNavBar,
48+
} from "./features/landing/components/NavBar/NavBar";
4649
import LazyNotFound from "./not-found/LazyNotFound";
4750
import NotificationsManager from "./notifications/NotificationsManager";
4851
import Cookie from "./privacy/Cookie";

client/src/components/navbar/AnonymousNavBar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { Link } from "react-router";
2323
import { Collapse, Nav, NavItem, Navbar, NavbarToggler } from "reactstrap";
2424

2525
import StatusBanner from "../../features/platform/components/StatusBanner";
26-
import { NavBarWarnings } from "../../landing/NavBarWarnings";
26+
import { NavBarWarnings } from "../../features/landing/components/NavBar/NavBarWarnings";
2727
import { ABSOLUTE_ROUTES } from "../../routing/routes.constants";
2828
import AppContext from "../../utils/context/appContext";
2929
import { Url } from "../../utils/helpers/url";

client/src/components/navbar/LoggedInNavBar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { List, Search } from "react-bootstrap-icons";
2222
import { Link } from "react-router";
2323
import { Collapse, Nav, NavItem, Navbar, NavbarToggler } from "reactstrap";
2424
import StatusBanner from "../../features/platform/components/StatusBanner";
25-
import { NavBarWarnings } from "../../landing/NavBarWarnings";
25+
import { NavBarWarnings } from "../../features/landing/components/NavBar/NavBarWarnings";
2626
import { ABSOLUTE_ROUTES } from "../../routing/routes.constants";
2727
import AppContext from "../../utils/context/appContext";
2828
import RenkuNavLinkV2 from "../RenkuNavLinkV2";

client/src/components/navbar/NavBarItems.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {
3333

3434
import { LoginHelper } from "../../authentication";
3535
import { useLoginUrl } from "../../authentication/useLoginUrl.hook";
36-
import AdminDropdownItem from "../../landing/AdminDropdownItem";
36+
import AdminDropdownItem from "../../features/landing/components/AdminDropdownItem.tsx";
3737
import { User } from "../../model/renkuModels.types";
3838
import NotificationsMenu from "../../notifications/NotificationsMenu";
3939
import { Docs, Links, RenkuPythonDocs } from "../../utils/constants/Docs";

client/src/features/dashboardV2/DashboardV2.module.scss

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,14 @@
3030
}
3131

3232
.FooterCard {
33-
a svg {
33+
a svg,
34+
a img {
3435
transition: all 0.3s linear;
3536
}
3637
a:hover svg,
37-
a:focus svg {
38+
a:focus svg,
39+
a:hover img,
40+
a:focus img {
3841
transform: scale(1.3);
3942
}
4043
}

client/src/features/dashboardV2/DashboardV2.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,16 +158,22 @@ function FooterDashboard() {
158158
}
159159

160160
interface FooterDashboardCardProps {
161+
className?: string;
161162
children: ReactNode;
162163
url: string;
163164
}
164-
function FooterDashboardCard({ children, url }: FooterDashboardCardProps) {
165+
export function FooterDashboardCard({
166+
className,
167+
children,
168+
url,
169+
}: FooterDashboardCardProps) {
165170
return (
166-
<Card className={cx(DashboardStyles.DashboardCard, "border-0")}>
171+
<Card className={cx(DashboardStyles.DashboardCard, "border-0", "h-100")}>
167172
<CardBody className={DashboardStyles.FooterCard}>
168173
<a
169174
target="_blank"
170175
className={cx(
176+
className,
171177
"text-primary",
172178
"d-flex",
173179
"flex-column",

client/src/landing/AnonymousHome.tsx renamed to client/src/features/landing/AnonymousHome.tsx

Lines changed: 28 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -25,36 +25,38 @@
2525

2626
import { faSearch } from "@fortawesome/free-solid-svg-icons";
2727
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
28-
import { Fragment, useContext, useRef } from "react";
28+
import { Fragment, useContext } from "react";
2929
import { useForm } from "react-hook-form";
3030
import { useNavigate } from "react-router";
3131
import { Col, Row } from "reactstrap";
3232

33-
import LazyRenkuMarkdown from "../components/markdown/LazyRenkuMarkdown";
34-
import { stateToSearchString } from "../features/kgSearch";
35-
import AppContext from "../utils/context/appContext";
36-
import { DEFAULT_APP_PARAMS } from "../utils/context/appParams.constants";
37-
import { Url } from "../utils/helpers/url";
33+
import LazyRenkuMarkdown from "../../components/markdown/LazyRenkuMarkdown";
34+
import { stateToSearchString } from "../kgSearch";
35+
import AppContext from "../../utils/context/appContext";
36+
import { DEFAULT_APP_PARAMS } from "../../utils/context/appParams.constants";
37+
import { Url } from "../../utils/helpers/url";
38+
import { RenkuBenefits } from "./components/Benefits/Benefits";
39+
import { Introduction } from "./components/Introduction/Introduction";
3840

39-
import { NavBarWarnings } from "./NavBarWarnings";
41+
import { NavBarWarnings } from "./components/NavBar/NavBarWarnings";
4042

41-
import VisualHead from "./Graphics/Visual_Head.svg";
43+
import VisualHead from "./assets/Visual_Head.svg";
4244

43-
import DividerLandingPage from "./Dividier/Divider";
44-
import GetStarted from "./GetSarted/GetStarted";
45-
import HeroLanding from "./HeroLanding/HeroLanding";
46-
import SectionShowcase, { validatedShowcaseConfig } from "./SectionShowcase";
47-
import Teaching from "./Teaching/Teaching";
48-
import WhatIsRenku from "./WhatIsRenku/WhatIsRenku";
49-
import WhoWeAre from "./WhoWeAre/WhoWeAre";
45+
import DividerLandingPage from "./components/Dividier/Divider";
46+
import HeroLanding from "./components/HeroLanding/HeroLanding";
47+
import { ResourcesAndSupport } from "./components/ResourcesSupport/ResourcesAndSupport";
48+
import WhatIsRenku from "./components/WhatIsRenku/WhatIsRenku";
49+
import WhoWeAre from "./components/WhoWeAre/WhoWeAre";
5050
import type { AnonymousHomeConfig } from "./anonymousHome.types";
51-
import { BottomNav, TopNav } from "./anonymousHomeNav";
51+
import { BottomNav, TopNav } from "./components/anonymousHomeNav";
5252

5353
// ? react-autosuggest styles are defined there q_q
5454
// ? also, the order of import matters here q_q
55-
import "../project/new/Project.style.css";
55+
import "../../project/new/Project.style.css";
5656
// ? the "quick-nav" class is used in this file
57-
import "../components/quicknav/QuickNav.style.css";
57+
import "../../components/quicknav/QuickNav.style.css";
58+
import { GetStarted } from "./components/GetStarted/GetStarted.tsx";
59+
import { RenkuUsers } from "./components/RenkuUsers/RenkuUsers.tsx";
5860

5961
export default function AnonymousHome() {
6062
const { client, model, params } = useContext(AppContext);
@@ -130,31 +132,18 @@ export function SearchInput() {
130132
);
131133
}
132134
function StandardHome(props: AnonymousHomeConfig) {
133-
const sectionRef = useRef<HTMLDivElement | null>(null);
134-
135-
const scrollToGetStarted = () => {
136-
sectionRef.current?.scrollIntoView({ behavior: "smooth" });
137-
};
138135
return (
139136
<>
140-
<HeroLanding {...props} scrollToGetStarted={scrollToGetStarted} />
141-
<GetStarted {...props} sectionRef={sectionRef} />
142-
<DividerLandingPage />
143-
<WhatIsRenku
144-
projectPath={props.homeCustomized.projectPath}
145-
datasetSlug={props.homeCustomized.datasetSlug}
146-
/>
147-
<DividerLandingPage />
148-
<SectionShowcase
149-
{...validatedShowcaseConfig(props.homeCustomized.showcase)}
150-
/>
151-
{props.homeCustomized.showcase.enabled ? (
152-
<DividerLandingPage />
153-
) : undefined}
154-
<Teaching />
137+
<HeroLanding {...props} />
138+
<Introduction />
139+
<WhatIsRenku />
140+
<GetStarted />
141+
<RenkuUsers />
155142
<DividerLandingPage />
143+
<RenkuBenefits />
144+
<ResourcesAndSupport />
156145
<WhoWeAre />
157-
<BottomNav {...props} />
146+
<BottomNav />
158147
</>
159148
);
160149
}

client/src/landing/LazyAnonymousHome.tsx renamed to client/src/features/landing/LazyAnonymousHome.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import { Suspense, lazy } from "react";
2020

21-
import PageLoader from "../components/PageLoader";
21+
import PageLoader from "../../components/PageLoader";
2222

2323
const AnonymousHome = lazy(() => import("./AnonymousHome"));
2424

client/src/landing/anonymousHome.types.ts renamed to client/src/features/landing/anonymousHome.types.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,6 @@ export interface HomepageParams {
3838
contentMd: string;
3939
};
4040
};
41-
datasetSlug: string;
4241
projectPath: string;
43-
showcase: {
44-
enabled: boolean;
45-
title: string;
46-
description: string;
47-
projects: {
48-
identifier: string;
49-
overrideDescription?: string;
50-
overrideImageUrl?: string;
51-
overrideTitle?: string;
52-
}[];
53-
};
5442
tutorialLink: string;
5543
}

0 commit comments

Comments
 (0)