Skip to content
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
81a550b
feat: add support for extra cards on curator tab
alcercu Mar 27, 2025
8d87ef0
fix(frontend): remove integrate section from ForBuilders
alcercu Mar 27, 2025
d72bff4
fix(frontend): remove elements from for lawyers page
alcercu Mar 27, 2025
e7cef8d
fix(frontend): remove stats from home page
alcercu Mar 27, 2025
c107b2e
Merge pull request #89 from kleros/feat(frontend)/add-extra-curator-c…
alcercu Mar 27, 2025
68bcee2
Merge branch 'fix(frontend)/apply-feedback-round-1' into fix(frontend…
alcercu Mar 27, 2025
d3e6ef8
Merge pull request #88 from kleros/fix(frontend)/remove-unwanted-elem…
alcercu Mar 27, 2025
0bf61ec
fix(frontend): remove home hero enter court button
alcercu Mar 28, 2025
b7681c0
fix(frontend): second round of feedback
alcercu Mar 31, 2025
2d10990
fix(frontend): rename path for-builders and for-lawyers to web-three …
alcercu Mar 31, 2025
1fb43e1
fix(frontend): reorder fellows section
alcercu Mar 31, 2025
38de70c
feat(frontend): add new home sections
alcercu Apr 2, 2025
5983784
feat(frontend): add pagination for mobile fellowship section
alcercu Apr 2, 2025
eea4ab4
fix(frontend): remove app list from home page
alcercu Apr 2, 2025
be7e2c0
feat(frontend): add svgr and arrows to mobile pagination
alcercu Apr 3, 2025
7e4090e
fix(frontend): remove unwanted sections
alcercu Apr 3, 2025
74d98a0
fix(frontend): remove unwanted sections
alcercu Apr 4, 2025
2a1857a
fix(frontend): footer subscribe link
alcercu Apr 4, 2025
644dc2e
feat(frontend): add industries cards
alcercu Apr 4, 2025
fdafe15
Merge branch 'master' into fix(frontend)/apply-feedback-round-1
alcercu Apr 4, 2025
0d3540b
feat(frontend): add for governemnts section
alcercu Apr 4, 2025
af89a8d
Merge branch 'master' into fix(frontend)/apply-feedback-round-1
alcercu Apr 7, 2025
f3b24be
fix(frontend): add more feedback
alcercu Apr 7, 2025
72adb30
feat(frontend): add swipable carousels R&D page
alcercu Apr 7, 2025
a624af6
fix(frontend): remove pnk token tokenomics section
alcercu Apr 7, 2025
eb916d6
fix(frontend): remove links r&d
alcercu Apr 8, 2025
28ebf5f
Merge branch 'master' into fix(frontend)/apply-feedback-round-1
alcercu Apr 8, 2025
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
2 changes: 0 additions & 2 deletions frontend/src/app/for-builders/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import type { Metadata } from "next";

import Hero from "@/components/ForBuilders/Hero";
import UseCasesSection from "@/components/ForBuilders/UseCasesSection";
import IntegrateSection from "@/components/IntegrateSection";
import { heroQuery, HeroQueryType } from "@/queries/for-builders/hero";
import {
useCasesQuery,
Expand All @@ -25,7 +24,6 @@ const ForBuilders: React.FC = async () => {
<UseCasesSection
{...{ useCasesData: useCasesData.forBuildersPageUseCasesSection }}
/>
<IntegrateSection />
</>
);
};
Expand Down
27 changes: 7 additions & 20 deletions frontend/src/app/for-lawyers/components/Hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,26 @@ import React from "react";

import Image from "next/image";

import Button from "@/components/Button";
import CustomLink from "@/components/CustomLink";
import ExternalLink from "@/components/ExternalLink";
import { request } from "@/utils/graphQLClient";

import { heroQuery, HeroQueryType } from "../queries/hero";

const Hero: React.FC = async () => {
const { header, subtitle, buttons, arrowLink, background } = (
const { header, subtitle, background } = (
await request<HeroQueryType>(heroQuery)
).forLawyersPageHero;

return (
<div className="relative px-6 pb-28 pt-44 md:pt-52 lg:px-32 lg:pb-60">
<div className="relative px-6 pb-64 pt-44 md:pt-52 lg:px-32 lg:pb-80">
<div className="space-y-8">
<h1 className="pt-1 text-2xl font-medium text-primary-text lg:pt-3 lg:text-4xl">
<h1
className={
"pt-1 text-2xl font-medium text-primary-text lg:pt-3 lg:text-4xl"
}
>
{header}
</h1>
<p className="max-w-[685px] text-lg text-primary-text">{subtitle}</p>
<div className="flex flex-wrap gap-6">
{buttons.map((button) => (
<CustomLink key={button.text} href={button.link.url}>
<Button variant="secondary">
<span>{button.text}</span>
</Button>
</CustomLink>
))}
</div>
<ExternalLink
text={arrowLink.text}
url={arrowLink.link.url}
className="text-start lg:pb-9 [&>span]:text-primary-text"
/>
</div>
<Image
src={background.url}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import {
} from "../../queries/kleros-dispute-resolution-section";

import ArbitrationMethodTable from "./ArbitrationMethodTable";
import KlerosEscrowSection from "./KlerosEscrowSection";
import ResearchSection from "./ResearchSection";

const KlerosDisputeResolutionSection: React.FC = async () => {
Expand Down Expand Up @@ -54,8 +53,6 @@ const KlerosDisputeResolutionSection: React.FC = async () => {
</h2>
<p className="text-secondary-text lg:text-lg">{thirdSubtitle}</p>
</div>

<KlerosEscrowSection />
</div>
);
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import clsx from "clsx";

import ExternalLink from "@/components/ExternalLink";
import Flowchart from "@/components/Flowchart";
import { request } from "@/utils/graphQLClient";

import {
forLawyersPageMediationSectionQuery,
ForLawyersPageMediationSectionType,
} from "../../queries/kleros-mediation-section";
import Card from "../Card";
import Flowchart from "../Flowchart";

const KlerosMediationSection: React.FC = async () => {
const { header, subtitle, cards, flowchart, benefitsHeader, arrowLink } = (
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/home/components/CaseStudies.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const CaseStudies: React.FC = async () => {
).then((res) => res.homeCaseStudiesSection);

return (
<div className="bg-background-2 px-6 py-12 lg:px-32 lg:pt-24">
<div className="bg-background-1 px-6 py-12 lg:px-32 lg:pt-24">
<div className="flex flex-col gap-8">
<h3 className="text-xl font-medium text-primary-text lg:text-3xl">
{title}
Expand Down
6 changes: 1 addition & 5 deletions frontend/src/app/home/components/Hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ import { request } from "@/utils/graphQLClient";

import { HeroQueryType, heroQuery } from "../queries/hero";

import TokenStats from "./TokenStats";

const Hero: React.FC = async () => {
const heroData = await request<HeroQueryType>(heroQuery);
const {
Expand All @@ -20,11 +18,10 @@ const Hero: React.FC = async () => {
secondaryButton,
arrowLink,
background,
tokenStats,
} = heroData.homePageHero;

return (
<div className="relative px-6 pb-28 pt-44 md:pt-52 lg:px-32 lg:pb-20">
<div className="relative px-6 pb-56 pt-44 md:pt-52 lg:px-32 lg:pb-72">
<div className="space-y-8">
<h1 className="text-2xl font-medium text-primary-text lg:text-4xl">
{title}
Expand All @@ -49,7 +46,6 @@ const Hero: React.FC = async () => {
text={arrowLink.text}
className="text-start [&>span]:text-base [&>span]:text-primary-text"
/>
<TokenStats {...{ tokenStats }} />
</div>
<Image
src={background.url}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/home/components/LearnPosts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const LearnPosts: React.FC = async () => {
);

return (
<div className="bg-background-1 px-6 py-12 lg:px-32 lg:py-24">
<div className="bg-background-2 px-6 py-12 lg:px-32 lg:py-24">
<div className="flex flex-col gap-8">
<h3 className="text-xl font-medium text-primary-text lg:text-3xl">
{title}
Expand Down
27 changes: 0 additions & 27 deletions frontend/src/app/home/components/TokenStats.tsx

This file was deleted.

2 changes: 1 addition & 1 deletion frontend/src/app/home/components/UseCases.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const UseCases: React.FC = async () => {
return (
<div
className={
"space-y-8 bg-background-2 px-6 pb-12 lg:space-y-12 lg:px-32 lg:pb-24"
"space-y-8 bg-background-1 px-6 pb-12 lg:space-y-12 lg:px-32 lg:pb-24"
}
>
<h3 className="text-xl font-medium text-primary-text lg:text-3xl">
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/app/home/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ const Home: React.FC = async () => {
<Hero />
<TrustedBy />
<HowKlerosWorks />
<LearnPosts />
<CaseStudies />
<UseCases />
<LearnPosts />
<IntegrateSection />
<IntegrateSection listMode />
<StartEarning />
<GetInTouch />
</>
Expand Down
10 changes: 0 additions & 10 deletions frontend/src/app/home/queries/hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ export const heroQuery = gql`
url
}
}
tokenStats {
key
primaryValue
secondaryValue
}
background {
url
}
Expand Down Expand Up @@ -57,11 +52,6 @@ export type HeroQueryType = {
url: string;
};
};
tokenStats: Array<{
key: string;
primaryValue: string;
secondaryValue: string;
}>;
background: {
url: string;
};
Expand Down
6 changes: 5 additions & 1 deletion frontend/src/components/CtaCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ const CtaCard: React.FC<ICtaCard> = ({
<h2 className="mb-6 text-lg font-medium text-primary-text lg:text-xl">
{title}
</h2>
<p className="mb-6 text-base text-secondary-text lg:text-lg">
<p
className={
"mb-6 whitespace-pre-wrap text-base text-secondary-text lg:text-lg"
}
>
{description}
</p>
{typeof arrowLink !== "undefined" ? (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,13 @@ const CuratorTabContent: React.FC<EarnPageBecomeACuratorTab> = ({
{title}
</div>
<div className="text-secondary-text lg:text-lg">{description}</div>
<div className="grid grid-cols-1 gap-6 lg:grid-cols-3">
{ctaCard.map((card) => (
<CtaCard key={card.title} {...card} />
<div className="grid grid-cols-1 gap-6 lg:grid-cols-6">
{ctaCard.map((card, i) => (
<CtaCard
className={i + 1 < ctaCard.length / 2 ? "col-span-3" : "col-span-2"}
key={card.title}
{...card}
/>
))}
</div>
<ExternalLink
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import clsx from "clsx";

import { Flowchart as FlowchartItems } from "../queries/kleros-mediation-section";
import { Flowchart as FlowchartItems } from "@/app/for-lawyers/queries/kleros-mediation-section";

type IFlowchartItem = FlowchartItems[number] & {
background: "primary" | "secondary";
Expand Down
13 changes: 6 additions & 7 deletions frontend/src/components/IntegrateSection/index.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
import React from "react";

import ExternalLink from "@/components/ExternalLink";
import AppsDropdownContent from "@/components/Navbar/AppsDropdownContent";
import { integrateQuery, IntegrateQueryType } from "@/queries/integrate";
import { request } from "@/utils/graphQLClient";

import LearnMore from "../LearnMore";

const IntegrateSection: React.FC = async () => {
interface IIntegrateSection {
listMode?: boolean;
}

const IntegrateSection: React.FC<IIntegrateSection> = async ({ listMode }) => {
const integrateData = await request<IntegrateQueryType>(integrateQuery).then(
(res) => res.forBuildersPageIntegrateSection,
);
Expand All @@ -25,6 +28,7 @@ const IntegrateSection: React.FC = async () => {
</p>
<AppsDropdownContent
appsSection={integrateData.appsSection}
{...{ listMode }}
className="pt-8 lg:pt-16"
/>
<LearnMore
Expand All @@ -33,11 +37,6 @@ const IntegrateSection: React.FC = async () => {
button={integrateData.arrowLink}
className="!mt-12 lg:!mt-16"
/>
<ExternalLink
className="mx-auto mt-12 lg:mt-16"
text={integrateData.arrowLink.text}
url={integrateData.arrowLink.link.url}
/>
</div>
);
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import ExternalLink from "@/components/ExternalLink";
import { request } from "@/utils/graphQLClient";

import Flowchart from "@/components/Flowchart";
import {
ForLawyersPageKlerosEscrowSection,
forLawyersPageKlerosEscrowSectionQuery,
} from "../../queries/kleros-escrow-section";
import Flowchart from "../Flowchart";
} from "@/queries/kleros-escrow-section";
import { request } from "@/utils/graphQLClient";

const KlerosEscrowSection: React.FC = async () => {
const {
Expand Down
8 changes: 6 additions & 2 deletions frontend/src/components/Navbar/AppsDropdownContent/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,25 @@ import Card from "./Card";

interface AppsDropdownContentProps {
appsSection: AppsSection;
listMode?: boolean;
closeFn?: () => void;
className?: string;
}

const AppsDropdownContent: React.FC<AppsDropdownContentProps> = ({
appsSection,
listMode = false,
closeFn,
className,
}) => (
<div className={clsx(className, "mx-auto lg:max-w-[1172px]")}>
<div
className={clsx(
"grid w-full grid-cols-1 gap-3 bg-background-2",
"md:grid-cols-2 md:grid-rows-5",
"lg:grid-flow-col lg:grid-cols-3 lg:grid-rows-4 lg:gap-4",
!listMode && [
"md:grid-cols-2 md:grid-rows-5",
"lg:grid-flow-col lg:grid-cols-3 lg:grid-rows-4 lg:gap-4",
],
)}
>
{appsSection?.solutions.map((solution, i) => (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { gql } from "graphql-request";

import { Flowchart } from "@/app/for-lawyers/queries/kleros-mediation-section";
import { ArrowLink } from "@/queries/navbar";

import { Flowchart } from "./kleros-mediation-section";

export const forLawyersPageKlerosEscrowSectionQuery = gql`
{
forLawyersPageKlerosEscrowSection {
Expand Down