1<!DOCTYPE html> 2<html lang="pl"><head><meta charset="utf-8"> 3 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 4 <meta name="theme-color" content="#2B6CB0"> 5 6 7 <meta name="description" content="Twórz quizy i materiaÅy edukacyjne za darmo z pomocÄ AI. Educreator to darmowe narzÄdzie dla nauczycieli. Zacznij w 30 sekund."> 8 <meta name="keywords" content="darmowa aplikacja dla nauczycieli, generator quizów AI, quizy online za darmo, narzÄdzia dla nauczycieli, materiaÅy edukacyjne AI, tworzenie quizów, sprawdzanie wiedzy uczniów, e-learning, edukacja"> 9 <meta name="author" content="Educreator"> 10 <meta name="robots" content="index, follow"> 11 <link rel="canonical" href="https://educreator.pl/"> 12 13 14 <meta property="og:type" content="website"> 15 <meta property="og:url" content="https://educreator.pl/"> 16 <meta property="og:title" content="Educreator - darmowa aplikacja dla nauczycieli | Quizy AI"> 17 <meta property="og:description" content="Twórz quizy i materiaÅy edukacyjne za darmo z pomocÄ AI. Darmowe narzÄdzie dla nauczycieli. Zacznij w 30 sekund bez karty kredytowej."> 18 <meta property="og:image" content="https://educreator.pl/images/og-image.png"> 19 <meta property="og:locale" content="pl_PL"> 20 <meta property="og:site_name" content="Educreator"> 21 22 23 <meta name="twitter:card" content="summary_large_image"> 24 <meta name="twitter:url" content="https://educreator.pl/"> 25 <meta name="twitter:title" content="Educreator - darmowa aplikacja dla nauczycieli | Quizy AI"> 26 <meta name="twitter:description" content="Twórz quizy i materiaÅy edukacyjne za darmo z pomocÄ AI. Darmowe narzÄdzie dla nauczycieli."> 27 <meta name="twitter:image" content="https://educreator.pl/images/og-image.png"> 28 29 30
30<script type="application/ld+json"> 31 { 32 "@context": "https://schema.org", 33 "@type": "SoftwareApplication", 34 "name": "Educreator", 35 "applicationCategory": "EducationalApplication", 36 "operatingSystem": "Web", 37 "offers": { 38 "@type": "Offer", 39 "price": "0", 40 "priceCurrency": "PLN", 41 "description": "Plan darmowy na zawsze" 42 }, 43 "description": "Darmowa aplikacja dla nauczycieli do tworzenia quizów i materiaÅów edukacyjnych z pomocÄ AI", 44 "url": "https://educreator.pl", 45 "author": { 46 "@type": "Organization", 47 "name": "Educreator" 48 }, 49 "aggregateRating": { 50 "@type": "AggregateRating", 51 "ratingValue": "4.8", 52 "ratingCount": "150" 53 }, 54 "featureList": [ 55 "Generowanie quizów AI", 56 "Różne typy pytaÅ", 57 "UdostÄpnianie uczniom online", 58 "Raporty z wynikami", 59 "Eksport do PDF" 60 ] 61 } 62 </script>
62 63 64 65
65<script type="application/ld+json"> 66 { 67 "@context": "https://schema.org", 68 "@type": "Organization", 69 "name": "Educreator", 70 "url": "https://educreator.pl", 71 "logo": "https://educreator.pl/images/labai_logo.svg", 72 "description": "Polskie narzÄdzie AI dla nauczycieli do tworzenia quizów i materiaÅów edukacyjnych", 73 "address": { 74 "@type": "PostalAddress", 75 "addressCountry": "PL" 76 }, 77 "contactPoint": { 78 "@type": "ContactPoint", 79 "email": "[email protected]", 80 "contactType": "customer service", 81 "availableLanguage": "Polish" 82 } 83 } 84 </script>
84 85 86 <base href="/"> 87 <title>Educreator - darmowa aplikacja dla nauczycieli | Quizy AI</title> 88 89 <link href="css/fonts.css" rel="stylesheet"> 90 <link href="_content/MudBlazor/MudBlazor.min.7c7lhmh1j6.css" rel="stylesheet" /> 91 <link href="_content/MudBlazor.Markdown/MudBlazor.Markdown.min.yt4hcv27hd.css" rel="stylesheet" /> 92 93 <link href="css/design-tokens.css" rel="stylesheet"> 94
94<script type="importmap">{ 95 "imports": { 96 "./_content/Extensions.MudBlazor.StaticInput/NavigationObserver.js": "./_content/Extensions.MudBlazor.StaticInput/NavigationObserver.lp4d2hvui5.js", 97 "./_content/MudBlazor.Markdown/MudBlazor.Markdown.MathJax.min.js": "./_content/MudBlazor.Markdown/MudBlazor.Markdown.MathJax.min.o64s4n8ltk.js", 98 "./_content/MudBlazor.Markdown/MudBlazor.Markdown.min.js": "./_content/MudBlazor.Markdown/MudBlazor.Markdown.min.f2gykvtdz4.js", 99 "./_content/MudBlazor/MudBlazor.min.js": "./_content/MudBlazor/MudBlazor.min.f96y5mhlyw.js", 100 "./_framework/dotnet.native.js": "./_framework/dotnet.native.xto5am0qhx.js", 101 "./_framework/dotnet.runtime.js": "./_framework/dotnet.runtime.pu7sbjsy59.js", 102 "./_framework/dotnet.js": "./_framework/dotnet.ur15dpacvo.js", 103 "_framework/resource-collection.js": "./_framework/resource-collection.8186T.js", 104 "_framework/resource-collection.js.gz": "./_framework/resource-collection.8186T.js.gz" 105 }, 106 "integrity": { 107 "./_content/Extensions.MudBlazor.StaticInput/NavigationObserver.js": "sha256-5xAqVXGu6Tv7zFwKN73F345Yp8b+mUnkI3nYcD6QCXg=", 108 "./_content/Extensions.MudBlazor.StaticInput/NavigationObserver.lp4d2hvui5.js": "sha256-5xAqVXGu6Tv7zFwKN73F345Yp8b+mUnkI3nYcD6QCXg=", 109 "./_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js": "sha256-kJXKqRCleT/Jk1wJUhUu24r2LAA7IWVYmdoENizE38M=", 110 "./_content/MudBlazor.Markdown/MudBlazor.Markdown.MathJax.min.js": "sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI=", 111 "./_content/MudBlazor.Markdown/MudBlazor.Markdown.MathJax.min.o64s4n8ltk.js": "sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI=", 112 "./_content/MudBlazor.Markdown/MudBlazor.Markdown.min.f2gykvtdz4.js": "sha256-1wXEspfgcIcUzCn95Cw5TBPJkj7K9JwweKDq9Es2LcM=", 113 "./_content/MudBlazor.Markdown/MudBlazor.Markdown.min.js": "sha256-1wXEspfgcIcUzCn95Cw5TBPJkj7K9JwweKDq9Es2LcM=", 114 "./_content/MudBlazor/MudBlazor.min.f96y5mhlyw.js": "sha256-zR6goaoMpR/YVMMSTfCmVNo3kuPgOkjF/ovhkUhAkbk=", 115 "./_content/MudBlazor/MudBlazor.min.js": "sha256-zR6goaoMpR/YVMMSTfCmVNo3kuPgOkjF/ovhkUhAkbk=", 116 "./_framework/blazor.webassembly.js": "sha256-foi856cD/4MW6P+zWkckFgV//F76aJY/Z9t5FCktr04=", 117 "./_framework/dotnet.js": "sha256-xpaEqK+6q7KPJMveudMVM+EW1z5NiC0WYHTVxVmEqiI=", 118 "./_framework/dotnet.native.js": "sha256-9e5Vqt0u8nYMGCHU4JfYqrYQExAw3bgi5UYzATgvoJE=", 119 "./_framework/dotnet.native.xto5am0qhx.js": "sha256-9e5Vqt0u8nYMGCHU4JfYqrYQExAw3bgi5UYzATgvoJE=", 120 "./_framework/dotnet.runtime.js": "sha256-wW0L1H42TfMatybe1vKm/k57XP7qqXWX5r7AbCRx5JQ=", 121 "./_framework/dotnet.runtime.pu7sbjsy59.js": "sha256-wW0L1H42TfMatybe1vKm/k57XP7qqXWX5r7AbCRx5JQ=", 122 "./_framework/dotnet.ur15dpacvo.js": "sha256-xpaEqK+6q7KPJMveudMVM+EW1z5NiC0WYHTVxVmEqiI=", 123 "./_framework/resource-collection.8186T.js": "sha256-106MZLi25sv+uxNdcU2hMmsXGS15zVNCi2lQpot3wFg=", 124 "./_framework/resource-collection.8186T.js.gz": "sha256-106MZLi25sv+uxNdcU2hMmsXGS15zVNCi2lQpot3wFg=" 125 } 126}</script>
126 127 <link rel="icon" type="image/ico" href="images/favicon.png"> 128 <title>Wybierz typ konta</title></head> 129 130<body><style> 131::-webkit-scrollbar {width: 8px;height: 8px;z-index: 1;} 132::-webkit-scrollbar-track {background: transparent;} 133::-webkit-scrollbar-thumb {background: #c4c4c4;border-radius: 1px;} 134::-webkit-scrollbar-thumb:hover {background: #a6a6a6;} 135html, body * {scrollbar-color: #c4c4c4 transparent;scrollbar-width: thin;} 136</style> 137<style> 138 .mud-chart-serie:hover { 139 filter: url(#lighten); 140 } 141 142 .mud-chart-serie-hovered 143 { 144 filter: url(#lighten); 145 } 146</style> 147 148<style class='mud-theme-provider'> 149:root{ 150--mud-palette-black: rgba(39,44,52,1); 151--mud-palette-white: rgba(255,255,255,1); 152--mud-palette-primary: rgba(43,108,176,1); 153--mud-palette-primary-rgb: 43,108,176; 154--mud-palette-primary-text: rgba(255,255,255,1); 155--mud-palette-primary-darken: rgb(35,61,61); 156--mud-palette-primary-lighten: rgb(66,153,225); 157--mud-palette-primary-hover: rgba(43,108,176,0.2); 158--mud-palette-secondary: rgba(49,151,149,1); 159--mud-palette-secondary-rgb: 49,151,149; 160--mud-palette-secondary-text: rgba(255,255,255,1); 161--mud-palette-secondary-darken: rgb(35,61,61); 162--mud-palette-secondary-lighten: rgb(129,230,217); 163--mud-palette-secondary-hover: rgba(49,151,149,0.2); 164--mud-palette-tertiary: rgba(221,107,32,1); 165--mud-palette-tertiary-rgb: 221,107,32; 166--mud-palette-tertiary-text: rgba(255,255,255,1); 167--mud-palette-tertiary-darken: rgb(192,86,33); 168--mud-palette-tertiary-lighten: rgb(237,137,54); 169--mud-palette-tertiary-hover: rgba(221,107,32,0.2); 170--mud-palette-info: rgba(66,153,225,1); 171--mud-palette-info-rgb: 66,153,225; 172--mud-palette-info-text: rgba(255,255,255,1); 173--mud-palette-info-darken: rgb(54,125,184); 174--mud-palette-info-lighten: rgb(100,171,230); 175--mud-palette-info-hover: rgba(66,153,225,0.2); 176--mud-palette-success: rgba(56,161,105,1); 177--mud-palette-success-rgb: 56,161,105; 178--mud-palette-success-text: rgba(255,255,255,1); 179--mud-palette-success-darken: rgb(46,132,86); 180--mud-palette-success-lighten: rgb(92,178,132); 181--mud-palette-success-hover: rgba(56,161,105,0.2); 182--mud-palette-warning: rgba(214,158,46,1); 183--mud-palette-warning-rgb: 214,158,46; 184--mud-palette-warning-text: rgba(255,255,255,1); 185--mud-palette-warning-darken: rgb(175,130,38); 186--mud-palette-warning-lighten: rgb(221,175,84); 187--mud-palette-warning-hover: rgba(214,158,46,0.2); 188--mud-palette-error: rgba(229,62,62,1); 189--mud-palette-error-rgb: 229,62,62; 190--mud-palette-error-text: rgba(255,255,255,1); 191--mud-palette-error-darken: rgb(188,51,51); 192--mud-palette-error-lighten: rgb(234,97,97); 193--mud-palette-error-hover: rgba(229,62,62,0.2); 194--mud-palette-dark: rgba(23,25,35,1); 195--mud-palette-dark-rgb: 23,25,35; 196--mud-palette-dark-text: rgba(255,255,255,1); 197--mud-palette-dark-darken: rgb(19,20,29); 198--mud-palette-dark-lighten: rgb(65,66,75); 199--mud-palette-dark-hover: rgba(23,25,35,0.2); 200--mud-palette-text-primary: rgba(23,25,35,1); 201--mud-palette-text-primary-rgb: 23,25,35; 202--mud-palette-text-secondary: rgba(74,85,104,1); 203--mud-palette-text-secondary-rgb: 74,85,104; 204--mud-palette-text-disabled: rgba(113,128,150,1); 205--mud-palette-text-disabled-rgb: 113,128,150; 206--mud-palette-action-default: rgba(23,25,35,1); 207--mud-palette-action-default-hover: rgba(23,25,35,0.2); 208--mud-palette-action-disabled: rgba(113,128,150,1); 209--mud-palette-action-disabled-background: rgba(226,232,240,1); 210--mud-palette-surface: rgba(255,255,255,1); 211--mud-palette-surface-rgb: 255,255,255; 212--mud-palette-background: rgba(247,250,252,1); 213--mud-palette-background-gray: rgba(237,242,247,1); 214--mud-palette-drawer-background: rgba(237,242,247,1); 215--mud-palette-drawer-text: rgba(45,55,72,1); 216--mud-palette-drawer-icon: rgba(74,85,104,1); 217--mud-palette-appbar-background: rgba(44,82,130,1); 218--mud-palette-appbar-text: rgba(255,255,255,1); 219--mud-palette-lines-default: rgba(203,213,224,1); 220--mud-palette-lines-inputs: rgba(160,174,192,1); 221--mud-palette-table-lines: rgba(226,232,240,1); 222--mud-palette-table-striped: rgba(0,0,0,0.0196078431372549); 223--mud-palette-table-hover: rgba(0,0,0,0.0392156862745098); 224--mud-palette-divider: rgba(226,232,240,1); 225--mud-palette-divider-rgb: 226,232,240; 226--mud-palette-divider-light: rgba(237,242,247,1); 227--mud-palette-skeleton: rgba(0,0,0,0.10980392156862745); 228--mud-palette-gray-default: #718096; 229--mud-palette-gray-light: #A0AEC0; 230--mud-palette-gray-lighter: #CBD5E0; 231--mud-palette-gray-dark: #4A5568; 232--mud-palette-gray-darker: #2D3748; 233--mud-palette-overlay-dark: rgba(33,33,33,0.5); 234--mud-palette-overlay-light: rgba(255,255,255,0.5); 235--mud-palette-border-opacity: 1; 236--mud-ripple-color: var(--mud-palette-text-primary); 237--mud-ripple-opacity: 0.3; 238--mud-ripple-opacity-secondary: 0.4; 239--mud-elevation-0: none; 240--mud-elevation-1: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12); 241--mud-elevation-2: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12); 242--mud-elevation-3: 0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12); 243--mud-elevation-4: 0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12); 244--mud-elevation-5: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12); 245--mud-elevation-6: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12); 246--mud-elevation-7: 0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12); 247--mud-elevation-8: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12); 248--mud-elevation-9: 0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12); 249--mud-elevation-10: 0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12); 250--mud-elevation-11: 0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12); 251--mud-elevation-12: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12); 252--mud-elevation-13: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12); 253--mud-elevation-14: 0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12); 254--mud-elevation-15: 0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12); 255--mud-elevation-16: 0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12); 256--mud-elevation-17: 0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12); 257--mud-elevation-18: 0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12); 258--mud-elevation-19: 0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12); 259--mud-elevation-20: 0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12); 260--mud-elevation-21: 0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12); 261--mud-elevation-22: 0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12); 262--mud-elevation-23: 0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12); 263--mud-elevation-24: 0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12); 264--mud-elevation-25: 0 5px 5px -3px rgba(0,0,0,.06), 0 8px 10px 1px rgba(0,0,0,.042), 0 3px 14px 2px rgba(0,0,0,.036);
265--mud-default-borderradius: 4px; 266--mud-drawer-width-left: 240px; 267--mud-drawer-width-right: 240px; 268--mud-drawer-width-mini-left: 56px; 269--mud-drawer-width-mini-right: 56px; 270--mud-appbar-height: 64px; 271--mud-typography-default-family: Inter, Poppins, Roboto; 272--mud-typography-default-size: 16px; 273--mud-typography-default-weight: 400; 274--mud-typography-default-lineheight: 24px; 275--mud-typography-default-letterspacing: 0; 276--mud-typography-default-text-transform: none; 277--mud-typography-h1-family: Poppins, Inter, Roboto; 278--mud-typography-h1-size: 32px; 279--mud-typography-h1-weight: 700; 280--mud-typography-h1-lineheight: 40px; 281--mud-typography-h1-letterspacing: -.01562em; 282--mud-typography-h1-text-transform: none; 283--mud-typography-h2-family: Poppins, Inter, Roboto; 284--mud-typography-h2-size: 24px; 285--mud-typography-h2-weight: 600; 286--mud-typography-h2-lineheight: 32px; 287--mud-typography-h2-letterspacing: -.00833em; 288--mud-typography-h2-text-transform: none; 289--mud-typography-h3-family: Poppins, Inter, Roboto; 290--mud-typography-h3-size: 20px; 291--mud-typography-h3-weight: 500; 292--mud-typography-h3-lineheight: 28px; 293--mud-typography-h3-letterspacing: 0; 294--mud-typography-h3-text-transform: none; 295--mud-typography-h4-family: Poppins, Inter, Roboto; 296--mud-typography-h4-size: 18px; 297--mud-typography-h4-weight: 500; 298--mud-typography-h4-lineheight: 26px; 299--mud-typography-h4-letterspacing: .00735em; 300--mud-typography-h4-text-transform: none; 301--mud-typography-h5-family: Poppins, Inter, Roboto; 302--mud-typography-h5-size: 16px; 303--mud-typography-h5-weight: 500; 304--mud-typography-h5-lineheight: 24px; 305--mud-typography-h5-letterspacing: 0; 306--mud-typography-h5-text-transform: none; 307--mud-typography-h6-family: Poppins, Inter, Roboto; 308--mud-typography-h6-size: 14px; 309--mud-typography-h6-weight: 500; 310--mud-typography-h6-lineheight: 20px; 311--mud-typography-h6-letterspacing: .0075em; 312--mud-typography-h6-text-transform: none; 313--mud-typography-subtitle1-family: Inter, Poppins, Roboto; 314--mud-typography-subtitle1-size: 1rem; 315--mud-typography-subtitle1-weight: 400; 316--mud-typography-subtitle1-lineheight: 1.75; 317--mud-typography-subtitle1-letterspacing: .00938em; 318--mud-typography-subtitle1-text-transform: none; 319--mud-typography-subtitle2-family: Inter, Poppins, Roboto; 320--mud-typography-subtitle2-size: .875rem; 321--mud-typography-subtitle2-weight: 500; 322--mud-typography-subtitle2-lineheight: 1.57; 323--mud-typography-subtitle2-letterspacing: .00714em; 324--mud-typography-subtitle2-text-transform: none; 325--mud-typography-body1-family: Inter, Poppins, Roboto; 326--mud-typography-body1-size: 1rem; 327--mud-typography-body1-weight: 400; 328--mud-typography-body1-lineheight: 1.5; 329--mud-typography-body1-letterspacing: .00938em; 330--mud-typography-body1-text-transform: none; 331--mud-typography-body2-family: Inter, Poppins, Roboto; 332--mud-typography-body2-size: 14px; 333--mud-typography-body2-weight: 400; 334--mud-typography-body2-lineheight: 20px; 335--mud-typography-body2-letterspacing: .01071em; 336--mud-typography-body2-text-transform: none; 337--mud-typography-button-family: Inter, Poppins, Roboto; 338--mud-typography-button-size: 16px; 339--mud-typography-button-weight: 500; 340--mud-typography-button-lineheight: 24px; 341--mud-typography-button-letterspacing: .02857em; 342--mud-typography-button-text-transform: uppercase; 343--mud-typography-caption-family: Inter, Poppins, Roboto; 344--mud-typography-caption-size: .75rem; 345--mud-typography-caption-weight: 400; 346--mud-typography-caption-lineheight: 1.66; 347--mud-typography-caption-letterspacing: .03333em; 348--mud-typography-caption-text-transform: none; 349--mud-typography-overline-family: Inter, Poppins, Roboto; 350--mud-typography-overline-size: .75rem; 351--mud-typography-overline-weight: 400; 352--mud-typography-overline-lineheight: 2.66; 353--mud-typography-overline-letterspacing: .08333em; 354--mud-typography-overline-text-transform: none; 355--mud-zindex-drawer: 1100; 356--mud-zindex-appbar: 1300; 357--mud-zindex-dialog: 1400; 358--mud-zindex-popover: 1200; 359--mud-zindex-snackbar: 1500; 360--mud-zindex-tooltip: 1600; 361--mud-native-html-color-scheme: light; 362} 363</style> 364 365 366<div class="mud-layout" style="display: flex; flex-direction: column; min-height: 100vh;;"><header role="banner" class="mud-appbar mud-appbar-fixed-top mud-elevation-1"><div role="toolbar" class="mud-toolbar mud-toolbar-gutters mud-toolbar-appbar"><a href="/" aria-label="Przejdź do strony głównej" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-body1"><img src="images/labai_logo.svg" alt="Logo Educreator" class="mud-image object-fill object-center" height="30" /></a> 367 <div aria-hidden="true" class="flex-grow-1"></div></div></header> 368 <div role="main" class="mud-main-content" style="flex: 1 0 auto;"><div class="mud-paper mud-elevation-0 py-6 px-2 mx-auto my-auto" style="max-width:500px;"><div role="group" class="d-flex flex-column gap-3"> 369 370<div class="mud-container mud-container-maxwidth-sm mud-container--gutters my-2 px-4"><div role="group" class="d-flex flex-column align-center gap-4 mt-2"><img src="images/favicon.png" alt="Logo Educreator" class="mud-image object-fill object-center" width="80" height="80" /> 371 372 <h2 class="mud-typography mud-typography-h2 mud-typography-align-center" style="max-width: 560px;"> 373 Korzystam z aplikacji Educreator jako: 374 </h2> 375 376 <div class="mud-grid mud-grid-spacing-xs-4 justify-center mt-2" style="max-width: 600px; width: 100%;"><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6" style="display: flex;"><a href="Account/Login?userType=teacher&ReturnUrl=%2Fquiz" class="user-type-link" aria-label="Kontynuuj jako nauczyciel"><div class="mud-paper mud-elevation-0 pa-6 user-type-card h-100" style="text-align: center; border-radius: var(--radius-lg); border: 1px solid var(--surface-divider); background: var(--surface-card);;"><div role="group" class="d-flex flex-column align-center gap-3"><svg class="mud-icon-root mud-svg-icon mud-secondary-text mud-icon-size-medium" style="font-size: var(--space-8);" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg> 377 <h3 class="mud-typography mud-typography-h3" style="color: var(--text-primary); font-weight: 600;">Nauczyciel</h3> 378 <p class="mud-typography mud-typography-body2" style="color: var(--text-secondary);">TworzÄ sprawdziany, zadania pisemne i scenariusze lekcji</p></div></div></a></div> 379 380 <div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6" style="display: flex;"><a href="Account/Login?userType=student&ReturnUrl=%2Fquiz" class="user-type-link" aria-label="Kontynuuj jako uczeń"><div class="mud-paper mud-elevation-0 pa-6 user-type-card h-100" style="text-align: center; border-radius: var(--radius-lg); border: 1px solid var(--surface-divider); background: var(--surface-card);;"><div role="group" class="d-flex flex-column align-center gap-3"><svg class="mud-icon-root mud-svg-icon mud-primary-text mud-icon-size-medium" style="font-size: var(--space-8);" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/>
380<path d="M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3 1 9l11 6 9-4.91V17h2V9L12 3z"/></svg> 381 <h3 class="mud-typography mud-typography-h3" style="color: var(--text-primary); font-weight: 600;">UczeÅ</h3> 382 <p class="mud-typography mud-typography-body2" style="color: var(--text-secondary);">DoÅÄ czam do klasy â mam dane dostÄpu od nauczyciela</p></div></div></a></div></div> 383 384 <span class="mud-typography mud-typography-caption mud-typography-align-center mt-2 px-4" style="max-width: 500px; color: var(--text-secondary);"> 385 KontynuujÄ c, potwierdzasz, że zapoznaÅeÅ siÄ i akceptujesz 386 <a href="/Account/Terms" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-caption">Regulamin</a>, 387 <a href="/Account/DataProtection" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-caption">Zasady ochrony danych</a> 388 oraz 389 <a href="/Account/PrivacyPolicy" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-caption">PolitykÄ prywatnoÅci</a>. 390 </span></div></div> 391 392<style> 393 .user-type-link { 394 text-decoration: none; 395 display: block; 396 border-radius: var(--radius-lg); 397 height: 100%; 398 } 399 .user-type-card { 400 transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease; 401 cursor: pointer; 402 } 403 .user-type-link:hover .user-type-card { 404 transform: translateY(-4px); 405 box-shadow: var(--shadow-lg); 406 border-color: var(--color-primary) !important; 407 background: color-mix(in srgb, var(--color-primary) 5%, var(--surface-card)) !important; 408 } 409 .user-type-link:active .user-type-card { 410 transform: translateY(-1px); 411 box-shadow: var(--shadow-sm); 412 border-color: var(--color-primary) !important; 413 } 414 .user-type-link:focus-visible { 415 outline: 3px solid var(--color-primary); 416 outline-offset: 3px; 417 } 418 .user-type-link:focus-visible .user-type-card { 419 border-color: var(--color-primary) !important; 420 box-shadow: 0 0 0 2px var(--color-primary); 421 } 422</style></div></div></div> 423 424 <div role="contentinfo" class="mud-paper mud-paper-square mud-elevation-1 pa-4" style=""><div role="group" class="d-flex flex-column align-center gap-2"><p class="mud-typography mud-typography-body2 mud-typography-align-center"> 425 © 2026 Educreator sp. z o.o. Wszelkie prawa zastrzeżone. 426 </p></div></div></div> 427 428 429 <div id="blazor-reconnect-modal" style="display: none;"><div style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 9999; display: flex; justify-content: center; align-items: center;"><div style="background: white; padding: 30px 40px; border-radius: 8px; text-align: center; font-family: 'Roboto', sans-serif; box-shadow: 0 4px 20px rgba(0,0,0,0.3);"><div class="show-reconnecting" style="display: none;"><div style="font-size: 32px; margin-bottom: 16px;">ð</div> 430 <p style="font-size: 18px; margin: 0;">Ponowne ÅÄ czenie z serwerem...</p></div> 431 <div class="show-failed" style="display: none;"><div style="font-size: 32px; margin-bottom: 16px;">â ï¸</div> 432 <p style="font-size: 18px; margin: 0 0 10px 0;">PoÅÄ czenie nieudane.</p> 433 <p style="font-size: 14px; color: #666; margin: 0;">Ponowna próba za kilka sekund...</p></div> 434 <div class="show-rejected" style="display: none;"><div style="font-size: 32px; margin-bottom: 16px;">â</div> 435 <p style="font-size: 18px; margin: 0 0 16px 0;">Nie udaÅo siÄ poÅÄ czyÄ z serwerem.</p> 436 <button onclick="location.reload()" style="padding: 10px 24px; font-size: 16px; background: #1976d2; color: white; border: none; border-radius: 4px; cursor: pointer;"> 437 OdÅwież stronÄ 438 </button></div></div></div></div> 439 440 <style> 441 #blazor-reconnect-modal.show-reconnecting { display: block; } 442 #blazor-reconnect-modal.show-reconnecting .show-reconnecting { display: block !important; } 443 444 #blazor-reconnect-modal.show-failed { display: block; } 445 #blazor-reconnect-modal.show-failed .show-failed { display: block !important; } 446 447 #blazor-reconnect-modal.show-rejected { display: block; } 448 #blazor-reconnect-modal.show-rejected .show-rejected { display: block !important; } 449 </style> 450 451
451<script src="_framework/blazor.web.js"></script>
451 452
452<script src="_content/MudBlazor/MudBlazor.min.f96y5mhlyw.js"></script>
452 453
453<script src="_content/Extensions.MudBlazor.StaticInput/NavigationObserver.lp4d2hvui5.js"></script>
453 454
454<script> 455 window.getHtmlById = function (id) { 456 var el = document.getElementById(id); 457 return el ? el.outerHTML : ""; 458 }; 459 460 window.downloadFileFromStream = async (fileName, contentStreamReference) => { 461 const arrayBuffer = await contentStreamReference.arrayBuffer(); 462 const blob = new Blob([arrayBuffer]); 463 const url = URL.createObjectURL(blob); 464 const anchorElement = document.createElement('a'); 465 anchorElement.href = url; 466 anchorElement.download = fileName ?? ''; 467 anchorElement.click(); 468 anchorElement.remove(); 469 URL.revokeObjectURL(url); 470 }; 471 472 window.downloadFileFromBytes = (fileName, base64Content, mimeType) => { 473 const byteCharacters = atob(base64Content); 474 const byteNumbers = new Array(byteCharacters.length); 475 for (let i = 0; i < byteCharacters.length; i++) { 476 byteNumbers[i] = byteCharacters.charCodeAt(i); 477 } 478 const byteArray = new Uint8Array(byteNumbers); 479 const blob = new Blob([byteArray], { type: mimeType || 'application/octet-stream' }); 480 const url = URL.createObjectURL(blob); 481 const anchorElement = document.createElement('a'); 482 anchorElement.href = url; 483 anchorElement.download = fileName ?? ''; 484 anchorElement.click(); 485 anchorElement.remove(); 486 URL.revokeObjectURL(url); 487 }; 488 489 window.localStorageHelper = { 490 set: function (key, value) { 491 localStorage.setItem(key, value); 492 }, 493 get: function (key) { 494 return localStorage.getItem(key); 495 } 496 }; 497 498 window.anonymousLessonCache = { 499 _key: function (setId) { return 'anon-lesson-' + setId; }, 500 get: function (setId) { 501 return localStorage.getItem(this._key(setId)) || null; 502 }, 503 set: function (setId, json) { 504 try { 505 localStorage.setItem(this._key(setId), json); 506 } catch (e) {} 507 }, 508 clear: function (setId) { 509 localStorage.removeItem(this._key(setId)); 510 } 511 }; 512 513 window.pasteFromClipboard = async function () { 514 if (navigator.clipboard && navigator.clipboard.readText) { 515 return await navigator.clipboard.readText(); 516 } else { 517 return ""; 518 } 519 }; 520 521 window.copyTextToClipboard = async (text) => { 522 // Try modern Clipboard API first (works on HTTPS and localhost) 523 if (navigator.clipboard && navigator.clipboard.writeText) { 524 try { 525 await navigator.clipboard.writeText(text); 526 return true; 527 } catch (err) { 528 console.warn('Clipboard API failed, using fallback:', err); 529 } 530 } 531 532 // Fallback for HTTP or older browsers 533 const textArea = document.createElement('textarea'); 534 textArea.value = text; 535 textArea.style.position = 'fixed'; 536 textArea.style.left = '-9999px'; 537 textArea.style.top = '-9999px'; 538 document.body.appendChild(textArea); 539 textArea.focus(); 540 textArea.select(); 541 542 try { 543 document.execCommand('copy'); 544 return true; 545 } catch (err) { 546 console.error('Fallback copy failed:', err); 547 return false; 548 } finally { 549 document.body.removeChild(textArea); 550 } 551 } 552 553 window.addEventListener('error', function (event) { 554 if (window.DotNet && window.DotNet.invokeMethodAsync) { 555 DotNet.invokeMethodAsync('LabAI.Client', 'LogClientError', event.message, event.error?.stack || ''); 556 } 557 }); 558 </script>
558</body></html><!--Blazor-Server-Component-State:CfDJ8OLspmrQynxJnEADxT6sLageAiI/2IY7MHPrW6Sk6G4tYF513c3YKJ9Z9eTw29s9N82x2dHqyNwWVXGA7c7YoA2Yp/kIJVDzf5hrecTu7Ks459wcvHF6QDxQgGsPdks6F1mHzoesEWOPrdiMp3qI5eaMhOnaFXemuglXuCC79sbbWl9WruRCjIsBDALZDZVCPzoaKL3iL+h/lzuj/ujH52J/T/8oUmJ58XuXVYJPZV2P1qzuUNKraxJ7SMXJDmMUOF4avUPVADy0wndbcOrPVCvbwHIWUF+qJpyTpXV63RapuK5rxbjOiljfxmaRUM0lVfBds4gg0/BVsQHA74giARvIppWu9/YZs/L+bL8aSu+vnOSm/UxBTGi94zhxEqRwxgdB1EEAmTqDUdx/BXPtjjsBIsXNf4LQSM7ggZQLEofAxiQOwLxRIYuE8OnrBBQ/I6KcIAJa7AjnFcFZo1aMgBppCyAyHSRz3xI2g8kgjvyyJKxPg1t9mYB/oY/TD7k8xJvAgKIOCHHRhM7susf8mgPoZG49RQgZcvpFR5XaWO08--><!--Blazor-WebAssembly-Component-State:eyJfX1Jlc291cmNlQ29sbGVjdGlvblVybCI6IklpNHZYMlp5WVcxbGQyOXlheTl5WlhOdmRYSmpaUzFqYjJ4c1pXTjBhVzl1TGpneE9EWlVMbXB6SWc9PSIsIl9faW50ZXJuYWxfX0FudGlmb3JnZXJ5UmVxdWVzdFRva2VuIjoiZXlKMllXeDFaU0k2SWtObVJFbzRUMHh6Y0cxeVVYbHVlRXB1UlVGRWVGUTJjMHhoYUhkelRHMWhWbkZQZUVVNGFHVXdjRVYwUkVaUGIxOXNRVlozWTB0SE5uQmFibGxtV0U5cGFqRk9PRzVhTkhKRWQwOHRXVjlSYlU5SVMxSmpNV0kyUlV0alJtRkRjbmRLZEhGTVIyMUJVMXBUY2pGNVJFODFTV2h2TVZoRmNYZDVSMDVKYlRreWNXNWtTVE41YzA5bE5uZzROVE5OZGtkVlNqWndUa0ZTYWw5Vklpd2labTl5YlVacFpXeGtUbUZ0WlNJNklsOWZVbVZ4ZFdWemRGWmxjbWxtYVdOaGRHbHZibFJ2YTJWdUluMD0ifQ==-->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.