HomePilot Deploy Bot commited on
Commit
94d5a52
·
unverified ·
1 Parent(s): f0ae034

chore: sync installer from monorepo

Browse files
Files changed (1) hide show
  1. static/index.html +23 -4
static/index.html CHANGED
@@ -29,11 +29,14 @@ a:hover{color:var(--cyan)}
29
  .hero{text-align:center;padding:56px 20px 8px;position:relative}
30
  .hero::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);
31
  width:140%;height:120%;background:radial-gradient(ellipse 50% 40% at 50% 0%,rgba(59,130,246,0.1),transparent);pointer-events:none}
32
- .hero-icon{font-size:52px;position:relative}
33
  .hero h1{font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:800;letter-spacing:-0.03em;
34
  line-height:1.15;margin-top:16px;position:relative}
35
  .hero h1 span{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
36
  .hero p{color:var(--dim);font-size:14px;line-height:1.6;margin:10px auto 0;max-width:420px;position:relative}
 
 
 
37
 
38
  /* ── Trust bar ── */
39
  .trust{display:flex;justify-content:center;gap:20px;padding:24px 0 36px;flex-wrap:wrap}
@@ -169,9 +172,14 @@ a:hover{color:var(--cyan)}
169
 
170
  <!-- ── HERO ── -->
171
  <div class="hero">
172
- <div class="hero-icon">🏠</div>
173
- <h1><span>Tu IA privada en 2 minutos</span></h1>
174
- <p>Despliega HomePilot con Ollama y 14 personas AI en tu propio Hugging Face Space. Sin código. Privado por defecto.</p>
 
 
 
 
 
175
  </div>
176
 
177
  <!-- Language picker -->
@@ -343,6 +351,7 @@ const T = {
343
  successH: 'Your HomePilot is running!', successP: 'Wait ~3 minutes for the first build.',
344
  openSpace: 'Open Space →', goChata: 'Go to Chata',
345
  tokenEmpty: 'Empty or invalid token', verifyFirst: 'Connect your account first (Step 1)',
 
346
  },
347
  es: {
348
  hero: 'Tu IA privada en 2 minutos',
@@ -361,6 +370,7 @@ const T = {
361
  successH: '¡Tu HomePilot está en marcha!', successP: 'Espera ~3 minutos para el primer build.',
362
  openSpace: 'Abrir Space →', goChata: 'Ir a Chata',
363
  tokenEmpty: 'Token vacío o inválido', verifyFirst: 'Conecta tu cuenta primero (Paso 1)',
 
364
  },
365
  pt: {
366
  hero: 'Sua IA privada em 2 minutos',
@@ -379,6 +389,7 @@ const T = {
379
  successH: 'Seu HomePilot está rodando!', successP: 'Aguarde ~3 minutos para o primeiro build.',
380
  openSpace: 'Abrir Space →', goChata: 'Ir para Chata',
381
  tokenEmpty: 'Token vazio ou inválido', verifyFirst: 'Conecte sua conta primeiro (Passo 1)',
 
382
  },
383
  fr: {
384
  hero: 'Votre IA privée en 2 minutes',
@@ -397,6 +408,7 @@ const T = {
397
  successH: 'Votre HomePilot est en marche !', successP: 'Attendez ~3 minutes pour le premier build.',
398
  openSpace: 'Ouvrir Space →', goChata: 'Aller sur Chata',
399
  tokenEmpty: 'Token vide ou invalide', verifyFirst: 'Connectez votre compte d\'abord (Étape 1)',
 
400
  },
401
  de: {
402
  hero: 'Ihre private KI in 2 Minuten',
@@ -415,6 +427,7 @@ const T = {
415
  successH: 'Ihr HomePilot läuft!', successP: 'Warten Sie ~3 Minuten auf den ersten Build.',
416
  openSpace: 'Space öffnen →', goChata: 'Zu Chata',
417
  tokenEmpty: 'Token leer oder ungültig', verifyFirst: 'Verbinden Sie zuerst Ihr Konto (Schritt 1)',
 
418
  },
419
  };
420
 
@@ -458,6 +471,12 @@ function setLang(l) {
458
  document.querySelector('#success h2').textContent = t.successH;
459
  document.querySelector('#open-space').textContent = t.openSpace;
460
  document.querySelector('#go-chata').textContent = t.goChata;
 
 
 
 
 
 
461
  // Lang picker
462
  document.querySelectorAll('.lang-btn').forEach(b => {
463
  b.classList.toggle('active', b.dataset.lang === l);
 
29
  .hero{text-align:center;padding:56px 20px 8px;position:relative}
30
  .hero::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);
31
  width:140%;height:120%;background:radial-gradient(ellipse 50% 40% at 50% 0%,rgba(59,130,246,0.1),transparent);pointer-events:none}
32
+ .hero-logo{width:72px;height:72px;position:relative;filter:drop-shadow(0 0 20px rgba(59,130,246,.2))}
33
  .hero h1{font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:800;letter-spacing:-0.03em;
34
  line-height:1.15;margin-top:16px;position:relative}
35
  .hero h1 span{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
36
  .hero p{color:var(--dim);font-size:14px;line-height:1.6;margin:10px auto 0;max-width:420px;position:relative}
37
+ .alt-link{margin-top:16px;font-size:12px;color:var(--faint);position:relative;display:flex;align-items:center;justify-content:center;gap:6px}
38
+ .alt-link a{color:var(--muted);font-weight:600;transition:color .2s}
39
+ .alt-link a:hover{color:var(--cyan)}
40
 
41
  /* ── Trust bar ── */
42
  .trust{display:flex;justify-content:center;gap:20px;padding:24px 0 36px;flex-wrap:wrap}
 
172
 
173
  <!-- ── HERO ── -->
174
  <div class="hero">
175
+ <img src="https://raw.githubusercontent.com/ruslanmv/HomePilot/master/assets/homepilot-logo.svg"
176
+ alt="HomePilot" class="hero-logo">
177
+ <h1><span>Your private AI in 2 minutes</span></h1>
178
+ <p>Deploy HomePilot with Ollama and 14 AI personas on your own Hugging Face Space. No code. Private by default.</p>
179
+ <div class="alt-link">
180
+ <span>Prefer to run locally?</span>
181
+ <a href="https://ruslanmv.com/HomePilot/getting-started.html" target="_blank" id="desktop-link">Desktop version →</a>
182
+ </div>
183
  </div>
184
 
185
  <!-- Language picker -->
 
351
  successH: 'Your HomePilot is running!', successP: 'Wait ~3 minutes for the first build.',
352
  openSpace: 'Open Space →', goChata: 'Go to Chata',
353
  tokenEmpty: 'Empty or invalid token', verifyFirst: 'Connect your account first (Step 1)',
354
+ altPref: 'Prefer to run locally?', altLink: 'Desktop version →',
355
  },
356
  es: {
357
  hero: 'Tu IA privada en 2 minutos',
 
370
  successH: '¡Tu HomePilot está en marcha!', successP: 'Espera ~3 minutos para el primer build.',
371
  openSpace: 'Abrir Space →', goChata: 'Ir a Chata',
372
  tokenEmpty: 'Token vacío o inválido', verifyFirst: 'Conecta tu cuenta primero (Paso 1)',
373
+ altPref: '¿Prefieres ejecutar localmente?', altLink: 'Versión de escritorio →',
374
  },
375
  pt: {
376
  hero: 'Sua IA privada em 2 minutos',
 
389
  successH: 'Seu HomePilot está rodando!', successP: 'Aguarde ~3 minutos para o primeiro build.',
390
  openSpace: 'Abrir Space →', goChata: 'Ir para Chata',
391
  tokenEmpty: 'Token vazio ou inválido', verifyFirst: 'Conecte sua conta primeiro (Passo 1)',
392
+ altPref: 'Prefere executar localmente?', altLink: 'Versão desktop →',
393
  },
394
  fr: {
395
  hero: 'Votre IA privée en 2 minutes',
 
408
  successH: 'Votre HomePilot est en marche !', successP: 'Attendez ~3 minutes pour le premier build.',
409
  openSpace: 'Ouvrir Space →', goChata: 'Aller sur Chata',
410
  tokenEmpty: 'Token vide ou invalide', verifyFirst: 'Connectez votre compte d\'abord (Étape 1)',
411
+ altPref: 'Préférez-vous exécuter localement ?', altLink: 'Version bureau →',
412
  },
413
  de: {
414
  hero: 'Ihre private KI in 2 Minuten',
 
427
  successH: 'Ihr HomePilot läuft!', successP: 'Warten Sie ~3 Minuten auf den ersten Build.',
428
  openSpace: 'Space öffnen →', goChata: 'Zu Chata',
429
  tokenEmpty: 'Token leer oder ungültig', verifyFirst: 'Verbinden Sie zuerst Ihr Konto (Schritt 1)',
430
+ altPref: 'Lieber lokal ausführen?', altLink: 'Desktop-Version →',
431
  },
432
  };
433
 
 
471
  document.querySelector('#success h2').textContent = t.successH;
472
  document.querySelector('#open-space').textContent = t.openSpace;
473
  document.querySelector('#go-chata').textContent = t.goChata;
474
+ // Alt link
475
+ const altLink = document.querySelector('.alt-link');
476
+ if (altLink) {
477
+ altLink.querySelector('span').textContent = t.altPref;
478
+ altLink.querySelector('a').textContent = t.altLink;
479
+ }
480
  // Lang picker
481
  document.querySelectorAll('.lang-btn').forEach(b => {
482
  b.classList.toggle('active', b.dataset.lang === l);