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:
@@ -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
@@ -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
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user