diff --git a/jsconfig.json b/jsconfig.json index 372666d..1520cb4 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,5 +1,9 @@ { "compilerOptions": { - "jsx": "react-jsx" + "jsx": "react-jsx", + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } } -} \ No newline at end of file +} diff --git a/pages/_app.jsx b/pages/_app.jsx index 67e8798..08d00d2 100644 --- a/pages/_app.jsx +++ b/pages/_app.jsx @@ -1,6 +1,6 @@ // _app.jsx — SessionProvider de autenticação REMOVIDO (login desativado temporariamente). // App agora abre direto no dashboard, sem verificação de sessão. -import "../styles/globals.css" +import "@/styles/globals.css" export default function App({ Component, pageProps }) { return ( diff --git a/pages/apps/aurea/index.js b/pages/apps/aurea/index.js deleted file mode 100644 index 8c4ed3e..0000000 --- a/pages/apps/aurea/index.js +++ /dev/null @@ -1,11 +0,0 @@ -export default function Aurea() { - return ( -
-
👑
-

Aurea

-

O Império Começa Aqui

-

Simulador de vida onde cada escolha te leva mais perto da riqueza. Construa impérios, domine o mercado.

- Em Breve -
- ) -} \ No newline at end of file diff --git a/pages/apps/expedicao/index.js b/pages/apps/expedicao/index.js deleted file mode 100644 index 8caa29a..0000000 --- a/pages/apps/expedicao/index.js +++ /dev/null @@ -1,11 +0,0 @@ -export default function ExpedicaoGold() { - return ( -
-
🗺️
-

Expedição Gold

-

Conquiste o Ouro do Mundo

-

Expedições terrestres, marítimas, espaciais e espirituais. Cada jornada é única. Cada conquista, sua.

- Em Breve no 1000Apps -
- ) -} \ No newline at end of file diff --git a/pages/apps/humancity/index.js b/pages/apps/humancity/index.js deleted file mode 100644 index a16d07d..0000000 --- a/pages/apps/humancity/index.js +++ /dev/null @@ -1,11 +0,0 @@ -export default function HumanCity() { - return ( -
-
🏙️
-

Human City

-

Simule. Construa. Viva.

-

Simulação de vida estilo The Sims. Crie personagens, construa cidades, escreva sua história.

- Em Desenvolvimento -
- ) -} \ No newline at end of file diff --git a/pages/apps/terraverse/index.js b/pages/apps/terraverse/index.js deleted file mode 100644 index e114099..0000000 --- a/pages/apps/terraverse/index.js +++ /dev/null @@ -1,11 +0,0 @@ -export default function TerraVerse() { - return ( -
-
🌍
-

TerraVerse

-

O Novo Mundo te Espera

-

Game de realidade aumentada que vai revolucionar como você explora, conquista e monetiza o mundo real.

- Em Breve -
- ) -} \ No newline at end of file diff --git a/pages/apps/tictactoe/index.js b/pages/apps/tictactoe/index.js deleted file mode 100644 index 0edc4a2..0000000 --- a/pages/apps/tictactoe/index.js +++ /dev/null @@ -1,83 +0,0 @@ -import { useState } from 'react'; - -export default function TicTacToe() { - const [board, setBoard] = useState(Array(9).fill(null)); - const [xIsNext, setXIsNext] = useState(true); - const winner = calculateWinner(board); - const status = winner - ? `Winner: ${winner}` - : `Next player: ${xIsNext ? 'X' : 'O'}`; - - function handleClick(i) { - const boardCopy = [...board]; - if (winner || boardCopy[i]) return; - boardCopy[i] = xIsNext ? 'X' : 'O'; - setBoard(boardCopy); - setXIsNext(!xIsNext); - } - - function calculateWinner(squares) { - const lines = [ - [0, 1, 2], - [3, 4, 5], - [6, 7, 8], - [0, 3, 6], - [1, 4, 7], - [2, 5, 8], - [0, 4, 8], - [2, 4, 6], - ]; - for (let [a, b, c] of lines) { - if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) { - return squares[a]; - } - } - return null; - } - - const renderSquare = (i) => ( - - ); - - const statusStyle = { - marginBottom: '1rem', - fontSize: '1.2rem', - }; - const boardStyle = { - display: 'grid', - gridTemplateColumns: 'repeat(3, 1fr)', - gap: '4px', - width: '300px', - margin: '0 auto', - }; - const squareStyle = { - background: '#fff', - border: '1px solid #999', - fontSize: '2rem', - width: '100%', - height: '80px', - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - cursor: 'pointer', - }; - - return ( -
-

Tic Tac Toe

-
{status}
-
- {[0, 1, 2, 3, 4, 5, 6, 7, 8].map(i => ( -
- {renderSquare(i)} -
- ))} -
-
- ); -} \ No newline at end of file diff --git a/pages/dashboard.jsx b/pages/dashboard.jsx index 73123d9..31764ef 100644 --- a/pages/dashboard.jsx +++ b/pages/dashboard.jsx @@ -1,8 +1,8 @@ import React from "react" import { useState } from "react" import { useRouter } from "next/router" -import AvatarSelector from "../components/AvatarSelector" -import CategoryMenu from "../components/CategoryMenu" +import AvatarSelector from "@/components/dashboard/AvatarSelector" +import CategoryMenu from "@/components/dashboard/CategoryMenu" export default function Dashboard() { const router = useRouter() diff --git a/src/components/apps/.gitkeep b/src/components/apps/.gitkeep new file mode 100644 index 0000000..130ee76 --- /dev/null +++ b/src/components/apps/.gitkeep @@ -0,0 +1 @@ +# App-specific components (placeholder) diff --git a/src/components/common/CardApp.jsx b/src/components/common/CardApp.jsx new file mode 100644 index 0000000..f4a392c --- /dev/null +++ b/src/components/common/CardApp.jsx @@ -0,0 +1,12 @@ +// CardApp — cartão de mini app no grid do dashboard. +// Placeholder arquitetural: ainda não utilizado ativamente. +export default function CardApp({ title, icon, description, href, onClick }) { + return ( + +
{icon}
+

{title}

+ {description &&

{description}

} +
+ ) +} diff --git a/src/components/common/CategoryCard.jsx b/src/components/common/CategoryCard.jsx new file mode 100644 index 0000000..cc1c602 --- /dev/null +++ b/src/components/common/CategoryCard.jsx @@ -0,0 +1,11 @@ +// CategoryCard — cartão de categoria na navegação. +// Placeholder arquitetural. +export default function CategoryCard({ label, icon, active, onSelect }) { + return ( + + ) +} diff --git a/src/components/common/ConfirmDialog.jsx b/src/components/common/ConfirmDialog.jsx new file mode 100644 index 0000000..4eb4482 --- /dev/null +++ b/src/components/common/ConfirmDialog.jsx @@ -0,0 +1,15 @@ +// ConfirmDialog — diálogo de confirmação. +// Placeholder arquitetural. +export default function ConfirmDialog({ open, title, message, onConfirm, onCancel }) { + if (!open) return null + return ( + +

