diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..7a550fe --- /dev/null +++ b/.env.example @@ -0,0 +1,9 @@ +# GEMINI_API_KEY: Required for Gemini AI API calls. +# AI Studio automatically injects this at runtime from user secrets. +# Users configure this via the Secrets panel in the AI Studio UI. +GEMINI_API_KEY="MY_GEMINI_API_KEY" + +# APP_URL: The URL where this applet is hosted. +# AI Studio automatically injects this at runtime with the Cloud Run service URL. +# Used for self-referential links, OAuth callbacks, and API endpoints. +APP_URL="MY_APP_URL" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5a86d2a --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +build/ +dist/ +coverage/ +.DS_Store +*.log +.env* +!.env.example diff --git a/README.md b/README.md index 2241000..b06f70a 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,20 @@
- GHBanner - -

Built with AI Studio

- -

The fastest path from prompt to production with Gemini.

- - Start building -
+ +# Run and deploy your AI Studio app + +This contains everything you need to run your app locally. + +View your app in AI Studio: https://ai.studio/apps/895b5e6f-2f53-4698-8c85-254822f236ac + +## Run Locally + +**Prerequisites:** Node.js + + +1. Install dependencies: + `npm install` +2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key +3. Run the app: + `npm run dev` diff --git a/assets/banner-faleiros-tv-1.jpg b/assets/banner-faleiros-tv-1.jpg new file mode 100644 index 0000000..4a0690e Binary files /dev/null and b/assets/banner-faleiros-tv-1.jpg differ diff --git a/assets/conserto-eletrodomesticos.png b/assets/conserto-eletrodomesticos.png new file mode 100644 index 0000000..2ac1514 Binary files /dev/null and b/assets/conserto-eletrodomesticos.png differ diff --git a/assets/conserto-microondas.png b/assets/conserto-microondas.png new file mode 100644 index 0000000..02521e5 Binary files /dev/null and b/assets/conserto-microondas.png differ diff --git a/assets/instalação-de-tv.jpg b/assets/instalação-de-tv.jpg new file mode 100644 index 0000000..eb557cd Binary files /dev/null and b/assets/instalação-de-tv.jpg differ diff --git a/assets/logo-faleiros-tv-negativada.png b/assets/logo-faleiros-tv-negativada.png new file mode 100644 index 0000000..755eabf Binary files /dev/null and b/assets/logo-faleiros-tv-negativada.png differ diff --git a/assets/logo-faleiros-tv.png b/assets/logo-faleiros-tv.png new file mode 100644 index 0000000..715e85d Binary files /dev/null and b/assets/logo-faleiros-tv.png differ diff --git a/assets/tv-quebrada.png b/assets/tv-quebrada.png new file mode 100644 index 0000000..3051059 Binary files /dev/null and b/assets/tv-quebrada.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..d0b4d33 --- /dev/null +++ b/index.html @@ -0,0 +1,314 @@ + + + + + + Faleiros TV - Assistência Técnica Especializada + + + + + + +
+
+ +
+
+ Faleiros TV +
+ +
+ + +
+
+ Assistência Técnica +
+
+
+

+ Assistência Técnica Especializada em TVs e Eletrodomésticos +

+

+ Serviço rápido, transparente e com garantia. Devolva a vida aos seus aparelhos com a equipe mais qualificada da região. +

+ + Agendar Avaliação + +
+
+ + +
+
+
+ +

Atendimento a Domicílio

+
+
+ +

Garantia de Serviço

+
+
+ +

Técnicos Qualificados

+
+
+
+ + +
+
+

Nossos Serviços

+
+ +
+
+ Conserto de TVs +
+
+

Conserto de TVs

+

+ Especialistas em Smart TVs, LED, OLED e QLED. Resolvemos problemas de imagem, som, conectividade e placa principal com peças originais e diagnóstico preciso. +

+ Agendar avaliação +
+
+ +
+
+ Conserto de Micro-ondas +
+
+

Conserto de Micro-ondas

+

+ Reparo completo para micro-ondas que não esquentam, apresentam falhas no painel ou problemas no prato giratório. Segurança e eficiência em cada conserto. +

+ Agendar avaliação +
+
+ +
+
+ Eletrodomésticos +
+
+

Eletrodomésticos

+

+ Manutenção preventiva e corretiva para diversos eletrodomésticos da sua casa. Aumente a vida útil dos seus aparelhos com nosso serviço especializado. +

+ Agendar avaliação +
+
+
+
+
+ + +
+
+ +
+
+

+ Sua TV quebrou e não compensa consertar? Nós compramos! +

+ + Quero vender minha TV + +
+
+ + +
+
+

Como Funciona

+
+
+
+ +
+

1. Contato

+

+ Fale conosco e descreva o problema do seu aparelho. Nossa equipe fará um pré-atendimento rápido para entender sua necessidade. +

