From d8f133cd5aa6ebf493d7afa07cb51eda484650ff Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 22:02:39 +0000 Subject: [PATCH 1/6] Changes Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com> --- src/integrations/supabase/auth-attacher.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/integrations/supabase/auth-attacher.ts diff --git a/src/integrations/supabase/auth-attacher.ts b/src/integrations/supabase/auth-attacher.ts new file mode 100644 index 0000000..5bc57b7 --- /dev/null +++ b/src/integrations/supabase/auth-attacher.ts @@ -0,0 +1,15 @@ +// This file is automatically generated. Do not edit it directly. +import { createMiddleware } from '@tanstack/react-start' +import { supabase } from './client' + +// Must be registered as a global `functionMiddleware` in `src/start.ts`; otherwise +// the browser never attaches the bearer token to serverFn RPCs. +export const attachSupabaseAuth = createMiddleware({ type: 'function' }).client( + async ({ next }) => { + const { data } = await supabase.auth.getSession() + const token = data.session?.access_token + return next({ + headers: token ? { Authorization: `Bearer ${token}` } : {}, + }) + }, +) From d5c7090a64c4f15dc39d063c00c39ad597e283ae Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 22:02:54 +0000 Subject: [PATCH 2/6] Changes Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com> --- src/routeTree.gen.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index 9de1967..b960641 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -649,12 +649,3 @@ const rootRouteChildren: RootRouteChildren = { export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) ._addFileTypes() - -import type { getRouter } from './router.tsx' -import type { createStart } from '@tanstack/react-start' -declare module '@tanstack/react-start' { - interface Register { - ssr: true - router: Awaited> - } -} From 832ed1ff9f50efc1d49b242127ef428f6003cbb2 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 22:03:20 +0000 Subject: [PATCH 3/6] Changes Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com> --- src/components/mika/FaqSection.tsx | 2 +- src/routes/__root.tsx | 51 ++++++++++++++++++------------ 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/components/mika/FaqSection.tsx b/src/components/mika/FaqSection.tsx index aefd37c..295908a 100644 --- a/src/components/mika/FaqSection.tsx +++ b/src/components/mika/FaqSection.tsx @@ -1,6 +1,6 @@ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"; -const faqs = [ +export const faqs = [ { q: "O que é o Mika?", a: "Mika é uma plataforma brasileira que entrega para você um agente de IA pessoal hospedado em VPS gerenciada, acessível direto pelo Telegram. Ele aprende com você, lembra de contexto e executa tarefas com integrações reais.", diff --git a/src/routes/__root.tsx b/src/routes/__root.tsx index f65dfe7..464fe5e 100644 --- a/src/routes/__root.tsx +++ b/src/routes/__root.tsx @@ -33,50 +33,61 @@ function NotFoundComponent() { ); } +const OG_IMAGE = + "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png"; + export const Route = createRootRouteWithContext()({ head: () => ({ meta: [ { charSet: "utf-8" }, { name: "viewport", content: "width=device-width, initial-scale=1" }, - { title: "Mika — Assistente Pessoal IA" }, + { title: "Mika — Assistente Pessoal IA no Telegram" }, { name: "description", content: - "Agentes de IA personalizados que aprendem com você e te atendem direto no Telegram. Planos a partir de R$ 69,90/mês.", + "Agentes de IA personalizados que aprendem com você e atendem direto no Telegram. Planos a partir de R$ 69,90/mês.", }, { name: "author", content: "DOMCO" }, { name: "theme-color", content: "#F97316" }, - { property: "og:title", content: "Mika — Assistente Pessoal IA" }, - { - property: "og:description", - content: - "Agentes de IA personalizados que aprendem com você e te atendem direto no Telegram. Planos a partir de R$ 69,90/mês.", - }, + { property: "og:site_name", content: "Mika" }, { property: "og:type", content: "website" }, { property: "og:locale", content: "pt_BR" }, - { property: "og:url", content: "https://mika.domco.ai" }, - { property: "og:image", content: "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png" }, + { property: "og:image", content: OG_IMAGE }, { name: "twitter:card", content: "summary_large_image" }, - { name: "twitter:title", content: "Mika — Assistente Pessoal IA" }, - { - name: "twitter:description", - content: "Agentes de IA personalizados, em português, direto no Telegram.", - }, - { name: "twitter:image", content: "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png" }, - { name: "description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." }, - { property: "og:description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." }, - { name: "twitter:description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." }, + { name: "twitter:image", content: OG_IMAGE }, ], links: [ { rel: "stylesheet", href: appCss }, { rel: "icon", href: "/favicon.svg", type: "image/svg+xml" }, - { rel: "canonical", href: "https://mika.domco.ai" }, { rel: "preconnect", href: "https://rsms.me" }, { rel: "stylesheet", href: "https://rsms.me/inter/inter.css", }, ], + scripts: [ + { + type: "application/ld+json", + children: JSON.stringify({ + "@context": "https://schema.org", + "@graph": [ + { + "@type": "Organization", + name: "Mika", + url: "https://mika.domco.ai", + logo: "https://mika.domco.ai/favicon.svg", + parentOrganization: { "@type": "Organization", name: "DOMCO" }, + }, + { + "@type": "WebSite", + name: "Mika", + url: "https://mika.domco.ai", + inLanguage: "pt-BR", + }, + ], + }), + }, + ], }), shellComponent: RootShell, component: RootComponent, From 9a5c8e3b9a32514055c53bb423de4924928431b1 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 22:03:33 +0000 Subject: [PATCH 4/6] Changes Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com> --- src/routes/login.tsx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/routes/login.tsx b/src/routes/login.tsx index 7d78314..2afd297 100644 --- a/src/routes/login.tsx +++ b/src/routes/login.tsx @@ -27,6 +27,24 @@ export const Route = createFileRoute("/login")({ validateSearch: (search: Record): LoginSearch => ({ redirect: typeof search.redirect === "string" ? search.redirect : undefined, }), + head: () => ({ + meta: [ + { title: "Entrar na Mika — Acesse seu agente de IA" }, + { + name: "description", + content: + "Faça login na sua conta Mika para acessar seu agente de IA pessoal, integrações e configurações no painel.", + }, + { property: "og:title", content: "Entrar na Mika" }, + { + property: "og:description", + content: "Acesse seu agente de IA pessoal no painel da Mika.", + }, + { property: "og:url", content: "https://mika.domco.ai/login" }, + { name: "robots", content: "noindex,follow" }, + ], + links: [{ rel: "canonical", href: "https://mika.domco.ai/login" }], + }), component: LoginPage, }); From e89a6c91b05e488b6e769148826a1eeae4188a7e Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 22:03:43 +0000 Subject: [PATCH 5/6] Changes Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com> --- src/routes/signup.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/routes/signup.tsx b/src/routes/signup.tsx index c4f2583..0ad19aa 100644 --- a/src/routes/signup.tsx +++ b/src/routes/signup.tsx @@ -40,6 +40,25 @@ export const Route = createFileRoute("/signup")({ plan: typeof search.plan === "string" ? search.plan : undefined, cycle: search.cycle === "yearly" || search.cycle === "monthly" ? search.cycle : undefined, }), + head: () => ({ + meta: [ + { title: "Criar conta na Mika — Comece seu agente de IA" }, + { + name: "description", + content: + "Crie sua conta Mika em minutos e tenha um agente de IA pessoal no Telegram. Garantia de 30 dias para reembolso integral.", + }, + { property: "og:title", content: "Criar conta na Mika" }, + { + property: "og:description", + content: + "Comece em minutos. Agente de IA pessoal no Telegram com garantia de 30 dias.", + }, + { property: "og:url", content: "https://mika.domco.ai/signup" }, + { name: "robots", content: "noindex,follow" }, + ], + links: [{ rel: "canonical", href: "https://mika.domco.ai/signup" }], + }), component: SignupPage, }); From 421064cc73dc58c95d76bee1cd575d00109730c1 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 22:03:55 +0000 Subject: [PATCH 6/6] Changes Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com> --- src/routes/index.tsx | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/routes/index.tsx b/src/routes/index.tsx index 677ebb2..ec6fa46 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -4,10 +4,36 @@ import { HeroSection } from "@/components/mika/HeroSection"; import { FeaturesSection } from "@/components/mika/FeaturesSection"; import { HowItWorksSection } from "@/components/mika/HowItWorksSection"; import { PlansSection } from "@/components/mika/PlansSection"; -import { FaqSection } from "@/components/mika/FaqSection"; +import { FaqSection, faqs } from "@/components/mika/FaqSection"; import { LandingFooter } from "@/components/mika/LandingFooter"; export const Route = createFileRoute("/")({ + head: () => ({ + meta: [ + { property: "og:title", content: "Mika — Assistente Pessoal IA no Telegram" }, + { + property: "og:description", + content: + "Agentes de IA personalizados que aprendem com você e atendem direto no Telegram. Planos a partir de R$ 69,90/mês.", + }, + { property: "og:url", content: "https://mika.domco.ai/" }, + ], + links: [{ rel: "canonical", href: "https://mika.domco.ai/" }], + scripts: [ + { + type: "application/ld+json", + children: JSON.stringify({ + "@context": "https://schema.org", + "@type": "FAQPage", + mainEntity: faqs.map((f) => ({ + "@type": "Question", + name: f.q, + acceptedAnswer: { "@type": "Answer", text: f.a }, + })), + }), + }, + ], + }), component: LandingPage, });