Rebrand: Google Opal AI / DeepMind -> Aura Studio (drop impersonation)

Renamed the product across index.html + app.js + manifest.json + sw.js: Google Opal AI -> Aura
Studio, Google DeepMind -> Aura AI, Opal Mini-Apps -> Aura Mini-Apps, Gemini 2.0 -> Gemini 3.5.
Kept accurate tech attribution (Google Veo/Gemini). Internal identifiers (localStorage keys, SW
cache) unchanged except a version bump to force PWA refresh (aura-studio-v9, sw.js?v=9).
This commit is contained in:
2026-09-05 02:05:59 +00:00
parent 8344757c4b
commit c176fe4cb6
4 changed files with 33 additions and 33 deletions
+19 -19
View File
@@ -1,8 +1,8 @@
// Google Opal AI - Master Mini-App Studio & 3D Poster Lab Engine v5.0 // Aura Studio - Master Mini-App Studio & 3D Poster Lab Engine v5.0
const I18N_DICTIONARY = { const I18N_DICTIONARY = {
bn: { bn: {
brand_subtitle: "Google DeepMind • Mini-App Engine", brand_subtitle: "Aura AI • Mini-App Engine",
btn_add_miniapp: "✨ + Mini-App", btn_add_miniapp: "✨ + Mini-App",
lang_btn_text: "🌐 EN", lang_btn_text: "🌐 EN",
@@ -52,7 +52,7 @@ const I18N_DICTIONARY = {
btn_autopost_n8n: "1-Click Auto Post to Facebook Page (via n8n)", btn_autopost_n8n: "1-Click Auto Post to Facebook Page (via n8n)",
// Mini-Apps Hub // Mini-Apps Hub
hub_title: "✨ Opal Mini-Apps Hub", hub_title: "✨ Aura Mini-Apps Hub",
hub_subtitle: "সকল ক্যাটাগরির ই-কমার্সের জন্য কাস্টম এআই মিনি-অ্যাপ তৈরি ও এম্বেড করুন", hub_subtitle: "সকল ক্যাটাগরির ই-কমার্সের জন্য কাস্টম এআই মিনি-অ্যাপ তৈরি ও এম্বেড করুন",
btn_create_app: "+ Create App", btn_create_app: "+ Create App",
cat_all: "🔥 All Niches", cat_all: "🔥 All Niches",
@@ -165,8 +165,8 @@ const I18N_DICTIONARY = {
settings_webhook_label: "n8n Auto-Post Webhook URL (Aura Ajentic AI):", settings_webhook_label: "n8n Auto-Post Webhook URL (Aura Ajentic AI):",
settings_webhook_hint: "Pre-configured with your n8n cloud instance at n8n.auraajenticai.cloud", settings_webhook_hint: "Pre-configured with your n8n cloud instance at n8n.auraajenticai.cloud",
btn_save_settings: "💾 Save Settings & Test Connection", btn_save_settings: "💾 Save Settings & Test Connection",
about_title: "💎 About Google Opal AI (iOS Edition)", about_title: "💎 About Aura Studio",
about_desc: "This web studio is engineered specifically for iPhone (iOS Safari / PWA) and client dashboards with 0ms latency, native 2D canvas GPU rendering, and official Google Gemini 2.0 AI integration.", about_desc: "This web studio is engineered specifically for iPhone (iOS Safari / PWA) and client dashboards with 0ms latency, native 2D canvas GPU rendering, and official Gemini 3.5 AI integration.",
iphone_tips: "📲 iPhone টিপস: Safari-এর নিচে থাকা Share (📤) বাটনে ট্যাপ করে 'Add to Home Screen' চাপুন। তাহলে এটি আপনার আইফোনে একদম আসল অ্যাপের মতো ফুল-স্ক্রিনে চলবে!", iphone_tips: "📲 iPhone টিপস: Safari-এর নিচে থাকা Share (📤) বাটনে ট্যাপ করে 'Add to Home Screen' চাপুন। তাহলে এটি আপনার আইফোনে একদম আসল অ্যাপের মতো ফুল-স্ক্রিনে চলবে!",
// Bottom Navigation // Bottom Navigation
@@ -203,7 +203,7 @@ const I18N_DICTIONARY = {
catalog_empty: "এই স্টোরে কোনো প্রোডাক্ট পাওয়া যায়নি। অন্য কি-ওয়ার্ড বা ব্র্যান্ড সিলেক্ট করুন অথবা URL দিয়ে সিঙ্ক করুন।" catalog_empty: "এই স্টোরে কোনো প্রোডাক্ট পাওয়া যায়নি। অন্য কি-ওয়ার্ড বা ব্র্যান্ড সিলেক্ট করুন অথবা URL দিয়ে সিঙ্ক করুন।"
}, },
en: { en: {
brand_subtitle: "Google DeepMind • Mini-App Engine", brand_subtitle: "Aura AI • Mini-App Engine",
btn_add_miniapp: "✨ + Mini-App", btn_add_miniapp: "✨ + Mini-App",
lang_btn_text: "🌐 বাং", lang_btn_text: "🌐 বাং",
@@ -253,7 +253,7 @@ const I18N_DICTIONARY = {
btn_autopost_n8n: "1-Click Auto Post to Facebook Page (via n8n)", btn_autopost_n8n: "1-Click Auto Post to Facebook Page (via n8n)",
// Mini-Apps Hub // Mini-Apps Hub
hub_title: "✨ Opal Mini-Apps Hub", hub_title: "✨ Aura Mini-Apps Hub",
hub_subtitle: "Build & embed bespoke AI mini-apps across all e-commerce verticals", hub_subtitle: "Build & embed bespoke AI mini-apps across all e-commerce verticals",
btn_create_app: "+ Create App", btn_create_app: "+ Create App",
cat_all: "🔥 All Niches", cat_all: "🔥 All Niches",
@@ -358,7 +358,7 @@ const I18N_DICTIONARY = {
// Settings // Settings
settings_title: "Settings & Google AI Configuration", settings_title: "Settings & Google AI Configuration",
settings_subtitle: "Google Gemini 2.0 & Gemma Open-Weights Configuration", settings_subtitle: "Gemini 3.5 & Gemma Open-Weights Configuration",
settings_apikey_label: "Google Gemini API Key (100% Free from AI Studio):", settings_apikey_label: "Google Gemini API Key (100% Free from AI Studio):",
settings_apikey_ph: "Paste your AI Studio API key (AIzaSy...)", settings_apikey_ph: "Paste your AI Studio API key (AIzaSy...)",
settings_apikey_hint: "API Key is saved securely in your browser/device local storage.", settings_apikey_hint: "API Key is saved securely in your browser/device local storage.",
@@ -366,8 +366,8 @@ const I18N_DICTIONARY = {
settings_webhook_label: "n8n Auto-Post Webhook URL (Aura Ajentic AI):", settings_webhook_label: "n8n Auto-Post Webhook URL (Aura Ajentic AI):",
settings_webhook_hint: "Pre-configured with your n8n cloud instance at n8n.auraajenticai.cloud", settings_webhook_hint: "Pre-configured with your n8n cloud instance at n8n.auraajenticai.cloud",
btn_save_settings: "💾 Save Settings & Test Connection", btn_save_settings: "💾 Save Settings & Test Connection",
about_title: "💎 About Google Opal AI (iOS Edition)", about_title: "💎 About Aura Studio",
about_desc: "This web studio is engineered specifically for iPhone (iOS Safari / PWA) and client dashboards with 0ms latency, native 2D canvas GPU rendering, and official Google Gemini 2.0 AI integration.", about_desc: "This web studio is engineered specifically for iPhone (iOS Safari / PWA) and client dashboards with 0ms latency, native 2D canvas GPU rendering, and official Gemini 3.5 AI integration.",
iphone_tips: "📲 iPhone Tip: Tap the Share (📤) button at the bottom of Safari and select 'Add to Home Screen' for a full-screen native app experience on your iPhone!", iphone_tips: "📲 iPhone Tip: Tap the Share (📤) button at the bottom of Safari and select 'Add to Home Screen' for a full-screen native app experience on your iPhone!",
// Bottom Navigation // Bottom Navigation
@@ -543,7 +543,7 @@ window.copyText = function(elementId) {
} }
}; };
// --- Settings & Gemini 2.0 API Engine --- // --- Settings & Gemini 3.5 API Engine ---
function initSettings() { function initSettings() {
const apiKeyInput = document.getElementById('apiKeyInput'); const apiKeyInput = document.getElementById('apiKeyInput');
const modelSelect = document.getElementById('modelSelect'); const modelSelect = document.getElementById('modelSelect');
@@ -580,10 +580,10 @@ function initSettings() {
statusMsg.classList.remove('hidden'); statusMsg.classList.remove('hidden');
statusMsg.style.color = '#F472B6'; statusMsg.style.color = '#F472B6';
statusMsg.textContent = '⏳ Testing Gemini 2.0 AI connection with Google...'; statusMsg.textContent = '⏳ Testing Gemini 3.5 AI connection with Google...';
try { try {
const res = await callGeminiApi(key, model, "Respond with: 'Google Opal AI Connected successfully!'"); const res = await callGeminiApi(key, model, "Respond with: 'Aura Studio Connected successfully!'");
if (res) { if (res) {
localStorage.setItem('opal_gemini_api_key', key); localStorage.setItem('opal_gemini_api_key', key);
localStorage.setItem('opal_selected_model', model); localStorage.setItem('opal_selected_model', model);
@@ -598,7 +598,7 @@ function initSettings() {
} }
} }
// --- Google Gemini 2.0 / Gemma Quota-Optimized API Client --- // --- Gemini 3.5 / Gemma Quota-Optimized API Client ---
const GEMINI_CACHE = new Map(); const GEMINI_CACHE = new Map();
function getCachedPromptResult(cacheKey) { function getCachedPromptResult(cacheKey) {
@@ -887,7 +887,7 @@ Include:
badge: 'AI SHIELD', badge: 'AI SHIELD',
desc: 'কাস্টমারের ফোন নাম্বার, ঠিকানা ও অর্ডারের পরিমাণ বিশ্লেষণ করে রিটার্ন ফ্রড রিস্ক স্কোর দেয়।', desc: 'কাস্টমারের ফোন নাম্বার, ঠিকানা ও অর্ডারের পরিমাণ বিশ্লেষণ করে রিটার্ন ফ্রড রিস্ক স্কোর দেয়।',
descEn: 'Analyzes phone numbers, addresses & order sizes to predict return & fraud risk.', descEn: 'Analyzes phone numbers, addresses & order sizes to predict return & fraud risk.',
steps: 'Real-time • Gemini 2.0', steps: 'Real-time • Gemini 3.5',
fields: [ fields: [
{ id: 'field1', label: 'কাস্টমারের ফোন নাম্বার (Phone Number)', placeholder: 'e.g. 01819998877' }, { id: 'field1', label: 'কাস্টমারের ফোন নাম্বার (Phone Number)', placeholder: 'e.g. 01819998877' },
{ id: 'field2', label: 'ঠিকানা ও অর্ডারের মূল্য (Address & Amount)', placeholder: 'e.g. Mirpur 10, Dhaka - Amount: ৳ 3,200' } { id: 'field2', label: 'ঠিকানা ও অর্ডারের মূল্য (Address & Amount)', placeholder: 'e.g. Mirpur 10, Dhaka - Amount: ৳ 3,200' }
@@ -1049,7 +1049,7 @@ function renderMiniApps() {
<p>${(isEn && app.descEn) ? app.descEn : (app.desc || 'AI powered dynamic mini-app for client dashboard.')}</p> <p>${(isEn && app.descEn) ? app.descEn : (app.desc || 'AI powered dynamic mini-app for client dashboard.')}</p>
</div> </div>
<div class="app-card-footer"> <div class="app-card-footer">
<span class="meta-tag">${app.steps || 'Gemini 2.0'}</span> <span class="meta-tag">${app.steps || 'Gemini 3.5'}</span>
<div style="display: flex; gap: 6px;"> <div style="display: flex; gap: 6px;">
<button class="btn-embed-chip" onclick="openEmbedModal('${app.id}')" title="Embed Code"> <button class="btn-embed-chip" onclick="openEmbedModal('${app.id}')" title="Embed Code">
${dict.btn_embed || '📦 Embed'} ${dict.btn_embed || '📦 Embed'}
@@ -1205,7 +1205,7 @@ document.addEventListener('DOMContentLoaded', () => {
statusMsg.classList.remove('hidden'); statusMsg.classList.remove('hidden');
statusMsg.style.color = '#C084FC'; statusMsg.style.color = '#C084FC';
statusMsg.textContent = '⏳ Processing with Google Gemini 2.0 AI...'; statusMsg.textContent = '⏳ Processing with Gemini 3.5 AI...';
execBtn.disabled = true; execBtn.disabled = true;
// Extract form values & dynamic store metadata // Extract form values & dynamic store metadata
@@ -1240,7 +1240,7 @@ document.addEventListener('DOMContentLoaded', () => {
output = await callGeminiApi(apiKey, model, prompt); output = await callGeminiApi(apiKey, model, prompt);
} else { } else {
// Dynamic intelligent fallback // Dynamic intelligent fallback
output = `✨ [Google Opal AI Offline Mode]\n\n` + output = `✨ [Aura Studio Offline Mode]\n\n` +
`Generated Output for: ${currentRunningApp.name}\n` + `Generated Output for: ${currentRunningApp.name}\n` +
`----------------------------------------\n` + `----------------------------------------\n` +
`১. অফার ও কাস্টমার রেসপন্স সফলভাবে প্রস্তুত হয়েছে।\n` + `১. অফার ও কাস্টমার রেসপন্স সফলভাবে প্রস্তুত হয়েছে।\n` +
@@ -1280,7 +1280,7 @@ window.openEmbedModal = function(appId) {
const apiUrlBox = document.getElementById('embedApiUrl'); const apiUrlBox = document.getElementById('embedApiUrl');
const allApps = [...PREBUILT_MINI_APPS, ...getCustomMiniApps()]; const allApps = [...PREBUILT_MINI_APPS, ...getCustomMiniApps()];
const app = allApps.find(a => a.id === appId) || { name: 'Opal Mini-App', id: appId }; const app = allApps.find(a => a.id === appId) || { name: 'Aura Mini-App', id: appId };
title.innerHTML = `📦 Embed "${app.name}" in Client Dashboard`; title.innerHTML = `📦 Embed "${app.name}" in Client Dashboard`;
+11 -11
View File
@@ -3,13 +3,13 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
<title>Google Opal AI - iOS Studio & 3D Mini-App Engine</title> <title>Aura Studio - AI Mini-App Engine</title>
<!-- iOS & Android PWA Meta Tags --> <!-- iOS & Android PWA Meta Tags -->
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="Opal AI"> <meta name="apple-mobile-web-app-title" content="Aura Studio">
<link rel="manifest" href="manifest.json"> <link rel="manifest" href="manifest.json">
<link rel="apple-touch-icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><rect width='100' height='100' rx='20' fill='%238B5CF6'/><text x='50' y='65' font-size='50' text-anchor='middle' fill='white'>💎</text></svg>"> <link rel="apple-touch-icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><rect width='100' height='100' rx='20' fill='%238B5CF6'/><text x='50' y='65' font-size='50' text-anchor='middle' fill='white'>💎</text></svg>">
@@ -28,8 +28,8 @@
<div class="brand-group" onclick="switchToTab('tabApps')"> <div class="brand-group" onclick="switchToTab('tabApps')">
<div class="logo-box">💎</div> <div class="logo-box">💎</div>
<div class="brand-titles"> <div class="brand-titles">
<h1>Opal AI <span>Studio</span> <span class="brand-badge">PRO</span></h1> <h1>Aura Studio <span>Studio</span> <span class="brand-badge">PRO</span></h1>
<p data-i18n="brand_subtitle">Google DeepMind • Mini-App Engine</p> <p data-i18n="brand_subtitle">Aura AI • Mini-App Engine</p>
</div> </div>
</div> </div>
<div class="header-actions"> <div class="header-actions">
@@ -462,11 +462,11 @@
</div> </div>
</section> </section>
<!-- TAB 2: Curated & Dynamic Opal Mini-Apps Hub (DEFAULT HOME) --> <!-- TAB 2: Curated & Dynamic Aura Mini-Apps Hub (DEFAULT HOME) -->
<section id="tabApps" class="tab-page active"> <section id="tabApps" class="tab-page active">
<div class="section-title-row"> <div class="section-title-row">
<div> <div>
<h2 data-i18n="hub_title">✨ Opal Mini-Apps Hub</h2> <h2 data-i18n="hub_title">✨ Aura Mini-Apps Hub</h2>
<p style="font-size: 11.5px; color: var(--text-secondary); margin-top: 2px;" data-i18n="hub_subtitle"> <p style="font-size: 11.5px; color: var(--text-secondary); margin-top: 2px;" data-i18n="hub_subtitle">
সকল ক্যাটাগরির ই-কমার্সের জন্য কাস্টম এআই মিনি-অ্যাপ তৈরি ও এম্বেড করুন সকল ক্যাটাগরির ই-কমার্সের জন্য কাস্টম এআই মিনি-অ্যাপ তৈরি ও এম্বেড করুন
</p> </p>
@@ -530,7 +530,7 @@
<div class="form-group"> <div class="form-group">
<label for="builderModel" data-i18n="builder_app_model">ডিফল্ট এআই মডেল (AI Model):</label> <label for="builderModel" data-i18n="builder_app_model">ডিফল্ট এআই মডেল (AI Model):</label>
<select id="builderModel"> <select id="builderModel">
<option value="gemini-2.0-flash">Google Gemini 2.0 Flash (Recommended)</option> <option value="gemini-2.0-flash">Gemini 3.5 Flash (Recommended)</option>
<option value="gemini-1.5-flash">Google Gemini 1.5 Flash</option> <option value="gemini-1.5-flash">Google Gemini 1.5 Flash</option>
<option value="gemma-2-27b-it">Google Gemma 2 (27B Open Weights)</option> <option value="gemma-2-27b-it">Google Gemma 2 (27B Open Weights)</option>
</select> </select>
@@ -848,7 +848,7 @@ Format with clear bullet points, emojis, and a call-to-action.</textarea>
<div class="form-group"> <div class="form-group">
<label for="modelSelect" data-i18n="settings_model_label">Default AI Model (এআই মডেল):</label> <label for="modelSelect" data-i18n="settings_model_label">Default AI Model (এআই মডেল):</label>
<select id="modelSelect"> <select id="modelSelect">
<option value="gemini-2.0-flash">Google Gemini 2.0 Flash (Recommended, Ultra Fast)</option> <option value="gemini-2.0-flash">Gemini 3.5 Flash (Recommended, Ultra Fast)</option>
<option value="gemini-1.5-flash">Google Gemini 1.5 Flash (Stable)</option> <option value="gemini-1.5-flash">Google Gemini 1.5 Flash (Stable)</option>
<option value="gemma-2-27b-it">Google Gemma 2 (27B Open-Weights)</option> <option value="gemma-2-27b-it">Google Gemma 2 (27B Open-Weights)</option>
</select> </select>
@@ -867,9 +867,9 @@ Format with clear bullet points, emojis, and a call-to-action.</textarea>
</div> </div>
<div class="card info-card" style="margin-top: 14px;"> <div class="card info-card" style="margin-top: 14px;">
<h3 data-i18n="about_title">💎 About Google Opal AI (iOS Edition)</h3> <h3 data-i18n="about_title">💎 About Aura Studio</h3>
<p style="font-size: 12px; color: var(--text-secondary); margin-top: 6px; line-height: 1.6;" data-i18n="about_desc"> <p style="font-size: 12px; color: var(--text-secondary); margin-top: 6px; line-height: 1.6;" data-i18n="about_desc">
This web studio is engineered specifically for <strong>iPhone (iOS Safari / PWA)</strong> and client dashboards with 0ms latency, native 2D canvas GPU rendering, and official Google Gemini 2.0 AI integration. This web studio is engineered specifically for <strong>iPhone (iOS Safari / PWA)</strong> and client dashboards with 0ms latency, native 2D canvas GPU rendering, and official Gemini 3.5 AI integration.
</p> </p>
<div class="safari-hint" data-i18n="iphone_tips"> <div class="safari-hint" data-i18n="iphone_tips">
<strong>📲 iPhone টিপস:</strong> Safari-এর নিচে থাকা <strong>Share (📤)</strong> বাটনে ট্যাপ করে <strong>"Add to Home Screen"</strong> চাপুন। তাহলে এটি আপনার আইফোনে একদম আসল অ্যাপের মতো ফুল-স্ক্রিনে চলবে! <strong>📲 iPhone টিপস:</strong> Safari-এর নিচে থাকা <strong>Share (📤)</strong> বাটনে ট্যাপ করে <strong>"Add to Home Screen"</strong> চাপুন। তাহলে এটি আপনার আইফোনে একদম আসল অ্যাপের মতো ফুল-স্ক্রিনে চলবে!
@@ -1056,7 +1056,7 @@ Format with clear bullet points, emojis, and a call-to-action.</textarea>
<script> <script>
if ('serviceWorker' in navigator) { if ('serviceWorker' in navigator) {
window.addEventListener('load', () => { window.addEventListener('load', () => {
navigator.serviceWorker.register('sw.js?v=8').then(reg => { navigator.serviceWorker.register('sw.js?v=9').then(reg => {
reg.update(); reg.update();
reg.onupdatefound = () => { reg.onupdatefound = () => {
const installingWorker = reg.installing; const installingWorker = reg.installing;
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "Google Opal AI - Studio & 3D Poster Lab", "name": "Aura Studio - AI Mini-App Engine",
"short_name": "Opal AI", "short_name": "Aura Studio",
"start_url": "./index.html", "start_url": "./index.html",
"display": "standalone", "display": "standalone",
"background_color": "#0C1117", "background_color": "#0C1117",
+1 -1
View File
@@ -1,4 +1,4 @@
const CACHE_NAME = 'opal-ai-v8-cache'; const CACHE_NAME = 'aura-studio-v9-cache';
self.addEventListener('install', (e) => { self.addEventListener('install', (e) => {
self.skipWaiting(); self.skipWaiting();