Skip to content

Commit

Permalink
feat: just setting up those 100 lines
Browse files Browse the repository at this point in the history
  • Loading branch information
Zizzamia committed Jan 28, 2024
1 parent 66b2f42 commit 99da0f1
Show file tree
Hide file tree
Showing 12 changed files with 1,666 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
.DS_STORE
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# A Frame in 100 lines (or less)
25 changes: 25 additions & 0 deletions app/api/frame/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { getFrameAccountAddress } from '@coinbase/onchainkit';
import { NextRequest, NextResponse } from 'next/server';

async function getResponse(req: NextRequest): Promise<NextResponse> {
let accountAddress = '';
try {
const body: { trustedData?: { messageBytes?: string } } = await req.json();
accountAddress = await getFrameAccountAddress(body, { NEYNAR_API_KEY: 'NEYNAR_API_DOCS' });
} catch (err) {
console.error(err);
}

return new NextResponse(`<!DOCTYPE html><html><head>
<meta property="fc:frame" content="vNext" />
<meta property="fc:frame:image" content="https://zizzamia.xyz/park-2.png" />
<meta property="fc:frame:button:1" content="Address: ${accountAddress}" />
<meta property="fc:frame:post_url" content="https://zizzamia.xyz/api/frame" />
</head></html>`);
}

export async function POST(req: NextRequest): Promise<Response> {
return getResponse(req);
}

export const dynamic = 'force-dynamic';
12 changes: 12 additions & 0 deletions app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export const viewport = {
width: 'device-width',
initialScale: 1.0,
};

export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>{children}</body>
</html>
);
}
29 changes: 29 additions & 0 deletions app/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { getFrameMetadata } from '@coinbase/onchainkit';
import type { Metadata } from 'next';

const frameMetadata = getFrameMetadata({
buttons: ['Next image'],
image: 'https://zizzamia.xyz/park-1.png',
post_url: 'https://zizzamia.xyz/api/frame',
});

export const metadata: Metadata = {
title: 'zizzamia.xyz',
description: 'LFG',
openGraph: {
title: 'zizzamia.xyz',
description: 'LFG',
images: ['https://zizzamia.xyz/park-1.png'],
},
other: {
...frameMetadata,
},
};

export default function Page() {
return (
<>
<h1>zizzamia.xyz</h1>
</>
);
}
5 changes: 5 additions & 0 deletions next-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
Loading

0 comments on commit 99da0f1

Please sign in to comment.