Initial commit of MindShift CBT Therapy app

This commit is contained in:
Gemini AI
2025-12-06 16:02:48 +04:00
Unverified
commit 0ba7af6489
23 changed files with 14352 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzAiIGhlaWdodD0iNzAiIHZpZXdCb3g9IjAgMCA3MCA3MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjcwIiBoZWlnaHQ9IjcwIiByeD0iMTAiIGZpbGw9InVybCgjZ3JhZGllbnQwX2xpbmVhcl8zXzMpIi8+CjxwYXRoIGQ9Ik0zNSAyMUMzMi45MjkgMjEgMzEuNSAyMi45MjkgMzEuNSAyNUMzMS41IDI3LjA3MSAzMi45MjkgMjkgMzUgMjlDMzcuMDcxIDI5IDM4LjUgMjcuMDcxIDM4LjUgMjVDMzguNSAyMi45MjkgMzcuMDcxIDIxIDM1IDIxWiIgZmlsbD0id2hpdGUiLz4KPHA+PC9wPgo8cGF0aCBkPSJNMzUgMzVDMzMuMDQzIDM1IDMxLjUgMzYuNTQzIDMxLjUgMzguNUMzMS41IDQwLjQ1NyAzMy4wNDMgNDIgMzUgNDJDMzYuOTU3IDQyIDM4LjUgNDAuNDU3IDM4LjUgMzguNUMzOC41IDM2LjU0MyAzNi45NTcgMzUgMzUgMzVaIiBmaWxsPSJ3aGl0ZSIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJncmFkaWVudDBfbGluZWFyXzNfMyIgeDE9IjAiIHkxPSIwIiB4Mj0iNzAiIHkyPSI3MCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjRkY2QjZCIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGQjc0RCIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPg=="/>
<square150x150logo src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjE1MCIgdmlld0JveD0iMCAwIDE1MCAxNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxNTAiIGhlaWdodD0iMTUwIiByeD0iMjAiIGZpbGw9InVybCgjZ3JhZGllbnQwX2xpbmVhcl80XzQpIi8+CjxwYXRoIGQ9Ik03NSA0NUM3MC41MTc5IDQ1IDY3IDQ4LjUxNzkgNjcgNTNDNjcgNTcuNDgyMSA3MC41MTc5IDYxIDc1IDYxQzc5LjQ4MjEgNjEgODMgNTcuNDgyMSA4MyA1M0M4MyA0OC41MTc5IDc5LjQ4MjEgNDUgNzUgNDVaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNjAgNzVDNjAuMTM2NyA3MC4yMzgzIDYyLjIzODIgNjUuNDc2NyA2NS4yMzIzIDYxLjgzMzNDNjguMjI2NCA1OC4xOSA3Mi4yMjMyIDU1Ljg5MjggNzYuNzYwNiA1NS44OTI4QzgxLjI5OCA1NS44OTI4IDg1LjI5NDYgNTguMTkgODguMjg4NyA2MS44MzMzQzkxLjI4MjggNjUuNDc2NyA5My4zNjMzIDcwLjIzODMgOTMuMzI1IDc1QzkzLjI4NjcgNzkuNzYxNyA5MS4yODI4IDg0LjUyMzMgODguMjg4NyA4OC4xNjY3Qzg1LjI5NDYgOTEuODEgODEuMjk4IDk0LjEwNzIgNzYuNzYwNiA5NC4xMDcyQzcyLjIyMzIgOTQuMTA3MiA2OC4yMjY0IDkxLjgxIDY1LjIzMjMgODguMTY2N0M2Mi4yMzgyIDg0LjUyMzMgNjAuMTM2NyA3OS43NjE3IDYwIDc1WiIgZmlsbD0id2hpdGUiLz4KPHA+PC9wPgo8cGF0aCBkPSJNNzUgMTA1QzY2LjcxNTcgMTA1IDYwIDk4LjI4NDMgNjAgOTBDNjAgODEuNzE1NyA2Ni43MTU3IDc1IDc1IDc1QzgzLjI4NDMgNzUgOTAgODEuNzE1NyA5MCA5MEM5MCA5OC4yODQzIDgzLjI4NDMgMTA1IDc1IDEwNVoiIGZpbGw9IndoaXRlIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRpZW50MF9saW5lYXJfNF80IiB4MT0iMCIgeTE9IjAiIHgyPSIxNTAiIHkyPSIxNTAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNkI2QiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRkI3NEQiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4="/>
<square310x310logo src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzEwIiBoZWlnaHQ9IjMxMCIgdmlld0JveD0iMCAwIDMxMCAzMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMTAiIGhlaWdodD0iMzEwIiByeD0iNDAiIGZpbGw9InVybCgjZ3JhZGllbnQwX2xpbmVhcl81XzUpIi8+CjxwYXRoIGQ9Ik0xNTUgOTNDMTQ2LjE5MyA5MyAxMzkgMTAwLjE5MyAxMzkgMTA5QzEzOSAxMTcuODA3IDE0Ni4xOTMgMTI1IDE1NSAxMjVDMTYzLjgwNyAxMjUgMTcxIDExNy44MDcgMTcxIDEwOUMxNzEgMTAwLjE5MyAxNjMuODA3IDkzIDE1NSA5M1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMjQgMTU1QzEyNC4yNzMgMTQ1LjQ3NyAxMjguNDc2IDEzNS45NTMgMTM0LjQ2NSAxMjguNjY3QzE0MC40NTMgMTIxLjM4IDE0OC40NjQgMTE2Ljc4NiAxNTcuNTIxIDExNi43ODZDMTY2LjU3OCAxMTYuNzg2IDE3NC41ODkgMTIxLjM4IDE4MC41NzggMTI4LjY2N0MxODYuNTY2IDEzNS45NTMgMTkwLjcyNyAxNDUuNDc3IDE5MC42NSAxNTVDMTkwLjU3MyAxNjQuNTIzIDE4Ni41NjYgMTc0LjA0NyAxODAuNTc4IDE4MS4zMzNDMTc0LjU4OSAxODguNjIgMTY2LjU3OCAxOTMuMjE0IDE1Ny41MjEgMTkzLjIxNEMxNDguNDY0IDE5My4yMTQgMTQwLjQ1MyAxODguNjIgMTM0LjQ2NSAxODEuMzMzQzEyOC40NzYgMTc0LjA0NyAxMjQuMjczIDE2NC41MjMgMTI0IDE1NVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNTUgMjEwQzEzMy40MzEgMjEwIDExNiAxOTIuNTY5IDExNiAxNzFDMTE2IDE0OS40MzEgMTMzLjQzMSAxMzIgMTU1IDEzMkMxNzYuNTY5IDEzMiAxOTQgMTQ5LjQzMSAxOTQgMTcxQzE5NCAxOTIuNTY5IDE3Ni41NjkgMjEwIDE1NSAyMTBaIiBmaWxsPSJ3aGl0ZSIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJncmFkaWVudDBfbGluZWFyXzVfNSIgeDE9IjAiIHkxPSIwIiB4Mj0iMzEwIiB5Mj0iMzEwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRjZCNkIiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZCNzREIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+"/>
<TileColor>#FF6B6B</TileColor>
</tile>
</msapplication>
</browserconfig>

