Compare commits

...

10 Commits

Author SHA1 Message Date
aacbc21605 remove stepper init 2025-02-01 11:06:25 +07:00
83eca26b60 change privy logo, change link to button 2025-02-01 11:05:52 +07:00
625fd34b09 fix id type 2025-01-31 21:52:29 +07:00
b6cf3bae96 change db types 2025-01-31 21:48:44 +07:00
28cf5288ab fix meta desc 2025-01-25 14:14:08 +07:00
25f84f773e remove wallet to solana only 2025-01-24 07:34:46 +07:00
4724909fa6 fix typo 2025-01-23 17:42:18 +07:00
64adffaee7 add share agent button 2025-01-21 13:22:37 +07:00
37f06d683d fix explore link 2025-01-20 22:14:53 +07:00
b6ce119bb1 fix hero pill 2025-01-20 22:13:39 +07:00
9 changed files with 70 additions and 46 deletions

View File

@ -48,7 +48,7 @@ export default function ResponseAgentCard({
)
`
)
.eq("id", agentResponseId)
.eq("id", parseInt(agentResponseId))
.limit(1)
.single();

View File

@ -326,21 +326,22 @@ const CompleteComponent = ({
<Check className="h-6 w-6 text-green-800" />
</div>
<h3 className="text-lg py-4 font-bold">Agent succesfully created!</h3>
<p className="text-muted-foreground">
<p className="text-muted-foreground mb-3">
You can try to have a conversation with your agent.
</p>
<Link
href={`/agents/${agentId}`}
target="blank"
className="text-blue-500 hover:underline"
className={buttonVariants({ variant: "outline" })}
>
<MessageCircle className="h-4 w-4 mr-2"/>
Chat with {agentName}
</Link>
</div>
{/* form footer */}
<div>
<div className="flex justify-end gap-4">
<Link href="/" className={buttonVariants({ variant: "outline" })}>
<Link href="/" className={buttonVariants({ variant: "default" })}>
Back to home
</Link>
</div>

View File

@ -5,14 +5,15 @@ import Image from "next/image";
import { motion } from "framer-motion";
import { Play } from "lucide-react";
import { Play, Share, Share2 } from "lucide-react";
import { formatDate } from "@/lib/utils";
import { Tables } from "@/utils/supabase/database.types";
import { Badge } from "@/components/ui/badge";
import { buttonVariants } from "@/components/ui/button";
import { Button, buttonVariants } from "@/components/ui/button";
import { toast } from "sonner";
const ease = [0.16, 1, 0.3, 1];
@ -65,11 +66,22 @@ export default function AgentCard(props: AgentCardProps) {
</div>
<h3 className="text-xl font-semibold mb-2 truncate">{name}</h3>
<p className="text-sm text-foreground line-clamp-3 mb-4">{description}</p>
<div className="mt-auto grid">
<div className="mt-auto grid sm:grid-cols-2 gap-2">
<Button
variant={"outline"}
onClick={() => {
navigator.clipboard.writeText(`https://beactio.ai/agents/${id}`);
// navigator.clipboard.writeText(`http://localhost:3000/agents/${id}`);
toast.info("Copied to clipboard!");
}}
>
<Share2 className="h-4 w-4 mr-2" />
<span>Share</span>
</Button>
<Link
href={`/agents/${id}`}
target="blank"
className={buttonVariants({ variant: "outline" })}
className={buttonVariants({ variant: "default" })}
>
<Play className="h-4 w-4 mr-2" />
<span>Try it</span>

View File

