condorhacker commited on
Commit
bae0ea9
·
verified ·
1 Parent(s): 9db82f0

Upload 6 files

Browse files
Files changed (6) hide show
  1. README.md +20 -3
  2. constants.tsx +57 -0
  3. index.html +45 -0
  4. index.tsx +16 -0
  5. metadata.json +7 -0
  6. package.json +23 -0
README.md CHANGED
@@ -1,3 +1,20 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div align="center">
2
+ <img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
3
+ </div>
4
+
5
+ # Run and deploy your AI Studio app
6
+
7
+ This contains everything you need to run your app locally.
8
+
9
+ View your app in AI Studio: https://ai.studio/apps/drive/1LIRNUNhh5EOX93tn8mky_dq5eYvZMO3j
10
+
11
+ ## Run Locally
12
+
13
+ **Prerequisites:** Node.js
14
+
15
+
16
+ 1. Install dependencies:
17
+ `npm install`
18
+ 2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
19
+ 3. Run the app:
20
+ `npm run dev`
constants.tsx ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import { FamilyMember, UserProfile } from './types';
3
+
4
+ export const FAMILY_PROFILES: Record<FamilyMember, UserProfile> = {
5
+ [FamilyMember.PAPA]: {
6
+ id: 'papa',
7
+ name: FamilyMember.PAPA,
8
+ color: '#1E3A8A',
9
+ profile: 'Pratico, focalizzato su lavoro/finanza, report sintetici.'
10
+ },
11
+ [FamilyMember.MAMMA]: {
12
+ id: 'mamma',
13
+ name: FamilyMember.MAMMA,
14
+ color: '#7C3AED',
15
+ profile: 'Empatica, attenta a salute/relazioni, consigli emotivi.'
16
+ },
17
+ [FamilyMember.FIGLIO_GRANDE]: {
18
+ id: 'figlio_grande',
19
+ name: FamilyMember.FIGLIO_GRANDE,
20
+ color: '#166534',
21
+ profile: 'Adolescente, gamification, promemoria scolastici.'
22
+ },
23
+ [FamilyMember.FIGLIA]: {
24
+ id: 'figlia',
25
+ name: FamilyMember.FIGLIA,
26
+ color: '#DB2777',
27
+ profile: 'Bambina, tono giocoso, hobby/creatività.'
28
+ },
29
+ [FamilyMember.NONNI]: {
30
+ id: 'nonni',
31
+ name: FamilyMember.NONNI,
32
+ color: '#92400E',
33
+ profile: 'Anziani, promemoria salute, linguaggio semplice.'
34
+ },
35
+ [FamilyMember.TUTTI]: {
36
+ id: 'tutti',
37
+ name: FamilyMember.TUTTI,
38
+ color: '#374151',
39
+ profile: 'Eventi collettivi.'
40
+ },
41
+ [FamilyMember.OSPITI]: {
42
+ id: 'ospiti',
43
+ name: FamilyMember.OSPITI,
44
+ color: '#EA580C',
45
+ profile: 'Temporanei, privacy extra.'
46
+ }
47
+ };
48
+
49
+ export const CATEGORIES = {
50
+ INCOME: ['Lavoro', 'Extra', 'Regali Ricevuti', 'Vendite'],
51
+ EXPENSE: [
52
+ 'Alimentari', 'Bollette', 'Trasporti', 'Salute', 'Scuola',
53
+ 'Abbigliamento', 'Svago', 'Vacanze', 'Regali', 'Animali',
54
+ 'Casa', 'Abbonamenti', 'Igiene', 'Sport', 'Tecnologia',
55
+ 'Assicurazioni', 'Tasse', 'Donazioni', 'Eco'
56
+ ]
57
+ };
index.html ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="it">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>FamilyManager 360 Ultra</title>
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
10
+ <style>
11
+ body {
12
+ font-family: 'Inter', sans-serif;
13
+ background-color: #f8fafc;
14
+ }
15
+ /* Custom scrollbar for premium feel */
16
+ ::-webkit-scrollbar {
17
+ width: 8px;
18
+ }
19
+ ::-webkit-scrollbar-track {
20
+ background: #f1f1f1;
21
+ }
22
+ ::-webkit-scrollbar-thumb {
23
+ background: #cbd5e1;
24
+ border-radius: 4px;
25
+ }
26
+ ::-webkit-scrollbar-thumb:hover {
27
+ background: #94a3b8;
28
+ }
29
+ </style>
30
+ <script type="importmap">
31
+ {
32
+ "imports": {
33
+ "react": "https://esm.sh/react@^19.2.3",
34
+ "react-dom/": "https://esm.sh/react-dom@^19.2.3/",
35
+ "react/": "https://esm.sh/react@^19.2.3/",
36
+ "@google/genai": "https://esm.sh/@google/genai@^1.35.0",
37
+ "recharts": "https://esm.sh/recharts@^3.6.0"
38
+ }
39
+ }
40
+ </script>
41
+ </head>
42
+ <body>
43
+ <div id="root"></div>
44
+ </body>
45
+ </html>
index.tsx ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import React from 'react';
3
+ import ReactDOM from 'react-dom/client';
4
+ import App from './App';
5
+
6
+ const rootElement = document.getElementById('root');
7
+ if (!rootElement) {
8
+ throw new Error("Could not find root element to mount to");
9
+ }
10
+
11
+ const root = ReactDOM.createRoot(rootElement);
12
+ root.render(
13
+ <React.StrictMode>
14
+ <App />
15
+ </React.StrictMode>
16
+ );
metadata.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "FamilyManager 360 Ultra - CondorProf",
3
+ "description": "L'ecosistema definitivo per la gestione familiare intelligente, guidato dall'assistente CondorProf.",
4
+ "requestFramePermissions": [
5
+ "geolocation"
6
+ ]
7
+ }
package.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "familymanager-360-ultra---condorprof",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "react": "^19.2.3",
13
+ "react-dom": "^19.2.3",
14
+ "@google/genai": "^1.35.0",
15
+ "recharts": "^3.6.0"
16
+ },
17
+ "devDependencies": {
18
+ "@types/node": "^22.14.0",
19
+ "@vitejs/plugin-react": "^5.0.0",
20
+ "typescript": "~5.8.2",
21
+ "vite": "^6.2.0"
22
+ }
23
+ }