View File

@@ -0,0 +1,27 @@
{
"name": "MindShift - CBT Therapy App",
"short_name": "MindShift",
"description": "Your personal CBT therapy companion for mood management and mental wellness",
"start_url": "/",
"display": "standalone",
"background_color": "#FFB74D",
"theme_color": "#FF6B6B",
"orientation": "portrait-primary",
"icons": [
{
"src": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkyIiBoZWlnaHQ9IjE5MiIgdmlld0JveD0iMCAwIDE5MiAxOTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxOTIiIGhlaWdodD0iMTkyIiByeD0iMjQiIGZpbGw9InVybCgjZ3JhZGllbnQwX2xpbmVhcl8xXzEpIi8+CjxwYXRoIGQ9Ik05NiA0OEM5MC40NzcyIDQ4IDg2IDUyLjQ3NzIgODYgNjhDODYgNzMuNTIyOCA5MC40NzcyIDc4IDk2IDc4QzEwMS41MjIgNzggMTA2IDczLjUyMjggMTA2IDY4QzEwNiA2Mi40NzcyIDEwMS41MjIgNDggOTYgNDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNzYgOTZDNzYuMDc0NSA5MC4zMTc3IDc4LjMxNzcgODQuNjQ1MiA4Mi4xODU0IDgwLjE4NTRDODYuMDUzMSA3NS43MjU2IDkxLjI1OTEgNzIuNjg5NyA5Ni43MjA5IDcyLjY4OTdDMTAyLjE4MiA3Mi42ODk3IDEwNy4zODkgNzUuNzI1NiAxMTEuMjU2IDgwLjE4NTRDMTE1LjEyNCA4NC42NDUyIDExNy4zOTUgOTAuMzE3NyAxMTcuMzU1IDk2QzExNy4zMTUgMTAxLjY4MiAxMTUuMDQ0IDEwNy4zNTUgMTExLjE3NiAxMTEuODE0QzEwNy4zMDkgMTE2LjI3NCAxMDIuMTgyIDExOS4zMSA5Ni43MjA5IDExOS4zMUM5MS4yNTkxIDExOS4zMSA4Ni4wNTMxIDExNi4yNzQgODIuMTg1NCAxMTEuODE0Qzc4LjMxNzcgMTA3LjM1NSA3Ni4wNzQ1IDEwMS42ODIgNzYgOTZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNOTYgMTI0Qzg4LjI2ODAxIDEyNCA4MiAxMTcuNzMyIDgyIDExMEM4MiAxMDIuMjY4IDg4LjI2ODAxIDk2IDk2IDk2QzEwMy43MzIgOTYgMTEwIDEwMi4yNjggMTEwIDExMEMxMTAgMTE3LjczMiAxMDMuNzMyIDEyNCA5NiAxMjRaIiBmaWxsPSJ3aGl0ZSIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJncmFkaWVudDBfbGluZWFyXzFfMSIgeDE9IjAiIHkxPSIwIiB4Mj0iMTkyIiB5Mj0iMTkyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRjZCNkIiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZCNzREIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+",
"sizes": "192x192",
"type": "image/svg+xml"
},
{
"src": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiByeD0iNjQiIGZpbGw9InVybCgjZ3JhZGllbnQwX2xpbmVhcl8yXzIpIi8+CjxwYXRoIGQ9Ik0yNTYgMTI4QzI0MS4yNTUgMTI4IDIyOSAxNDAuMjU1IDIyOSAxNTVDMjI5IDE2OS43NDUgMjQxLjI1NSAxODIgMjU2IDE4MkMyNzAuNzQ1IDE4MiAyODMgMTY5Ljc0NSAyODMgMTU1QzI4MyAxNDAuMjU1IDI3MC43NDUgMTI4IDI1NiAxMjhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjA0IDI1NkMyMDQuMTk4IDI0MS44MzYgMjA4LjgzNiAyMjcuNjcyIDIxNi40NjkgMjE1LjEyMkMyMjQuMTAyIDIwMi41NzIgMjM0LjMwOSAxOTIuMTg5IDI0Ni4yNTYgMTkyLjE4OUMyNTguMjAzIDE5Mi4xODkgMjY4LjQxIDIwMi41NzIgMjc2LjA0MyAyMTUuMTIyQzI4My42NzYgMjI3LjY3MiAyODguMzE0IDI0MS44MzYgMjg4LjI1NiAyNTZDMjg4LjE5OCAyNzAuMTY0IDI4My41NiAyODQuMzI4IDI3NS45MjcgMjk2Ljg3OEMyNjguMjk0IDMwOS40MjggMjU4LjA4NyAzMTkuODExIDI0Ni4xNCAzMTkuODExQzIzNC4xOTMgMzE5LjgxMSAyMjMuOTg2IDMwOS40MjggMjE2LjM1MyAyOTYuODc4QzIwOC43MiAyODQuMzI4IDIwNC4wODIgMjcwLjE2NCAyMDQgMjU2WiIgZmlsbD0id2hpdGUiLz4KPHA+PC9wPgo8cGF0aCBkPSJNMjU2IDMzMkMyMzUuMDg4IDMzMiAyMTggMzE0LjkxMiAyMTggMjk0QzIxOCAyNzMuMDg4IDIzNS4wODggMjU2IDI1NiAyNTZDMjc2LjkxMiAyNTYgMjk0IDI3My4wODggMjk0IDI5NEMyOTQgMzE0LjkxMiAyNzYuOTEyIDMzMiAyNTYgMzMyWiIgZmlsbD0id2hpdGUiLz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0iZ3JhZGllbnQwX2xpbmVhcl8yXzIiIHgxPSIwIiB5MT0iMCIgeDI9IjUxMiIgeTI9IjUxMiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjRkY2QjZCIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGQjc0RCIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPg==",
"sizes": "512x512",
"type": "image/svg+xml"
}
],
"categories": ["health", "fitness", "lifestyle"],
"lang": "en",
"dir": "ltr",
"scope": "/",
"prefer_related_applications": false
}