@ -18,7 +18,7 @@ export default function CtaSection() {
<Section
id="cta"
title="Ready to experience the future of autonomous AI?"
subtitle="Join us and try our agentic AI into your operations."
subtitle="Join us and try our Agentic AI in your operations."
className="bg-primary/10 dark:bg-primary/70 rounded-xl py-16"
>
<motion.div

View File

@ -56,19 +56,8 @@ export default function Footer() {
/>
<span className="font-bold text-xl">{siteConfig.name}</span>
</Link>
<p className="mb-5">Build advanced custom ai agents with no code</p>
<p className="mb-5">Build advanced Custom AI Agents with No Code</p>
<ul className="flex gap-3">
<li>
<Link
href="/"
className={buttonVariants({
variant: "outline",
size: "icon",
})}
>
<FaBook className="text-primary" />
</Link>
</li>
<li>
<Link
href="https://x.com/beactio_ai"

View File

@ -36,25 +36,29 @@ function HeroPill() {
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.8, ease }}
>
<Button
variant={"outline"}
<Link
href={"/explore"}
className="flex w-auto items-center space-x-2 rounded-full bg-primary/20 px-2 py-1 ring-1 ring-accent whitespace-pre"
onClick={() => {
if (data && data.address) {
navigator.clipboard.writeText(data.address);
toast.info("Copied to clipboard!");
}
}}
// variant={"outline"}
// onClick={() => {
// if (data && data.address) {
// navigator.clipboard.writeText(data.address);
// toast.info("Copied to clipboard!");
// }
// }}
>
<div className="w-fit rounded-full bg-accent px-2 py-0.5 text-center text-xs font-medium text-primary sm:text-sm">
📣 Content Address :
📣 Announcement
</div>
{isLoading && (
<p className="text-xs font-medium text-primary sm:text-sm pr-2">
Introducing beactio.ai
</p>
{/* {isLoading && (
<div className="px-6 flex items-center">
<Spinner />
</div>
)}
{isError && (
)} */}
{/* {isError && (
<p className="text-xs font-medium text-primary sm:text-sm">
There is something wrong.
</p>
@ -63,8 +67,8 @@ function HeroPill() {
<p className="text-xs font-medium text-primary sm:text-sm pr-1">
{data?.address}
</p>
)}
</Button>
)} */}
</Link>
</motion.div>
);
}

View File

@ -7,7 +7,7 @@ export const BLUR_FADE_DELAY = 0.15;
export const siteConfig = {
name: "beactio.ai",
description: "Automate your workflow with AI",
description: "Build advanced Custom AI Agents with No Code",
url: process.env.NEXT_PUBLIC_APP_URL || "http://localhost:3000",
keywords: ["SaaS", "Template", "Next.js", "React", "Tailwind CSS"],
links: {

View File

@ -4,7 +4,10 @@ import { PrivyProvider } from "@privy-io/react-auth";
import { toSolanaWalletConnectors } from "@privy-io/react-auth/solana";
const solanaConnectors = toSolanaWalletConnectors();
const solanaConnectors = toSolanaWalletConnectors({
// By default, shouldAutoConnect is enabled
shouldAutoConnect: false,
});
export default function MyPrivyProvider({
children,
@ -20,11 +23,11 @@ export default function MyPrivyProvider({
accentColor: "#812f20",
theme: "light",
showWalletLoginFirst: false,
walletChainType: "ethereum-and-solana",
walletList: ["detected_wallets", "phantom"],
logo: "https://supabasekong-mco40gw4sc0gs4ks40w4c4g4.dev3vds1.link/storage/v1/object/public/agent-thumbnails/Beactio%20Banner.png",
walletChainType: "solana-only",
// walletList: ["phantom"],
logo: "https://supabasekong-swwwcowsg8kso0cg4swosw48.dev3vds1.link/storage/v1/object/public/logo/banner.png",
},
loginMethods: ["email", "wallet", "discord"],
loginMethods: ["email", "wallet"],
fundingMethodConfig: {
moonpay: {
useSandbox: true,

View File

@ -63,21 +63,21 @@ export type Database = {
Row: {
agent_id: number;
created_at: string;
id: string;
id: number;
question: string;
response: string;
};
Insert: {
agent_id: number;
created_at?: string;
id?: string;
id?: number;
question: string;
response: string;
};
Update: {
agent_id?: number;
created_at?: string;
id?: string;
id?: number;
question?: string;
response?: string;
};
@ -103,11 +103,11 @@ export type Database = {
user_id: string | null;
};
Insert: {
conversation?: number;
conversation: number;
created_at?: string;
description: string;
id?: number;
image_url?: string;
image_url: string;
last_conv?: string | null;
model_type: Database["public"]["Enums"]["modelType"];
name: string;
@ -547,3 +547,18 @@ export type Enums<
: PublicEnumNameOrOptions extends keyof PublicSchema["Enums"]
? PublicSchema["Enums"][PublicEnumNameOrOptions]
: never;
export type CompositeTypes<
PublicCompositeTypeNameOrOptions extends
| keyof PublicSchema["CompositeTypes"]
| { schema: keyof Database },
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
schema: keyof Database;
}
? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
: never = never
> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database }
? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
: PublicCompositeTypeNameOrOptions extends keyof PublicSchema["CompositeTypes"]
? PublicSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
: never;