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 && (