From 2bcfc630877e08183758e762540c053b911c2632 Mon Sep 17 00:00:00 2001 From: Igor Trujnara Date: Sat, 16 Dec 2023 16:36:10 +0100 Subject: [PATCH] Updates --- assets/{index-75v16-41.css => index-AD6s6Vxe.css} | 2 +- assets/{index-k0QMRVY4.js => index-RS3WlCcq.js} | 2 +- index.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename assets/{index-75v16-41.css => index-AD6s6Vxe.css} (59%) rename assets/{index-k0QMRVY4.js => index-RS3WlCcq.js} (97%) diff --git a/assets/index-75v16-41.css b/assets/index-AD6s6Vxe.css similarity index 59% rename from assets/index-75v16-41.css rename to assets/index-AD6s6Vxe.css index cb489e7..6ffdbec 100644 --- a/assets/index-75v16-41.css +++ b/assets/index-AD6s6Vxe.css @@ -1 +1 @@ -#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}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;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[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]{display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,: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: }::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: }.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mt-3{margin-top:.75rem}.flex{display:flex}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-full{height:100%}.w-10{width:2.5rem}.w-4{width:1rem}.w-full{width:100%}.w-screen{width:100vw}.max-w-\[500px\]{max-width:500px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-\[\#5EF349\]{--tw-border-opacity: 1;border-color:rgb(94 243 73 / var(--tw-border-opacity))}.border-\[\#C70039\]{--tw-border-opacity: 1;border-color:rgb(199 0 57 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.bg-\[\#5EF349\]{--tw-bg-opacity: 1;background-color:rgb(94 243 73 / var(--tw-bg-opacity))}.bg-\[\#C70039\]{--tw-bg-opacity: 1;background-color:rgb(199 0 57 / var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:solid}.ring{--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(3px + 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)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.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-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}@media (min-width: 1024px){.lg\:h-full{height:100%}}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;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))} +#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}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;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[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]{display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,: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: }::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: }.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mt-3{margin-top:.75rem}.flex{display:flex}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-full{height:100%}.w-10{width:2.5rem}.w-4{width:1rem}.w-full{width:100%}.w-screen{width:100vw}.max-w-\[500px\]{max-width:500px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-\[\#5EF349\]{--tw-border-opacity: 1;border-color:rgb(94 243 73 / var(--tw-border-opacity))}.border-\[\#C70039\]{--tw-border-opacity: 1;border-color:rgb(199 0 57 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.bg-\[\#5EF349\]{--tw-bg-opacity: 1;background-color:rgb(94 243 73 / var(--tw-bg-opacity))}.bg-\[\#C70039\]{--tw-bg-opacity: 1;background-color:rgb(199 0 57 / var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:solid}.ring{--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(3px + 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)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.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-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}@media (min-width: 1024px){.lg\:h-full{height:100%}}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;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))} diff --git a/assets/index-k0QMRVY4.js b/assets/index-RS3WlCcq.js similarity index 97% rename from assets/index-k0QMRVY4.js rename to assets/index-RS3WlCcq.js index 3f98d89..5df7a92 100644 --- a/assets/index-k0QMRVY4.js +++ b/assets/index-RS3WlCcq.js @@ -82,4 +82,4 @@ Error generating stack: `+l.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Dm=Ht("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);function Fm(e){return e==="add"?"+":e==="sub"?"–":e==="mul"?"·":e==="div"?":":"ERROR"}function Um({a:e,b:t,op:n}){return z.jsxs("div",{className:"text-4xl",children:[e," ",Fm(n)," ",t]})}function Vr({op:e,ownOp:t,onClick:n,children:r}){return z.jsx(pr,{className:e===t?"ring ring-offset-2":"",onClick:n,children:r})}function cu(e,t=[]){let n=[];function r(l,i){const u=x.createContext(i),s=n.length;n=[...n,i];function a(p){const{scope:m,children:v,...y}=p,w=(m==null?void 0:m[e][s])||u,$=x.useMemo(()=>y,Object.values(y));return x.createElement(w.Provider,{value:$},v)}function h(p,m){const v=(m==null?void 0:m[e][s])||u,y=x.useContext(v);if(y)return y;if(i!==void 0)return i;throw new Error(`\`${p}\` must be used within \`${l}\``)}return a.displayName=l+"Provider",[a,h]}const o=()=>{const l=n.map(i=>x.createContext(i));return function(u){const s=(u==null?void 0:u[e])||l;return x.useMemo(()=>({[`__scope${e}`]:{...u,[e]:s}}),[u,s])}};return o.scopeName=e,[r,Vm(o,...t)]}function Vm(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(l){const i=r.reduce((u,{useScope:s,scopeName:a})=>{const p=s(l)[`__scope${a}`];return{...u,...p}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function bm(e){const t=e+"CollectionProvider",[n,r]=cu(t),[o,l]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=v=>{const{scope:y,children:w}=v,$=M.useRef(null),d=M.useRef(new Map).current;return M.createElement(o,{scope:y,itemMap:d,collectionRef:$},w)},u=e+"CollectionSlot",s=M.forwardRef((v,y)=>{const{scope:w,children:$}=v,d=l(u,w),c=dr(y,d.collectionRef);return M.createElement(fr,{ref:c},$)}),a=e+"CollectionItemSlot",h="data-radix-collection-item",p=M.forwardRef((v,y)=>{const{scope:w,children:$,...d}=v,c=M.useRef(null),f=dr(y,c),g=l(a,w);return M.useEffect(()=>(g.itemMap.set(c,{ref:c,...d}),()=>void g.itemMap.delete(c))),M.createElement(fr,{[h]:"",ref:f},$)});function m(v){const y=l(e+"CollectionConsumer",v);return M.useCallback(()=>{const $=y.collectionRef.current;if(!$)return[];const d=Array.from($.querySelectorAll(`[${h}]`));return Array.from(y.itemMap.values()).sort((g,S)=>d.indexOf(g.ref.current)-d.indexOf(S.ref.current))},[y.collectionRef,y.itemMap])}return[{Provider:i,Slot:s,ItemSlot:p},m,r]}function rd(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function od(e){const t=x.useRef(e);return x.useEffect(()=>{t.current=e}),x.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function du({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=Bm({defaultProp:t,onChange:n}),l=e!==void 0,i=l?e:r,u=od(n),s=x.useCallback(a=>{if(l){const p=typeof a=="function"?a(e):a;p!==e&&u(p)}else o(a)},[l,e,o,u]);return[i,s]}function Bm({defaultProp:e,onChange:t}){const n=x.useState(e),[r]=n,o=x.useRef(r),l=od(t);return x.useEffect(()=>{o.current!==r&&(l(r),o.current=r)},[r,o,l]),n}const Wm=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],xr=Wm.reduce((e,t)=>{const n=x.forwardRef((r,o)=>{const{asChild:l,...i}=r,u=l?fr:t;return x.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),x.createElement(u,oe({},i,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),No=globalThis!=null&&globalThis.document?x.useLayoutEffect:()=>{};function Hm(e,t){return x.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const ld=e=>{const{present:t,children:n}=e,r=Qm(t),o=typeof n=="function"?n({present:r.isPresent}):x.Children.only(n),l=dr(r.ref,o.ref);return typeof n=="function"||r.isPresent?x.cloneElement(o,{ref:l}):null};ld.displayName="Presence";function Qm(e){const[t,n]=x.useState(),r=x.useRef({}),o=x.useRef(e),l=x.useRef("none"),i=e?"mounted":"unmounted",[u,s]=Hm(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const a=br(r.current);l.current=u==="mounted"?a:"none"},[u]),No(()=>{const a=r.current,h=o.current;if(h!==e){const m=l.current,v=br(a);e?s("MOUNT"):v==="none"||(a==null?void 0:a.display)==="none"?s("UNMOUNT"):s(h&&m!==v?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),No(()=>{if(t){const a=p=>{const v=br(r.current).includes(p.animationName);p.target===t&&v&&Gc.flushSync(()=>s("ANIMATION_END"))},h=p=>{p.target===t&&(l.current=br(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",a),t.addEventListener("animationend",a),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",a),t.removeEventListener("animationend",a)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:x.useCallback(a=>{a&&(r.current=getComputedStyle(a)),n(a)},[])}}function br(e){return(e==null?void 0:e.animationName)||"none"}const Km=Ld.useId||(()=>{});let Gm=0;function id(e){const[t,n]=x.useState(Km());return No(()=>{e||n(r=>r??String(Gm++))},[e]),e||(t?`radix-${t}`:"")}const ud="Collapsible",[Ym,sd]=cu(ud),[Xm,fu]=Ym(ud),Zm=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:l,onOpenChange:i,...u}=e,[s=!1,a]=du({prop:r,defaultProp:o,onChange:i});return x.createElement(Xm,{scope:n,disabled:l,contentId:id(),open:s,onOpenToggle:x.useCallback(()=>a(h=>!h),[a])},x.createElement(xr.div,oe({"data-state":pu(s),"data-disabled":l?"":void 0},u,{ref:t})))}),Jm="CollapsibleTrigger",qm=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,o=fu(Jm,n);return x.createElement(xr.button,oe({type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":pu(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled},r,{ref:t,onClick:rd(e.onClick,o.onOpenToggle)}))}),ad="CollapsibleContent",eh=x.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=fu(ad,e.__scopeCollapsible);return x.createElement(ld,{present:n||o.open},({present:l})=>x.createElement(th,oe({},r,{ref:t,present:l})))}),th=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:o,...l}=e,i=fu(ad,n),[u,s]=x.useState(r),a=x.useRef(null),h=dr(t,a),p=x.useRef(0),m=p.current,v=x.useRef(0),y=v.current,w=i.open||u,$=x.useRef(w),d=x.useRef();return x.useEffect(()=>{const c=requestAnimationFrame(()=>$.current=!1);return()=>cancelAnimationFrame(c)},[]),No(()=>{const c=a.current;if(c){d.current=d.current||{transitionDuration:c.style.transitionDuration,animationName:c.style.animationName},c.style.transitionDuration="0s",c.style.animationName="none";const f=c.getBoundingClientRect();p.current=f.height,v.current=f.width,$.current||(c.style.transitionDuration=d.current.transitionDuration,c.style.animationName=d.current.animationName),s(r)}},[i.open,r]),x.createElement(xr.div,oe({"data-state":pu(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!w},l,{ref:h,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":y?`${y}px`:void 0,...e.style}}),w&&o)});function pu(e){return e?"open":"closed"}const nh=Zm,rh=qm,oh=eh,lh=x.createContext(void 0);function ih(e){const t=x.useContext(lh);return e||t||"ltr"}const $t="Accordion",uh=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[mu,sh,ah]=bm($t),[Bo,Ph]=cu($t,[ah,sd]),hu=sd(),cd=M.forwardRef((e,t)=>{const{type:n,...r}=e,o=r,l=r;return M.createElement(mu.Provider,{scope:e.__scopeAccordion},n==="multiple"?M.createElement(ph,oe({},l,{ref:t})):M.createElement(fh,oe({},o,{ref:t})))});cd.propTypes={type(e){const t=e.value||e.defaultValue;return e.type&&!["single","multiple"].includes(e.type)?new Error("Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."):e.type==="multiple"&&typeof t=="string"?new Error("Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."):e.type==="single"&&Array.isArray(t)?new Error("Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."):null}};const[dd,ch]=Bo($t),[fd,dh]=Bo($t,{collapsible:!1}),fh=M.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},collapsible:l=!1,...i}=e,[u,s]=du({prop:n,defaultProp:r,onChange:o});return M.createElement(dd,{scope:e.__scopeAccordion,value:u?[u]:[],onItemOpen:s,onItemClose:M.useCallback(()=>l&&s(""),[l,s])},M.createElement(fd,{scope:e.__scopeAccordion,collapsible:l},M.createElement(pd,oe({},i,{ref:t}))))}),ph=M.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...l}=e,[i=[],u]=du({prop:n,defaultProp:r,onChange:o}),s=M.useCallback(h=>u((p=[])=>[...p,h]),[u]),a=M.useCallback(h=>u((p=[])=>p.filter(m=>m!==h)),[u]);return M.createElement(dd,{scope:e.__scopeAccordion,value:i,onItemOpen:s,onItemClose:a},M.createElement(fd,{scope:e.__scopeAccordion,collapsible:!0},M.createElement(pd,oe({},l,{ref:t}))))}),[mh,Wo]=Bo($t),pd=M.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:o,orientation:l="vertical",...i}=e,u=M.useRef(null),s=dr(u,t),a=sh(n),p=ih(o)==="ltr",m=rd(e.onKeyDown,v=>{var y;if(!uh.includes(v.key))return;const w=v.target,$=a().filter(A=>{var T;return!((T=A.ref.current)!==null&&T!==void 0&&T.disabled)}),d=$.findIndex(A=>A.ref.current===w),c=$.length;if(d===-1)return;v.preventDefault();let f=d;const g=0,S=c-1,C=()=>{f=d+1,f>S&&(f=g)},_=()=>{f=d-1,f{const{__scopeAccordion:n,value:r,...o}=e,l=Wo(pi,n),i=ch(pi,n),u=hu(n),s=id(),a=r&&i.value.includes(r)||!1,h=l.disabled||e.disabled;return M.createElement(hh,{scope:n,open:a,disabled:h,triggerId:s},M.createElement(nh,oe({"data-orientation":l.orientation,"data-state":md(a)},u,o,{ref:t,disabled:h,open:a,onOpenChange:p=>{p?i.onItemOpen(r):i.onItemClose(r)}})))}),gh="AccordionHeader",yh=M.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Wo($t,n),l=vu(gh,n);return M.createElement(xr.h3,oe({"data-orientation":o.orientation,"data-state":md(l.open),"data-disabled":l.disabled?"":void 0},r,{ref:t}))}),Is="AccordionTrigger",wh=M.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Wo($t,n),l=vu(Is,n),i=dh(Is,n),u=hu(n);return M.createElement(mu.ItemSlot,{scope:n},M.createElement(rh,oe({"aria-disabled":l.open&&!i.collapsible||void 0,"data-orientation":o.orientation,id:l.triggerId},u,r,{ref:t})))}),xh="AccordionContent",kh=M.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Wo($t,n),l=vu(xh,n),i=hu(n);return M.createElement(oh,oe({role:"region","aria-labelledby":l.triggerId,"data-orientation":o.orientation},i,r,{ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}}))});function md(e){return e?"open":"closed"}const Sh=cd,Ch=vh,Eh=yh,hd=wh,vd=kh,gd=Sh,gu=x.forwardRef(({className:e,...t},n)=>z.jsx(Ch,{ref:n,className:wr("border-b",e),...t}));gu.displayName="AccordionItem";const yu=x.forwardRef(({className:e,children:t,...n},r)=>z.jsx(Eh,{className:"flex",children:z.jsxs(hd,{ref:r,className:wr("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,z.jsx(Im,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));yu.displayName=hd.displayName;const wu=x.forwardRef(({className:e,children:t,...n},r)=>z.jsx(vd,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:z.jsx("div",{className:wr("pb-4 pt-0",e),children:t})}));wu.displayName=vd.displayName;function _h({opState:e,handleSetOp:t,maxNumState:n,setMaxNumState:r}){function o(){localStorage.removeItem("correct"),localStorage.removeItem("wrong"),window.location.reload()}return z.jsx(gd,{type:"single",collapsible:!0,className:"w-full",children:z.jsxs(gu,{value:"settings",children:[z.jsx(yu,{children:"Ustawienia"}),z.jsxs(wu,{className:"mx-2 flex flex-col items-center justify-center",children:[z.jsx("div",{className:"mb-2",children:"Działanie"}),z.jsxs("div",{className:"flex flex-row gap-2",children:[z.jsx(Vr,{op:e,ownOp:"add",onClick:()=>t("add"),children:z.jsx(Am,{})}),z.jsx(Vr,{op:e,ownOp:"sub",onClick:()=>t("sub"),children:z.jsx(Om,{})}),z.jsx(Vr,{op:e,ownOp:"mul",onClick:()=>t("mul"),children:z.jsx(Lm,{})}),z.jsx(Vr,{op:e,ownOp:"div",onClick:()=>t("div"),children:z.jsx(jm,{})})]}),z.jsx("div",{className:"my-2",children:"Maksymalna liczba"}),z.jsx(au,{value:n,onChange:l=>r(parseInt(l.target.value))}),z.jsx(pr,{variant:"destructive",onClick:o,className:"mt-3",children:"Wyczyść wyniki"})]})]})})}function Nh(){return z.jsx(gd,{type:"single",collapsible:!0,className:"w-full",children:z.jsxs(gu,{value:"info",className:"w-full",children:[z.jsx(yu,{children:"Informacje"}),z.jsxs(wu,{className:"text-left px-2",children:[z.jsx("h2",{className:"font-bold text-lg",children:"Przeznaczenie"}),z.jsx("p",{children:"Aplikacja służy do ćwiczenia podstawowej arytmetyki."}),z.jsx("h2",{className:"font-bold text-lg",children:"Sposób użycia"}),z.jsx("p",{children:"Należy wpisać wynik wyświetlonego działania w pole tekstowe. Prawy przycisk sprawdza wynik. Jeśli wynik jest poprawny, obwódka podświetla się na zielono, a jeśli jest błędny, na czerwono. Każdy wynik można sprawdzić tylko raz. Lewy przycisk generuje nowe działanie. Pod przyciskami znajdują się liczniki poprawnych i błędnych odpowiedzi."}),z.jsx("h2",{className:"font-bold text-lg",children:"Ustawienia"}),z.jsx("p",{children:'W ustawieniach istnieje możliwość wyboru działania. Możliwe jest także ustawienie maksymalnej liczby. W przypadku dodawania i mnożenia oznacza ona maksymalny wynik. W przypadku odejmowania i dzielenia oznacza maksymalny argument. Dodatkowo, w przypadku mnożenia czynniki nie przekraczają pierwiastka z podanej liczby. Przycisk "Wyczyść wyniki" zeruje liczniki poprawnych i błędnych odpowiedzi.'}),z.jsx("h2",{className:"font-bold text-lg",children:"Zasady"}),z.jsx("p",{children:"Wyniki odejmowania i dzielenia są zawsze liczbą naturalną."}),z.jsx("h2",{className:"font-bold text-lg",children:"Informacje prawne"}),z.jsxs("p",{children:["Copyright © 2023 Igor Trujnara. Udostępniono na zasadach"," ",z.jsx("a",{href:"https://opensource.org/license/mit/",children:"licencji MIT"}),"."]})]})]})})}function js({score:e,type:t}){return z.jsx("div",{className:"py-2 px-4 rounded-md text-white "+(t==="correct"?"bg-[#5EF349]":"bg-[#C70039]"),children:e})}function $h(){const e=x.useRef(Math.ceil(Math.random()*10)),t=x.useRef(Math.ceil(Math.random()*10)),[n,r]=x.useState(""),[o,l]=x.useState("add"),[i,u]=x.useState(100),[s,a]=x.useState(0),[h,p]=x.useState(_()),[m,v]=x.useState(0),[y,w]=x.useState("00:00:00"),$=x.useRef(parseInt(localStorage.getItem("correct")||"0")),d=x.useRef(parseInt(localStorage.getItem("wrong")||"0")),c=x.useRef(!0),f=new Date;x.useEffect(()=>(document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g)}),[n]),x.useEffect(()=>{P()},[o]),x.useEffect(()=>{const H=setInterval(()=>{const pe=m+(new Date().getTime()-f.getTime());v(pe),S(pe),pe<=0&&(w("00:00:00:00"),clearInterval(H))},1);return()=>clearInterval(H)});function g(H){console.log(H.key),H.key=="Enter"&&n&&(c.current?T():A())}function S(H){const pe=Math.floor(H/1e3%60).toString().padStart(2,"0"),Qt=Math.floor(H/1e3/60%60).toString().padStart(2,"0");w(Qt+":"+pe)}function C(H,pe){return H+Math.floor(Math.random()*(pe-H+1))}function _(){return o==="add"?e.current+t.current:o==="sub"?e.current-t.current:o==="mul"?e.current*t.current:o==="div"?e.current/t.current:0}function P(){o==="add"?(e.current=C(1,i),t.current=C(1,i-e.current)):o==="sub"?(e.current=C(1,i),t.current=C(1,e.current)):o==="mul"?(e.current=C(1,Math.floor(Math.sqrt(i))),t.current=C(1,Math.floor(Math.sqrt(i)))):o==="div"&&(t.current=C(1,Math.floor(Math.sqrt(i))),e.current=t.current*C(1,Math.floor(Math.sqrt(i)))),p(_())}function A(){a(0),c.current=!0,P(),r("")}function T(){parseInt(n)===h?(a(1),c.current&&($.current+=1,c.current=!1)):(a(-1),c.current&&(d.current+=1,c.current=!1)),localStorage.setItem("correct",$.current.toString()),localStorage.setItem("wrong",d.current.toString())}function le(H){l(H)}function D(H){r(H.target.value)}return z.jsxs("div",{className:"w-screen max-w-[500px] h-full lg:h-full m-0 px-4 flex flex-col gap-4 items-center justify-center",children:[z.jsx("div",{children:y}),z.jsx(Um,{a:e.current,b:t.current,op:o}),z.jsx(Cm,{value:n,onChange:D,ansState:s}),z.jsxs("div",{className:"flex items-center justify-center gap-2",children:[z.jsx(pr,{onClick:A,children:z.jsx(Dm,{size:16})}),z.jsx(pr,{onClick:T,children:z.jsx(Mm,{size:16})})]}),z.jsxs("div",{className:"flex items-center justify-center gap-2",children:[z.jsx(js,{score:$.current,type:"correct"}),z.jsx(js,{score:d.current,type:"wrong"})]}),z.jsx(_h,{opState:o,handleSetOp:le,maxNumState:i,setMaxNumState:u}),z.jsx(Nh,{})]})}yl.createRoot(document.getElementById("root")).render(z.jsx(M.StrictMode,{children:z.jsx($h,{})})); + */const Dm=Ht("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);function Fm(e){return e==="add"?"+":e==="sub"?"–":e==="mul"?"·":e==="div"?":":"ERROR"}function Um({a:e,b:t,op:n}){return z.jsxs("div",{className:"text-4xl",children:[e," ",Fm(n)," ",t]})}function Vr({op:e,ownOp:t,onClick:n,children:r}){return z.jsx(pr,{className:e===t?"ring ring-offset-2":"",onClick:n,children:r})}function cu(e,t=[]){let n=[];function r(l,i){const u=x.createContext(i),s=n.length;n=[...n,i];function a(p){const{scope:m,children:v,...y}=p,w=(m==null?void 0:m[e][s])||u,$=x.useMemo(()=>y,Object.values(y));return x.createElement(w.Provider,{value:$},v)}function h(p,m){const v=(m==null?void 0:m[e][s])||u,y=x.useContext(v);if(y)return y;if(i!==void 0)return i;throw new Error(`\`${p}\` must be used within \`${l}\``)}return a.displayName=l+"Provider",[a,h]}const o=()=>{const l=n.map(i=>x.createContext(i));return function(u){const s=(u==null?void 0:u[e])||l;return x.useMemo(()=>({[`__scope${e}`]:{...u,[e]:s}}),[u,s])}};return o.scopeName=e,[r,Vm(o,...t)]}function Vm(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(l){const i=r.reduce((u,{useScope:s,scopeName:a})=>{const p=s(l)[`__scope${a}`];return{...u,...p}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function bm(e){const t=e+"CollectionProvider",[n,r]=cu(t),[o,l]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=v=>{const{scope:y,children:w}=v,$=M.useRef(null),d=M.useRef(new Map).current;return M.createElement(o,{scope:y,itemMap:d,collectionRef:$},w)},u=e+"CollectionSlot",s=M.forwardRef((v,y)=>{const{scope:w,children:$}=v,d=l(u,w),c=dr(y,d.collectionRef);return M.createElement(fr,{ref:c},$)}),a=e+"CollectionItemSlot",h="data-radix-collection-item",p=M.forwardRef((v,y)=>{const{scope:w,children:$,...d}=v,c=M.useRef(null),f=dr(y,c),g=l(a,w);return M.useEffect(()=>(g.itemMap.set(c,{ref:c,...d}),()=>void g.itemMap.delete(c))),M.createElement(fr,{[h]:"",ref:f},$)});function m(v){const y=l(e+"CollectionConsumer",v);return M.useCallback(()=>{const $=y.collectionRef.current;if(!$)return[];const d=Array.from($.querySelectorAll(`[${h}]`));return Array.from(y.itemMap.values()).sort((g,S)=>d.indexOf(g.ref.current)-d.indexOf(S.ref.current))},[y.collectionRef,y.itemMap])}return[{Provider:i,Slot:s,ItemSlot:p},m,r]}function rd(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function od(e){const t=x.useRef(e);return x.useEffect(()=>{t.current=e}),x.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function du({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=Bm({defaultProp:t,onChange:n}),l=e!==void 0,i=l?e:r,u=od(n),s=x.useCallback(a=>{if(l){const p=typeof a=="function"?a(e):a;p!==e&&u(p)}else o(a)},[l,e,o,u]);return[i,s]}function Bm({defaultProp:e,onChange:t}){const n=x.useState(e),[r]=n,o=x.useRef(r),l=od(t);return x.useEffect(()=>{o.current!==r&&(l(r),o.current=r)},[r,o,l]),n}const Wm=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],xr=Wm.reduce((e,t)=>{const n=x.forwardRef((r,o)=>{const{asChild:l,...i}=r,u=l?fr:t;return x.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),x.createElement(u,oe({},i,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),No=globalThis!=null&&globalThis.document?x.useLayoutEffect:()=>{};function Hm(e,t){return x.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const ld=e=>{const{present:t,children:n}=e,r=Qm(t),o=typeof n=="function"?n({present:r.isPresent}):x.Children.only(n),l=dr(r.ref,o.ref);return typeof n=="function"||r.isPresent?x.cloneElement(o,{ref:l}):null};ld.displayName="Presence";function Qm(e){const[t,n]=x.useState(),r=x.useRef({}),o=x.useRef(e),l=x.useRef("none"),i=e?"mounted":"unmounted",[u,s]=Hm(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const a=br(r.current);l.current=u==="mounted"?a:"none"},[u]),No(()=>{const a=r.current,h=o.current;if(h!==e){const m=l.current,v=br(a);e?s("MOUNT"):v==="none"||(a==null?void 0:a.display)==="none"?s("UNMOUNT"):s(h&&m!==v?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),No(()=>{if(t){const a=p=>{const v=br(r.current).includes(p.animationName);p.target===t&&v&&Gc.flushSync(()=>s("ANIMATION_END"))},h=p=>{p.target===t&&(l.current=br(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",a),t.addEventListener("animationend",a),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",a),t.removeEventListener("animationend",a)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:x.useCallback(a=>{a&&(r.current=getComputedStyle(a)),n(a)},[])}}function br(e){return(e==null?void 0:e.animationName)||"none"}const Km=Ld.useId||(()=>{});let Gm=0;function id(e){const[t,n]=x.useState(Km());return No(()=>{e||n(r=>r??String(Gm++))},[e]),e||(t?`radix-${t}`:"")}const ud="Collapsible",[Ym,sd]=cu(ud),[Xm,fu]=Ym(ud),Zm=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:l,onOpenChange:i,...u}=e,[s=!1,a]=du({prop:r,defaultProp:o,onChange:i});return x.createElement(Xm,{scope:n,disabled:l,contentId:id(),open:s,onOpenToggle:x.useCallback(()=>a(h=>!h),[a])},x.createElement(xr.div,oe({"data-state":pu(s),"data-disabled":l?"":void 0},u,{ref:t})))}),Jm="CollapsibleTrigger",qm=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,o=fu(Jm,n);return x.createElement(xr.button,oe({type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":pu(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled},r,{ref:t,onClick:rd(e.onClick,o.onOpenToggle)}))}),ad="CollapsibleContent",eh=x.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=fu(ad,e.__scopeCollapsible);return x.createElement(ld,{present:n||o.open},({present:l})=>x.createElement(th,oe({},r,{ref:t,present:l})))}),th=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:o,...l}=e,i=fu(ad,n),[u,s]=x.useState(r),a=x.useRef(null),h=dr(t,a),p=x.useRef(0),m=p.current,v=x.useRef(0),y=v.current,w=i.open||u,$=x.useRef(w),d=x.useRef();return x.useEffect(()=>{const c=requestAnimationFrame(()=>$.current=!1);return()=>cancelAnimationFrame(c)},[]),No(()=>{const c=a.current;if(c){d.current=d.current||{transitionDuration:c.style.transitionDuration,animationName:c.style.animationName},c.style.transitionDuration="0s",c.style.animationName="none";const f=c.getBoundingClientRect();p.current=f.height,v.current=f.width,$.current||(c.style.transitionDuration=d.current.transitionDuration,c.style.animationName=d.current.animationName),s(r)}},[i.open,r]),x.createElement(xr.div,oe({"data-state":pu(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!w},l,{ref:h,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":y?`${y}px`:void 0,...e.style}}),w&&o)});function pu(e){return e?"open":"closed"}const nh=Zm,rh=qm,oh=eh,lh=x.createContext(void 0);function ih(e){const t=x.useContext(lh);return e||t||"ltr"}const $t="Accordion",uh=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[mu,sh,ah]=bm($t),[Bo,Ph]=cu($t,[ah,sd]),hu=sd(),cd=M.forwardRef((e,t)=>{const{type:n,...r}=e,o=r,l=r;return M.createElement(mu.Provider,{scope:e.__scopeAccordion},n==="multiple"?M.createElement(ph,oe({},l,{ref:t})):M.createElement(fh,oe({},o,{ref:t})))});cd.propTypes={type(e){const t=e.value||e.defaultValue;return e.type&&!["single","multiple"].includes(e.type)?new Error("Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."):e.type==="multiple"&&typeof t=="string"?new Error("Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."):e.type==="single"&&Array.isArray(t)?new Error("Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."):null}};const[dd,ch]=Bo($t),[fd,dh]=Bo($t,{collapsible:!1}),fh=M.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},collapsible:l=!1,...i}=e,[u,s]=du({prop:n,defaultProp:r,onChange:o});return M.createElement(dd,{scope:e.__scopeAccordion,value:u?[u]:[],onItemOpen:s,onItemClose:M.useCallback(()=>l&&s(""),[l,s])},M.createElement(fd,{scope:e.__scopeAccordion,collapsible:l},M.createElement(pd,oe({},i,{ref:t}))))}),ph=M.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...l}=e,[i=[],u]=du({prop:n,defaultProp:r,onChange:o}),s=M.useCallback(h=>u((p=[])=>[...p,h]),[u]),a=M.useCallback(h=>u((p=[])=>p.filter(m=>m!==h)),[u]);return M.createElement(dd,{scope:e.__scopeAccordion,value:i,onItemOpen:s,onItemClose:a},M.createElement(fd,{scope:e.__scopeAccordion,collapsible:!0},M.createElement(pd,oe({},l,{ref:t}))))}),[mh,Wo]=Bo($t),pd=M.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:o,orientation:l="vertical",...i}=e,u=M.useRef(null),s=dr(u,t),a=sh(n),p=ih(o)==="ltr",m=rd(e.onKeyDown,v=>{var y;if(!uh.includes(v.key))return;const w=v.target,$=a().filter(A=>{var T;return!((T=A.ref.current)!==null&&T!==void 0&&T.disabled)}),d=$.findIndex(A=>A.ref.current===w),c=$.length;if(d===-1)return;v.preventDefault();let f=d;const g=0,S=c-1,C=()=>{f=d+1,f>S&&(f=g)},_=()=>{f=d-1,f{const{__scopeAccordion:n,value:r,...o}=e,l=Wo(pi,n),i=ch(pi,n),u=hu(n),s=id(),a=r&&i.value.includes(r)||!1,h=l.disabled||e.disabled;return M.createElement(hh,{scope:n,open:a,disabled:h,triggerId:s},M.createElement(nh,oe({"data-orientation":l.orientation,"data-state":md(a)},u,o,{ref:t,disabled:h,open:a,onOpenChange:p=>{p?i.onItemOpen(r):i.onItemClose(r)}})))}),gh="AccordionHeader",yh=M.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Wo($t,n),l=vu(gh,n);return M.createElement(xr.h3,oe({"data-orientation":o.orientation,"data-state":md(l.open),"data-disabled":l.disabled?"":void 0},r,{ref:t}))}),Is="AccordionTrigger",wh=M.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Wo($t,n),l=vu(Is,n),i=dh(Is,n),u=hu(n);return M.createElement(mu.ItemSlot,{scope:n},M.createElement(rh,oe({"aria-disabled":l.open&&!i.collapsible||void 0,"data-orientation":o.orientation,id:l.triggerId},u,r,{ref:t})))}),xh="AccordionContent",kh=M.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Wo($t,n),l=vu(xh,n),i=hu(n);return M.createElement(oh,oe({role:"region","aria-labelledby":l.triggerId,"data-orientation":o.orientation},i,r,{ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}}))});function md(e){return e?"open":"closed"}const Sh=cd,Ch=vh,Eh=yh,hd=wh,vd=kh,gd=Sh,gu=x.forwardRef(({className:e,...t},n)=>z.jsx(Ch,{ref:n,className:wr("border-b",e),...t}));gu.displayName="AccordionItem";const yu=x.forwardRef(({className:e,children:t,...n},r)=>z.jsx(Eh,{className:"flex",children:z.jsxs(hd,{ref:r,className:wr("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,z.jsx(Im,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));yu.displayName=hd.displayName;const wu=x.forwardRef(({className:e,children:t,...n},r)=>z.jsx(vd,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:z.jsx("div",{className:wr("pb-4 pt-0",e),children:t})}));wu.displayName=vd.displayName;function _h({opState:e,handleSetOp:t,maxNumState:n,setMaxNumState:r}){function o(){localStorage.removeItem("correct"),localStorage.removeItem("wrong"),window.location.reload()}return z.jsx(gd,{type:"single",collapsible:!0,className:"w-full",children:z.jsxs(gu,{value:"settings",children:[z.jsx(yu,{children:"Ustawienia"}),z.jsxs(wu,{className:"mx-2 flex flex-col items-center justify-center",children:[z.jsx("div",{className:"mb-2",children:"Działanie"}),z.jsxs("div",{className:"flex flex-row gap-2",children:[z.jsx(Vr,{op:e,ownOp:"add",onClick:()=>t("add"),children:z.jsx(Am,{})}),z.jsx(Vr,{op:e,ownOp:"sub",onClick:()=>t("sub"),children:z.jsx(Om,{})}),z.jsx(Vr,{op:e,ownOp:"mul",onClick:()=>t("mul"),children:z.jsx(Lm,{})}),z.jsx(Vr,{op:e,ownOp:"div",onClick:()=>t("div"),children:z.jsx(jm,{})})]}),z.jsx("div",{className:"my-2",children:"Maksymalna liczba"}),z.jsx(au,{value:n,onChange:l=>r(parseInt(l.target.value))}),z.jsx(pr,{variant:"destructive",onClick:o,className:"mt-3",children:"Wyczyść wyniki"})]})]})})}function Nh(){return z.jsx(gd,{type:"single",collapsible:!0,className:"w-full",children:z.jsxs(gu,{value:"info",className:"w-full",children:[z.jsx(yu,{children:"Informacje"}),z.jsxs(wu,{className:"text-left px-2",children:[z.jsx("h2",{className:"font-bold text-lg",children:"Przeznaczenie"}),z.jsx("p",{className:"text-justify",children:"Aplikacja służy do ćwiczenia podstawowej arytmetyki."}),z.jsx("h2",{className:"font-bold text-lg",children:"Sposób użycia"}),z.jsx("p",{className:"text-justify",children:"Należy wpisać wynik wyświetlonego działania w pole tekstowe. Prawy przycisk sprawdza wynik. Jeśli wynik jest poprawny, obwódka podświetla się na zielono, a jeśli jest błędny, na czerwono. Każdy wynik można sprawdzić tylko raz. Lewy przycisk generuje nowe działanie. Pod przyciskami znajdują się liczniki poprawnych i błędnych odpowiedzi. Przycisk Enter sprawdza aktualną odpowiedź lub przechodzi do kolejnego przykładu."}),z.jsx("h2",{className:"font-bold text-lg",children:"Ustawienia"}),z.jsx("p",{className:"text-justify",children:'W ustawieniach istnieje możliwość wyboru działania. Możliwe jest także ustawienie maksymalnej liczby. W przypadku dodawania i mnożenia oznacza ona maksymalny wynik. W przypadku odejmowania i dzielenia oznacza maksymalny argument. Dodatkowo, w przypadku mnożenia czynniki nie przekraczają pierwiastka z podanej liczby. Przycisk "Wyczyść wyniki" zeruje liczniki poprawnych i błędnych odpowiedzi.'}),z.jsx("h2",{className:"font-bold text-lg",children:"Zasady"}),z.jsx("p",{className:"text-justify",children:"Wyniki odejmowania i dzielenia są zawsze liczbą naturalną."}),z.jsx("h2",{className:"font-bold text-lg",children:"Informacje prawne"}),z.jsxs("p",{className:"text-justify",children:["Copyright © 2023 Igor Trujnara. Udostępniono na zasadach"," ",z.jsx("a",{href:"https://opensource.org/license/mit/",children:"licencji MIT"}),"."]})]})]})})}function js({score:e,type:t}){return z.jsx("div",{className:"py-2 px-4 rounded-md text-white "+(t==="correct"?"bg-[#5EF349]":"bg-[#C70039]"),children:e})}function $h(){const e=x.useRef(Math.ceil(Math.random()*10)),t=x.useRef(Math.ceil(Math.random()*10)),[n,r]=x.useState(""),[o,l]=x.useState("add"),[i,u]=x.useState(100),[s,a]=x.useState(0),[h,p]=x.useState(_()),[m,v]=x.useState(0),[y,w]=x.useState("00:00:00"),$=x.useRef(parseInt(localStorage.getItem("correct")||"0")),d=x.useRef(parseInt(localStorage.getItem("wrong")||"0")),c=x.useRef(!0),f=new Date;x.useEffect(()=>(document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g)}),[n]),x.useEffect(()=>{P()},[o]),x.useEffect(()=>{const H=setInterval(()=>{const pe=m+(new Date().getTime()-f.getTime());v(pe),S(pe),pe<=0&&(w("00:00:00:00"),clearInterval(H))},1);return()=>clearInterval(H)});function g(H){console.log(H.key),H.key=="Enter"&&n&&(c.current?T():A())}function S(H){const pe=Math.floor(H/1e3%60).toString().padStart(2,"0"),Qt=Math.floor(H/1e3/60%60).toString().padStart(2,"0");w(Qt+":"+pe)}function C(H,pe){return H+Math.floor(Math.random()*(pe-H+1))}function _(){return o==="add"?e.current+t.current:o==="sub"?e.current-t.current:o==="mul"?e.current*t.current:o==="div"?e.current/t.current:0}function P(){o==="add"?(e.current=C(1,i),t.current=C(1,i-e.current)):o==="sub"?(e.current=C(1,i),t.current=C(1,e.current)):o==="mul"?(e.current=C(1,Math.floor(Math.sqrt(i))),t.current=C(1,Math.floor(Math.sqrt(i)))):o==="div"&&(t.current=C(1,Math.floor(Math.sqrt(i))),e.current=t.current*C(1,Math.floor(Math.sqrt(i)))),p(_())}function A(){a(0),c.current=!0,P(),r("")}function T(){parseInt(n)===h?(a(1),c.current&&($.current+=1,c.current=!1)):(a(-1),c.current&&(d.current+=1,c.current=!1)),localStorage.setItem("correct",$.current.toString()),localStorage.setItem("wrong",d.current.toString())}function le(H){l(H)}function D(H){r(H.target.value)}return z.jsxs("div",{className:"w-screen max-w-[500px] h-full lg:h-full m-0 px-4 flex flex-col gap-4 items-center justify-center",children:[z.jsx("div",{children:y}),z.jsx(Um,{a:e.current,b:t.current,op:o}),z.jsx(Cm,{value:n,onChange:D,ansState:s}),z.jsxs("div",{className:"flex items-center justify-center gap-2",children:[z.jsx(pr,{onClick:A,children:z.jsx(Dm,{size:16})}),z.jsx(pr,{onClick:T,children:z.jsx(Mm,{size:16})})]}),z.jsxs("div",{className:"flex items-center justify-center gap-2",children:[z.jsx(js,{score:$.current,type:"correct"}),z.jsx(js,{score:d.current,type:"wrong"})]}),z.jsx(_h,{opState:o,handleSetOp:le,maxNumState:i,setMaxNumState:u}),z.jsx(Nh,{})]})}yl.createRoot(document.getElementById("root")).render(z.jsx(M.StrictMode,{children:z.jsx($h,{})})); diff --git a/index.html b/index.html index 2fc27e2..6a6c7a3 100644 --- a/index.html +++ b/index.html @@ -5,8 +5,8 @@ Arytmetyka - - + +