From e830233e6301f7285a9afbf4f8298a85cdc3167c Mon Sep 17 00:00:00 2001 From: Ishaan Shah <70190533+ishaan812@users.noreply.github.com> Date: Wed, 30 Oct 2024 03:26:51 +0530 Subject: [PATCH] editor bug-fixes --- packages/nextjs/app/api/frame/[id]/route.ts | 1 - .../nextjs/app/api/frog/[...routes]/route.tsx | 38 +++++++----- packages/nextjs/app/api/journey/route.ts | 10 ++-- packages/nextjs/app/dashboard/layout.tsx | 12 ++-- packages/nextjs/app/dashboard/page.tsx | 49 ++++++++------- packages/nextjs/components/ButtonEditor.tsx | 55 ++++++++++------- packages/nextjs/components/FrameRenderer.tsx | 59 ++++++++++++++----- packages/nextjs/constants/index.ts | 2 + 8 files changed, 142 insertions(+), 84 deletions(-) diff --git a/packages/nextjs/app/api/frame/[id]/route.ts b/packages/nextjs/app/api/frame/[id]/route.ts index 9d8a5be..f158a22 100644 --- a/packages/nextjs/app/api/frame/[id]/route.ts +++ b/packages/nextjs/app/api/frame/[id]/route.ts @@ -24,7 +24,6 @@ export async function PUT(req: NextRequest, { params }: { params: { id: string } return new NextResponse(JSON.stringify(frame)); } -// delete frame export async function DELETE(req: NextRequest, { params }: { params: { id: string } }) { await connectDB(); const frame_id = params.id; diff --git a/packages/nextjs/app/api/frog/[...routes]/route.tsx b/packages/nextjs/app/api/frog/[...routes]/route.tsx index 84fd369..04d6fe4 100644 --- a/packages/nextjs/app/api/frog/[...routes]/route.tsx +++ b/packages/nextjs/app/api/frog/[...routes]/route.tsx @@ -1,10 +1,11 @@ /** @jsxImportSource frog/jsx */ +import { error } from "console"; import { Button, Frog, TextInput, parseEther } from "frog"; import { FrameData } from "frog/_lib/types/frame"; import { devtools } from "frog/dev"; import { handle } from "frog/next"; import { serveStatic } from "frog/serve-static"; -import { ABI } from "~~/constants"; +import { ABI, htmlErrorImageTemplate } from "~~/constants"; import Analytics from "~~/model/analytics"; import { getFrameAtServer } from "~~/services/frames"; import { Frame } from "~~/types/commontypes"; @@ -154,19 +155,28 @@ app.image("/:journeyId/:frameId/img", async c => { if (!match || match.length < 3) { throw new Error("Invalid journey or frame ID"); } - - const [, , frameId] = match; - const data: Frame = await getFrameAtServer(frameId); - const frame = makeFrogFrame(data.frameJson); - const parsedHTML = parseHtmlToJsxNode(frame.image.content as string); - return c.res({ - headers: { - "Cache-Control": "max-age=0", - "cache-control": "max-age=0", - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - image: parsedHTML as any, - }); + try { + const [, , frameId] = match; + const data: Frame = await getFrameAtServer(frameId); + const frame = makeFrogFrame(data.frameJson); + const parsedHTML = parseHtmlToJsxNode(frame.image.content as string); + const res = c.res({ + headers: { + "Cache-Control": "max-age=0", + "cache-control": "max-age=0", + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + image: parsedHTML as any, + }); + return res; + } catch (error) { + console.log("Error encountered:", error); + const htmlErrorImage = htmlErrorImageTemplate.replace("$$ErrorString$$", error.toString()); + const errorImage = parseHtmlToJsxNode(htmlErrorImage); + return c.res({ + image: errorImage as any, + }); + } }); devtools(app, { serveStatic }); diff --git a/packages/nextjs/app/api/journey/route.ts b/packages/nextjs/app/api/journey/route.ts index 063dec5..ea15e55 100644 --- a/packages/nextjs/app/api/journey/route.ts +++ b/packages/nextjs/app/api/journey/route.ts @@ -3,16 +3,18 @@ import Journey from "~~/model/journey"; import connectDB from "~~/services/connectDB"; export async function GET(req: NextRequest) { - const { searchParams } = new URL(req.url); - const walletAddress = searchParams.get("walletAddress") as string; + // const { searchParams } = new URL(req.url); + // const walletAddress = searchParams.get("walletAddress") as string; - console.log(walletAddress); + // console.log(walletAddress); await connectDB(); const journeys = await Journey.find({ - walletAddress, + // TODO: uncomment + // walletAddress, }); + console.log("yabba", journeys); return NextResponse.json(journeys); } diff --git a/packages/nextjs/app/dashboard/layout.tsx b/packages/nextjs/app/dashboard/layout.tsx index 0987b97..c64ce16 100644 --- a/packages/nextjs/app/dashboard/layout.tsx +++ b/packages/nextjs/app/dashboard/layout.tsx @@ -21,12 +21,12 @@ const DashboardLayout = ({ children }: LayoutProps) => { }, }); - useEffect(() => { - if (!address) { - notification.error(`You need to connect your wallet to access this page`); - redirect("/"); - } - }, [address]); + // useEffect(() => { + // if (!address) { + // notification.error(`You need to connect your wallet to access this page`); + // redirect("/"); + // } + // }, [address]); const dehydratedState = dehydrate(queryClient); return {children}; }; diff --git a/packages/nextjs/app/dashboard/page.tsx b/packages/nextjs/app/dashboard/page.tsx index 8501136..3c9dee2 100644 --- a/packages/nextjs/app/dashboard/page.tsx +++ b/packages/nextjs/app/dashboard/page.tsx @@ -15,6 +15,7 @@ import { Skeleton } from "~~/~/components/ui/skeleton"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "~~/~/components/ui/tabs"; const MyFrames = ({ frames }: { frames: Journey[] }) => { + console.log("Chammma", frames) const [showAll, setShowAll] = useState(false); const displayedFrames = showAll ? frames : frames.slice(0, 4); @@ -25,11 +26,9 @@ const MyFrames = ({ frames }: { frames: Journey[] }) => {
-

No frames yet

-

- Get started by creating your first frame or pick a system template -

- +

No journeys yet

+

Get started by using a precreated template ⚡

+ ); @@ -38,7 +37,7 @@ const MyFrames = ({ frames }: { frames: Journey[] }) => { return (
-

My Frames

+

My Frame Journeys

{frames.length > 4 && (