jivamai 0.2.33-dev.f1a0ab3 → 0.2.34-dev.828ae62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/index-Bnmqb4t0.js +31 -0
- package/dist/assets/index-C6vx7BMs.css +10 -0
- package/dist/index.html +2 -2
- package/dist/offline.html +343 -0
- package/dist/sw.js +44 -0
- package/dist-server/index.js +1 -1
- package/dist-server/offline.html +343 -0
- package/dist-server/sw.js +44 -0
- package/package.json +1 -1
- package/public/offline.html +343 -0
- package/public/sw.js +44 -0
- package/dist/assets/index-4So1kBgC.css +0 -10
- package/dist/assets/index-CbMmXFFf.js +0 -31
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
2
|
+
Theme: GitHub
|
|
3
|
+
Description: Light theme as seen on github.com
|
|
4
|
+
Author: github.com
|
|
5
|
+
Maintainer: @Hirse
|
|
6
|
+
Updated: 2021-05-15
|
|
7
|
+
|
|
8
|
+
Outdated base version: https://github.com/primer/github-syntax-light
|
|
9
|
+
Current colors taken from GitHub's CSS
|
|
10
|
+
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-10{bottom:2.5rem}.bottom-2\.5{bottom:.625rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.right-0{right:0}.right-2\.5{right:.625rem}.right-4{right:1rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-6{margin-right:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:24rem}.max-h-\[240px\]{max-height:240px}.max-h-\[90vh\]{max-height:90vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[260px\]{width:260px}.w-\[320px\]{width:320px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.max-w-2xl{max-width:42rem}.max-w-\[140px\]{max-width:140px}.max-w-\[160px\]{max-width:160px}.max-w-\[75\%\]{max-width:75%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-tl-sm{border-top-left-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-amber-400\/25{border-color:#fbbf2440}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-800{--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-purple-400\/50{border-color:#c084fc80}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.border-red-400\/25{border-color:#f8717140}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-t-transparent{border-top-color:transparent}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-black\/20{background-color:#0003}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-100\/60{background-color:#f3e8ff99}.bg-purple-900\/10{background-color:#581c871a}.bg-purple-900\/20{background-color:#581c8733}.bg-purple-900\/30{background-color:#581c874d}.bg-red-400\/5{background-color:#f871710d}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-jivam-purple{--tw-gradient-from: #8B5CF6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-jivam-blue{--tw-gradient-to: #3B82F6 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-3\.5{padding-left:.875rem}.pl-6{padding-left:1.5rem}.pr-2\.5{padding-right:.625rem}.pr-3\.5{padding-right:.875rem}.pr-9{padding-right:2.25rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--accent-blue\)\]{color:var(--accent-blue)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-subtle\)\]{color:var(--text-subtle)}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-300\/90{color:#fcd34de6}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.accent-purple-500{accent-color:#a855f7}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_4px_rgba\(34\,197\,94\,0\.6\)\]{--tw-shadow: 0 0 4px rgba(34,197,94,.6);--tw-shadow-colored: 0 0 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--bg: #F5F3FF;--bg-secondary: #EDE9FE;--card: #FFFFFF;--card-border: rgba(139, 92, 246, .15);--card-shadow: 0 4px 24px rgba(139, 92, 246, .08);--text: #1E1B4B;--text-muted: #6B7280;--text-subtle: #9CA3AF;--accent: #8B5CF6;--accent-blue: #3B82F6;--accent-indigo: #6366F1;--input-bg: rgba(255, 255, 255, .9);--input-border: rgba(139, 92, 246, .25);--user-bubble-bg: linear-gradient(135deg, #8B5CF6, #3B82F6);--user-bubble-text: #FFFFFF;--agent-bubble-bg: #FFFFFF;--agent-bubble-border: rgba(139, 92, 246, .12);--topbar-bg: rgba(245, 243, 255, .85);--topbar-border: rgba(139, 92, 246, .12);--sidebar-bg: rgba(255, 255, 255, .95);--scrollbar-thumb: rgba(139, 92, 246, .3);--code-bg: #F8F5FF;--code-border: rgba(139, 92, 246, .12)}[data-theme=dark]{--bg: #0A0A0B;--bg-secondary: #111113;--card: rgba(28, 28, 33, .85);--card-border: rgba(139, 92, 246, .2);--card-shadow: 0 4px 24px rgba(139, 92, 246, .15);--text: #F5F3FF;--text-muted: #9CA3AF;--text-subtle: #6B7280;--accent: #A78BFA;--accent-blue: #60A5FA;--accent-indigo: #818CF8;--input-bg: rgba(28, 28, 33, .9);--input-border: rgba(139, 92, 246, .35);--user-bubble-bg: linear-gradient(135deg, #7C3AED, #2563EB);--user-bubble-text: #FFFFFF;--agent-bubble-bg: rgba(28, 28, 33, .9);--agent-bubble-border: rgba(139, 92, 246, .2);--topbar-bg: rgba(10, 10, 11, .9);--topbar-border: rgba(139, 92, 246, .15);--sidebar-bg: rgba(17, 17, 19, .98);--scrollbar-thumb: rgba(139, 92, 246, .4);--code-bg: rgba(28, 28, 33, .8);--code-border: rgba(139, 92, 246, .2)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#8b5cf680}.aurora-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.aurora-bg:before{content:"";position:absolute;width:80%;height:80%;top:-20%;left:-10%;background:radial-gradient(ellipse,rgba(139,92,246,.08) 0%,transparent 70%);animation:aurora 20s ease-in-out infinite}.aurora-bg:after{content:"";position:absolute;width:60%;height:60%;bottom:-10%;right:-10%;background:radial-gradient(ellipse,rgba(59,130,246,.06) 0%,transparent 70%);animation:aurora 25s ease-in-out infinite reverse}[data-theme=dark] .aurora-bg:before{background:radial-gradient(ellipse,rgba(139,92,246,.12) 0%,transparent 70%)}[data-theme=dark] .aurora-bg:after{background:radial-gradient(ellipse,rgba(59,130,246,.08) 0%,transparent 70%)}@keyframes aurora{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.05)}66%{transform:translate(-30px,20px) scale(.95)}}.glass-card{background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);box-shadow:var(--card-shadow)}.gradient-text{background:linear-gradient(135deg,var(--accent),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-8px);opacity:1}}.hljs{background:var(--code-bg)!important;color:var(--text)!important;border-radius:.5rem}[data-theme=dark] .hljs-keyword{color:#c084fc}[data-theme=dark] .hljs-string{color:#86efac}[data-theme=dark] .hljs-comment{color:#6b7280}[data-theme=dark] .hljs-number{color:#fca5a5}[data-theme=dark] .hljs-function{color:#93c5fd}.drag-region{-webkit-app-region:drag}.no-drag{-webkit-app-region:no-drag}.markdown-body{line-height:1.7;color:var(--text)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-weight:600;margin:1.25em 0 .5em;line-height:1.3;color:var(--text)}.markdown-body h1{font-size:1.4em}.markdown-body h2{font-size:1.2em}.markdown-body h3{font-size:1.1em}.markdown-body p{margin:.75em 0}.markdown-body ul,.markdown-body ol{padding-left:1.5em;margin:.5em 0}.markdown-body li{margin:.25em 0}.markdown-body code:not(pre code){background:var(--code-bg);border:1px solid var(--code-border);border-radius:4px;padding:.1em .4em;font-size:.875em;font-family:JetBrains Mono,Fira Code,monospace}.markdown-body pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:.5rem;margin:.75em 0;overflow:hidden}.markdown-body blockquote{border-left:3px solid var(--accent);padding-left:1em;margin:.75em 0;color:var(--text-muted)}.markdown-body table{width:100%;border-collapse:collapse;margin:.75em 0;font-size:.9em;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--card-border);padding:.5em .75em;text-align:left}.markdown-body th{background:var(--bg-secondary);font-weight:600}.markdown-body a{color:var(--accent);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body hr{border:none;border-top:1px solid var(--card-border);margin:1em 0}.status-row-shrink{container-type:inline-size}@container (max-width: 480px){.status-row-disclaimer{display:none}}.placeholder\:text-\[var\(--text-subtle\)\]::-moz-placeholder{color:var(--text-subtle)}.placeholder\:text-\[var\(--text-subtle\)\]::placeholder{color:var(--text-subtle)}.hover\:border-\[rgba\(139\,92\,246\,0\.4\)\]:hover{border-color:#8b5cf666}.hover\:border-purple-200:hover{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.hover\:border-purple-300:hover{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.hover\:bg-\[rgba\(139\,92\,246\,0\.03\)\]:hover{background-color:#8b5cf608}.hover\:bg-\[rgba\(139\,92\,246\,0\.05\)\]:hover{background-color:#8b5cf60d}.hover\:bg-\[rgba\(139\,92\,246\,0\.06\)\]:hover{background-color:#8b5cf60f}.hover\:bg-\[var\(--card\)\]:hover{background-color:var(--card)}.hover\:bg-\[var\(--hover\)\]:hover{background-color:var(--hover)}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-purple-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-50\/50:hover{background-color:#faf5ff80}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-muted\)\]:hover{color:var(--text-muted)}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-white\/70:hover{color:#ffffffb3}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:brightness-105:hover{--tw-brightness: brightness(1.05);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[rgba\(139\,92\,246\,0\.5\)\]:focus{border-color:#8b5cf680}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[rgba\(139\,92\,246\,0\.2\)\]:focus{--tw-ring-color: rgba(139,92,246,.2)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-purple-500\/50:focus-visible{--tw-ring-color: rgb(168 85 247 / .5)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-\[var\(--accent\)\]{color:var(--accent)}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-blue-800:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-purple-500\/50:is([data-theme=dark] *){border-color:#a855f780}.dark\:bg-amber-900\/20:is([data-theme=dark] *){background-color:#78350f33}.dark\:bg-black\/40:is([data-theme=dark] *){background-color:#0006}.dark\:bg-blue-900\/20:is([data-theme=dark] *){background-color:#1e3a8a33}.dark\:bg-gray-800:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/20:is([data-theme=dark] *){background-color:#14532d33}.dark\:bg-purple-900\/30:is([data-theme=dark] *){background-color:#581c874d}.dark\:text-amber-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:border-purple-600:hover:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.dark\:hover\:border-purple-700\/40:hover:is([data-theme=dark] *){border-color:#7e22ce66}.dark\:hover\:bg-purple-900\/10:hover:is([data-theme=dark] *){background-color:#581c871a}.dark\:hover\:bg-purple-900\/20:hover:is([data-theme=dark] *){background-color:#581c8733}@media (min-width: 640px){.sm\:inline{display:inline}}
|
package/dist/index.html
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
11
11
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
12
12
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-Bnmqb4t0.js"></script>
|
|
14
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C6vx7BMs.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
17
17
|
<div id="root"></div>
|
|
@@ -0,0 +1,343 @@
|
|
|
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.0" />
|
|
6
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' http://localhost:*;" />
|
|
7
|
+
<meta name="theme-color" content="#8b5cf6" />
|
|
8
|
+
<title>Jivam — Not Running</title>
|
|
9
|
+
<style>
|
|
10
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
|
+
|
|
12
|
+
:root {
|
|
13
|
+
--bg: #0A0A0B;
|
|
14
|
+
--card: rgba(28, 28, 33, 0.85);
|
|
15
|
+
--card-border: rgba(139, 92, 246, 0.2);
|
|
16
|
+
--text: #F5F3FF;
|
|
17
|
+
--text-muted: #9CA3AF;
|
|
18
|
+
--text-subtle: #6B7280;
|
|
19
|
+
--accent: #A78BFA;
|
|
20
|
+
--accent-blue: #60A5FA;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
html, body {
|
|
24
|
+
height: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
body {
|
|
28
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
|
|
29
|
+
background: var(--bg);
|
|
30
|
+
color: var(--text);
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
justify-content: center;
|
|
34
|
+
padding: 24px;
|
|
35
|
+
overflow-x: hidden;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Aurora background — same visual language as the main app's .aurora-bg */
|
|
39
|
+
.aurora {
|
|
40
|
+
position: fixed;
|
|
41
|
+
inset: 0;
|
|
42
|
+
pointer-events: none;
|
|
43
|
+
z-index: 0;
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
}
|
|
46
|
+
.aurora::before,
|
|
47
|
+
.aurora::after {
|
|
48
|
+
content: '';
|
|
49
|
+
position: absolute;
|
|
50
|
+
border-radius: 50%;
|
|
51
|
+
animation: aurora-drift 22s ease-in-out infinite;
|
|
52
|
+
}
|
|
53
|
+
.aurora::before {
|
|
54
|
+
width: 80%;
|
|
55
|
+
height: 80%;
|
|
56
|
+
top: -20%;
|
|
57
|
+
left: -10%;
|
|
58
|
+
background: radial-gradient(ellipse, rgba(139, 92, 246, 0.14) 0%, transparent 70%);
|
|
59
|
+
}
|
|
60
|
+
.aurora::after {
|
|
61
|
+
width: 60%;
|
|
62
|
+
height: 60%;
|
|
63
|
+
bottom: -10%;
|
|
64
|
+
right: -10%;
|
|
65
|
+
background: radial-gradient(ellipse, rgba(59, 130, 246, 0.1) 0%, transparent 70%);
|
|
66
|
+
animation-duration: 27s;
|
|
67
|
+
animation-direction: reverse;
|
|
68
|
+
}
|
|
69
|
+
@keyframes aurora-drift {
|
|
70
|
+
0%, 100% { transform: translate(0, 0) scale(1); }
|
|
71
|
+
33% { transform: translate(40px, -30px) scale(1.05); }
|
|
72
|
+
66% { transform: translate(-30px, 20px) scale(0.95); }
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.card {
|
|
76
|
+
position: relative;
|
|
77
|
+
z-index: 1;
|
|
78
|
+
width: 100%;
|
|
79
|
+
max-width: 520px;
|
|
80
|
+
max-height: 90vh;
|
|
81
|
+
overflow-y: auto;
|
|
82
|
+
background: var(--card);
|
|
83
|
+
border: 1px solid var(--card-border);
|
|
84
|
+
border-radius: 20px;
|
|
85
|
+
padding: 36px;
|
|
86
|
+
text-align: center;
|
|
87
|
+
box-shadow: 0 4px 24px rgba(139, 92, 246, 0.15);
|
|
88
|
+
backdrop-filter: blur(12px);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.logo-badge {
|
|
92
|
+
width: 72px;
|
|
93
|
+
height: 72px;
|
|
94
|
+
margin: 0 auto 20px;
|
|
95
|
+
border-radius: 18px;
|
|
96
|
+
display: flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
justify-content: center;
|
|
99
|
+
background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(59, 130, 246, 0.15));
|
|
100
|
+
}
|
|
101
|
+
.logo-badge img {
|
|
102
|
+
width: 44px;
|
|
103
|
+
height: 44px;
|
|
104
|
+
object-fit: contain;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
h1 {
|
|
108
|
+
font-size: 22px;
|
|
109
|
+
font-weight: 600;
|
|
110
|
+
margin-bottom: 8px;
|
|
111
|
+
background: linear-gradient(135deg, var(--accent), var(--accent-blue));
|
|
112
|
+
-webkit-background-clip: text;
|
|
113
|
+
background-clip: text;
|
|
114
|
+
-webkit-text-fill-color: transparent;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.subtitle {
|
|
118
|
+
font-size: 14px;
|
|
119
|
+
color: var(--text-muted);
|
|
120
|
+
line-height: 1.6;
|
|
121
|
+
margin-bottom: 24px;
|
|
122
|
+
max-width: 400px;
|
|
123
|
+
margin-left: auto;
|
|
124
|
+
margin-right: auto;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.subtitle code {
|
|
128
|
+
background: rgba(139, 92, 246, 0.15);
|
|
129
|
+
color: var(--accent);
|
|
130
|
+
padding: 1px 6px;
|
|
131
|
+
border-radius: 4px;
|
|
132
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
133
|
+
font-size: 13px;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* ── Terminal mockups ──────────────────────────────────────────── */
|
|
137
|
+
.terminal {
|
|
138
|
+
text-align: left;
|
|
139
|
+
border-radius: 10px;
|
|
140
|
+
overflow: hidden;
|
|
141
|
+
margin: 0 auto 22px;
|
|
142
|
+
max-width: 400px;
|
|
143
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
144
|
+
font-size: 13px;
|
|
145
|
+
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* macOS Terminal.app chrome */
|
|
149
|
+
.terminal.mac .titlebar {
|
|
150
|
+
background: #3a3a3d;
|
|
151
|
+
padding: 9px 12px;
|
|
152
|
+
display: flex;
|
|
153
|
+
align-items: center;
|
|
154
|
+
gap: 8px;
|
|
155
|
+
}
|
|
156
|
+
.terminal.mac .dot { width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; }
|
|
157
|
+
.terminal.mac .dot.red { background: #ff5f57; }
|
|
158
|
+
.terminal.mac .dot.yellow { background: #febc2e; }
|
|
159
|
+
.terminal.mac .dot.green { background: #28c840; }
|
|
160
|
+
.terminal.mac .titlebar .title {
|
|
161
|
+
flex: 1;
|
|
162
|
+
text-align: center;
|
|
163
|
+
color: rgba(255, 255, 255, 0.55);
|
|
164
|
+
font-size: 12px;
|
|
165
|
+
font-family: -apple-system, sans-serif;
|
|
166
|
+
margin-right: 43px; /* balance the dots on the left */
|
|
167
|
+
}
|
|
168
|
+
.terminal.mac .body { background: #1e1e1e; padding: 16px; }
|
|
169
|
+
|
|
170
|
+
/* Windows Terminal / PowerShell chrome */
|
|
171
|
+
.terminal.win .titlebar {
|
|
172
|
+
background: #2b2b2b;
|
|
173
|
+
padding: 8px 6px 8px 12px;
|
|
174
|
+
display: flex;
|
|
175
|
+
align-items: center;
|
|
176
|
+
gap: 8px;
|
|
177
|
+
}
|
|
178
|
+
.terminal.win .titlebar .icon {
|
|
179
|
+
width: 14px;
|
|
180
|
+
height: 14px;
|
|
181
|
+
border-radius: 3px;
|
|
182
|
+
background: linear-gradient(135deg, #5391fe, #1e3a7b);
|
|
183
|
+
flex-shrink: 0;
|
|
184
|
+
}
|
|
185
|
+
.terminal.win .titlebar .title {
|
|
186
|
+
flex: 1;
|
|
187
|
+
color: rgba(255, 255, 255, 0.7);
|
|
188
|
+
font-size: 12px;
|
|
189
|
+
font-family: 'Segoe UI', system-ui, sans-serif;
|
|
190
|
+
}
|
|
191
|
+
.terminal.win .titlebar .win-btn {
|
|
192
|
+
width: 30px;
|
|
193
|
+
height: 24px;
|
|
194
|
+
display: flex;
|
|
195
|
+
align-items: center;
|
|
196
|
+
justify-content: center;
|
|
197
|
+
color: rgba(255, 255, 255, 0.55);
|
|
198
|
+
font-size: 10px;
|
|
199
|
+
border-radius: 3px;
|
|
200
|
+
}
|
|
201
|
+
.terminal.win .titlebar .win-btn.close:hover { background: #e81123; color: #fff; }
|
|
202
|
+
.terminal.win .body { background: #012456; padding: 16px; }
|
|
203
|
+
|
|
204
|
+
.terminal .line {
|
|
205
|
+
color: rgba(255, 255, 255, 0.85);
|
|
206
|
+
line-height: 1.7;
|
|
207
|
+
white-space: pre;
|
|
208
|
+
}
|
|
209
|
+
.terminal .prompt { color: #8b8b8b; }
|
|
210
|
+
.terminal.win .prompt { color: #7fb2f0; }
|
|
211
|
+
.terminal .cmd { color: #ffffff; font-weight: 600; }
|
|
212
|
+
.terminal .cursor {
|
|
213
|
+
display: inline-block;
|
|
214
|
+
width: 7px;
|
|
215
|
+
height: 14px;
|
|
216
|
+
background: rgba(255, 255, 255, 0.75);
|
|
217
|
+
vertical-align: -2px;
|
|
218
|
+
animation: blink 1.1s step-end infinite;
|
|
219
|
+
}
|
|
220
|
+
@keyframes blink { 50% { opacity: 0; } }
|
|
221
|
+
|
|
222
|
+
/* ── Status / retry ────────────────────────────────────────────── */
|
|
223
|
+
.status {
|
|
224
|
+
display: flex;
|
|
225
|
+
align-items: center;
|
|
226
|
+
justify-content: center;
|
|
227
|
+
gap: 8px;
|
|
228
|
+
font-size: 12px;
|
|
229
|
+
color: var(--text-subtle);
|
|
230
|
+
margin-bottom: 18px;
|
|
231
|
+
}
|
|
232
|
+
.dots { display: inline-flex; gap: 4px; }
|
|
233
|
+
.dots span {
|
|
234
|
+
width: 5px;
|
|
235
|
+
height: 5px;
|
|
236
|
+
border-radius: 50%;
|
|
237
|
+
background: var(--accent);
|
|
238
|
+
animation: dotBounce 1.4s ease-in-out infinite;
|
|
239
|
+
}
|
|
240
|
+
.dots span:nth-child(2) { animation-delay: 0.2s; }
|
|
241
|
+
.dots span:nth-child(3) { animation-delay: 0.4s; }
|
|
242
|
+
@keyframes dotBounce {
|
|
243
|
+
0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
|
|
244
|
+
30% { transform: translateY(-4px); opacity: 1; }
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
button {
|
|
248
|
+
font-family: inherit;
|
|
249
|
+
font-size: 14px;
|
|
250
|
+
font-weight: 500;
|
|
251
|
+
color: #fff;
|
|
252
|
+
background: var(--accent);
|
|
253
|
+
border: none;
|
|
254
|
+
border-radius: 12px;
|
|
255
|
+
padding: 10px 22px;
|
|
256
|
+
cursor: pointer;
|
|
257
|
+
transition: opacity 0.15s ease;
|
|
258
|
+
}
|
|
259
|
+
button:hover { opacity: 0.88; }
|
|
260
|
+
button:active { opacity: 0.75; }
|
|
261
|
+
</style>
|
|
262
|
+
</head>
|
|
263
|
+
<body>
|
|
264
|
+
<div class="aurora"></div>
|
|
265
|
+
|
|
266
|
+
<div class="card">
|
|
267
|
+
<div class="logo-badge">
|
|
268
|
+
<img src="data:image/png;base64,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" alt="Jivam" />
|
|
269
|
+
</div>
|
|
270
|
+
|
|
271
|
+
<h1>Jivam isn't running</h1>
|
|
272
|
+
<p class="subtitle" id="subtitle">
|
|
273
|
+
The Jivam background service isn't running. Open Terminal and run the command below to start it.
|
|
274
|
+
</p>
|
|
275
|
+
|
|
276
|
+
<div class="terminal mac" id="terminal-mac">
|
|
277
|
+
<div class="titlebar">
|
|
278
|
+
<span class="dot red"></span><span class="dot yellow"></span><span class="dot green"></span>
|
|
279
|
+
<span class="title">Terminal — zsh — 80×24</span>
|
|
280
|
+
</div>
|
|
281
|
+
<div class="body">
|
|
282
|
+
<div class="line"><span class="prompt">you@mac ~ %</span> <span class="cmd">jivam</span></div>
|
|
283
|
+
<div class="line"><span class="prompt">you@mac ~ %</span> <span class="cursor"></span></div>
|
|
284
|
+
</div>
|
|
285
|
+
</div>
|
|
286
|
+
|
|
287
|
+
<div class="terminal win" id="terminal-win" style="display:none">
|
|
288
|
+
<div class="titlebar">
|
|
289
|
+
<span class="icon"></span>
|
|
290
|
+
<span class="title">Windows PowerShell</span>
|
|
291
|
+
<span class="win-btn">─</span><span class="win-btn">▢</span><span class="win-btn close">✕</span>
|
|
292
|
+
</div>
|
|
293
|
+
<div class="body">
|
|
294
|
+
<div class="line"><span class="prompt">PS C:\Users\you></span> <span class="cmd">jivam</span></div>
|
|
295
|
+
<div class="line"><span class="prompt">PS C:\Users\you></span> <span class="cursor"></span></div>
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
|
|
299
|
+
<div class="status">
|
|
300
|
+
<span class="dots"><span></span><span></span><span></span></span>
|
|
301
|
+
<span id="status-text">Checking automatically...</span>
|
|
302
|
+
</div>
|
|
303
|
+
|
|
304
|
+
<button id="retry-btn">Try Again</button>
|
|
305
|
+
</div>
|
|
306
|
+
|
|
307
|
+
<script>
|
|
308
|
+
(function () {
|
|
309
|
+
var ua = navigator.userAgent || ''
|
|
310
|
+
var plat = navigator.platform || ''
|
|
311
|
+
var isWindows = /Win/.test(plat) || /Windows/.test(ua)
|
|
312
|
+
|
|
313
|
+
if (isWindows) {
|
|
314
|
+
document.getElementById('terminal-mac').style.display = 'none'
|
|
315
|
+
document.getElementById('terminal-win').style.display = ''
|
|
316
|
+
document.getElementById('subtitle').textContent =
|
|
317
|
+
'The Jivam background service isn\'t running. Open PowerShell and run the command below to start it.'
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
var checking = false
|
|
321
|
+
function checkServer() {
|
|
322
|
+
if (checking) return
|
|
323
|
+
checking = true
|
|
324
|
+
fetch('/api/version', { cache: 'no-store' })
|
|
325
|
+
.then(function (res) {
|
|
326
|
+
if (res.ok) {
|
|
327
|
+
window.location.href = '/'
|
|
328
|
+
} else {
|
|
329
|
+
checking = false
|
|
330
|
+
}
|
|
331
|
+
})
|
|
332
|
+
.catch(function () { checking = false })
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
setInterval(checkServer, 3000)
|
|
336
|
+
document.getElementById('retry-btn').addEventListener('click', function () {
|
|
337
|
+
document.getElementById('status-text').textContent = 'Checking...'
|
|
338
|
+
window.location.reload()
|
|
339
|
+
})
|
|
340
|
+
})()
|
|
341
|
+
</script>
|
|
342
|
+
</body>
|
|
343
|
+
</html>
|
package/dist/sw.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Minimal offline-fallback service worker. This does NOT cache the app
|
|
2
|
+
// shell (index.html / hashed JS-CSS bundles) or any API responses — only
|
|
3
|
+
// enough to show a friendly "Jivam isn't running" page when the background
|
|
4
|
+
// service (which serves this whole origin) is unreachable, e.g. right after
|
|
5
|
+
// a reboot before `jivam` has started, or if it crashed. Caching the app
|
|
6
|
+
// bundle itself would risk serving stale code after an update, which is
|
|
7
|
+
// exactly the class of bug Jivam's own auto-updater was built to avoid —
|
|
8
|
+
// see CLAUDE.md's "updater is real now" note. Keep this worker scoped to
|
|
9
|
+
// just the offline fallback; don't grow it into a general asset cache.
|
|
10
|
+
// offline.html inlines its own logo as a data URI, so it's the only URL
|
|
11
|
+
// that needs precaching — no separate image request for the SW's minimal
|
|
12
|
+
// non-navigation-aware fetch handler (below) to worry about missing.
|
|
13
|
+
const CACHE_NAME = 'jivam-offline-v2'
|
|
14
|
+
const OFFLINE_URL = '/offline.html'
|
|
15
|
+
const PRECACHE_URLS = [OFFLINE_URL]
|
|
16
|
+
|
|
17
|
+
self.addEventListener('install', (event) => {
|
|
18
|
+
event.waitUntil(
|
|
19
|
+
caches.open(CACHE_NAME)
|
|
20
|
+
.then((cache) => cache.addAll(PRECACHE_URLS))
|
|
21
|
+
.then(() => self.skipWaiting())
|
|
22
|
+
)
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
self.addEventListener('activate', (event) => {
|
|
26
|
+
event.waitUntil(
|
|
27
|
+
caches.keys()
|
|
28
|
+
.then((keys) => Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k))))
|
|
29
|
+
.then(() => self.clients.claim())
|
|
30
|
+
)
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
self.addEventListener('fetch', (event) => {
|
|
34
|
+
// Only intercept top-level page navigations — never API calls, the WS
|
|
35
|
+
// upgrade, or hashed asset requests. A failed asset/API request should
|
|
36
|
+
// just fail normally and let the app's own UI handle it; only a failed
|
|
37
|
+
// *navigation* (the background service isn't reachable at all) gets the
|
|
38
|
+
// offline fallback page.
|
|
39
|
+
if (event.request.mode !== 'navigate') return
|
|
40
|
+
|
|
41
|
+
event.respondWith(
|
|
42
|
+
fetch(event.request).catch(() => caches.match(OFFLINE_URL))
|
|
43
|
+
)
|
|
44
|
+
})
|