Skip to content
This repository has been archived by the owner on Aug 20, 2024. It is now read-only.

Commit

Permalink
more code more life
Browse files Browse the repository at this point in the history
  • Loading branch information
Oba-One committed Mar 9, 2024
1 parent 4c859da commit 34fa430
Show file tree
Hide file tree
Showing 44 changed files with 3,315 additions and 912 deletions.
Empty file removed packages/clients/app/constants.ts
Empty file.
2 changes: 1 addition & 1 deletion packages/clients/app/dev-dist/sw.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ define(['./workbox-3b2ae8d1'], (function (workbox) { 'use strict';
"revision": "3ca0b8505b4bec776b69afdba2768812"
}, {
"url": "index.html",
"revision": "0.gherg0cv7d8"
"revision": "0.4bin07bvnb"
}], {});
workbox.cleanupOutdatedCaches();
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {
Expand Down
6 changes: 6 additions & 0 deletions packages/clients/app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Exo+2:wght@100&family=Inter:wght@100;200;300;400;500;600;700&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap"
rel="stylesheet"
/>
<title>Camp Green App</title>
</head>
<body>
Expand Down
10 changes: 7 additions & 3 deletions packages/clients/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,28 @@
"preview": "vite preview"
},
"dependencies": {
"@alchemy/aa-accounts": "3.4.0",
"@alchemy/aa-alchemy": "3.4.0",
"@alchemy/aa-core": "3.4.0",
"@apollo/client": "3.9.5",
"@ethereum-attestation-service/eas-sdk": "1.5.0",
"@hookform/resolvers": "^3.3.4",
"@particle-network/auth-core": "1.3.4",
"@particle-network/auth-core-modal": "1.3.6",
"@particle-network/chains": "1.3.19",
"@privy-io/react-auth": "1.59.1",
"@radix-ui/react-avatar": "^1.0.4",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-label": "^2.0.2",
"@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-slot": "^1.0.2",
"@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-toast": "^1.1.5",
"@react-spring/web": "9.7.3",
"@tokenbound/sdk": "0.4.5",
"@xstate/react": "3.2.2",
"@zerodev/privy": "1.5.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"cmdk": "^0.2.1",
"embla-carousel-react": "^8.0.0",
"graphql": "16.8.0",
"lucide-react": "^0.343.0",
"nft.storage": "7.1.1",
Expand Down
31 changes: 17 additions & 14 deletions packages/clients/app/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
import { Toaster } from "react-hot-toast";

import { useWeb3 } from "./hooks/providers/web3";
import { usePWA, InstallState } from "./hooks/providers/pwa";
import { useWeb3 } from "@/hooks/providers/web3";
import { usePWA, InstallState } from "@/hooks/providers/pwa";
import { CampaignsProvider } from "@/hooks/campaign/useCampaigns";
import { ContributionsProvider } from "@/hooks/contribution/useContributions";

import { Appbar } from "./components/Layout/AppBar";
import { CircleLoader } from "./components/Loader/Circle";
import { OnlyMobile } from "./components/Layout/OnlyMobile";
import Views from "@/views";
import { Login } from "@/views/Login";

import Views from "./views";
import { Login } from "./views/Login";
import { ContributionsProvider } from "./hooks/contribution/useContributions";
import { Appbar } from "@/components/Layout/AppBar";
import { CircleLoader } from "@/components/Loader/Circle";
import { OnlyMobile } from "@/components/Layout/OnlyMobile";

function App() {
const web3Props = useWeb3();
const { installState } = usePWA();
const isLoggedIn = !!web3Props.connected && !web3Props.authenticating;
const isLoggedIn = !!web3Props.address;

const Onboard: Record<InstallState, React.ReactNode> = {
idle: (
<div className="w-screen h-screen pb-20 bg-[#e9e3dd] grid place-items-center z-30 fixed top-0 left-0">
<CircleLoader />
</div>
),
installed: isLoggedIn ? (
installed: !isLoggedIn ? (
<>
<Appbar />
<Views />
Expand All @@ -35,10 +36,12 @@ function App() {
};

return (
<ContributionsProvider>
{Onboard[installState]}
<Toaster />
</ContributionsProvider>
<CampaignsProvider>
<ContributionsProvider>
{Onboard[installState]}
<Toaster />
</ContributionsProvider>
</CampaignsProvider>
);
}

Expand Down
39 changes: 39 additions & 0 deletions packages/clients/app/src/components/Campaign/Card.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import * as React from "react";

import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "../ui/card";
import { Badge } from "../ui/badge";

export interface CampaignCardProps extends Campaign {}

export const CampaignCard: React.FC<CampaignCardProps> = ({
capitals,
title,
description,
// id,
// created_at,
banner,
}) => {
return (
<Card className="w-[350px]">
<img src={banner} />
<CardHeader className="px-6">
<CardTitle>{title}</CardTitle>
<div>
{capitals.map((capital) => (
<Badge>{capital}</Badge>
))}
</div>
<CardDescription>{description}</CardDescription>
</CardHeader>
<CardContent>Content</CardContent>
<CardFooter className="flex justify-between"></CardFooter>
</Card>
);
};
72 changes: 72 additions & 0 deletions packages/clients/app/src/components/Campaign/Viewer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
import React from "react";
import { useParams } from "react-router-dom";

import { useCampaign } from "@/hooks/campaign/useCampaign";

import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "../ui/card";
import { Badge } from "../ui/badge";

interface CampaignViewerProps {}

const CampaignViewer: React.FC<CampaignViewerProps> = () => {
const params = useParams<{
id: string;
}>();

console.log(params.id);

const {
// cammpaignAddrs,
capitals,
// created_at,
description,
// proof,
// id,
// status,
title,
// user,
// value,
} = useCampaign(params.id ?? "");

return (
<Card className={`relative w-full h-full`}>
<CardHeader className="px-6">
<CardTitle>{title}</CardTitle>
<CardDescription>{description}</CardDescription>
</CardHeader>
<CardContent>
{capitals.map((capital) => (
<Badge>{capital}</Badge>
))}
<hr />
<div>
<h4></h4>
<h6></h6>
<div>
{/* {capitals.map((capital) => (
<div />
))} */}
</div>
<h6></h6>
<div>
{/* {team.map((member) => (
<div />
))} */}
</div>
<h6></h6>
<div></div>
</div>
</CardContent>
<CardFooter>Footer</CardFooter>{" "}
</Card>
);
};

export default CampaignViewer;
Original file line number Diff line number Diff line change
@@ -1,41 +1,62 @@
import React from "react";
import { useParams } from "react-router-dom";

import { useContribution } from "../../hooks/contribution/useContribution";
import { useContribution } from "@/hooks/contribution/useContribution";

interface ContributionProps {}
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "../ui/card";
import { Badge } from "../ui/badge";

const Contribution: React.FC<ContributionProps> = () => {
interface ContributionViewerProps {}

const ContributionViewer: React.FC<ContributionViewerProps> = () => {
const params = useParams<{
id: string;
}>();

console.log(params.id);

const {
// cammpaignAddrs,
// capitals,
capitals,
// created_at,
// description,
// proof,
// id,
description,
proof,
id,
// status,
// title,
title,
// user,
// value,
} = useContribution(params.id ?? "");

return (
<section className={`relative w-full h-full`}>
<Card className={`relative w-full h-full`}>
<div>
<div>
<img src="" />
{proof?.length && <img src={proof[0]} />}
<CardHeader className="px-6">
<CardTitle>{title}</CardTitle>
<div>
{capitals.map((capital) => (
<Badge>{capital}</Badge>
))}
</div>
<CardDescription>{description}</CardDescription>
</CardHeader>
<div>
<img src="" />
<img src="" />
</div>
<div>
<p></p>
<p>{id}</p>
<h3></h3>
<p></p>
<p>{title}</p>
<p></p>
</div>
<hr />
Expand All @@ -59,8 +80,8 @@ const Contribution: React.FC<ContributionProps> = () => {
</div>
</div>
<aside></aside>
</section>
</Card>
);
};

export default Contribution;
export default ContributionViewer;
8 changes: 3 additions & 5 deletions packages/clients/app/src/components/Layout/AppBar.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import { Link, useLocation } from "react-router-dom";
import { a, config, useSpring } from "@react-spring/web";

import HomeIcon from "../../assets/icons/waves.svg?react";
import ContributeIcon from "../../assets/icons/add.svg?react";
import ProfileIcon from "../../assets/icons/profile.svg?react";
import { HomeIcon, PlusIcon, CircleUserRoundIcon } from "lucide-react";

const tabs: {
path: string;
Expand All @@ -22,12 +20,12 @@ const tabs: {
{
path: "/contribute",
title: "Contribute",
Icon: ContributeIcon,
Icon: PlusIcon,
},
{
path: "/profile",
title: "Profile",
Icon: ProfileIcon,
Icon: CircleUserRoundIcon,
},
];

Expand Down
19 changes: 10 additions & 9 deletions packages/clients/app/src/components/Layout/OnlyMobile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,18 +69,19 @@ export const OnlyMobile: React.FC = () => {

return (
<a.div className="grid place-items-center w-screen h-screen text-center z-10">
<a.div style={contentSpring} className="flex flex-col gap-12">
<a.div
style={contentSpring}
className="flex flex-col items-center gap-12"
>
<div className="justify-self-start flex flex-col gap-2">
<h1 className="text-9xl font-bold leading-[6rem]">Web3</h1>
<p className="text-4xl tracking-wider">
Connecting Generative Art & Culture
</p>
<h1 className="text-9xl font-bold leading-[6rem]">Camp Green</h1>
<p className="text-4xl tracking-wider"></p>
</div>
<p className="text-2xl font-normal tracking-wide">
📲 Visit <span className="font-bold">web3.app</span> on phone to
install app
📲 Visit <span className="font-bold">app.campgreen.world</span> on
phone to install app
</p>
<form
{/* <form
onSubmit={handleSubscribe}
className="flex flex-col gap-2 justify-self-start"
>
Expand All @@ -96,7 +97,7 @@ export const OnlyMobile: React.FC = () => {
>
Subscribe
</button>
</form>
</form> */}
</a.div>
</a.div>
);
Expand Down
Loading

0 comments on commit 34fa430

Please sign in to comment.