{title || "Confirma?"}

+

{message}

+
+ + +
+
+ ) +} diff --git a/src/components/common/EmptyState.jsx b/src/components/common/EmptyState.jsx new file mode 100644 index 0000000..afeb3f1 --- /dev/null +++ b/src/components/common/EmptyState.jsx @@ -0,0 +1,5 @@ +// EmptyState — estado vazio. +// Placeholder arquitetural. +export default function EmptyState({ message }) { + return
{message || "Nada por aqui."}
+} diff --git a/src/components/common/ErrorState.jsx b/src/components/common/ErrorState.jsx new file mode 100644 index 0000000..26362ae --- /dev/null +++ b/src/components/common/ErrorState.jsx @@ -0,0 +1,10 @@ +// ErrorState — estado de erro. +// Placeholder arquitetural. +export default function ErrorState({ message, onRetry }) { + return ( +
+

{message || "Algo deu errado."}

+ {onRetry && } +
+ ) +} diff --git a/src/components/common/Footer.jsx b/src/components/common/Footer.jsx new file mode 100644 index 0000000..7fe182e --- /dev/null +++ b/src/components/common/Footer.jsx @@ -0,0 +1,9 @@ +// Footer — rodapé global. +// Placeholder arquitetural. +export default function Footer() { + return ( + + ) +} diff --git a/src/components/common/Header.jsx b/src/components/common/Header.jsx new file mode 100644 index 0000000..27c8486 --- /dev/null +++ b/src/components/common/Header.jsx @@ -0,0 +1,12 @@ +// Header — cabeçalho global do app. +// Placeholder arquitetural (não renderiza nada ainda). +export default function Header({ title, children }) { + return ( +
+
+

{title || "1000Apps"}

