diff --git a/app/explore/page.tsx b/app/explore/page.tsx index 68e82759..ab53b404 100644 --- a/app/explore/page.tsx +++ b/app/explore/page.tsx @@ -83,6 +83,7 @@ export default function Explore() { setCurrent('/explore') refresh() }, []); + useEffect(() => { refresh() }, [authenticated]);; return ( @@ -169,7 +170,7 @@ export default function Explore() { {loading ? :
- +
{filteredScripts.map((script) => (
{ setNextLoading(true) - getScripts({limit: 10, continue: next}) + getScripts({ + limit: 10, + filter: (query || owner || visibility) && filter === "featured" ? '' : filter, + search: query, + visibility: visibility, + owner: owner, + continue: next + }) .then((resp) => { if (resp.continue) setNext(resp.continue) else setNext(undefined) diff --git a/components/edit/configure/imports/toolCatalog.tsx b/components/edit/configure/imports/toolCatalog.tsx index 7c86eb6f..ee2290bb 100644 --- a/components/edit/configure/imports/toolCatalog.tsx +++ b/components/edit/configure/imports/toolCatalog.tsx @@ -487,6 +487,7 @@ const ToolCatalog: React.FC = ({tools, addTool, removeTool}) = startContent={} color="primary" onPress={() => { + if (!url) return; if (!priorityTools["From URL"].map((t) => t.url).includes(url)) { addTool(url) priorityTools["From URL"].push({ diff --git a/components/explore/scriptModal.tsx b/components/explore/scriptModal.tsx index ebb9b5b4..5907867b 100644 --- a/components/explore/scriptModal.tsx +++ b/components/explore/scriptModal.tsx @@ -1,10 +1,10 @@ "use client" import {Modal, ModalContent, ModalBody, ModalHeader, ModalFooter, Button, Link, Avatar, Divider, Accordion, AccordionItem, Chip, Tooltip, Table, TableHeader, TableColumn, TableRow, TableCell, TableBody } from "@nextui-org/react"; -import {ParsedScript} from "@/actions/me/scripts"; +import {deleteScript, ParsedScript} from "@/actions/me/scripts"; import { GoCode, GoPaperAirplane, GoPencil, GoTrash } from "react-icons/go"; import { AuthContext } from "@/contexts/auth"; -import { useContext, useEffect, useState } from "react"; +import { useCallback, useContext, useEffect, useState } from "react"; import {TbListDetails} from "react-icons/tb"; import { LiaExpandArrowsAltSolid } from "react-icons/lia"; @@ -12,12 +12,20 @@ interface ScriptModalProps { className?: string; script: ParsedScript; open: boolean; setOpen: React.Dispatch>; + refresh: () => void; } -const ScriptModal = ({ className, script, open, setOpen }: ScriptModalProps) => { +const ScriptModal = ({ className, script, open, setOpen, refresh }: ScriptModalProps) => { const {authenticated, me} = useContext(AuthContext); const [expanded, setExpanded] = useState(false); + const handleDelete = useCallback((script: ParsedScript) => { + deleteScript(script) + .then(() => refresh() ) + .catch((error) => console.error(error)) + .finally(() => setOpen(false)); + }, []); + return ( {authenticated && me?.username === script.owner && <> - + }