From 3b552010b394de4061ee69ce8a1410d4a5aab468 Mon Sep 17 00:00:00 2001
From: sktbrd <sktbrd.eth@gmail.com>
Date: Fri, 30 Aug 2024 12:27:48 -0300
Subject: [PATCH 01/23] changed min-width and clean console.logs

---
 src/fidgets/ui/Links.tsx | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/fidgets/ui/Links.tsx b/src/fidgets/ui/Links.tsx
index 4310b900..8d9dfc36 100644
--- a/src/fidgets/ui/Links.tsx
+++ b/src/fidgets/ui/Links.tsx
@@ -66,7 +66,7 @@ export const linkConfig: FidgetProperties = {
     },
     {
       fieldName: "viewMode",
-      default: "grid",
+      default: "list",
       required: false,
       inputSelector: SwitchButton,
       group: "style",
@@ -129,9 +129,9 @@ export const linkConfig: FidgetProperties = {
     },
   ],
   size: {
-    minHeight: 1,
+    minHeight: 2,
     maxHeight: 36,
-    minWidth: 4,
+    minWidth: 2,
     maxWidth: 36,
   },
 };
@@ -141,12 +141,7 @@ export const Links: React.FC<FidgetArgs<LinkFidgetSettings>> = ({
 }) => {
   const links = Array.isArray(settings.links) ? settings.links : [];
   const isGridView = settings.viewMode === "grid";
-  useEffect(() => {
-    console.log("Links fidget settings:", settings.links);
-  }, [settings.links]);
-  useEffect(() => {
-    console.log("Links fidget settings:", settings.links);
-  }, [settings.links]);
+
   return (
     <div
       style={{

From 475e7e7ba82460fa8f85130e81c8229618476685 Mon Sep 17 00:00:00 2001
From: sktbrd <sktbrd.eth@gmail.com>
Date: Fri, 30 Aug 2024 12:28:12 -0300
Subject: [PATCH 02/23] clean unused import

---
 src/fidgets/ui/Links.tsx | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/fidgets/ui/Links.tsx b/src/fidgets/ui/Links.tsx
index 8d9dfc36..1ddee40f 100644
--- a/src/fidgets/ui/Links.tsx
+++ b/src/fidgets/ui/Links.tsx
@@ -4,7 +4,6 @@ import CSSInput from "@/common/components/molecules/CSSInput";
 import ColorSelector from "@/common/components/molecules/ColorSelector";
 import FontSelector from "@/common/components/molecules/FontSelector";
 import { FidgetArgs, FidgetProperties, FidgetModule } from "@/common/fidgets";
-import { defaultStyleFields } from "../helpers";
 import { FidgetSettingsStyle } from "@/common/fidgets";
 import {
   CardHeader,

From f216c19330c485b6e9286bcb23fb9bac034bde41 Mon Sep 17 00:00:00 2001
From: sktbrd <sktbrd.eth@gmail.com>
Date: Fri, 30 Aug 2024 12:50:48 -0300
Subject: [PATCH 03/23] Links description Colors, replace avatar url

---
 .../components/molecules/LinksInput.tsx       |  6 ++---
 src/fidgets/ui/Links.tsx                      | 23 ++++++++++++++-----
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/common/components/molecules/LinksInput.tsx b/src/common/components/molecules/LinksInput.tsx
index c2a69a27..72889495 100644
--- a/src/common/components/molecules/LinksInput.tsx
+++ b/src/common/components/molecules/LinksInput.tsx
@@ -94,12 +94,12 @@ const LinksInput = forwardRef<HTMLInputElement, LinksInputProps>(
       const newLink = {
         text: "New Link",
         url: "https://",
-        avatar: "/images/chainEmoji.png",
+        avatar: "https://www.nounspace.com/images/chainEmoji.png",
         description: "Description",
       };
 
       onChange?.([...value, newLink]);
-      setVisibleFields([...visibleFields, true]); // Automatically expand new link
+      setVisibleFields([...visibleFields, true]);
     };
 
     const removeLink = (index: number) => {
@@ -133,7 +133,7 @@ const LinksInput = forwardRef<HTMLInputElement, LinksInputProps>(
                 value={link.url}
                 onChange={(e: any) => {
                   handleLinkChange(index, { ...link, url: e.target.value });
-                  showAdditionalFields(index); // Show fields when URL is updated
+                  showAdditionalFields(index);
                 }}
               />
               <TextFieldSlot>
diff --git a/src/fidgets/ui/Links.tsx b/src/fidgets/ui/Links.tsx
index 1ddee40f..1a94533d 100644
--- a/src/fidgets/ui/Links.tsx
+++ b/src/fidgets/ui/Links.tsx
@@ -36,6 +36,8 @@ export type LinkFidgetSettings = {
   itemBackground: string;
   viewMode: ViewMode;
   description?: string;
+  DescriptionColor: string;
+  HeaderColor: string;
 } & FidgetSettingsStyle;
 
 export const linkConfig: FidgetProperties = {
@@ -55,7 +57,7 @@ export const linkConfig: FidgetProperties = {
         {
           text: "Nouns",
           url: "https://nouns.wtf",
-          avatar: "/images/nouns.svg",
+          avatar: "https://nouns.wtf/static/media/noggles.7644bfd0.svg",
           description: "Funds ideas",
         },
       ],
@@ -78,7 +80,14 @@ export const linkConfig: FidgetProperties = {
       group: "style",
     },
     {
-      fieldName: "fontColor",
+      fieldName: "HeaderColor",
+      default: "black",
+      required: false,
+      inputSelector: ColorSelector,
+      group: "style",
+    },
+    {
+      fieldName: "DescriptionColor",
       default: "black",
       required: false,
       inputSelector: ColorSelector,
@@ -153,6 +162,7 @@ export const Links: React.FC<FidgetArgs<LinkFidgetSettings>> = ({
         overflow: "auto",
         scrollbarWidth: "none",
         padding: "0.5rem",
+        borderRadius: "1rem",
       }}
     >
       {settings?.title && (
@@ -161,7 +171,7 @@ export const Links: React.FC<FidgetArgs<LinkFidgetSettings>> = ({
             className="text-2xl font-bold"
             style={{
               fontFamily: settings.headingsFontFamily,
-              color: settings.fontColor,
+              color: settings.HeaderColor,
             }}
           >
             {settings.title}
@@ -223,12 +233,12 @@ export const Links: React.FC<FidgetArgs<LinkFidgetSettings>> = ({
                     className="items-start text-base font-normal text-black dark:text-white flex-grow"
                     style={{
                       fontFamily: settings.fontFamily,
-                      color: settings.fontColor,
+                      color: settings.HeaderColor,
                       textAlign: "left",
                       wordWrap: "break-word",
                       overflow: "hidden",
                       textOverflow: "ellipsis",
-                      maxHeight: "3rem", // Adjust this value to limit the height of the text
+                      maxHeight: "3rem",
                       display: "-webkit-box",
                       WebkitLineClamp: 2,
                       WebkitBoxOrient: "vertical",
@@ -242,11 +252,12 @@ export const Links: React.FC<FidgetArgs<LinkFidgetSettings>> = ({
                   </CardDescription>
                   {link.description && (
                     <p
-                      className="text-sm font-normal text-gray-500 dark:text-gray-400"
+                      className="text-sm font-normal"
                       style={{
                         wordWrap: "break-word",
                         overflow: "hidden",
                         textOverflow: "ellipsis",
+                        color: settings.DescriptionColor,
                       }}
                     >
                       {link.description}

From e87db7f963c5f799806e1d9e9a3aae395500521a Mon Sep 17 00:00:00 2001
From: sktbrd <sktbrd.eth@gmail.com>
Date: Fri, 30 Aug 2024 13:12:25 -0300
Subject: [PATCH 04/23] Links input handling focus

---
 src/common/components/molecules/LinksInput.tsx | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/common/components/molecules/LinksInput.tsx b/src/common/components/molecules/LinksInput.tsx
index 72889495..b0cdfb69 100644
--- a/src/common/components/molecules/LinksInput.tsx
+++ b/src/common/components/molecules/LinksInput.tsx
@@ -135,6 +135,7 @@ const LinksInput = forwardRef<HTMLInputElement, LinksInputProps>(
                   handleLinkChange(index, { ...link, url: e.target.value });
                   showAdditionalFields(index);
                 }}
+                onFocus={() => showAdditionalFields(index)}
               />
               <TextFieldSlot>
                 <p

From bca4e3f7957aa3a98d52450dc2377f5d661dc426 Mon Sep 17 00:00:00 2001
From: Jesse Paterson <jesse.r.pat@gmail.com>
Date: Sun, 1 Sep 2024 13:47:19 -0500
Subject: [PATCH 05/23] should fix initial feed settings (#391)

---
 src/fidgets/farcaster/Feed.tsx                        | 2 +-
 src/pages/homebase/index.tsx                          | 4 ++--
 supabase/migrations/20240821215436_spaceOrderings.sql | 2 --
 3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/fidgets/farcaster/Feed.tsx b/src/fidgets/farcaster/Feed.tsx
index 66b6d37d..b901e66b 100644
--- a/src/fidgets/farcaster/Feed.tsx
+++ b/src/fidgets/farcaster/Feed.tsx
@@ -109,7 +109,7 @@ const feedProperties: FidgetProperties<FeedFidgetSettings> = {
       displayName: "Username",
       inputSelector: TextInput,
       required: false,
-      disabledIf: (settings) => settings.selectPlatform.name === "Farcaster",
+      disabledIf: (settings) => settings.selectPlatform.name === "farcaster",
       default: "thenounspace",
     },
     {
diff --git a/src/pages/homebase/index.tsx b/src/pages/homebase/index.tsx
index 958c1841..4e9d4031 100644
--- a/src/pages/homebase/index.tsx
+++ b/src/pages/homebase/index.tsx
@@ -65,8 +65,8 @@ const Homebase: NextPageWithLayout = () => {
     args.feed = (
       <FeedModule.fidget
         settings={{
-          feedType: FeedType.Filter,
-          users: String(currentFid),
+          feedType: FeedType.Following,
+          users: "",
           filterType: FilterType.Users,
           selectPlatform: { name: "farcaster", icon: "/images/farcaster.jpeg" },
           Xhandle: "",
diff --git a/supabase/migrations/20240821215436_spaceOrderings.sql b/supabase/migrations/20240821215436_spaceOrderings.sql
index cb813731..9d305628 100644
--- a/supabase/migrations/20240821215436_spaceOrderings.sql
+++ b/supabase/migrations/20240821215436_spaceOrderings.sql
@@ -10,8 +10,6 @@ create table "public"."spaceOrderings" (
 
 alter table "public"."spaceOrderings" enable row level security;
 
-alter table "public"."spaceRegistrations" drop column "isDefault";
-
 CREATE INDEX "fidRegistrations_fid_idx" ON public."fidRegistrations" USING btree (fid);
 
 CREATE UNIQUE INDEX "spaceOrderings_pkey" ON public."spaceOrderings" USING btree (id);

From b30df1729cb4b5c163914c5cc61107fb45dc3a1a Mon Sep 17 00:00:00 2001
From: Jesse Paterson <jesse.r.pat@gmail.com>
Date: Sun, 1 Sep 2024 13:50:55 -0500
Subject: [PATCH 06/23] Feed fix (#392)

---
 src/fidgets/farcaster/Feed.tsx | 4 ++--
 src/pages/homebase/index.tsx   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/fidgets/farcaster/Feed.tsx b/src/fidgets/farcaster/Feed.tsx
index b901e66b..3658d051 100644
--- a/src/fidgets/farcaster/Feed.tsx
+++ b/src/fidgets/farcaster/Feed.tsx
@@ -93,7 +93,7 @@ const feedProperties: FidgetProperties<FeedFidgetSettings> = {
       displayName: "Select App",
       inputSelector: PlatformSelector,
       required: false,
-      default: { name: "farcaster", icon: "/images/farcaster.jpeg" },
+      default: { name: "Farcaster", icon: "/images/farcaster.jpeg" },
     },
     {
       fieldName: "feedType",
@@ -206,7 +206,7 @@ export const FEED_TYPES = [
 
 const Feed: React.FC<FidgetArgs<FeedFidgetSettings>> = ({ settings }) => {
   const {
-    selectPlatform = { name: "farcaster", icon: "/images/farcaster.jpeg" },
+    selectPlatform = { name: "Farcaster", icon: "/images/farcaster.jpeg" },
     Xhandle,
     style,
   } = settings;
diff --git a/src/pages/homebase/index.tsx b/src/pages/homebase/index.tsx
index 4e9d4031..232610b4 100644
--- a/src/pages/homebase/index.tsx
+++ b/src/pages/homebase/index.tsx
@@ -68,7 +68,7 @@ const Homebase: NextPageWithLayout = () => {
           feedType: FeedType.Following,
           users: "",
           filterType: FilterType.Users,
-          selectPlatform: { name: "farcaster", icon: "/images/farcaster.jpeg" },
+          selectPlatform: { name: "Farcaster", icon: "/images/farcaster.jpeg" },
           Xhandle: "",
           style: "",
         }}

From 56b7d3c2c58ce991fa30203750c2e6dbe28d6012 Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Tue, 3 Sep 2024 18:41:36 -0300
Subject: [PATCH 07/23] =?UTF-8?q?link=20=E2=8C=90=E2=97=A8-=E2=97=A8=20log?=
 =?UTF-8?q?o=20to=20@wtfisnouns=20space=20(#395)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Willy Ogorzaly <willy@ogorzaly.com>
---
 src/common/components/molecules/BrandHeader.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/common/components/molecules/BrandHeader.tsx b/src/common/components/molecules/BrandHeader.tsx
index 260bc12c..828c32d5 100644
--- a/src/common/components/molecules/BrandHeader.tsx
+++ b/src/common/components/molecules/BrandHeader.tsx
@@ -18,7 +18,7 @@ const BrandHeader = () => {
       <TooltipProvider>
         <Tooltip>
           <Link
-            href="/homebase"
+            href="https://nounspace.com/s/wtfisnouns"
             className="flex items-center ps-2.5"
             rel="noopener noreferrer"
           >

From 1ed504a9906ed3f20b74ad07c905a7aa9c1345ff Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Wed, 4 Sep 2024 16:59:24 -0300
Subject: [PATCH 08/23] the whole link card is clicable now (#379)

---
 src/fidgets/ui/Links.tsx | 103 +++++++++++++++++++++------------------
 1 file changed, 56 insertions(+), 47 deletions(-)

diff --git a/src/fidgets/ui/Links.tsx b/src/fidgets/ui/Links.tsx
index 1a94533d..0e949c31 100644
--- a/src/fidgets/ui/Links.tsx
+++ b/src/fidgets/ui/Links.tsx
@@ -182,53 +182,62 @@ export const Links: React.FC<FidgetArgs<LinkFidgetSettings>> = ({
       <div className={isGridView ? "grid grid-cols-3 gap-4" : "flex flex-col"}>
         {links.length > 0 &&
           links.map((link, index) => (
-            <CardContent
-              style={{
-                background: settings.itemBackground,
-                wordWrap: "break-word",
-                maxHeight: "200px",
-                height: "auto",
-                display: "flex",
-                flexDirection: isGridView ? "column" : "row",
-                padding: isGridView ? "1rem" : "0.5rem",
-                margin: isGridView ? "0.25rem" : "0.5rem",
-                overflow: "hidden",
-                textOverflow: "ellipsis",
-                transition: "transform 0.3s",
-              }}
-              className={
-                isGridView
-                  ? "p-4 flex flex-col items-start justify-between m-1 bg-gradient-to-r from-gray-100 to-gray-300 rounded-md hover:scale-105"
-                  : "p-2 flex items-center justify-between m-2 bg-gradient-to-r from-gray-100 to-gray-300 rounded-md hover:scale-105"
-              }
+            <a
               key={index}
+              href={link.url}
+              target="_blank"
+              rel="noopener noreferrer"
             >
-              {link.avatar ? (
-                <Avatar className={isGridView ? "mb-2" : "mr-2 flex-shrink-0"}>
-                  <AvatarImage
-                    style={{ padding: "5px" }}
-                    src={link.avatar}
-                    alt={link.text}
-                  />
-                  <AvatarFallback>
-                    <span className="sr-only">{link.text}</span>
-                  </AvatarFallback>
-                </Avatar>
-              ) : (
-                <Avatar className={isGridView ? "mb-2" : "mr-2 flex-shrink-0"}>
-                  <AvatarImage
-                    src="/images/chainEmoji.png"
-                    style={{ padding: "5px" }}
-                    alt={link.text}
-                  />
-                  <AvatarFallback>
-                    <span className="sr-only">{link.text}</span>
-                  </AvatarFallback>
-                </Avatar>
-              )}
+              <CardContent
+                style={{
+                  background: settings.itemBackground,
+                  wordWrap: "break-word",
+                  maxHeight: "200px",
+                  height: "auto",
+                  display: "flex",
+                  flexDirection: isGridView ? "column" : "row",
+                  padding: isGridView ? "1rem" : "0.5rem",
+                  margin: isGridView ? "0.25rem" : "0.5rem",
+                  overflow: "hidden",
+                  textOverflow: "ellipsis",
+                  transition: "transform 0.3s",
+                }}
+                className={
+                  isGridView
+                    ? "p-4 flex flex-col items-start justify-between m-1 bg-gradient-to-r from-gray-100 to-gray-300 rounded-md hover:scale-105"
+                    : "p-2 flex items-center justify-between m-2 bg-gradient-to-r from-gray-100 to-gray-300 rounded-md hover:scale-105"
+                }
+                key={index}
+              >
+                {link.avatar ? (
+                  <Avatar
+                    className={isGridView ? "mb-2" : "mr-2 flex-shrink-0"}
+                  >
+                    <AvatarImage
+                      style={{ padding: "5px" }}
+                      src={link.avatar}
+                      alt={link.text}
+                    />
+                    <AvatarFallback>
+                      <span className="sr-only">{link.text}</span>
+                    </AvatarFallback>
+                  </Avatar>
+                ) : (
+                  <Avatar
+                    className={isGridView ? "mb-2" : "mr-2 flex-shrink-0"}
+                  >
+                    <AvatarImage
+                      src="/images/chainEmoji.png"
+                      style={{ padding: "5px" }}
+                      alt={link.text}
+                    />
+                    <AvatarFallback>
+                      <span className="sr-only">{link.text}</span>
+                    </AvatarFallback>
+                  </Avatar>
+                )}
 
-              <div style={{ flex: 1, minWidth: 0 }}>
-                <a href={link.url} target="_blank" rel="noopener noreferrer">
+                <div style={{ flex: 1, minWidth: 0 }}>
                   <CardDescription
                     className="items-start text-base font-normal text-black dark:text-white flex-grow"
                     style={{
@@ -263,9 +272,9 @@ export const Links: React.FC<FidgetArgs<LinkFidgetSettings>> = ({
                       {link.description}
                     </p>
                   )}
-                </a>
-              </div>
-            </CardContent>
+                </div>
+              </CardContent>
+            </a>
           ))}
       </div>
     </div>

From 123a019765dc2251746bc694faf5bb975070574b Mon Sep 17 00:00:00 2001
From: Gleb Surinov <glebovsky@gmail.com>
Date: Thu, 5 Sep 2024 02:00:08 +0600
Subject: [PATCH 09/23] fix: Hydration error for space loading (#369)

---
 src/common/components/templates/SpaceLoading.tsx | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/common/components/templates/SpaceLoading.tsx b/src/common/components/templates/SpaceLoading.tsx
index 992fbc97..dd49d653 100644
--- a/src/common/components/templates/SpaceLoading.tsx
+++ b/src/common/components/templates/SpaceLoading.tsx
@@ -1,15 +1,17 @@
-import React, { ReactNode, useMemo } from "react";
+import React, { ReactNode, useState, useEffect } from "react";
 import { isUndefined } from "lodash";
 import useWindowSize from "@/common/lib/hooks/useWindowSize";
 
 export default function SpaceLoading({ profile }: { profile?: ReactNode }) {
+  const [rowHeight, setRowHeight] = useState(70);
+  const { height } = useWindowSize();
   const maxRows = 12;
   const cols = 12;
   const margin = [16, 16];
   const containerPadding = [16, 16];
-  const { height } = useWindowSize();
-  const rowHeight = useMemo(
-    () =>
+
+  useEffect(() => {
+    setRowHeight(
       height
         ? Math.round(
             // The 64 magic number here is the height of the tabs bar above the grid
@@ -17,8 +19,9 @@ export default function SpaceLoading({ profile }: { profile?: ReactNode }) {
               maxRows,
           )
         : 70,
-    [height],
-  );
+    ),
+      [height];
+  });
 
   return (
     <>

From e0f457c92c70298da6eb25a0b62602d3007167cc Mon Sep 17 00:00:00 2001
From: Willy Ogorzaly <willy@ogorzaly.com>
Date: Fri, 6 Sep 2024 13:54:46 -0500
Subject: [PATCH 10/23] Revert commit 56b7d3c
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

no longer planning to link ⌐◨-◨ to the wtfisnouns page. instead, will link to the homepage (that users can currently only see when not logged in) and add a link to the wtfisnouns page from there
---
 src/common/components/molecules/BrandHeader.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/common/components/molecules/BrandHeader.tsx b/src/common/components/molecules/BrandHeader.tsx
index 828c32d5..260bc12c 100644
--- a/src/common/components/molecules/BrandHeader.tsx
+++ b/src/common/components/molecules/BrandHeader.tsx
@@ -18,7 +18,7 @@ const BrandHeader = () => {
       <TooltipProvider>
         <Tooltip>
           <Link
-            href="https://nounspace.com/s/wtfisnouns"
+            href="/homebase"
             className="flex items-center ps-2.5"
             rel="noopener noreferrer"
           >

From bd234c49dc84aff6fc094d6b4937c461631869b2 Mon Sep 17 00:00:00 2001
From: r4to <gustavo-kuhl@hotmail.com>
Date: Fri, 6 Sep 2024 16:01:19 -0300
Subject: [PATCH 11/23] wip: Solves cast modal channel selector bug (#394)

---
 src/common/components/molecules/Modal.tsx     |  4 +-
 .../components/organisms/Navigation.tsx       |  4 +-
 .../farcaster/components/CreateCast.tsx       | 37 +++++++++++++-----
 src/fidgets/farcaster/utils.ts                | 29 ++++++++++++++
 .../api/farcaster/neynar/active-channels.ts   | 38 +++++++++++++++++++
 .../api/farcaster/neynar/search-channels.ts   | 38 +++++++++++++++++++
 6 files changed, 137 insertions(+), 13 deletions(-)
 create mode 100644 src/pages/api/farcaster/neynar/active-channels.ts
 create mode 100644 src/pages/api/farcaster/neynar/search-channels.ts

diff --git a/src/common/components/molecules/Modal.tsx b/src/common/components/molecules/Modal.tsx
index 38a5393e..d3d7d2dd 100644
--- a/src/common/components/molecules/Modal.tsx
+++ b/src/common/components/molecules/Modal.tsx
@@ -23,11 +23,11 @@ const Modal = ({
   title,
   description,
   children,
-  focusMode,
+  focusMode = true,
   showClose = true,
   overlay = true,
 }: ModalProps) => (
-  <Dialog.Root open={open} onOpenChange={setOpen} modal={focusMode || true}>
+  <Dialog.Root open={open} onOpenChange={setOpen} modal={focusMode}>
     <Dialog.Portal>
       {overlay && open && (
         <Dialog.Overlay className="bg-muted/95 data-[state=open]:animate-overlayShow fixed inset-0 z-50" />
diff --git a/src/common/components/organisms/Navigation.tsx b/src/common/components/organisms/Navigation.tsx
index 33ce0475..ab474683 100644
--- a/src/common/components/organisms/Navigation.tsx
+++ b/src/common/components/organisms/Navigation.tsx
@@ -163,10 +163,10 @@ const Navigation: React.FC<NavProps> = ({ isEditable, enterEditMode }) => {
       <Modal
         open={showCastModal}
         setOpen={setShowCastModal}
-        focusMode
+        focusMode={false}
         showClose={false}
       >
-        <CreateCast />
+        <CreateCast afterSubmit={() => setShowCastModal(false)} />
       </Modal>
       <SearchModal ref={searchRef} />
       <div className="pt-12 pb-12 h-full md:block hidden">
diff --git a/src/fidgets/farcaster/components/CreateCast.tsx b/src/fidgets/farcaster/components/CreateCast.tsx
index d74d0997..98041fff 100644
--- a/src/fidgets/farcaster/components/CreateCast.tsx
+++ b/src/fidgets/farcaster/components/CreateCast.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useState } from "react";
+import React, { useCallback, useEffect, useState } from "react";
 import { useEditor, EditorContent } from "@mod-protocol/react-editor";
 import { EmbedsEditor } from "@mod-protocol/react-ui-shadcn/dist/lib/embeds";
 import {
@@ -34,21 +34,20 @@ import { PhotoIcon } from "@heroicons/react/20/solid";
 import { FarcasterEmbed, isFarcasterUrlEmbed } from "@mod-protocol/farcaster";
 import { CastType, Signer } from "@farcaster/core";
 import { useFarcasterSigner } from "..";
-import { submitCast } from "../utils";
+import {
+  fetchChannelsByName,
+  fetchChannelsForUser,
+  submitCast,
+} from "../utils";
 import { bytesToHex } from "@noble/ciphers/utils";
 
 const API_URL = process.env.NEXT_PUBLIC_MOD_PROTOCOL_API_URL!;
 const getMentions = getFarcasterMentions(API_URL);
+
 const debouncedGetMentions = debounce(getMentions, 200, {
   leading: true,
   trailing: false,
 });
-const getChannels = getFarcasterChannels(API_URL);
-const debouncedGetChannels = debounce(getChannels, 200, {
-  leading: true,
-  trailing: false,
-});
-
 const getUrlMetadata = fetchUrlMetadata(API_URL);
 const getMentionFids = getMentionFidsByUsernames(API_URL);
 
@@ -82,6 +81,7 @@ export type DraftType = {
 
 type CreateCastProps = {
   initialDraft?: Partial<DraftType>;
+  afterSubmit?: () => void;
 };
 
 export type ModProtocolCastAddBody = Exclude<
@@ -117,7 +117,10 @@ async function publishPost(draft: DraftType, fid: number, signer: Signer) {
   }
 }
 
-const CreateCast: React.FC<CreateCastProps> = ({ initialDraft }) => {
+const CreateCast: React.FC<CreateCastProps> = ({
+  initialDraft,
+  afterSubmit = () => {},
+}) => {
   const [currentMod, setCurrentMod] = useState<ModManifest | null>(null);
   const [initialEmbeds, setInitialEmbeds] = useState<FarcasterEmbed[]>();
   const [draft, setDraft] = useState<DraftType>({
@@ -131,10 +134,26 @@ const CreateCast: React.FC<CreateCastProps> = ({ initialDraft }) => {
 
   const { signer, isLoadingSigner, fid } = useFarcasterSigner("create-cast");
 
+  const debouncedGetChannels = useCallback(
+    debounce(
+      async (query: string) => {
+        if (query && query !== "") {
+          return await fetchChannelsByName(query);
+        } else {
+          return await fetchChannelsForUser(fid);
+        }
+      },
+      200,
+      { leading: true, trailing: false },
+    ),
+    [fid],
+  );
+
   const onSubmitPost = async (): Promise<boolean> => {
     if ((!draft?.text && !draft?.embeds?.length) || isUndefined(signer))
       return false;
     await publishPost(draft, fid, signer);
+    afterSubmit();
     return true;
   };
 
diff --git a/src/fidgets/farcaster/utils.ts b/src/fidgets/farcaster/utils.ts
index 118005c5..7bae5bc9 100644
--- a/src/fidgets/farcaster/utils.ts
+++ b/src/fidgets/farcaster/utils.ts
@@ -28,6 +28,7 @@ import { mnemonicToAccount } from "viem/accounts";
 import { optimismChaninClient } from "@/constants/optimismChainClient";
 import axiosBackend from "@/common/data/api/backend";
 import { ModProtocolCastAddBody } from "./components/CreateCast";
+import { type Channel } from "@mod-protocol/farcaster";
 
 export const WARPCAST_RECOVERY_PROXY: `0x${string}` =
   "0x00000000FcB080a4D6c39a9354dA9EB9bC104cd7";
@@ -404,3 +405,31 @@ export const getSignatureForUsernameProof = async (
   });
   return signature;
 };
+
+export async function fetchChannelsForUser(
+  fid: number,
+  limit: number = 20,
+): Promise<Channel[]> {
+  try {
+    const channelsResponse = await axiosBackend.get(
+      `/api/farcaster/neynar/active-channels/?limit=${limit}&fid=${fid}`,
+    );
+    return channelsResponse.data.channels as Channel[];
+  } catch (e) {
+    return [] as Channel[];
+  }
+}
+
+export async function fetchChannelsByName(
+  query: string,
+  limit: number = 20,
+): Promise<Channel[]> {
+  try {
+    const channelsResponse = await axiosBackend.get(
+      `/api/farcaster/neynar/search-channels?limit=${limit}&q=${query}`,
+    );
+    return channelsResponse.data.channels as Channel[];
+  } catch (e) {
+    return [] as Channel[];
+  }
+}
diff --git a/src/pages/api/farcaster/neynar/active-channels.ts b/src/pages/api/farcaster/neynar/active-channels.ts
new file mode 100644
index 00000000..a99f6a8c
--- /dev/null
+++ b/src/pages/api/farcaster/neynar/active-channels.ts
@@ -0,0 +1,38 @@
+import requestHandler from "@/common/data/api/requestHandler";
+import axios, { AxiosRequestConfig, isAxiosError } from "axios";
+import Error from "next/error";
+import { NextApiRequest, NextApiResponse } from "next/types";
+
+async function loadUserChannels(req: NextApiRequest, res: NextApiResponse) {
+  try {
+    const options: AxiosRequestConfig = {
+      method: "GET",
+      url: `https://api.neynar.com/v2/farcaster/channel/user`,
+      headers: {
+        accept: "application/json",
+        api_key: process.env.NEYNAR_API_KEY!,
+      },
+      params: req.query,
+    };
+
+    const { data } = await axios.request(options);
+
+    if (data.status && data.status !== 200) {
+      return res.status(data.status).json(data);
+    }
+
+    res.status(200).json(data);
+  } catch (e) {
+    if (isAxiosError(e)) {
+      res
+        .status(e.response!.data.status || 500)
+        .json(e.response!.data || "An unknown error occurred");
+    } else {
+      res.status(500).json("An unknown error occurred");
+    }
+  }
+}
+
+export default requestHandler({
+  get: loadUserChannels,
+});
diff --git a/src/pages/api/farcaster/neynar/search-channels.ts b/src/pages/api/farcaster/neynar/search-channels.ts
new file mode 100644
index 00000000..c3b191f6
--- /dev/null
+++ b/src/pages/api/farcaster/neynar/search-channels.ts
@@ -0,0 +1,38 @@
+import requestHandler from "@/common/data/api/requestHandler";
+import axios, { AxiosRequestConfig, isAxiosError } from "axios";
+import Error from "next/error";
+import { NextApiRequest, NextApiResponse } from "next/types";
+
+async function searchChannels(req: NextApiRequest, res: NextApiResponse) {
+  try {
+    const options: AxiosRequestConfig = {
+      method: "GET",
+      url: `https://api.neynar.com/v2/farcaster/channel/search`,
+      headers: {
+        accept: "application/json",
+        api_key: process.env.NEYNAR_API_KEY!,
+      },
+      params: req.query,
+    };
+
+    const { data } = await axios.request(options);
+
+    if (data.status && data.status !== 200) {
+      return res.status(data.status).json(data);
+    }
+
+    res.status(200).json(data);
+  } catch (e) {
+    if (isAxiosError(e)) {
+      res
+        .status(e.response!.data.status || 500)
+        .json(e.response!.data || "An unknown error occurred");
+    } else {
+      res.status(500).json("An unknown error occurred");
+    }
+  }
+}
+
+export default requestHandler({
+  get: searchChannels,
+});

From a1e4e061ee237a97edf6839bfc545c4486d708a7 Mon Sep 17 00:00:00 2001
From: r4to <gustavo-kuhl@hotmail.com>
Date: Fri, 6 Sep 2024 16:13:08 -0300
Subject: [PATCH 12/23] style: update metadata image preview style (#365)

---
 src/common/lib/utils/generateUserMetadataHtml.tsx | 5 ++---
 src/pages/api/metadata/spaces.tsx                 | 4 ++--
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/common/lib/utils/generateUserMetadataHtml.tsx b/src/common/lib/utils/generateUserMetadataHtml.tsx
index 3e742a01..9a6aafb2 100644
--- a/src/common/lib/utils/generateUserMetadataHtml.tsx
+++ b/src/common/lib/utils/generateUserMetadataHtml.tsx
@@ -31,7 +31,6 @@ export const generateUserMetadataHtml = (userMetadata?: UserMetadata) => {
       <meta property="twitter:domain" content="https://nounspace.com/" />
       <meta property="og:url" content={spaceUrl} />
       <meta property="twitter:url" content={spaceUrl} />
-      <meta property="og:image" content={ogImageUrl} />
       {bio && (
         <>
           <meta name="description" content={bio} />
@@ -41,9 +40,9 @@ export const generateUserMetadataHtml = (userMetadata?: UserMetadata) => {
       )}
       {pfpUrl && (
         <>
-          <meta property="og:image" content={pfpUrl} />
           <meta name="twitter:card" content={pfpUrl} />
-          <meta name="twitter:image" content={pfpUrl} />
+          <meta property="og:image" content={ogImageUrl} />
+          <meta name="twitter:image" content={ogImageUrl} />
         </>
       )}
     </>
diff --git a/src/pages/api/metadata/spaces.tsx b/src/pages/api/metadata/spaces.tsx
index 153b3a63..9d5a8a8f 100644
--- a/src/pages/api/metadata/spaces.tsx
+++ b/src/pages/api/metadata/spaces.tsx
@@ -53,8 +53,8 @@ const ProfileCard = ({ userMetadata }: { userMetadata: UserMetadata }) => {
     >
       <img
         src={userMetadata.pfpUrl}
-        width={"120px"}
-        height={"120px"}
+        width={"180px"}
+        height={"180px"}
         style={{ borderRadius: "300px" }}
       />
       <p

From 3c52044b891f02279390e31307e232b95d8ef349 Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Mon, 9 Sep 2024 12:56:52 -0300
Subject: [PATCH 13/23] fix tabbar background and add tab button index (#403)

---
 src/common/components/organisms/TabBar.tsx | 2 +-
 src/common/components/templates/Space.tsx  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/common/components/organisms/TabBar.tsx b/src/common/components/organisms/TabBar.tsx
index 088327ba..983bdac2 100644
--- a/src/common/components/organisms/TabBar.tsx
+++ b/src/common/components/organisms/TabBar.tsx
@@ -352,7 +352,7 @@ const TabBar = memo(function TabBar({
       </Reorder.Group>
 
       {inEditMode ? (
-        <div className="flex flex-row pr-32">
+        <div className="flex flex-row pr-32 z-infinity">
           <NogsGateButton
             onClick={handleCreateTab}
             className="items-center flex rounded-xl p-2 m-3 px-auto bg-[#F3F4F6] hover:bg-sky-100 text-[#1C64F2] font-semibold"
diff --git a/src/common/components/templates/Space.tsx b/src/common/components/templates/Space.tsx
index 252757a1..8abd857e 100644
--- a/src/common/components/templates/Space.tsx
+++ b/src/common/components/templates/Space.tsx
@@ -109,7 +109,6 @@ export default function Space({
 
   return (
     <div className="user-theme-background w-full h-full relative flex-col">
-      <CustomHTMLBackground html={config.theme?.properties.backgroundHTML} />
       {isNil(profile) && (
         <TabBar
           hasProfile={!isNil(profile)}
@@ -117,6 +116,7 @@ export default function Space({
           profileFid={fid ? fid : 0}
         />
       )}
+      <CustomHTMLBackground html={config.theme?.properties.backgroundHTML} />
       <div className="w-full transition-all duration-100 ease-out h-[calc(100vh-64px)]">
         <div className="flex flex-col h-full">
           <div style={{ position: "fixed", zIndex: 9999 }}>

From 3071ec880003399f5d8da3f39a3cde9268a295e8 Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Mon, 9 Sep 2024 12:57:27 -0300
Subject: [PATCH 14/23] video fidget and iframe fidget improvements (#402)

---
 src/common/fidgets/FidgetWrapper.tsx |   1 -
 src/fidgets/helpers.tsx              |  13 +++
 src/fidgets/index.ts                 |   3 +-
 src/fidgets/ui/IFrame.tsx            |   9 +-
 src/fidgets/ui/Video.tsx             | 121 +++++++++++++++++++++++++++
 5 files changed, 140 insertions(+), 7 deletions(-)
 create mode 100644 src/fidgets/ui/Video.tsx

diff --git a/src/common/fidgets/FidgetWrapper.tsx b/src/common/fidgets/FidgetWrapper.tsx
index 1da7842f..971749c1 100644
--- a/src/common/fidgets/FidgetWrapper.tsx
+++ b/src/common/fidgets/FidgetWrapper.tsx
@@ -70,7 +70,6 @@ export function FidgetWrapper({
     homebaseConfig: state.homebase.homebaseConfig,
   }));
 
-  console.log(homebaseConfig);
   function onClickEdit() {
     setSelectedFidgetID(bundle.id);
     setCurrentFidgetSettings(
diff --git a/src/fidgets/helpers.tsx b/src/fidgets/helpers.tsx
index ea2dcb1d..c5dafa5d 100644
--- a/src/fidgets/helpers.tsx
+++ b/src/fidgets/helpers.tsx
@@ -34,3 +34,16 @@ export const defaultStyleFields: FidgetFieldConfig[] = [
     group: "style",
   },
 ];
+
+export const transformUrl = (url: string) => {
+  if (url && url.match(/youtube\.com\/watch\?v=/)) {
+    return url.replace("watch?v=", "embed/");
+  }
+  if (url && url.match(/vimeo\.com\/\d+/)) {
+    return url.replace("vimeo.com", "player.vimeo.com/video");
+  }
+  if (url && url.match(/odysee\.com\/@/)) {
+    return url.replace("odysee.com", "odysee.com/$/embed");
+  }
+  return url;
+};
diff --git a/src/fidgets/index.ts b/src/fidgets/index.ts
index bb5c83c0..03ed83e2 100644
--- a/src/fidgets/index.ts
+++ b/src/fidgets/index.ts
@@ -12,7 +12,7 @@ import Feed from "./farcaster/Feed";
 import CreateCast from "./farcaster/CreateCast";
 import Links from "./ui/Links";
 import snapShot from "./snapshot/SnapShot";
-
+import VideoFidget from "./ui/Video";
 export const CompleteFidgets = {
   //
   example:
@@ -33,6 +33,7 @@ export const CompleteFidgets = {
   links: Links,
   // zora: zoraEmbed, -> 500 server error -Frame ancestors block
   SnapShot: snapShot,
+  Video: VideoFidget,
 };
 
 export const LayoutFidgets = {
diff --git a/src/fidgets/ui/IFrame.tsx b/src/fidgets/ui/IFrame.tsx
index 734721c2..e641e8a5 100644
--- a/src/fidgets/ui/IFrame.tsx
+++ b/src/fidgets/ui/IFrame.tsx
@@ -9,9 +9,8 @@ import {
 import { isValidUrl } from "@/common/lib/utils/url";
 import useSafeUrl from "@/common/lib/hooks/useSafeUrl";
 import { defaultStyleFields } from "@/fidgets/helpers";
-import WidthSlider from "@/common/components/molecules/ScaleSliderSelector";
 import IFrameWidthSlider from "@/common/components/molecules/IframeScaleSlider";
-
+import { transformUrl } from "@/fidgets/helpers";
 export type IFrameFidgetSettings = {
   url: string;
   size: number;
@@ -69,7 +68,7 @@ const IFrame: React.FC<FidgetArgs<IFrameFidgetSettings>> = ({
 }) => {
   const isValid = isValidUrl(url);
   const sanitizedUrl = useSafeUrl(url, DISALLOW_URL_PATTERNS);
-
+  const transformedUrl = transformUrl(sanitizedUrl || "");
   if (!url) {
     return <ErrorWrapper icon="➕" message="Provide a URL to display here." />;
   }
@@ -78,7 +77,7 @@ const IFrame: React.FC<FidgetArgs<IFrameFidgetSettings>> = ({
     return <ErrorWrapper icon="❌" message={`This URL is invalid (${url}).`} />;
   }
 
-  if (!sanitizedUrl) {
+  if (!transformedUrl) {
     return (
       <ErrorWrapper
         icon="🔒"
@@ -92,7 +91,7 @@ const IFrame: React.FC<FidgetArgs<IFrameFidgetSettings>> = ({
   return (
     <div style={{ overflow: "hidden", width: "100%", height: "100%" }}>
       <iframe
-        src={sanitizedUrl}
+        src={transformedUrl}
         title="IFrame Fidget"
         sandbox="allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox"
         style={{
diff --git a/src/fidgets/ui/Video.tsx b/src/fidgets/ui/Video.tsx
new file mode 100644
index 00000000..60ce6934
--- /dev/null
+++ b/src/fidgets/ui/Video.tsx
@@ -0,0 +1,121 @@
+import React from "react";
+import TextInput from "@/common/components/molecules/TextInput";
+import {
+  FidgetArgs,
+  FidgetProperties,
+  FidgetModule,
+  type FidgetSettingsStyle,
+} from "@/common/fidgets";
+import { isValidUrl } from "@/common/lib/utils/url";
+import useSafeUrl from "@/common/lib/hooks/useSafeUrl";
+import { defaultStyleFields } from "@/fidgets/helpers";
+import IFrameWidthSlider from "@/common/components/molecules/IframeScaleSlider";
+import { transformUrl } from "@/fidgets/helpers";
+
+export type VideoFidgetSettings = {
+  url: string;
+  size: number;
+} & FidgetSettingsStyle;
+
+const DISALLOW_URL_PATTERNS = [
+  /javascript:/i,
+  /^data:/i,
+  /<script/i,
+  /%3Cscript/i,
+];
+
+const frameConfig: FidgetProperties = {
+  fidgetName: "Video",
+  icon: 0x1f4fa, // 📺
+  fields: [
+    {
+      fieldName: "url",
+      required: true,
+      default: "https://www.youtube.com/watch?v=lOzCA7bZG_k",
+      inputSelector: TextInput,
+      group: "settings",
+    },
+    ...defaultStyleFields,
+    {
+      fieldName: "size",
+      required: false,
+      inputSelector: IFrameWidthSlider,
+      group: "style",
+    },
+  ],
+  size: {
+    minHeight: 2,
+    maxHeight: 36,
+    minWidth: 2,
+    maxWidth: 36,
+  },
+};
+
+const ErrorWrapper: React.FC<{
+  message: React.ReactNode;
+  icon?: React.ReactNode;
+}> = ({ message, icon }) => {
+  return (
+    <div className="flex flex-col gap-1 size-full items-center justify-center text-center p-4 absolute top-0 right-0 bottom-0 left-0">
+      {icon && <div className="text-[20px]">{icon}</div>}
+      <p className="text-gray-400 font-semibold text-sm leading-tight max-w-[60ch]">
+        {message}
+      </p>
+    </div>
+  );
+};
+
+const VideoFidget: React.FC<FidgetArgs<VideoFidgetSettings>> = ({
+  settings: { url, size = 1 },
+}) => {
+  const isValid = isValidUrl(url);
+  const sanitizedUrl = useSafeUrl(url, DISALLOW_URL_PATTERNS);
+  const transformedUrl = transformUrl(sanitizedUrl || "");
+
+  if (!url) {
+    return (
+      <ErrorWrapper
+        icon="➕"
+        message="Provide a YouTube/Vimeo URL to display here."
+      />
+    );
+  }
+
+  if (!isValid) {
+    return <ErrorWrapper icon="❌" message={`This URL is invalid (${url}).`} />;
+  }
+
+  if (!transformedUrl) {
+    return (
+      <ErrorWrapper
+        icon="🔒"
+        message={`This URL cannot be displayed due to security restrictions (${url}).`}
+      />
+    );
+  }
+
+  const scaleValue = size;
+
+  return (
+    <div style={{ overflow: "hidden", width: "100%", height: "100%" }}>
+      <iframe
+        src={transformedUrl}
+        title="IFrame Fidget"
+        sandbox="allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox"
+        allowFullScreen
+        style={{
+          transform: `scale(${scaleValue})`,
+          transformOrigin: "0 0",
+          width: `${100 / scaleValue}%`,
+          height: `${100 / scaleValue}%`,
+        }}
+        className="size-full"
+      />
+    </div>
+  );
+};
+
+export default {
+  fidget: VideoFidget,
+  properties: frameConfig,
+} as FidgetModule<FidgetArgs<VideoFidgetSettings>>;

From d549adf2e8772d54b9408250aa5bb9cfa2ba65a9 Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Mon, 9 Sep 2024 14:04:12 -0300
Subject: [PATCH 15/23] Rss fidget (#373)

Co-authored-by: Jesse Paterson <jesse.r.pat@gmail.com>
---
 package.json                  |   1 +
 src/common/fidgets/index.d.ts |   3 +
 src/fidgets/index.ts          |   5 +
 src/fidgets/ui/rss.tsx        | 240 ++++++++++++++++++++++++++++++++++
 yarn.lock                     |  31 +++++
 5 files changed, 280 insertions(+)
 create mode 100644 src/fidgets/ui/rss.tsx

diff --git a/package.json b/package.json
index 028206c7..78fb06f6 100644
--- a/package.json
+++ b/package.json
@@ -145,6 +145,7 @@
     "remark": "^15.0.1",
     "remark-gfm": "^4.0.0",
     "remark-html": "^16.0.1",
+    "rss-parser": "^3.13.0",
     "sharp": "^0.33.4",
     "sonner": "^1.4.41",
     "tailwind-merge": "^2.2.0",
diff --git a/src/common/fidgets/index.d.ts b/src/common/fidgets/index.d.ts
index dcb70b3f..0da79dd4 100644
--- a/src/common/fidgets/index.d.ts
+++ b/src/common/fidgets/index.d.ts
@@ -15,6 +15,9 @@ export type FidgetSettingsStyle = {
   fidgetBorderWidth?: string;
   fidgetBorderColor?: Color;
   fidgetShadow?: string;
+  itemBorderWidth?: string;
+  itemBorderColor?: Color;
+  itemBackground?: Color;
 };
 export type FidgetData = Record<string, any>;
 
diff --git a/src/fidgets/index.ts b/src/fidgets/index.ts
index 03ed83e2..154720e4 100644
--- a/src/fidgets/index.ts
+++ b/src/fidgets/index.ts
@@ -12,7 +12,10 @@ import Feed from "./farcaster/Feed";
 import CreateCast from "./farcaster/CreateCast";
 import Links from "./ui/Links";
 import snapShot from "./snapshot/SnapShot";
+import Swap from "./swap/Swap";
+import rss from "./ui/rss";
 import VideoFidget from "./ui/Video";
+
 export const CompleteFidgets = {
   //
   example:
@@ -33,6 +36,8 @@ export const CompleteFidgets = {
   links: Links,
   // zora: zoraEmbed, -> 500 server error -Frame ancestors block
   SnapShot: snapShot,
+  // Swap: Swap,
+  Rss: rss,
   Video: VideoFidget,
 };
 
diff --git a/src/fidgets/ui/rss.tsx b/src/fidgets/ui/rss.tsx
new file mode 100644
index 00000000..b9691ff1
--- /dev/null
+++ b/src/fidgets/ui/rss.tsx
@@ -0,0 +1,240 @@
+import React, { useEffect, useState } from "react";
+import RSSParser from "rss-parser";
+import TextInput from "@/common/components/molecules/TextInput";
+import CSSInput from "@/common/components/molecules/CSSInput";
+import ColorSelector from "@/common/components/molecules/ColorSelector";
+import FontSelector from "@/common/components/molecules/FontSelector";
+import { FidgetArgs, FidgetProperties, FidgetModule } from "@/common/fidgets";
+import ReactMarkdown from "react-markdown";
+import { defaultStyleFields } from "../helpers";
+import { FidgetSettingsStyle } from "@/common/fidgets";
+import {
+  CardHeader,
+  CardContent,
+  CardTitle,
+} from "@/common/components/atoms/card";
+import { MarkdownRenderers } from "@/common/lib/utils/markdownRenderers";
+
+export type TextFidgetSettings = {
+  title?: string;
+  rssUrl: string;
+} & FidgetSettingsStyle;
+
+export const textConfig: FidgetProperties = {
+  fidgetName: "Rss",
+  icon: 0x1f6f0,
+  fields: [
+    {
+      fieldName: "rssUrl",
+      default: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml",
+      required: true,
+      inputSelector: TextInput,
+      group: "settings",
+    },
+    {
+      fieldName: "fontFamily",
+      default: "var(--user-theme-font)",
+      required: false,
+      inputSelector: FontSelector,
+      group: "style",
+    },
+    {
+      fieldName: "fontColor",
+      default: "var(--user-theme-font-color)",
+      required: false,
+      inputSelector: ColorSelector,
+      group: "style",
+    },
+    {
+      fieldName: "headingsFontFamily",
+      default: "var(--user-theme-headings-font)",
+      required: false,
+      inputSelector: FontSelector,
+      group: "style",
+    },
+    {
+      fieldName: "headingsFontColor",
+      default: "var(--user-theme-headings-font-color)",
+      required: false,
+      inputSelector: ColorSelector,
+      group: "style",
+    },
+
+    ...defaultStyleFields,
+    {
+      fieldName: "itemBackground",
+      default: "var(--user-theme-fidget-background)",
+      required: false,
+      inputSelector: ColorSelector,
+      group: "style",
+    },
+    {
+      fieldName: "itemBorderColor",
+      default: "var(--user-theme-fidget-border-color)",
+      required: false,
+      inputSelector: ColorSelector,
+      group: "style",
+    },
+    {
+      fieldName: "css",
+      default: "",
+      required: false,
+      inputSelector: CSSInput,
+      group: "code",
+    },
+  ],
+  size: {
+    minHeight: 2,
+    maxHeight: 36,
+    minWidth: 3,
+    maxWidth: 36,
+  },
+};
+
+export const Rss: React.FC<FidgetArgs<TextFidgetSettings>> = ({ settings }) => {
+  const [rssItems, setRssItems] = useState<any[]>([]);
+  const [rssFeed, setRssFeed] = useState<any>(null);
+  const [isLoading, setIsLoading] = useState(true);
+
+  useEffect(() => {
+    const fetchRssFeed = async () => {
+      try {
+        const parser = new RSSParser();
+        const feed = await parser.parseURL(settings.rssUrl);
+
+        if (feed.items && feed.items.length > 0) {
+          setRssItems(feed.items);
+          setRssFeed(feed);
+        } else {
+          console.warn("No items found in the RSS feed.");
+        }
+      } catch (error) {
+        console.error("Error fetching RSS feed:", error);
+      } finally {
+        setIsLoading(false);
+      }
+    };
+
+    fetchRssFeed();
+  }, [settings.rssUrl]);
+
+  return (
+    <div
+      style={{
+        background: settings.background,
+        height: "100%",
+        borderWidth: settings.fidgetBorderWidth,
+        borderColor: settings.fidgetBorderColor,
+        boxShadow: settings.fidgetShadow,
+        overflow: "auto",
+        scrollbarWidth: "none",
+      }}
+    >
+      {rssFeed?.title && (
+        <CardHeader className="p-2 ml-5">
+          <div className="flex-col items-center">
+            {rssFeed?.image && (
+              <img
+                src={rssFeed.image.url}
+                alt={rssFeed.title}
+                className="mt-4 h-auto rounded w-10"
+              />
+            )}
+
+            <CardTitle
+              className="text-2xl font-bold mt-4 ml-1"
+              style={{
+                fontFamily: settings.headingsFontFamily,
+                color: settings.headingsFontColor,
+              }}
+            >
+              {rssFeed.title || settings.title}
+            </CardTitle>
+          </div>
+        </CardHeader>
+      )}
+      <CardContent className="p-4 pt-2">
+        {isLoading ? (
+          <p>Loading RSS feed...</p>
+        ) : rssItems.length > 0 ? (
+          rssItems.map((item, index) => (
+            <div
+              key={index}
+              className="mb-6 p-4 rounded-lg border"
+              style={{
+                borderWidth: settings.fidgetBorderWidth,
+                borderColor: settings.itemBorderColor,
+                backgroundColor: settings.itemBackground,
+                boxShadow: settings.fidgetShadow,
+              }}
+            >
+              <div className="flex-row items-center ">
+                <div className="flex flex-col justify-between">
+                  <h3
+                    className="text-xl font-semibold mb-2"
+                    style={{
+                      fontFamily: settings.headingsFontFamily,
+                      color: settings.headingsFontColor,
+                    }}
+                  >
+                    {item.title}
+                  </h3>
+                  {item.pubDate && (
+                    <p
+                      className="text-xs text-gray-500 mb-2"
+                      style={{ fontFamily: settings.fontFamily }}
+                    >
+                      Published on:{" "}
+                      {new Date(item.pubDate).toLocaleDateString()}
+                    </p>
+                  )}
+                </div>
+              </div>
+
+              {item.contentSnippet && (
+                <div
+                  className="mb-4"
+                  style={{
+                    fontFamily: settings.fontFamily,
+                    color: settings.fontColor,
+                  }}
+                >
+                  <ReactMarkdown components={MarkdownRenderers}>
+                    {item.contentSnippet}
+                  </ReactMarkdown>
+                </div>
+              )}
+              {item.link && (
+                <a
+                  href={item.link}
+                  target="_blank"
+                  rel="noopener noreferrer"
+                  style={{
+                    color: settings.fontColor,
+                    textDecoration: "underline",
+                  }}
+                  className="text-sm"
+                >
+                  Read more
+                </a>
+              )}
+            </div>
+          ))
+        ) : (
+          <div>
+            <p>No RSS items found.</p>
+            <p>
+              It seems that there are no articles available from this feed.
+              Please check the feed URL or try again later.
+            </p>
+          </div>
+        )}
+      </CardContent>
+    </div>
+  );
+};
+
+export default {
+  fidget: Rss,
+  properties: textConfig,
+} as FidgetModule<FidgetArgs<TextFidgetSettings>>;
diff --git a/yarn.lock b/yarn.lock
index 05a6ecef..21cfe875 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8764,6 +8764,11 @@ enhanced-resolve@^5.14.1:
     graceful-fs "^4.2.4"
     tapable "^2.2.0"
 
+entities@^2.0.3:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+  integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
 entities@^4.2.0, entities@^4.4.0:
   version "4.5.0"
   resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
@@ -14228,6 +14233,14 @@ rrweb-cssom@^0.7.0:
   resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b"
   integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==
 
+rss-parser@^3.13.0:
+  version "3.13.0"
+  resolved "https://registry.yarnpkg.com/rss-parser/-/rss-parser-3.13.0.tgz#f1f83b0a85166b8310ec531da6fbaa53ff0f50f0"
+  integrity sha512-7jWUBV5yGN3rqMMj7CZufl/291QAhvrrGpDNE4k/02ZchL0npisiYYqULF71jCEKoIiHvK/Q2e6IkDwPziT7+w==
+  dependencies:
+    entities "^2.0.3"
+    xml2js "^0.5.0"
+
 run-async@^2.4.0:
   version "2.4.1"
   resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
@@ -14330,6 +14343,11 @@ satori@0.10.9:
     postcss-value-parser "^4.2.0"
     yoga-wasm-web "^0.3.3"
 
+sax@>=0.6.0:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
+  integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
+
 saxes@^6.0.0:
   version "6.0.0"
   resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
@@ -16233,6 +16251,19 @@ xml-name-validator@^5.0.0:
   resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673"
   integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==
 
+xml2js@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7"
+  integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==
+  dependencies:
+    sax ">=0.6.0"
+    xmlbuilder "~11.0.0"
+
+xmlbuilder@~11.0.0:
+  version "11.0.1"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
+  integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
+
 xmlchars@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"

From 9e649a95725873a4f43e031e877a63c89ad4f3e8 Mon Sep 17 00:00:00 2001
From: Jesse Paterson <jesse.r.pat@gmail.com>
Date: Mon, 9 Sep 2024 13:57:19 -0500
Subject: [PATCH 16/23] Added template library icon

---
 src/common/lib/theme/ThemeCard.tsx           |  2 +-
 src/common/lib/theme/ThemeSettingsEditor.tsx | 16 +++++++++++++---
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/common/lib/theme/ThemeCard.tsx b/src/common/lib/theme/ThemeCard.tsx
index 5db97ba0..379a1665 100644
--- a/src/common/lib/theme/ThemeCard.tsx
+++ b/src/common/lib/theme/ThemeCard.tsx
@@ -25,7 +25,7 @@ export const ThemeCard = ({
 
   return (
     <div
-      className={`bg-gray-50 hover:bg-gray-100 rounded-lg grid [grid-template-areas:'cell'] h-11 cursor-pointer relative ${active ? activeRingBeforeElementClasses : ""}`}
+      className={`shadow-md w-full bg-gray-50 hover:bg-gray-100 rounded-lg grid [grid-template-areas:'cell'] h-11 cursor-pointer relative ${active ? activeRingBeforeElementClasses : ""}`}
       style={{
         backgroundColor: themeProps.background,
       }}
diff --git a/src/common/lib/theme/ThemeSettingsEditor.tsx b/src/common/lib/theme/ThemeSettingsEditor.tsx
index 81570206..73254484 100644
--- a/src/common/lib/theme/ThemeSettingsEditor.tsx
+++ b/src/common/lib/theme/ThemeSettingsEditor.tsx
@@ -34,6 +34,9 @@ import { FaInfoCircle } from "react-icons/fa";
 import { THEMES } from "@/constants/themes";
 import { ThemeCard } from "@/common/lib/theme/ThemeCard";
 import { FONT_FAMILY_OPTIONS_BY_NAME } from "@/common/lib/theme/fonts";
+import { GiOpenBook } from "react-icons/gi";
+import { FaBook } from "react-icons/fa";
+import { MdMenuBook } from "react-icons/md";
 
 export type ThemeSettingsEditorArgs = {
   theme: ThemeSettings;
@@ -153,9 +156,16 @@ export function ThemeSettingsEditor({
                 type="checkbox"
               />
               {/* Templates Dropdown */}
-              <span className="block max-h-12 max-w-xs overflow-hidden rounded-lg transition-all duration-300 peer-checked/showLabel:max-h-full p-1">
-                {/* Theme Card Example */}
-                <ThemeCard themeProps={theme.properties} />
+              <span className="block max-h-14 max-w-xs overflow-hidden rounded-lg transition-all duration-300 peer-checked/showLabel:max-h-full p-1">
+                <div className="flex flex-row w-full">
+                  <div className="flex basis-3/4 grow">
+                    {/* Theme Card Example */}
+                    <ThemeCard themeProps={theme.properties} />
+                  </div>
+                  <div className="flex basis-1/4 items-center justify-center">
+                    <MdMenuBook className="w-6 h-6" />
+                  </div>
+                </div>
 
                 <div className="grid grid-cols-2 gap-3 pb-3 pt-3">
                   {THEMES.map((theme, i) => (

From 6b9ea28e4086b9c616b9dd12a9d85adb2d7f0d0f Mon Sep 17 00:00:00 2001
From: Willy Ogorzaly <willy@ogorzaly.com>
Date: Mon, 9 Sep 2024 17:30:42 -0500
Subject: [PATCH 17/23] small copy change

---
 src/common/components/organisms/NogsChecker.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/common/components/organisms/NogsChecker.tsx b/src/common/components/organisms/NogsChecker.tsx
index 1fdca0ce..eb11508b 100644
--- a/src/common/components/organisms/NogsChecker.tsx
+++ b/src/common/components/organisms/NogsChecker.tsx
@@ -21,7 +21,7 @@ export default function NogsChecker() {
   return (
     <>
       <p className="mb-2">
-        Tabs are only for early supporters holding a nounspace OG NFT (nOGs){" "}
+        For now Tabs are only for early supporters holding a nounspace OG NFT (nOGs){" "}
         <br />
         Mint a pair{" "}
         <a

From ee65ebbb821042fde820407b7d267945dab2416b Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Tue, 10 Sep 2024 15:27:41 -0300
Subject: [PATCH 18/23] Fix: URL workBreak and add hability of changing url
 colors in Text Fidget (#413)

---
 src/common/lib/utils/markdownRenderers.tsx    | 31 ++++++++++++-------
 .../snapshot/components/ProposalItem.tsx      |  2 +-
 src/fidgets/ui/Text.tsx                       | 10 +++++-
 src/fidgets/ui/rss.tsx                        |  2 +-
 4 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/src/common/lib/utils/markdownRenderers.tsx b/src/common/lib/utils/markdownRenderers.tsx
index a55ed7a3..0d735805 100644
--- a/src/common/lib/utils/markdownRenderers.tsx
+++ b/src/common/lib/utils/markdownRenderers.tsx
@@ -14,7 +14,7 @@ type RendererProps = MarkdownProps & {
   href?: any;
 };
 
-export const MarkdownRenderers = {
+export const MarkdownRenderers = (linkColor?: string) => ({
   img: ({ alt, src, title, ...props }: RendererProps) => (
     <span
       style={{
@@ -45,15 +45,24 @@ export const MarkdownRenderers = {
       {children}
     </div>
   ),
-  a: ({ href, children, ...props }: RendererProps) => (
-    <a
-      style={{ color: "blue", textWrap: "wrap", wordBreak: "break-all" }}
-      href={href}
-      {...props}
-    >
-      {children}
-    </a>
-  ),
+  a: ({ href, children, ...props }: RendererProps) => {
+    const isPrettyLink = href !== children;
+
+    const style: React.CSSProperties = isPrettyLink
+      ? { color: linkColor, wordBreak: "keep-all", overflowWrap: "normal" }
+      : {
+          color: linkColor,
+          wordBreak: "break-all",
+          overflowWrap: "break-word",
+        };
+
+    return (
+      <a href={href} style={style} {...props}>
+        {children}
+      </a>
+    );
+  },
+
   h1: ({ children, ...props }: RendererProps) => (
     <h1
       {...props}
@@ -248,4 +257,4 @@ export const MarkdownRenderers = {
       {children}
     </code>
   ),
-};
+});
diff --git a/src/fidgets/snapshot/components/ProposalItem.tsx b/src/fidgets/snapshot/components/ProposalItem.tsx
index b708f921..f19eca03 100644
--- a/src/fidgets/snapshot/components/ProposalItem.tsx
+++ b/src/fidgets/snapshot/components/ProposalItem.tsx
@@ -196,7 +196,7 @@ const ProposalItem: React.FC<ProposalItemProps> = ({ proposal, space }) => {
           <ReactMarkdown
             rehypePlugins={[rehypeRaw]}
             remarkPlugins={[remarkGfm]}
-            components={MarkdownRenderers}
+            components={MarkdownRenderers()}
           >
             {proposal.body}
           </ReactMarkdown>
diff --git a/src/fidgets/ui/Text.tsx b/src/fidgets/ui/Text.tsx
index f7427fce..3ce9a4bb 100644
--- a/src/fidgets/ui/Text.tsx
+++ b/src/fidgets/ui/Text.tsx
@@ -20,6 +20,7 @@ import { MarkdownRenderers } from "@/common/lib/utils/markdownRenderers";
 export type TextFidgetSettings = {
   title?: string;
   text: string;
+  urlColor: string;
 } & FidgetSettingsStyle;
 
 export const textConfig: FidgetProperties = {
@@ -54,6 +55,13 @@ export const textConfig: FidgetProperties = {
       inputSelector: ColorSelector,
       group: "style",
     },
+    {
+      fieldName: "urlColor",
+      required: false,
+      inputSelector: ColorSelector,
+      default: "blue",
+      group: "style",
+    },
     {
       fieldName: "headingsFontFamily",
       default: "var(--user-theme-headings-font)",
@@ -126,7 +134,7 @@ export const Text: React.FC<FidgetArgs<TextFidgetSettings>> = ({
             <ReactMarkdown
               rehypePlugins={[rehypeRaw]}
               remarkPlugins={[remarkGfm]}
-              components={MarkdownRenderers}
+              components={MarkdownRenderers(settings.urlColor)}
             >
               {settings.text}
             </ReactMarkdown>
diff --git a/src/fidgets/ui/rss.tsx b/src/fidgets/ui/rss.tsx
index b9691ff1..6bca4976 100644
--- a/src/fidgets/ui/rss.tsx
+++ b/src/fidgets/ui/rss.tsx
@@ -199,7 +199,7 @@ export const Rss: React.FC<FidgetArgs<TextFidgetSettings>> = ({ settings }) => {
                     color: settings.fontColor,
                   }}
                 >
-                  <ReactMarkdown components={MarkdownRenderers}>
+                  <ReactMarkdown components={MarkdownRenderers()}>
                     {item.contentSnippet}
                   </ReactMarkdown>
                 </div>

From 00d6915b5b14e690b2106fa45d4d6446017eac37 Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Tue, 10 Sep 2024 15:28:02 -0300
Subject: [PATCH 19/23] Image Button with Scale  (#410)

---
 .../components/molecules/ImageScaleSlider.tsx | 32 ++++++++++
 src/common/fidgets/index.d.ts                 |  7 ++-
 src/fidgets/ui/gallery.tsx                    | 61 ++++++++++++++++---
 3 files changed, 88 insertions(+), 12 deletions(-)
 create mode 100644 src/common/components/molecules/ImageScaleSlider.tsx

diff --git a/src/common/components/molecules/ImageScaleSlider.tsx b/src/common/components/molecules/ImageScaleSlider.tsx
new file mode 100644
index 00000000..d84357be
--- /dev/null
+++ b/src/common/components/molecules/ImageScaleSlider.tsx
@@ -0,0 +1,32 @@
+import React from "react";
+import { Slider } from "@mui/material";
+
+export type ImageScaleSliderProps = {
+  min: number;
+  max: number;
+  step?: number;
+  defaultValue?: number;
+  onChange: (value: number) => void;
+};
+
+const ImageScaleSlider: React.FC<ImageScaleSliderProps> = ({
+  min = 0.2,
+  max = 3,
+  step = 0.1,
+  defaultValue = 1,
+  onChange,
+}) => {
+  return (
+    <div className="ml-3 mr-3">
+      <Slider
+        defaultValue={defaultValue}
+        step={step}
+        min={min}
+        max={max}
+        onChange={(_, value) => onChange(value as number)}
+      />
+    </div>
+  );
+};
+
+export default ImageScaleSlider;
diff --git a/src/common/fidgets/index.d.ts b/src/common/fidgets/index.d.ts
index 0da79dd4..c9a5dff9 100644
--- a/src/common/fidgets/index.d.ts
+++ b/src/common/fidgets/index.d.ts
@@ -4,7 +4,8 @@ import HTMLInput from "@/common/ui/molecules/HTMLInput";
 import ColorSelector from "@/common/components/molecules/ColorSelector";
 import FontSelector from "@/common/components/molecules/FontSelector";
 import type { ThemeSettings, FontFamily, Color } from "@/common/lib/theme";
-
+import SwitchButton from "../components/molecules/ViewSelector";
+import ImageScaleSlider from "@/common/components/molecules/ImageScaleSlider";
 export type FidgetSettings = Record<string, any>;
 export type FidgetSettingsStyle = {
   background?: Color;
@@ -41,7 +42,9 @@ export type FidgetFieldConfig<S extends FidgetSettings = FidgetSettings> = {
     | typeof ColorSelector
     | typeof FontSelector
     | typeof CSSInput
-    | typeof HTMLInput;
+    | typeof HTMLInput
+    | typeof ImageScaleSlider
+    | typeof SwitchButton; // change the name of ViewSelector.tsx file in next link fidget PR
   readonly default?: any;
   readonly required: boolean;
   readonly group?: FidgetGroup;
diff --git a/src/fidgets/ui/gallery.tsx b/src/fidgets/ui/gallery.tsx
index a4db2125..f6cbadee 100644
--- a/src/fidgets/ui/gallery.tsx
+++ b/src/fidgets/ui/gallery.tsx
@@ -7,13 +7,16 @@ import {
   type FidgetSettingsStyle,
 } from "@/common/fidgets";
 import { defaultStyleFields } from "@/fidgets/helpers";
+import ImageScaleSlider from "@/common/components/molecules/ImageScaleSlider";
 
 export type GalleryFidgetSettings = {
   imageUrl: string;
+  RedirectionURL: string;
+  Scale: number;
 } & FidgetSettingsStyle;
 
 const galleryConfig: FidgetProperties = {
-  fidgetName: "Gallery",
+  fidgetName: "gallery",
   icon: 0x1f5bc,
   fields: [
     {
@@ -24,6 +27,20 @@ const galleryConfig: FidgetProperties = {
         "https://storage.googleapis.com/papyrus_images/d467b07030969fab95a8f44b1de596ab.png",
       group: "settings",
     },
+    {
+      fieldName: "RedirectionURL",
+      required: false,
+      inputSelector: TextInput,
+      default: "",
+      group: "settings",
+    },
+    {
+      fieldName: "Scale",
+      required: false,
+      inputSelector: ImageScaleSlider,
+      default: 1,
+      group: "style",
+    },
     ...defaultStyleFields,
   ],
   size: {
@@ -34,18 +51,42 @@ const galleryConfig: FidgetProperties = {
   },
 };
 
-const Gallery: React.FC<FidgetArgs<GalleryFidgetSettings>> = ({
-  settings: { imageUrl },
-}) => {
-  const imageUrlStyle = {
-    "--image-url": `url(${imageUrl})`,
+const Gallery: React.FC<FidgetArgs<GalleryFidgetSettings>> = ({ settings }) => {
+  const contentStyle = {
+    backgroundImage: `url(${settings.imageUrl})`,
+    transform: `scale(${settings.Scale})`,
+    transition: "transform 0.3s ease",
+  } as CSSProperties;
+
+  const wrapperStyle = {
+    overflow: "hidden",
   } as CSSProperties;
 
-  return (
-    <div className="rounded-md flex-1 items-center justify-center overflow-hidden relative size-full bg-cover">
+  return settings.RedirectionURL ? (
+    <a
+      href={settings.RedirectionURL}
+      target="_blank"
+      rel="noopener noreferrer"
+      className="absolute inset-0"
+    >
+      <div
+        className="rounded-md flex-1 items-center justify-center relative size-full"
+        style={wrapperStyle}
+      >
+        <div
+          className="bg-cover bg-center w-full h-full"
+          style={contentStyle}
+        ></div>
+      </div>
+    </a>
+  ) : (
+    <div
+      className="rounded-md flex-1 items-center justify-center relative size-full"
+      style={wrapperStyle}
+    >
       <div
-        className="bg-[image:var(--image-url)] bg-cover size-full overflow-hidden"
-        style={imageUrlStyle}
+        className="bg-cover bg-center w-full h-full"
+        style={contentStyle}
       ></div>
     </div>
   );

From 5f6e8f405a5a7622c3ef0ee42c9187e983a27061 Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Tue, 10 Sep 2024 15:29:06 -0300
Subject: [PATCH 20/23] build clean up - unused imports and commented functions
 (#409)

---
 src/common/components/atoms/reorderable-tab.tsx   |  1 -
 src/common/components/molecules/DaoSelector.tsx   |  3 ---
 src/common/components/organisms/TabBar.tsx        |  1 -
 src/common/components/templates/Space.tsx         |  2 +-
 src/constants/intialHomebase.ts                   |  1 -
 src/fidgets/farcaster/Frame.tsx                   |  1 -
 src/fidgets/farcaster/components/CastRow.tsx      | 12 ++++++------
 src/fidgets/farcaster/components/CreateCast.tsx   |  2 +-
 src/fidgets/index.ts                              |  2 +-
 src/fidgets/layout/Grid.tsx                       |  1 -
 src/fidgets/ui/Links.tsx                          |  2 +-
 src/pages/api/farcaster/neynar/active-channels.ts |  1 -
 src/pages/api/farcaster/neynar/search-channels.ts |  1 -
 src/pages/api/space/homebase/tabs/[tabName].ts    |  7 +++----
 src/pages/api/space/homebase/tabs/index.ts        |  2 +-
 src/pages/explore/index.tsx                       |  5 +----
 src/pages/homebase/index.tsx                      |  1 -
 17 files changed, 15 insertions(+), 30 deletions(-)

diff --git a/src/common/components/atoms/reorderable-tab.tsx b/src/common/components/atoms/reorderable-tab.tsx
index c432d457..714c484d 100644
--- a/src/common/components/atoms/reorderable-tab.tsx
+++ b/src/common/components/atoms/reorderable-tab.tsx
@@ -2,7 +2,6 @@ import * as React from "react";
 import { motion, Reorder } from "framer-motion";
 import { CloseIcon } from "./icons/CloseIcon";
 import EditableText from "./editable-text";
-import { FaX } from "react-icons/fa6";
 
 interface Props {
   tabName: string;
diff --git a/src/common/components/molecules/DaoSelector.tsx b/src/common/components/molecules/DaoSelector.tsx
index f45e3067..b7d33c02 100644
--- a/src/common/components/molecules/DaoSelector.tsx
+++ b/src/common/components/molecules/DaoSelector.tsx
@@ -1,13 +1,10 @@
 import React from "react";
 import {
   Select,
-  SelectGroup,
   SelectValue,
   SelectTrigger,
   SelectContent,
-  SelectLabel,
   SelectItem,
-  SelectSeparator,
 } from "@/common/components/atoms/select";
 
 import { DAO_OPTIONS } from "@/constants/basedDaos";
diff --git a/src/common/components/organisms/TabBar.tsx b/src/common/components/organisms/TabBar.tsx
index 983bdac2..affc544b 100644
--- a/src/common/components/organisms/TabBar.tsx
+++ b/src/common/components/organisms/TabBar.tsx
@@ -1,5 +1,4 @@
 import React from "react";
-import AddFidgetIcon from "@/common/components/atoms/icons/AddFidget";
 import { FaPlus } from "react-icons/fa6";
 import { first, map } from "lodash";
 import { useLoadFarcasterUser } from "@/common/data/queries/farcaster";
diff --git a/src/common/components/templates/Space.tsx b/src/common/components/templates/Space.tsx
index 8abd857e..47a1cd0d 100644
--- a/src/common/components/templates/Space.tsx
+++ b/src/common/components/templates/Space.tsx
@@ -1,4 +1,4 @@
-import React, { ReactNode, useEffect, useMemo } from "react";
+import React, { ReactNode, useEffect } from "react";
 import {
   FidgetConfig,
   FidgetInstanceData,
diff --git a/src/constants/intialHomebase.ts b/src/constants/intialHomebase.ts
index de68ab01..95e9af12 100644
--- a/src/constants/intialHomebase.ts
+++ b/src/constants/intialHomebase.ts
@@ -1,6 +1,5 @@
 import { SpaceConfig } from "@/common/components/templates/Space";
 import DEFAULT_THEME from "@/common/lib/theme/defaultTheme";
-import { FeedType } from "@neynar/nodejs-sdk";
 
 const layoutID = "";
 const INITIAL_HOMEBASE_CONFIG: SpaceConfig = {
diff --git a/src/fidgets/farcaster/Frame.tsx b/src/fidgets/farcaster/Frame.tsx
index e33c35f1..3680c971 100644
--- a/src/fidgets/farcaster/Frame.tsx
+++ b/src/fidgets/farcaster/Frame.tsx
@@ -9,7 +9,6 @@ import {
 import FrameEmbed from "./components/Embeds/FrameEmbed";
 import { isValidUrl } from "@/common/lib/utils/url";
 import useSafeUrl from "@/common/lib/hooks/useSafeUrl";
-import { defaultStyleFields } from "@/fidgets/helpers";
 import ColorSelector from "@/common/components/molecules/ColorSelector";
 import BorderSelector from "@/common/components/molecules/BorderSelector";
 import ShadowSelector from "@/common/components/molecules/ShadowSelector";
diff --git a/src/fidgets/farcaster/components/CastRow.tsx b/src/fidgets/farcaster/components/CastRow.tsx
index 46496de5..92cae368 100644
--- a/src/fidgets/farcaster/components/CastRow.tsx
+++ b/src/fidgets/farcaster/components/CastRow.tsx
@@ -4,7 +4,6 @@ import { mergeClasses as classNames } from "@/common/lib/utils/mergeClasses";
 import {
   ArrowPathRoundedSquareIcon,
   ArrowTopRightOnSquareIcon,
-  ChatBubbleLeftIcon,
   HeartIcon,
   ChatBubbleLeftRightIcon,
 } from "@heroicons/react/24/outline";
@@ -381,11 +380,12 @@ const CastReactions = ({ cast }: { cast: CastWithInteractions }) => {
 
   const reactions = getReactions();
 
-  const linksCount = cast?.embeds ? cast.embeds.length : 0;
-  const isOnchainLink =
-    linksCount > 0 && "url" in cast.embeds[0]
-      ? cast.embeds[0].url.startsWith("chain:")
-      : false;
+  // const linksCount = cast?.embeds ? cast.embeds.length : 0;
+
+  // const isOnchainLink =
+  //   linksCount > 0 && "url" in cast.embeds[0]
+  //     ? cast.embeds[0].url.startsWith("chain:")
+  //     : false;
 
   return (
     <>
diff --git a/src/fidgets/farcaster/components/CreateCast.tsx b/src/fidgets/farcaster/components/CreateCast.tsx
index 98041fff..6d52d3e8 100644
--- a/src/fidgets/farcaster/components/CreateCast.tsx
+++ b/src/fidgets/farcaster/components/CreateCast.tsx
@@ -10,7 +10,7 @@ import {
 } from "@mod-protocol/core";
 import {
   getFarcasterMentions,
-  getFarcasterChannels,
+  // getFarcasterChannels,
   formatPlaintextToHubCastMessage,
   getMentionFidsByUsernames,
 } from "@mod-protocol/farcaster";
diff --git a/src/fidgets/index.ts b/src/fidgets/index.ts
index 154720e4..7da82e50 100644
--- a/src/fidgets/index.ts
+++ b/src/fidgets/index.ts
@@ -12,7 +12,7 @@ import Feed from "./farcaster/Feed";
 import CreateCast from "./farcaster/CreateCast";
 import Links from "./ui/Links";
 import snapShot from "./snapshot/SnapShot";
-import Swap from "./swap/Swap";
+// import Swap from "./swap/Swap";
 import rss from "./ui/rss";
 import VideoFidget from "./ui/Video";
 
diff --git a/src/fidgets/layout/Grid.tsx b/src/fidgets/layout/Grid.tsx
index b564c0af..8d3e3553 100644
--- a/src/fidgets/layout/Grid.tsx
+++ b/src/fidgets/layout/Grid.tsx
@@ -24,7 +24,6 @@ import {
   analytics,
   AnalyticsEvent,
 } from "@/common/providers/AnalyticsProvider";
-import TabBar from "@/common/components/organisms/TabBar";
 import AddFidgetIcon from "@/common/components/atoms/icons/AddFidget";
 
 export const resizeDirections = ["s", "w", "e", "n", "sw", "nw", "se", "ne"];
diff --git a/src/fidgets/ui/Links.tsx b/src/fidgets/ui/Links.tsx
index 0e949c31..86b59ebd 100644
--- a/src/fidgets/ui/Links.tsx
+++ b/src/fidgets/ui/Links.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect } from "react";
+import React from "react";
 import TextInput from "@/common/components/molecules/TextInput";
 import CSSInput from "@/common/components/molecules/CSSInput";
 import ColorSelector from "@/common/components/molecules/ColorSelector";
diff --git a/src/pages/api/farcaster/neynar/active-channels.ts b/src/pages/api/farcaster/neynar/active-channels.ts
index a99f6a8c..6a2e7288 100644
--- a/src/pages/api/farcaster/neynar/active-channels.ts
+++ b/src/pages/api/farcaster/neynar/active-channels.ts
@@ -1,6 +1,5 @@
 import requestHandler from "@/common/data/api/requestHandler";
 import axios, { AxiosRequestConfig, isAxiosError } from "axios";
-import Error from "next/error";
 import { NextApiRequest, NextApiResponse } from "next/types";
 
 async function loadUserChannels(req: NextApiRequest, res: NextApiResponse) {
diff --git a/src/pages/api/farcaster/neynar/search-channels.ts b/src/pages/api/farcaster/neynar/search-channels.ts
index c3b191f6..c8633bfc 100644
--- a/src/pages/api/farcaster/neynar/search-channels.ts
+++ b/src/pages/api/farcaster/neynar/search-channels.ts
@@ -1,6 +1,5 @@
 import requestHandler from "@/common/data/api/requestHandler";
 import axios, { AxiosRequestConfig, isAxiosError } from "axios";
-import Error from "next/error";
 import { NextApiRequest, NextApiResponse } from "next/types";
 
 async function searchChannels(req: NextApiRequest, res: NextApiResponse) {
diff --git a/src/pages/api/space/homebase/tabs/[tabName].ts b/src/pages/api/space/homebase/tabs/[tabName].ts
index 43eea23a..cc822b30 100644
--- a/src/pages/api/space/homebase/tabs/[tabName].ts
+++ b/src/pages/api/space/homebase/tabs/[tabName].ts
@@ -9,9 +9,8 @@ import {
 import { NextApiRequest, NextApiResponse } from "next/types";
 import supabase from "@/common/data/database/supabase/clients/server";
 import stringify from "fast-json-stable-stringify";
-import { homebasePath, homebaseTabsPath } from "@/constants/supabase";
-import { findIndex, isArray, isUndefined } from "lodash";
-import { listTabsForIdentity } from ".";
+import { homebaseTabsPath } from "@/constants/supabase";
+import { isArray, isUndefined } from "lodash";
 
 export type UpdateHomebaseResponse = NounspaceResponse<boolean>;
 export type UpdateHomebaseRequest = SignedFile;
@@ -59,7 +58,7 @@ async function updateHomebaseTab(
     });
     return;
   }
-  const tabs = await listTabsForIdentity(file.publicKey);
+  // const tabs = await listTabsForIdentity(file.publicKey);
 
   // if (findIndex(tabs, tabName) === -1) {
   //   res.status(500).json({
diff --git a/src/pages/api/space/homebase/tabs/index.ts b/src/pages/api/space/homebase/tabs/index.ts
index 6aa51450..abba66d8 100644
--- a/src/pages/api/space/homebase/tabs/index.ts
+++ b/src/pages/api/space/homebase/tabs/index.ts
@@ -8,7 +8,7 @@ import {
 } from "@/common/lib/signedFiles";
 import { NextApiRequest, NextApiResponse } from "next/types";
 import supabase from "@/common/data/database/supabase/clients/server";
-import { homebaseTabsPath, homebasePath } from "@/constants/supabase";
+import { homebaseTabsPath } from "@/constants/supabase";
 import { isArray, isNil, isUndefined, map } from "lodash";
 import { StorageError } from "@supabase/storage-js";
 import stringify from "fast-json-stable-stringify";
diff --git a/src/pages/explore/index.tsx b/src/pages/explore/index.tsx
index 2569a4fb..c07d6ee3 100644
--- a/src/pages/explore/index.tsx
+++ b/src/pages/explore/index.tsx
@@ -3,10 +3,7 @@ import { groupBy } from "lodash";
 import Link from "next/link";
 import Image from "next/image";
 import { getAllMarkdownFiles } from "@/common/data/explore/loadExploreMarkdown";
-import {
-  analytics,
-  AnalyticsEvent,
-} from "@/common/providers/AnalyticsProvider"; // Import analytics
+import { AnalyticsEvent } from "@/common/providers/AnalyticsProvider"; // Import analytics
 import { trackAnalyticsEvent } from "@/common/lib/utils/analyticsUtils";
 
 export async function getStaticProps() {
diff --git a/src/pages/homebase/index.tsx b/src/pages/homebase/index.tsx
index 232610b4..b7d1beca 100644
--- a/src/pages/homebase/index.tsx
+++ b/src/pages/homebase/index.tsx
@@ -5,7 +5,6 @@ import USER_NOT_LOGGED_IN_HOMEBASE_CONFIG from "@/constants/userNotLoggedInHomeb
 import SpacePage, { SpacePageArgs } from "@/common/components/pages/SpacePage";
 import FeedModule, { FilterType } from "@/fidgets/farcaster/Feed";
 import { FeedType } from "@neynar/nodejs-sdk";
-import { Platform } from "@/common/components/molecules/PlatformSelector";
 import { noop } from "lodash";
 import useCurrentFid from "@/common/lib/hooks/useCurrentFid";
 

From 66bb1e4d82a0c9d4392b84e70dc28f32f48b1d70 Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Thu, 12 Sep 2024 10:36:47 -0300
Subject: [PATCH 21/23] Connect farcaster style (#417)

---
 public/images/farcaster_nude.png              | Bin 0 -> 76074 bytes
 .../NounspaceManagedSignerAuthenticator.tsx   |  29 ++++++++++++++++--
 src/common/components/molecules/Modal.tsx     |   4 +--
 3 files changed, 29 insertions(+), 4 deletions(-)
 create mode 100644 public/images/farcaster_nude.png

diff --git a/public/images/farcaster_nude.png b/public/images/farcaster_nude.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e113a3e998775cf7d0e2330c1a333555ac84960
GIT binary patch
literal 76074
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

literal 0
HcmV?d00001

diff --git a/src/authenticators/farcaster/signers/NounspaceManagedSignerAuthenticator.tsx b/src/authenticators/farcaster/signers/NounspaceManagedSignerAuthenticator.tsx
index afd2f8c8..5c10daa6 100644
--- a/src/authenticators/farcaster/signers/NounspaceManagedSignerAuthenticator.tsx
+++ b/src/authenticators/farcaster/signers/NounspaceManagedSignerAuthenticator.tsx
@@ -240,11 +240,36 @@ const initializer: AuthenticatorInitializer<
 
   return (
     <div className="flex flex-col justify-center items-center align-center">
-      <h1 className="text-4xl font-extrabold">Connect Farcaster</h1>
+      <h1 className="text-4xl font-extrabold justify-start">
+        Connect Farcaster
+      </h1>
       {isUndefined(data.status) ||
       !isDataInitialized(data) ||
       data.status === "revoked" ? (
-        <Button onClick={createSigner}>Link Warpcast Account</Button>
+        <>
+          <p className="text-lg text-gray-500 mt-4">
+            Use of Nounspace requires a Farcaster account. Click the button
+            below to connect your Farcaster account via Warpcast.
+          </p>
+          <Button
+            style={{
+              backgroundColor: "#7a5fbb",
+              display: "flex",
+              alignItems: "center",
+              gap: "6px",
+              marginTop: "2em",
+            }}
+            className="px-10"
+            onClick={createSigner}
+          >
+            <span>Sign in with</span>
+            <img
+              src="/images/farcaster_nude.png"
+              alt="Icon"
+              style={{ width: "22px", height: "22px" }}
+            />
+          </Button>
+        </>
       ) : loading && warpcastSignerUrl ? (
         <>
           <div className="text-center mt-4">
diff --git a/src/common/components/molecules/Modal.tsx b/src/common/components/molecules/Modal.tsx
index d3d7d2dd..6adc616c 100644
--- a/src/common/components/molecules/Modal.tsx
+++ b/src/common/components/molecules/Modal.tsx
@@ -35,7 +35,7 @@ const Modal = ({
       <Dialog.Content
         className={mergeClasses(
           "data-[state=open]:animate-contentShow fixed bg-background top-[40%]",
-          "left-[50%] w-[100vw] max-w-[600px] translate-x-[-50%] translate-y-[-40%] rounded-[30px] p-[25px]",
+          "left-[50%] w-[100vw] max-w-[600px] translate-x-[-50%] translate-y-[-40%] rounded-[10px] p-[25px]",
           "shadow-[hsl(206_22%_7%_/_35%)_0px_10px_38px_-10px,_hsl(206_22%_7%_/_20%)_0px_10px_20px_-15px] focus:outline-none",
           "z-50",
         )}
@@ -67,7 +67,7 @@ const Modal = ({
         {showClose ? (
           <Dialog.Close asChild>
             <button
-              className="text-card-foreground/80 bg-background/90 focus:shadow-background/90 absolute top-[10px] right-[10px] inline-flex h-[25px] w-[25px] appearance-none items-center justify-center rounded-full focus:shadow-[0_0_0_2px] focus:outline-none"
+              className=" text-gray-400 text-card-foreground/80 bg-background/90 focus:shadow-background/90 absolute top-[10px] right-[10px] inline-flex h-[25px] w-[25px] appearance-none items-center justify-center rounded-full focus:shadow-[0_0_0_2px] focus:outline-none"
               aria-label="Close"
             >
               <Cross2Icon />

From 58db3494b3f08c724262ba30b52633190d15b25e Mon Sep 17 00:00:00 2001
From: Vlad 2 <116202536+sktbrd@users.noreply.github.com>
Date: Thu, 12 Sep 2024 10:37:43 -0300
Subject: [PATCH 22/23] sponsor everyones auth sign (#414)

---
 src/pages/api/signerRequests.ts | 36 ++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/src/pages/api/signerRequests.ts b/src/pages/api/signerRequests.ts
index b9bf290f..0363ed97 100644
--- a/src/pages/api/signerRequests.ts
+++ b/src/pages/api/signerRequests.ts
@@ -101,24 +101,24 @@ async function handlePost(
     },
   });
 
-  // TO DO: Change who get's sponsorship as we leave Alpha and move forward
-  let shouldSponsor = false;
-  if (!isUndefined(requestingWallet)) {
-    try {
-      const { data } = await axios.get<AlchemyIsHolderOfContract>(
-        `${ALCHEMY_API("base")}nft/v3/${process.env.NEXT_PUBLIC_ALCHEMY_API_KEY}/isHolderOfContract`,
-        {
-          params: {
-            wallet: requestingWallet,
-            contractAddress: NOGS_CONTRACT_ADDR,
-          },
-        },
-      );
-      shouldSponsor = data.isHolderOfContract;
-    } catch (e) {
-      console.error(e);
-    }
-  }
+  // We are sponsoring everything for now, set to false and uncomment below to token Gate
+  const shouldSponsor = true; // let shouldSponsor = false;
+  // if (!isUndefined(requestingWallet)) {
+  //   try {
+  //     const { data } = await axios.get<AlchemyIsHolderOfContract>(
+  //       `${ALCHEMY_API("base")}nft/v3/${process.env.NEXT_PUBLIC_ALCHEMY_API_KEY}/isHolderOfContract`,
+  //       {
+  //         params: {
+  //           wallet: requestingWallet,
+  //           contractAddress: NOGS_CONTRACT_ADDR,
+  //         },
+  //       },
+  //     );
+  //     shouldSponsor = data.isHolderOfContract
+  //   } catch (e) {
+  //     console.error(e);
+  //   }
+  // }
 
   let sponsorship: SignedKeyRequestSponsorship | undefined = undefined;
   if (shouldSponsor) {

From f3a8ea4d9df3996549f9c7fe940ac61cbf31d608 Mon Sep 17 00:00:00 2001
From: Jesse Paterson <jesse.r.pat@gmail.com>
Date: Thu, 12 Sep 2024 08:41:44 -0500
Subject: [PATCH 23/23] Update package.json to v 0.0.10 (#424)

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 78fb06f6..2d0b1b39 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "Nounspace",
-  "version": "0.0.9",
+  "version": "0.0.10",
   "license": "",
   "private": true,
   "scripts": {