Skip to content

Commit

Permalink
Merge pull request #1 from mbellamj/feat/connect-wallet
Browse files Browse the repository at this point in the history
feat(component): implement connect-wallet component
  • Loading branch information
mbellamj authored May 2, 2024
2 parents feef5e4 + ed0ff42 commit 4d733db
Show file tree
Hide file tree
Showing 18 changed files with 943 additions and 21 deletions.
246 changes: 246 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"@web3-react/types": "^8.2.3",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"cmdk": "^0.2.1",
"eventemitter3": "^5.0.1",
"lucide-react": "^0.376.0",
"next": "14.2.3",
Expand Down
18 changes: 18 additions & 0 deletions public/metamask.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: 5 additions & 0 deletions public/phantom.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 11 additions & 1 deletion src/app/[locale]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
import { ConnectWallet } from "@/components/app/connect-wallet";

export default function Home() {
return <main>Home page</main>;
return (
<main className="grid flex-1 items-start gap-4 p-4 sm:px-6 sm:py-0 md:gap-8 lg:grid-cols-3 xl:grid-cols-3">
<div className="grid auto-rows-max items-start gap-4 md:gap-8 lg:col-span-2">
<div className="grid gap-4 sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-2 xl:grid-cols-4">
<ConnectWallet />
</div>
</div>
</main>
);
}
42 changes: 42 additions & 0 deletions src/components/app/connect-wallet/dialog.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
"use client";

import { Button } from "@/components/ui/button";
import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog";
import { useTranslations } from "next-intl";
import { FC, useState } from "react";
import { ConnectorPicker } from "../connector/picker";

interface ConnectWalletDialogProps {}

export const ConnectWalletDialog: FC<ConnectWalletDialogProps> = () => {
const [visible, setVisible] = useState(false);
const t = useTranslations("ConnectWallet.dialog");

return (
<Dialog open={visible} onOpenChange={setVisible}>
<DialogTrigger asChild>
<Button>
<span className="first-letter:capitalize">{t("trigger")}</span>
</Button>
</DialogTrigger>
<DialogContent>
<DialogHeader>
<DialogTitle className="first-letter:capitalize">
{t("title")}
</DialogTitle>
<DialogDescription className="max-w-lg text-balance leading-relaxed first-letter:capitalize">
{t("description")}
</DialogDescription>
</DialogHeader>
<ConnectorPicker />
</DialogContent>
</Dialog>
);
};
23 changes: 23 additions & 0 deletions src/components/app/connect-wallet/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"use client";

import { Card, CardFooter, CardHeader, CardTitle } from "@/components/ui/card";
import { useTranslations } from "next-intl";
import { FC } from "react";
import { ConnectWalletDialog } from "./dialog";

interface ConnectWalletProps {}

export const ConnectWallet: FC<ConnectWalletProps> = () => {
const t = useTranslations("ConnectWallet.card");

return (
<Card className="sm:col-span-2">
<CardHeader className="pb-3">
<CardTitle className="first-letter:capitalize">{t("title")}</CardTitle>
</CardHeader>
<CardFooter>
<ConnectWalletDialog />
</CardFooter>
</Card>
);
};
Loading

0 comments on commit 4d733db

Please sign in to comment.