View File

@@ -0,0 +1,127 @@
const CACHE_NAME = 'mindshift-v1';
const urlsToCache = [
'/',
'/cbt-therapy-app-mockup.html',
'/manifest.json'
];
// Install event - cache resources
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache) {
console.log('Opened cache');
return cache.addAll(urlsToCache);
})
);
});
// Fetch event - serve from cache when offline
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(function(response) {
// Cache hit - return response
if (response) {
return response;
}
// Clone the request
var fetchRequest = event.request.clone();
return fetch(fetchRequest).then(
function(response) {
// Check if valid response
if(!response || response.status !== 200 || response.type !== 'basic') {
return response;
}
// Clone the response
var responseToCache = response.clone();
caches.open(CACHE_NAME)
.then(function(cache) {
cache.put(event.request, responseToCache);
});
return response;
}
).catch(function() {
// Offline fallback for HTML pages
if (event.request.destination === 'document') {
return caches.match('/cbt-therapy-app-mockup.html');
}
});
})
);
});
// Activate event - clean up old caches
self.addEventListener('activate', function(event) {
event.waitUntil(
caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(function(cacheName) {
if (cacheName !== CACHE_NAME) {
console.log('Deleting old cache:', cacheName);
return caches.delete(cacheName);
}
})
);
})
);
});
// Background sync for offline actions
self.addEventListener('sync', function(event) {
if (event.tag === 'background-sync') {
event.waitUntil(doBackgroundSync());
}
});
function doBackgroundSync() {
// Handle syncing offline data when back online
return Promise.resolve();
}
// Push notification handler
self.addEventListener('push', function(event) {
const options = {
body: event.data ? event.data.text() : 'Time for your CBT exercise!',
icon: '/data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkyIiBoZWlnaHQ9IjE5MiIgdmlld0JveD0iMCAwIDE5MiAxOTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxOTIiIGhlaWdodD0iMTkyIiByeD0iMjQiIGZpbGw9InVybCgjZ3JhZGllbnQwX2xpbmVhcl8xXzEpIi8+CjxwYXRoIGQ9Ik05NiA0OEM5MC40NzcyIDQ4IDg2IDUyLjQ3NzIgODYgNjhDODYgNzMuNTIyOCA5MC40NzcyIDc4IDk2IDc4QzEwMS41MjIgNzggMTA2IDczLjUyMjggMTA2IDY4QzEwNiA2Mi40NzcyIDEwMS41MjIgNDggOTYgNDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNzYgOTZDNzYuMDc0NSA5MC4zMTc3IDc4LjMxNzcgODQuNjQ1MiA4Mi4xODU0IDgwLjE4NTRDODYuMDUzMSA3NS43MjU2IDkxLjI1OTEgNzIuNjg5NyA5Ni43MjA5IDcyLjY4OTdDMTAyLjE4MiA3Mi42ODk3IDEwNy4zODkgNzUuNzI1NiAxMTEuMjU2IDgwLjE4NTRDMTE1LjEyNCA4NC42NDUyIDExNy4zOTUgOTAuMzE3NyAxMTcuMzU1IDk2QzExNy4zMTUgMTAxLjY4MiAxMTUuMDQ0IDEwNy4zNTUgMTExLjE3NiAxMTEuODE0QzEwNy4zMDkgMTE2LjI3NCAxMDIuMTgyIDExOS4zMSA5Ni43MjA5IDExOS4zMUM5MS4yNTkxIDExOS4zMSA4Ni4wNTMxIDExNi4yNzQgODIuMTg1NCAxMTEuODE0Qzc4LjMxNzcgMTA3LjM1NSA3Ni4wNzQ1IDEwMS42ODIgNzYgOTZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNOTYgMTI0Qzg4LjI2ODAxIDEyNCA4MiAxMTcuNzMyIDgyIDExMEM4MiAxMDIuMjY4IDg4LjI2ODAxIDk2IDk2IDk2QzEwMy43MzIgOTYgMTEwIDEwMi4yNjggMTEwIDExMEMxMTAgMTE3LjczMiAxMDMuNzMyIDEyNCA5NiAxMjRaIiBmaWxsPSJ3aGl0ZSIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJncmFkaWVudDBfbGluZWFyXzFfMSIgeDE9IjAiIHkxPSIwIiB4Mj0iMTkyIiB5Mj0iMTkyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRjZCNkIiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZCNzREIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+',
badge: '/data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iOTYiIHZpZXdCb3g9IjAgMCA5NiA5NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9Ijk2IiBoZWlnaHQ9Ijk2IiByeD0iMTIiIGZpbGw9IiNGRjZCNkIiLz4KPC9zdmc+',
vibrate: [100, 50, 100],
data: {
dateOfArrival: Date.now(),
primaryKey: 1
},
actions: [
{
action: 'explore',
title: 'Open App',
icon: '/data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2IDJMMjggMTZMMTYgMzBMMCAxNkwxNiAyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+'
},
{
action: 'close',
title: 'Dismiss',
icon: '/data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI0IDhMMTcgMTVMMjQgMjJMMjIgMjRMMTUgMTdMOCAyNEwxMCAyMkwxNyAxNUwxMCA4TDEyIDZMMTkgMTNMMTIgNkwyNCA4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+'
}
]
};
event.waitUntil(
self.registration.showNotification('MindShift', options)
);
});
// Notification click handler
self.addEventListener('notificationclick', function(event) {
event.notification.close();
if (event.action === 'explore') {
// Open the app
event.waitUntil(
clients.openWindow('/')
);
}
});