final changes
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
# 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"
|
||||
20
README.md
20
README.md
@@ -1,20 +0,0 @@
|
||||
<div align="center">
|
||||
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
|
||||
</div>
|
||||
|
||||
# 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`
|
||||
BIN
assets/banner-faleiros-tv-1-1024x320.jpg
Normal file
BIN
assets/banner-faleiros-tv-1-1024x320.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 228 KiB |
13
index.html
13
index.html
@@ -15,7 +15,7 @@
|
||||
<!-- Header -->
|
||||
<header class="sticky top-0 z-50 bg-white/95 backdrop-blur-sm border-b border-gray-100 py-4 px-6 md:px-12 flex justify-between items-center">
|
||||
<div class="flex items-center">
|
||||
<img src="/logo-faleiros-tv.png" alt="Faleiros TV" class="h-10 md:h-12" />
|
||||
<img src="assets/logo-faleiros-tv.png" alt="Faleiros TV" class="h-10 md:h-12" />
|
||||
</div>
|
||||
<nav class="hidden md:flex space-x-8">
|
||||
<a href="#inicio" class="text-[#2D3748] hover:text-[#00AEEF] font-medium transition-colors">Início</a>
|
||||
@@ -29,7 +29,7 @@
|
||||
<section id="inicio" class="relative bg-gray-900 py-24 md:py-32 px-6 md:px-12 flex items-center justify-center min-h-[600px]">
|
||||
<div class="absolute inset-0 overflow-hidden">
|
||||
<img
|
||||
src="/banner-faleiros-tv-1.jpg"
|
||||
src="assets/banner-faleiros-tv-1-1024x320.jpg"
|
||||
alt="Assistência Técnica"
|
||||
class="w-full h-full object-cover"
|
||||
/>
|
||||
@@ -74,7 +74,7 @@
|
||||
<!-- Service 1 -->
|
||||
<div class="bg-white rounded-xl border border-gray-100 shadow-sm hover:shadow-md transition-shadow overflow-hidden flex flex-col">
|
||||
<div class="h-48 overflow-hidden">
|
||||
<img src="/instalação-de-tv.jpg" alt="Conserto de TVs" class="w-full h-full object-cover" />
|
||||
<img src="assets/instalação-de-tv.jpg" alt="Conserto de TVs" class="w-full h-full object-cover" />
|
||||
</div>
|
||||
<div class="p-8 flex-grow flex flex-col">
|
||||
<h3 class="text-xl font-bold text-[#2D3748] mb-4">Conserto de TVs</h3>
|
||||
@@ -87,7 +87,7 @@
|
||||
<!-- Service 2 -->
|
||||
<div class="bg-white rounded-xl border border-gray-100 shadow-sm hover:shadow-md transition-shadow overflow-hidden flex flex-col">
|
||||
<div class="h-48 overflow-hidden">
|
||||
<img src="/conserto-microondas.png" alt="Conserto de Micro-ondas" class="w-full h-full object-cover" />
|
||||
<img src="assets/conserto-microondas.png" alt="Conserto de Micro-ondas" class="w-full h-full object-cover" />
|
||||
</div>
|
||||
<div class="p-8 flex-grow flex flex-col">
|
||||
<h3 class="text-xl font-bold text-[#2D3748] mb-4">Conserto de Micro-ondas</h3>
|
||||
@@ -100,7 +100,7 @@
|
||||
<!-- Service 3 -->
|
||||
<div class="bg-white rounded-xl border border-gray-100 shadow-sm hover:shadow-md transition-shadow overflow-hidden flex flex-col">
|
||||
<div class="h-48 overflow-hidden">
|
||||
<img src="/conserto-eletrodomesticos.png" alt="Eletrodomésticos" class="w-full h-full object-cover" />
|
||||
<img src="assets/conserto-eletrodomesticos.png" alt="Eletrodomésticos" class="w-full h-full object-cover" />
|
||||
</div>
|
||||
<div class="p-8 flex-grow flex flex-col">
|
||||
<h3 class="text-xl font-bold text-[#2D3748] mb-4">Eletrodomésticos</h3>
|
||||
@@ -117,7 +117,6 @@
|
||||
<!-- Interruption Banner -->
|
||||
<section class="relative bg-[#0A2540] py-16 px-6 md:px-12 overflow-hidden">
|
||||
<div class="absolute inset-0 opacity-20">
|
||||
<!-- Imagem removida para teste -->
|
||||
</div>
|
||||
<div class="relative z-10 max-w-5xl mx-auto text-center px-4">
|
||||
<h2 class="text-2xl md:text-3xl lg:text-4xl font-bold text-white mb-8 whitespace-normal md:whitespace-nowrap">
|
||||
@@ -229,7 +228,7 @@
|
||||
<footer class="bg-[#1A202C] text-gray-300 py-16 px-6 md:px-12">
|
||||
<div class="max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-12 gap-8 lg:gap-12">
|
||||
<div class="md:col-span-12 lg:col-span-5">
|
||||
<img src="/logo-faleiros-tv-negativada.png" alt="Faleiros TV" class="h-12 mb-6" />
|
||||
<img src="assets/logo-faleiros-tv-negativada.png" alt="Faleiros TV" class="h-12 mb-6" />
|
||||
<p class="text-gray-400 leading-relaxed max-w-sm">
|
||||
Assistência técnica especializada em TVs e eletrodomésticos.<br />
|
||||
Qualidade, transparência e garantia em cada serviço prestado.
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "",
|
||||
"description": "",
|
||||
"requestFramePermissions": []
|
||||
}
|
||||
34
package.json
34
package.json
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
import './index.css';
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
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',
|
||||
},
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user