|
1 | 1 | <!DOCTYPE html> |
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | | - <meta charset="UTF-8" /> |
5 | | -<meta name="robots" content="index, follow" /> |
6 | | - <meta name="robots" content="index, follow" /> |
7 | | -<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
8 | | - <meta name="referrer" content="strict-origin-when-cross-origin" /> |
9 | | - <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdn.jsdelivr.net; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com https://cdn.jsdelivr.net; connect-src 'self' https://api.github.com; media-src 'self' blob:; base-uri 'self';" /> |
| 4 | + <meta charset="UTF-8" > |
| 5 | +<meta name="robots" content="index, follow" > |
| 6 | + <meta name="robots" content="index, follow" > |
| 7 | +<meta name="viewport" content="width=device-width, initial-scale=1.0" > |
| 8 | + <meta name="referrer" content="strict-origin-when-cross-origin" > |
| 9 | + <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdn.jsdelivr.net; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com https://cdn.jsdelivr.net; connect-src 'self' https://api.github.com; media-src 'self' blob:; base-uri 'self';" > |
10 | 10 | <title>Ask AIDEN - AcreetionOS AI Assistant</title> |
11 | | - <meta name="description" content="Ask AIDEN anything about AcreetionOS. Real-time AI conversation about installation, features, privacy, and more." /> |
12 | | - <meta name="keywords" content="AcreetionOS AI, Linux AI assistant, AIDEN, ask about AcreetionOS" /> |
13 | | - <link rel="canonical" href="https://acreetionos.org/ask.html" /> |
14 | | - <meta property="og:type" content="website" /> |
15 | | - <meta property="og:url" content="https://acreetionos.org/ask.html" /> |
16 | | - <meta property="og:title" content="Ask AIDEN - AcreetionOS AI Assistant" /> |
17 | | - <meta property="og:description" content="Have a real conversation with AIDEN, the AcreetionOS AI assistant." /> |
18 | | - <meta property="og:image" content="https://acreetionos.org/logo.webp" /> |
19 | | - <link rel="icon" type="image/webp" href="acreetionoslogo.webp" /> |
20 | | - <link rel="preconnect" href="https://fonts.googleapis.com" /> |
21 | | - <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> |
22 | | - <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Fira+Code&display=swap" rel="stylesheet" media="print" onload="this.media='all'" /> |
| 11 | + <meta name="description" content="Ask AIDEN anything about AcreetionOS. Real-time AI conversation about installation, features, privacy, and more." > |
| 12 | + <meta name="keywords" content="AcreetionOS AI, Linux AI assistant, AIDEN, ask about AcreetionOS" > |
| 13 | + <link rel="canonical" href="https://acreetionos.org/ask.html" > |
| 14 | + <meta property="og:type" content="website" > |
| 15 | + <meta property="og:url" content="https://acreetionos.org/ask.html" > |
| 16 | + <meta property="og:title" content="Ask AIDEN - AcreetionOS AI Assistant" > |
| 17 | + <meta property="og:description" content="Have a real conversation with AIDEN, the AcreetionOS AI assistant." > |
| 18 | + <meta property="og:image" content="https://acreetionos.org/logo.webp" > |
| 19 | + <link rel="icon" type="image/webp" href="acreetionoslogo.webp" > |
| 20 | + <link rel="preconnect" href="https://fonts.googleapis.com" > |
| 21 | + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin > |
| 22 | + <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Fira+Code&display=swap" rel="stylesheet" media="print" onload="this.media='all'" > |
23 | 23 | <style> |
24 | 24 | :root { |
25 | 25 | --green: #2ecc71; |
|
375 | 375 | <div id="perm-banner" style="display:none;position:fixed;top:0;left:0;right:0;z-index:2000;background:#2c1a00;border-bottom:2px solid #f39c12;padding:0.6rem 1.5rem;align-items:center;gap:0.75rem;font-size:0.85rem;color:#f39c12"> |
376 | 376 | <span>⚠️</span> |
377 | 377 | <span>Microphone access is blocked. To use voice features, allow microphone access in your browser's site settings and reload.</span> |
378 | | - <button onclick="this.parentElement.style.display='none'" style="margin-left:auto;background:transparent;border:1px solid #f39c12;color:#f39c12;border-radius:8px;padding:0.2rem 0.6rem;cursor:pointer">Dismiss</button> |
| 378 | + <button type="button" onclick="this.parentElement.style.display='none'" style="margin-left:auto;background:transparent;border:1px solid #f39c12;color:#f39c12;border-radius:8px;padding:0.2rem 0.6rem;cursor:pointer">Dismiss</button> |
379 | 379 | </div> |
380 | 380 |
|
381 | 381 | <!-- ── Chat Mode ── --> |
|
388 | 388 | <div class="chat-sub">AcreetionOS AI Assistant</div> |
389 | 389 | </div> |
390 | 390 | </div> |
391 | | - <button id="live-btn"> |
| 391 | + <button type="button" id="live-btn"> |
392 | 392 | <span class="live-dot"></span> |
393 | 393 | Go Live |
394 | 394 | </button> |
|
397 | 397 | <div id="messages"></div> |
398 | 398 |
|
399 | 399 | <div class="suggestions" id="suggestions"> |
400 | | - <button class="suggestion-chip">What is AcreetionOS?</button> |
401 | | - <button class="suggestion-chip">How do I install it?</button> |
402 | | - <button class="suggestion-chip">What is XLibre?</button> |
403 | | - <button class="suggestion-chip">Vs Manjaro?</button> |
404 | | - <button class="suggestion-chip">System requirements?</button> |
405 | | - <button class="suggestion-chip">Is it beginner friendly?</button> |
| 400 | + <button type="button" class="suggestion-chip">What is AcreetionOS?</button> |
| 401 | + <button type="button" class="suggestion-chip">How do I install it?</button> |
| 402 | + <button type="button" class="suggestion-chip">What is XLibre?</button> |
| 403 | + <button type="button" class="suggestion-chip">Vs Manjaro?</button> |
| 404 | + <button type="button" class="suggestion-chip">System requirements?</button> |
| 405 | + <button type="button" class="suggestion-chip">Is it beginner friendly?</button> |
406 | 406 | </div> |
407 | 407 |
|
408 | 408 | <div id="input-row"> |
409 | | - <input id="chat-input" type="text" placeholder="Ask AIDEN anything about AcreetionOS…" autocomplete="off" /> |
410 | | - <button class="icon-btn" id="mic-btn" title="Voice input">🎙</button> |
411 | | - <button id="send-btn" title="Send">➤</button> |
| 409 | + <input id="chat-input" type="text" placeholder="Ask AIDEN anything about AcreetionOS…" autocomplete="off" > |
| 410 | + <button type="button" class="icon-btn" id="mic-btn" title="Voice input">🎙</button> |
| 411 | + <button type="button" id="send-btn" title="Send">➤</button> |
412 | 412 | </div> |
413 | 413 | </div> |
414 | 414 |
|
|
418 | 418 | <div class="live-brand-name"> |
419 | 419 | AIDEN <span class="live-badge">LIVE</span> |
420 | 420 | </div> |
421 | | - <button id="end-live-btn">End conversation</button> |
| 421 | + <button type="button" id="end-live-btn">End conversation</button> |
422 | 422 | <select id="audio-device-select" title="Audio output device"></select> |
423 | 423 | </div> |
424 | 424 |
|
425 | 425 | <canvas id="orb-canvas"></canvas> |
426 | 426 | <div id="live-status">Tap the orb to start</div> |
427 | 427 | <div id="voice-dots"> |
428 | | - <button class="voice-dot" data-voice="0" title="Nova — warm and natural" style="--dot-color:#2ecc71"></button> |
429 | | - <button class="voice-dot" data-voice="1" title="Echo — proper and articulate" style="--dot-color:#3498db"></button> |
430 | | - <button class="voice-dot" data-voice="2" title="Ember — casual and direct" style="--dot-color:#e67e22"></button> |
431 | | - <button class="voice-dot" data-voice="3" title="Atlas — deep and confident" style="--dot-color:#9b59b6"></button> |
432 | | - <button class="voice-dot" data-voice="4" title="Iris — bright and cheerful" style="--dot-color:#e74c3c"></button> |
| 428 | + <button type="button" class="voice-dot" data-voice="0" title="Nova — warm and natural" aria-label="Nova — warm and natural" style="--dot-color:#2ecc71"></button> |
| 429 | + <button type="button" class="voice-dot" data-voice="1" title="Echo — proper and articulate" aria-label="Echo — proper and articulate" style="--dot-color:#3498db"></button> |
| 430 | + <button type="button" class="voice-dot" data-voice="2" title="Ember — casual and direct" aria-label="Ember — casual and direct" style="--dot-color:#e67e22"></button> |
| 431 | + <button type="button" class="voice-dot" data-voice="3" title="Atlas — deep and confident" aria-label="Atlas — deep and confident" style="--dot-color:#9b59b6"></button> |
| 432 | + <button type="button" class="voice-dot" data-voice="4" title="Iris — bright and cheerful" aria-label="Iris — bright and cheerful" style="--dot-color:#e74c3c"></button> |
433 | 433 | </div> |
434 | 434 | <div id="interrupt-hint">Tap the orb or speak to interrupt</div> |
435 | 435 |
|
|
0 commit comments