Files
maternal-app/maternal-web/public/sw.js
andupetcu a91a7b009a
Some checks failed
Backend CI/CD Pipeline / Lint and Test Backend (push) Has been cancelled
CI/CD Pipeline / Lint and Test (push) Has been cancelled
Backend CI/CD Pipeline / E2E Tests Backend (push) Has been cancelled
Backend CI/CD Pipeline / Build Backend Application (push) Has been cancelled
Backend CI/CD Pipeline / Performance Testing (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled
Add backend with analytics, notifications, and enhanced features
Backend:
- Complete NestJS backend implementation with comprehensive features
- Analytics: Weekly/monthly reports with PDF/CSV export
- Smart notifications: Persistent notifications with milestones and anomaly detection
- AI safety: Medical disclaimer triggers and prompt injection protection
- COPPA/GDPR compliance: Full audit logging system

Frontend:
- Updated settings page and analytics components
- API integration improvements

Docs:
- Added implementation gaps tracking
- Azure OpenAI integration documentation
- Testing and post-launch summaries

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 15:22:50 +03:00

2 lines
10 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
if(!self.define){let s,e={};const n=(n,i)=>(n=new URL(n+".js",i).href,e[n]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=n,s.onload=e,document.head.appendChild(s)}else s=n,importScripts(n),e()}).then(()=>{let s=e[n];if(!s)throw new Error(`Module ${n} didnt register its module`);return s}));self.define=(i,t)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let c={};const u=s=>n(s,a),r={module:{uri:a},exports:c,require:u};e[a]=Promise.all(i.map(s=>r[s]||u(s))).then(s=>(t(...s),c))}}define(["./workbox-4d767a27"],function(s){"use strict";importScripts(),self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"/_next/app-build-manifest.json",revision:"34cde3eff16f44b2dd6f5dfb94b9479c"},{url:"/_next/static/chunks/1513-05aa3794cecc8ad5.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/1820-327430318fdd79dc.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/1960-867a0b8bd71110ba.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/2101-7f39dbf8afd6262a.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/2168-89e10547d22f0d33.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/2228-bcbaedc96a6b0448.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/374-f8b5d3bf493759db.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/3742-2f783eeadc515989.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/3978.fd9870b9742f9199.js",revision:"fd9870b9742f9199"},{url:"/_next/static/chunks/3983-91af187e17c63113.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/4076-49b30760f50d7b68.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/4537-a9f6346d1bad96b1.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/4686-d50dc0136003ec05.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/487-26d987e735262dbb.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/4919-f07fda8666d18e65.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/5011-4253696c14555a56.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/5245-09cf0a7bf6416b6a.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/5527-f389f9c410150251.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/5561-dee6f12363250c68.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/6380-2f4c9d5ca062dca1.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/6563-02e69a48debeb5b5.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/6596-5dd44bd0c2c6b6e4.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/7023-dfa2417c59751408.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/7593-692688dd7a45435c.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/8046.b5f16d76d4039d85.js",revision:"b5f16d76d4039d85"},{url:"/_next/static/chunks/8334-af22988373f1dd97.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/8433-1fbb9f2796ed252a.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/8472-4112da7a48cda3eb.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/8485-a4408d198005887e.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/8822-2e64fbe341f4f653.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/8841-3b466de170191486.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/8884-8b8c3472443a9db8.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/937-595d5097888001e5.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/(auth)/login/page-293e55b1c0e9fc9a.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/(auth)/onboarding/page-5e776d5381768ce0.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/(auth)/register/page-58138c65c1e595ce.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/_not-found/page-86b6cfc5573ceb72.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/ai-assistant/page-e23790d758cb4aa7.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/analytics/page-174edaebd3c5027e.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/children/page-3a2dee84f961ad55.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/family/page-7adbd7753d1513f3.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/history/page-362a730ba8b6a898.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/insights/page-26b93a565b1844c9.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/layout-5db1cf91da4775d2.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/logout/page-6650d331fee1bfb4.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/page-d0566e067e8fefc6.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/settings/page-7a3f64a649a99ff7.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/track/diaper/page-0ab794466e406057.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/track/feeding/page-ff4712a9ce97a220.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/track/page-31adbc734be87344.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/app/track/sleep/page-aef97b70d74824f4.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/fd9d1056-73f1f891e4b9fc79.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/framework-8e0e0f4a6b83a956.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/main-app-69f466400afe8825.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/main-e0c27ec9d4a4962f.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/pages/_app-f870474a17b7f2fd.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js",revision:"79330112775102f91e1010318bae2bd3"},{url:"/_next/static/chunks/webpack-5fd222994c659e7d.js",revision:"uEEKJ05uSKsvEZC5bw_x1"},{url:"/_next/static/css/a29fc3ad674cab81.css",revision:"a29fc3ad674cab81"},{url:"/_next/static/media/19cfc7226ec3afaa-s.woff2",revision:"9dda5cfc9a46f256d0e131bb535e46f8"},{url:"/_next/static/media/21350d82a1f187e9-s.woff2",revision:"4e2553027f1d60eff32898367dd4d541"},{url:"/_next/static/media/8e9860b6e62d6359-s.woff2",revision:"01ba6c2a184b8cba08b0d57167664d75"},{url:"/_next/static/media/ba9851c3c22cd980-s.woff2",revision:"9e494903d6b0ffec1a1e14d34427d44d"},{url:"/_next/static/media/c5fe6dc8356a8c31-s.woff2",revision:"027a89e9ab733a145db70f09b8a18b42"},{url:"/_next/static/media/df0a9ae256c0569c-s.woff2",revision:"d54db44de5ccb18886ece2fda72bdfe0"},{url:"/_next/static/media/e4af272ccee01ff0-s.p.woff2",revision:"65850a373e258f1c897a2b3d75eb74de"},{url:"/_next/static/uEEKJ05uSKsvEZC5bw_x1/_buildManifest.js",revision:"3e2d62a10f4d6bf0b92e14aecf7836f4"},{url:"/_next/static/uEEKJ05uSKsvEZC5bw_x1/_ssgManifest.js",revision:"b6652df95db52feb4daf4eca35380933"},{url:"/icons/icon-128x128.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/icons/icon-144x144.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/icons/icon-152x152.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/icons/icon-192x192.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/icons/icon-384x384.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/icons/icon-512x512.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/icons/icon-72x72.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/icons/icon-96x96.png",revision:"d41d8cd98f00b204e9800998ecf8427e"},{url:"/manifest.json",revision:"5be5ec81beca107e804b38758d51abd5"},{url:"/next.svg",revision:"8e061864f388b47f33a1c3780831193e"},{url:"/vercel.svg",revision:"61c6b19abff40ea7acd577be818f3976"}],{ignoreURLParametersMatching:[]}),s.cleanupOutdatedCaches(),s.registerRoute("/",new s.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:s,response:e,event:n,state:i})=>e&&"opaqueredirect"===e.type?new Response(e.body,{status:200,statusText:"OK",headers:e.headers}):e}]}),"GET"),s.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new s.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new s.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),s.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new s.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new s.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),s.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new s.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new s.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),s.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new s.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new s.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\/_next\/image\?url=.+$/i,new s.StaleWhileRevalidate({cacheName:"next-image",plugins:[new s.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:mp3|wav|ogg)$/i,new s.CacheFirst({cacheName:"static-audio-assets",plugins:[new s.RangeRequestsPlugin,new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:mp4)$/i,new s.CacheFirst({cacheName:"static-video-assets",plugins:[new s.RangeRequestsPlugin,new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:js)$/i,new s.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:css|less)$/i,new s.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new s.StaleWhileRevalidate({cacheName:"next-data",plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\/api\/.*$/i,new s.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new s.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/.*/i,new s.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET")});