DevForML commited on
Commit
c0962ca
·
verified ·
1 Parent(s): 213dac2

Upload 7 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ icons/icon-192.png filter=lfs diff=lfs merge=lfs -text
37
+ icons/icon-512.png filter=lfs diff=lfs merge=lfs -text
app.DKC5l3Aq.js ADDED
The diff for this file is too large to render. See raw diff
 
assets/build_entry._h0TfevK.css ADDED
@@ -0,0 +1 @@
 
 
1
+ :root{--pink:#ec4899;--rose:#fb7185;--deep:#9f1239;--ink:#4a1734;--muted:#7d5a6e;--line:#f5cfe1;--soft:#fff0f7;--shadow:0 14px 40px #ec48991a}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 10% 0,#fff 0,#fff7fb 48%,#ffeef7 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);color:var(--deep);cursor:pointer;background:#fff;border-radius:13px;padding:10px 13px;font-weight:800}button.primary{background:linear-gradient(135deg,var(--pink),var(--rose));color:#fff;border-color:#0000;box-shadow:0 8px 22px #ec489938}.wrap{max-width:1180px;margin:auto;padding:14px 16px}.top{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#ffffffe6;position:sticky;top:0}.topin{justify-content:space-between;align-items:center;gap:10px;max-width:1180px;margin:auto;padding:10px 16px;display:flex}.brand h1{margin:0;font-size:17px}.brand small{color:var(--muted);font-size:11px}.actions{gap:8px;display:flex}.hero{padding:20px 0 12px}.hero h2{margin:0 0 6px;font-size:29px}.hero p{color:var(--muted);margin:0}.stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stat,.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:20px}.stat{padding:13px}.stat b{font-size:19px;display:block}.stat span,.note{color:var(--muted);font-size:12px}.panel{margin:12px 0;padding:15px}.panel h3{margin:0 0 11px}.calhead,.sectiontitle{justify-content:space-between;align-items:end;gap:10px;display:flex}.calendar{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.dow{text-align:center;color:var(--muted);padding:4px;font-size:11px;font-weight:800}.day{text-align:left;cursor:pointer;border-radius:14px;min-height:75px;padding:9px;transition:background .15s}.day:hover{background:var(--soft)}.day.active{outline:2px solid var(--pink);background:var(--soft)}.daynum{font-size:16px;font-weight:900}.tiny{color:var(--muted);margin-top:5px;font-size:10px}.check{color:var(--deep);font-weight:900}.mealgrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.meal{border:1px solid var(--line);background:#fff;border-radius:17px;padding:13px;transition:border-color .15s}.meal.selected{background:linear-gradient(#fff1f8,#fff);border-color:#ee83b1}.meal h4{margin:0 0 7px;font-size:15px}.meta{flex-wrap:wrap;gap:6px;display:flex}.pill,.tag{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 8px;font-size:11px;display:inline-flex}.tag{color:var(--deep);background:#fff0f7}.detail{color:#6b5360;margin:8px 0;font-size:12px;line-height:1.45}.meal button{width:100%;margin-top:8px}.waterbuttons{flex-wrap:wrap;gap:7px;display:flex}.waterbar{background:#fde3ef;border-radius:999px;height:11px;margin-top:10px;overflow:hidden}.bar{background:linear-gradient(90deg,var(--pink),var(--rose));height:100%;transition:width .4s}.selection-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;display:grid}.summary{border:1px solid var(--line);border-radius:14px;padding:10px}.summary b{font-size:12px;display:block}.summary span{color:var(--muted);font-size:11px}.loggrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.field label{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:800;display:block}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:10px}.field textarea{resize:vertical;min-height:86px}.full{grid-column:1/-1}.toast{color:#fff;z-index:100;pointer-events:none;background:#4a1734;border-radius:999px;padding:10px 14px;font-size:12px;animation:.2s fadein;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes fadein{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=850px){.stats{grid-template-columns:repeat(2,1fr)}.mealgrid{grid-template-columns:1fr}.loggrid,.selection-summary{grid-template-columns:1fr 1fr}}@media (width<=520px){.wrap{padding:10px}.topin{padding:9px 10px}.actions button:not(.primary){display:none}.hero h2{font-size:23px}.calendar{gap:4px}.day{min-height:67px;padding:7px}.panel{padding:11px}.loggrid,.selection-summary{grid-template-columns:1fr}.daynum{font-size:14px}}
icons/icon-192.png ADDED

Git LFS Details

  • SHA256: 077891ab1654021db8ca6c41386bacbf4e9705d8d2a0eae8befb99934aea1846
  • Pointer size: 131 Bytes
  • Size of remote file: 387 kB
icons/icon-512.png ADDED

Git LFS Details

  • SHA256: 077891ab1654021db8ca6c41386bacbf4e9705d8d2a0eae8befb99934aea1846
  • Pointer size: 131 Bytes
  • Size of remote file: 387 kB
index.html CHANGED
@@ -1,19 +1,18 @@
1
  <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
  </html>
 
 
1
  <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
6
+ <meta name="theme-color" content="#ec4899">
7
+ <meta name="description" content="Monthly Gujarati-friendly fat loss planner with daily logs.">
8
+ <link rel="manifest" href="./manifest.webmanifest">
9
+ <link rel="icon" href="./icons/icon-192.png">
10
+ <title>LeanCut — Monthly Planner</title>
11
+ <script type="module" crossorigin src="./app.DKC5l3Aq.js"></script>
12
+ <link rel="stylesheet" crossorigin href="./assets/build_entry._h0TfevK.css">
13
+ </head>
14
+ <body>
15
+ <div id="root"></div>
16
+ </body>
 
 
17
  </html>
18
+
manifest.webmanifest ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "LeanCut — Gujarati Planner",
3
+ "short_name": "LeanCut",
4
+ "start_url": "./",
5
+ "display": "standalone",
6
+ "orientation": "portrait",
7
+ "background_color": "#fffafd",
8
+ "theme_color": "#ec4899",
9
+ "description": "Monthly Gujarati-friendly fat loss planner with daily meal logs, water, steps and gym tracking.",
10
+ "lang": "en",
11
+ "scope": "./",
12
+ "icons": [
13
+ {
14
+ "src": "./icons/icon-192.png",
15
+ "sizes": "192x192",
16
+ "type": "image/png",
17
+ "purpose": "any"
18
+ },
19
+ {
20
+ "src": "./icons/icon-512.png",
21
+ "sizes": "512x512",
22
+ "type": "image/png",
23
+ "purpose": "any maskable"
24
+ }
25
+ ],
26
+ "categories": ["health", "fitness", "food"],
27
+ "shortcuts": [
28
+ {
29
+ "name": "Today's Plan",
30
+ "short_name": "Today",
31
+ "description": "Open today's meal plan",
32
+ "url": "./"
33
+ }
34
+ ]
35
+ }
sw.js ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const CACHE = 'leancut-v1';
2
+ const ASSETS = [
3
+ './',
4
+ './index.html',
5
+ './manifest.webmanifest',
6
+ './icons/icon-192.png',
7
+ './icons/icon-512.png'
8
+ ];
9
+
10
+ self.addEventListener('install', e => {
11
+ e.waitUntil(
12
+ caches.open(CACHE).then(c => c.addAll(ASSETS)).then(() => self.skipWaiting())
13
+ );
14
+ });
15
+
16
+ self.addEventListener('activate', e => {
17
+ e.waitUntil(
18
+ caches.keys().then(keys =>
19
+ Promise.all(keys.filter(k => k !== CACHE).map(k => caches.delete(k)))
20
+ ).then(() => self.clients.claim())
21
+ );
22
+ });
23
+
24
+ self.addEventListener('fetch', e => {
25
+ if (e.request.method !== 'GET') return;
26
+ e.respondWith(
27
+ caches.match(e.request).then(cached => {
28
+ if (cached) return cached;
29
+ return fetch(e.request).then(res => {
30
+ if (!res || res.status !== 200 || res.type === 'opaque') return res;
31
+ const clone = res.clone();
32
+ caches.open(CACHE).then(c => c.put(e.request, clone));
33
+ return res;
34
+ }).catch(() => caches.match('./index.html'));
35
+ })
36
+ );
37
+ });