+ {children} +
+
+ ) +} diff --git a/src/components/common/Loading.jsx b/src/components/common/Loading.jsx new file mode 100644 index 0000000..ab4b89b --- /dev/null +++ b/src/components/common/Loading.jsx @@ -0,0 +1,5 @@ +// Loading — indicador de carregamento. +// Placeholder arquitetural. +export default function Loading({ label }) { + return
{label || "Carregando..."}
+} diff --git a/src/components/common/Modal.jsx b/src/components/common/Modal.jsx new file mode 100644 index 0000000..247b34d --- /dev/null +++ b/src/components/common/Modal.jsx @@ -0,0 +1,10 @@ +// Modal — janela modal genérica. +// Placeholder arquitetural. +export default function Modal({ open, onClose, children }) { + if (!open) return null + return ( +
+
e.stopPropagation()}>{children}
+
+ ) +} diff --git a/src/components/common/SearchBar.jsx b/src/components/common/SearchBar.jsx new file mode 100644 index 0000000..708425a --- /dev/null +++ b/src/components/common/SearchBar.jsx @@ -0,0 +1,9 @@ +// SearchBar — barra de busca de mini apps. +// Placeholder arquitetural. +export default function SearchBar({ value, onChange, placeholder }) { + return ( + onChange && onChange(e.target.value)} + placeholder={placeholder || "Buscar..."} + className="w-full p-2 border border-gray-300 rounded-lg" /> + ) +} diff --git a/src/components/common/index.js b/src/components/common/index.js new file mode 100644 index 0000000..74428d2 --- /dev/null +++ b/src/components/common/index.js @@ -0,0 +1,11 @@ +// Barrel export dos componentes compartilhados. +export { default as CardApp } from "./CardApp" +export { default as CategoryCard } from "./CategoryCard" +export { default as SearchBar } from "./SearchBar" +export { default as Header } from "./Header" +export { default as Footer } from "./Footer" +export { default as Loading } from "./Loading" +export { default as EmptyState } from "./EmptyState" +export { default as ErrorState } from "./ErrorState" +export { default as Modal } from "./Modal" +export { default as ConfirmDialog } from "./ConfirmDialog" diff --git a/components/AvatarSelector.jsx b/src/components/dashboard/AvatarSelector.jsx similarity index 100% rename from components/AvatarSelector.jsx rename to src/components/dashboard/AvatarSelector.jsx diff --git a/components/CategoryMenu.jsx b/src/components/dashboard/CategoryMenu.jsx similarity index 100% rename from components/CategoryMenu.jsx rename to src/components/dashboard/CategoryMenu.jsx diff --git a/src/components/layout/.gitkeep b/src/components/layout/.gitkeep new file mode 100644 index 0000000..91e9362 --- /dev/null +++ b/src/components/layout/.gitkeep @@ -0,0 +1 @@ +# Layout components (placeholder) diff --git a/legacy/README.md b/src/legacy/README.md similarity index 100% rename from legacy/README.md rename to src/legacy/README.md diff --git a/legacy/auth/README.md b/src/legacy/auth/README.md similarity index 100% rename from legacy/auth/README.md rename to src/legacy/auth/README.md diff --git a/legacy/auth/nextauth.js b/src/legacy/auth/nextauth.js similarity index 100% rename from legacy/auth/nextauth.js rename to src/legacy/auth/nextauth.js diff --git a/legacy/auth/signin.jsx b/src/legacy/auth/signin.jsx similarity index 100% rename from legacy/auth/signin.jsx rename to src/legacy/auth/signin.jsx diff --git a/legacy/auth/signup.jsx b/src/legacy/auth/signup.jsx similarity index 100% rename from legacy/auth/signup.jsx rename to src/legacy/auth/signup.jsx diff --git a/legacy/dashboard.jsx.bak b/src/legacy/dashboard.jsx.bak similarity index 100% rename from legacy/dashboard.jsx.bak rename to src/legacy/dashboard.jsx.bak diff --git a/legacy/landing/README.md b/src/legacy/landing/README.md similarity index 100% rename from legacy/landing/README.md rename to src/legacy/landing/README.md diff --git a/legacy/landing/index.jsx b/src/legacy/landing/index.jsx similarity index 100% rename from legacy/landing/index.jsx rename to src/legacy/landing/index.jsx diff --git a/lib/prisma.js b/src/lib/prisma.js similarity index 100% rename from lib/prisma.js rename to src/lib/prisma.js diff --git a/src/modules/bloco_notas/README.md b/src/modules/bloco_notas/README.md new file mode 100644 index 0000000..d77f5b5 --- /dev/null +++ b/src/modules/bloco_notas/README.md @@ -0,0 +1,4 @@ +# Módulo: bloco_notas + +Estrutura preparada para o mini app 'bloco_notas'. +Nenhuma funcionalidade implementada ainda. diff --git a/src/modules/bloco_notas/components/.gitkeep b/src/modules/bloco_notas/components/.gitkeep new file mode 100644 index 0000000..740fbd4 --- /dev/null +++ b/src/modules/bloco_notas/components/.gitkeep @@ -0,0 +1 @@ +# bloco_notas/components (placeholder) diff --git a/src/modules/bloco_notas/hooks/.gitkeep b/src/modules/bloco_notas/hooks/.gitkeep new file mode 100644 index 0000000..6058b77 --- /dev/null +++ b/src/modules/bloco_notas/hooks/.gitkeep @@ -0,0 +1 @@ +# bloco_notas/hooks (placeholder) diff --git a/src/modules/bloco_notas/pages/.gitkeep b/src/modules/bloco_notas/pages/.gitkeep new file mode 100644 index 0000000..41888c1 --- /dev/null +++ b/src/modules/bloco_notas/pages/.gitkeep @@ -0,0 +1 @@ +# bloco_notas/pages (placeholder) diff --git a/src/modules/bloco_notas/services/.gitkeep b/src/modules/bloco_notas/services/.gitkeep new file mode 100644 index 0000000..95a457f --- /dev/null +++ b/src/modules/bloco_notas/services/.gitkeep @@ -0,0 +1 @@ +# bloco_notas/services (placeholder) diff --git a/src/modules/calculadora/README.md b/src/modules/calculadora/README.md new file mode 100644 index 0000000..0863185 --- /dev/null +++ b/src/modules/calculadora/README.md @@ -0,0 +1,4 @@ +# Módulo: calculadora + +Estrutura preparada para o mini app 'calculadora'. +Nenhuma funcionalidade implementada ainda. diff --git a/src/modules/calculadora/components/.gitkeep b/src/modules/calculadora/components/.gitkeep new file mode 100644 index 0000000..fca112f --- /dev/null +++ b/src/modules/calculadora/components/.gitkeep @@ -0,0 +1 @@ +# calculadora/components (placeholder) diff --git a/src/modules/calculadora/hooks/.gitkeep b/src/modules/calculadora/hooks/.gitkeep new file mode 100644 index 0000000..0ddc4e0 --- /dev/null +++ b/src/modules/calculadora/hooks/.gitkeep @@ -0,0 +1 @@ +# calculadora/hooks (placeholder) diff --git a/src/modules/calculadora/pages/.gitkeep b/src/modules/calculadora/pages/.gitkeep new file mode 100644 index 0000000..07afc8e --- /dev/null +++ b/src/modules/calculadora/pages/.gitkeep @@ -0,0 +1 @@ +# calculadora/pages (placeholder) diff --git a/src/modules/calculadora/services/.gitkeep b/src/modules/calculadora/services/.gitkeep new file mode 100644 index 0000000..951c524 --- /dev/null +++ b/src/modules/calculadora/services/.gitkeep @@ -0,0 +1 @@ +# calculadora/services (placeholder) diff --git a/src/modules/conversor/README.md b/src/modules/conversor/README.md new file mode 100644 index 0000000..b114502 --- /dev/null +++ b/src/modules/conversor/README.md @@ -0,0 +1,4 @@ +# Módulo: conversor + +Estrutura preparada para o mini app 'conversor'. +Nenhuma funcionalidade implementada ainda. diff --git a/src/modules/conversor/components/.gitkeep b/src/modules/conversor/components/.gitkeep new file mode 100644 index 0000000..88985ad --- /dev/null +++ b/src/modules/conversor/components/.gitkeep @@ -0,0 +1 @@ +# conversor/components (placeholder) diff --git a/src/modules/conversor/hooks/.gitkeep b/src/modules/conversor/hooks/.gitkeep new file mode 100644 index 0000000..a7f9aa8 --- /dev/null +++ b/src/modules/conversor/hooks/.gitkeep @@ -0,0 +1 @@ +# conversor/hooks (placeholder) diff --git a/src/modules/conversor/pages/.gitkeep b/src/modules/conversor/pages/.gitkeep new file mode 100644 index 0000000..1c9ff01 --- /dev/null +++ b/src/modules/conversor/pages/.gitkeep @@ -0,0 +1 @@ +# conversor/pages (placeholder) diff --git a/src/modules/conversor/services/.gitkeep b/src/modules/conversor/services/.gitkeep new file mode 100644 index 0000000..13324d7 --- /dev/null +++ b/src/modules/conversor/services/.gitkeep @@ -0,0 +1 @@ +# conversor/services (placeholder) diff --git a/src/modules/criptomoedas/README.md b/src/modules/criptomoedas/README.md new file mode 100644 index 0000000..359ffee --- /dev/null +++ b/src/modules/criptomoedas/README.md @@ -0,0 +1,4 @@ +# Módulo: criptomoedas + +Estrutura preparada para o mini app 'criptomoedas'. +Nenhuma funcionalidade implementada ainda. diff --git a/src/modules/criptomoedas/components/.gitkeep b/src/modules/criptomoedas/components/.gitkeep new file mode 100644 index 0000000..fe6fc34 --- /dev/null +++ b/src/modules/criptomoedas/components/.gitkeep @@ -0,0 +1 @@ +# criptomoedas/components (placeholder) diff --git a/src/modules/criptomoedas/hooks/.gitkeep b/src/modules/criptomoedas/hooks/.gitkeep new file mode 100644 index 0000000..fc32e70 --- /dev/null +++ b/src/modules/criptomoedas/hooks/.gitkeep @@ -0,0 +1 @@ +# criptomoedas/hooks (placeholder) diff --git a/src/modules/criptomoedas/pages/.gitkeep b/src/modules/criptomoedas/pages/.gitkeep new file mode 100644 index 0000000..6cd7e0e --- /dev/null +++ b/src/modules/criptomoedas/pages/.gitkeep @@ -0,0 +1 @@ +# criptomoedas/pages (placeholder) diff --git a/src/modules/criptomoedas/services/.gitkeep b/src/modules/criptomoedas/services/.gitkeep new file mode 100644 index 0000000..fb649b2 --- /dev/null +++ b/src/modules/criptomoedas/services/.gitkeep @@ -0,0 +1 @@ +# criptomoedas/services (placeholder) diff --git a/src/modules/jogos/README.md b/src/modules/jogos/README.md new file mode 100644 index 0000000..8da530b --- /dev/null +++ b/src/modules/jogos/README.md @@ -0,0 +1,4 @@ +# Módulo: jogos + +Estrutura preparada para o mini app 'jogos'. +Nenhuma funcionalidade implementada ainda. diff --git a/src/modules/jogos/components/.gitkeep b/src/modules/jogos/components/.gitkeep new file mode 100644 index 0000000..a44dd17 --- /dev/null +++ b/src/modules/jogos/components/.gitkeep @@ -0,0 +1 @@ +# jogos/components (placeholder) diff --git a/src/modules/jogos/hooks/.gitkeep b/src/modules/jogos/hooks/.gitkeep new file mode 100644 index 0000000..47ab038 --- /dev/null +++ b/src/modules/jogos/hooks/.gitkeep @@ -0,0 +1 @@ +# jogos/hooks (placeholder) diff --git a/src/modules/jogos/pages/.gitkeep b/src/modules/jogos/pages/.gitkeep new file mode 100644 index 0000000..4b23df7 --- /dev/null +++ b/src/modules/jogos/pages/.gitkeep @@ -0,0 +1 @@ +# jogos/pages (placeholder) diff --git a/src/modules/jogos/services/.gitkeep b/src/modules/jogos/services/.gitkeep new file mode 100644 index 0000000..363576f --- /dev/null +++ b/src/modules/jogos/services/.gitkeep @@ -0,0 +1 @@ +# jogos/services (placeholder) diff --git a/src/modules/noticias/README.md b/src/modules/noticias/README.md new file mode 100644 index 0000000..fbc6354 --- /dev/null +++ b/src/modules/noticias/README.md @@ -0,0 +1,4 @@ +# Módulo: noticias + +Estrutura preparada para o mini app 'noticias'. +Nenhuma funcionalidade implementada ainda. diff --git a/src/modules/noticias/components/.gitkeep b/src/modules/noticias/components/.gitkeep new file mode 100644 index 0000000..c40947f --- /dev/null +++ b/src/modules/noticias/components/.gitkeep @@ -0,0 +1 @@ +# noticias/components (placeholder) diff --git a/src/modules/noticias/hooks/.gitkeep b/src/modules/noticias/hooks/.gitkeep new file mode 100644 index 0000000..938aa43 --- /dev/null +++ b/src/modules/noticias/hooks/.gitkeep @@ -0,0 +1 @@ +# noticias/hooks (placeholder) diff --git a/src/modules/noticias/pages/.gitkeep b/src/modules/noticias/pages/.gitkeep new file mode 100644 index 0000000..ad3b778 --- /dev/null +++ b/src/modules/noticias/pages/.gitkeep @@ -0,0 +1 @@ +# noticias/pages (placeholder) diff --git a/src/modules/noticias/services/.gitkeep b/src/modules/noticias/services/.gitkeep new file mode 100644 index 0000000..722c014 --- /dev/null +++ b/src/modules/noticias/services/.gitkeep @@ -0,0 +1 @@ +# noticias/services (placeholder) diff --git a/src/services/api/client.js b/src/services/api/client.js new file mode 100644 index 0000000..6573bd0 --- /dev/null +++ b/src/services/api/client.js @@ -0,0 +1,12 @@ +// Serviço de API central. +// Placeholder arquitetural — ainda não implementado. +const API_BASE = process.env.NEXT_PUBLIC_API_BASE || "/api" + +export async function get(path) { + // TODO: implementar wrapper fetch com auth/erros + throw new Error("api.get not implemented") +} +export async function post(path, body) { + throw new Error("api.post not implemented") +} +export default { API_BASE, get, post } diff --git a/src/services/auth/index.js b/src/services/auth/index.js new file mode 100644 index 0000000..885f09b --- /dev/null +++ b/src/services/auth/index.js @@ -0,0 +1,6 @@ +// Aggregador de provedores de auth (preparação). +export { PROVIDERS, AuthProvider } from "./interfaces" +export { googleProvider } from "./providers/google" +export { appleProvider } from "./providers/apple" +export { emailProvider } from "./providers/email" +export { anonymousProvider } from "./providers/anonymous" diff --git a/src/services/auth/interfaces.js b/src/services/auth/interfaces.js new file mode 100644 index 0000000..7f1228c --- /dev/null +++ b/src/services/auth/interfaces.js @@ -0,0 +1,16 @@ +// Interfaces de provedores de autenticação (preparação, sem SDK). +// Implementação real ocorrerá em fase futura. + +export const AuthProvider = { + // Cada provedor deve implementar: + // login(): Promise<{ user, token }> + // logout(): Promise + // getSession(): Promise +} + +export const PROVIDERS = { + GOOGLE: "google", + APPLE: "apple", + EMAIL: "email", + ANONYMOUS: "anonymous", +} diff --git a/src/services/auth/providers/anonymous.js b/src/services/auth/providers/anonymous.js new file mode 100644 index 0000000..108fbb2 --- /dev/null +++ b/src/services/auth/providers/anonymous.js @@ -0,0 +1,6 @@ +// Login Anônimo — placeholder arquitetural. +export const anonymousProvider = { + id: "anonymous", + async login() { throw new Error("Anonymous login not implemented") }, + async logout() { throw new Error("Anonymous logout not implemented") }, +} diff --git a/src/services/auth/providers/apple.js b/src/services/auth/providers/apple.js new file mode 100644 index 0000000..55d0e72 --- /dev/null +++ b/src/services/auth/providers/apple.js @@ -0,0 +1,6 @@ +// Apple Login — placeholder arquitetural (sem SDK instalado). +export const appleProvider = { + id: "apple", + async login() { throw new Error("Apple login not implemented") }, + async logout() { throw new Error("Apple logout not implemented") }, +} diff --git a/src/services/auth/providers/email.js b/src/services/auth/providers/email.js new file mode 100644 index 0000000..b052f8f --- /dev/null +++ b/src/services/auth/providers/email.js @@ -0,0 +1,6 @@ +// Email/Senha — placeholder arquitetural (sem backend de auth ativo). +export const emailProvider = { + id: "email", + async login({ username, password }) { throw new Error("Email login not implemented") }, + async logout() { throw new Error("Email logout not implemented") }, +} diff --git a/src/services/auth/providers/google.js b/src/services/auth/providers/google.js new file mode 100644 index 0000000..644facb --- /dev/null +++ b/src/services/auth/providers/google.js @@ -0,0 +1,6 @@ +// Google Login — placeholder arquitetural (sem SDK instalado). +export const googleProvider = { + id: "google", + async login() { throw new Error("Google login not implemented") }, + async logout() { throw new Error("Google logout not implemented") }, +} diff --git a/styles/globals.css b/src/styles/globals.css similarity index 100% rename from styles/globals.css rename to src/styles/globals.css