+
+
+
+ +
+

2. Avaliação

+

+ Um técnico especializado fará uma avaliação detalhada do equipamento, identificando a causa raiz e apresentando um orçamento transparente. +

+
+
+
+ +
+

3. Conserto

+

+ Após sua aprovação, realizamos o reparo utilizando peças de qualidade e testamos o aparelho para garantir o funcionamento perfeito. +

+
+
+
+
+ + +
+
+
+

O que dizem nossos clientes

+

Excelência comprovada por nossos clientes

+
+
+ +
+
+
+ + + + + +
+
+

+ "Excelente atendimento na Faleiros TV! Levei minha Airfryer que não ligava mais e o conserto foi super rápido e com preço justo. Voltarei com certeza." +

+

- João Pedro

+
+ +
+
+
+ + + + + +
+
+

+ "Minha TV parou de dar imagem e eles resolveram o problema no mesmo dia. Profissionais honestos e muito capacitados. Recomendo a todos!" +

+

- Maria Fernanda

+
+ +
+
+
+ + + + + +
+
+

+ "Consertaram meu micro-ondas que estava fazendo um barulho estranho. O técnico explicou exatamente qual era o defeito. Assistência de total confiança." +

+

- Ricardo Gomes

+
+
+
+
+ + +
+
+
+ Faleiros TV +

+ Assistência técnica especializada em TVs e eletrodomésticos.
+ Qualidade, transparência e garantia em cada serviço prestado. +

+
+
+

Contato

+
    +
  • + + (16) 99128-5847 +
  • +
  • + + R. Cap. Luís de Faria Batista, 106
    Planalto Verde, Ribeirão Preto - SP
    14056-284
    +
  • +
+
+
+

Horário

+
    +
  • + +
    +

    Segunda a Sexta

    +

    08:00 às 18:00

    +
    +
  • +
  • +
    +
    +

    Sábado

    +

    08:00 às 12:00

    +
    +
  • +
+
+
+
+

© 2026 Agência Compor. Todos os direitos reservados.

+
+
+ + + + + + +
+
+ + + + + diff --git a/metadata.json b/metadata.json new file mode 100644 index 0000000..271d89d --- /dev/null +++ b/metadata.json @@ -0,0 +1,5 @@ +{ + "name": "", + "description": "", + "requestFramePermissions": [] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..3a21a27 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "react-example", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite --port=3000 --host=0.0.0.0", + "build": "vite build", + "preview": "vite preview", + "clean": "rm -rf dist", + "lint": "tsc --noEmit" + }, + "dependencies": { + "@google/genai": "^1.29.0", + "@tailwindcss/vite": "^4.1.14", + "@vitejs/plugin-react": "^5.0.4", + "lucide-react": "^0.546.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "vite": "^6.2.0", + "express": "^4.21.2", + "dotenv": "^17.2.3", + "motion": "^12.23.24" + }, + "devDependencies": { + "@types/node": "^22.14.0", + "autoprefixer": "^10.4.21", + "tailwindcss": "^4.1.14", + "tsx": "^4.21.0", + "typescript": "~5.8.2", + "vite": "^6.2.0", + "@types/express": "^4.17.21" + } +} diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..4d37fb2 --- /dev/null +++ b/src/index.css @@ -0,0 +1,5 @@ +@import "tailwindcss"; + +html { + scroll-behavior: smooth; +} diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..6a9a4b1 --- /dev/null +++ b/src/main.tsx @@ -0,0 +1 @@ +import './index.css'; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d88f175 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ES2022", + "experimentalDecorators": true, + "useDefineForClassFields": false, + "module": "ESNext", + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], + "skipLibCheck": true, + "moduleResolution": "bundler", + "isolatedModules": true, + "moduleDetection": "force", + "allowJs": true, + "jsx": "react-jsx", + "paths": { + "@/*": [ + "./*" + ] + }, + "allowImportingTsExtensions": true, + "noEmit": true + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..0506f1b --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,24 @@ +import tailwindcss from '@tailwindcss/vite'; +import react from '@vitejs/plugin-react'; +import path from 'path'; +import {defineConfig, loadEnv} from 'vite'; + +export default defineConfig(({mode}) => { + const env = loadEnv(mode, '.', ''); + return { + plugins: [react(), tailwindcss()], + define: { + 'process.env.GEMINI_API_KEY': JSON.stringify(env.GEMINI_API_KEY), + }, + resolve: { + alias: { + '@': path.resolve(__dirname, '.'), + }, + }, + server: { + // HMR is disabled in AI Studio via DISABLE_HMR env var. + // Do not modify—file watching is disabled to prevent flickering during agent edits. + hmr: process.env.DISABLE_HMR !== 'true', + }, + }; +});