diff --git a/index.html b/index.html index 0c43b0e..4774511 100644 --- a/index.html +++ b/index.html @@ -4,28 +4,34 @@ Ashelyn's AOC 2022 +
+

+ Ashelyn's Advent of Code +

+

input:

- +

output (part 1):

output (part 2):

-

Source viewer:

diff --git a/resources/catppuccin-theme.css b/resources/catppuccin-theme.css new file mode 100644 index 0000000..a269e63 --- /dev/null +++ b/resources/catppuccin-theme.css @@ -0,0 +1,314 @@ +:root { + --ctp-latte-rosewater: #de9584; + --ctp-latte-rosewater-rgb: rgb(222, 149, 132); + --ctp-latte-rosewater-hsl: hsl(11, 58%, 69%); + --ctp-frappe-rosewater: #f2d5cf; + --ctp-frappe-rosewater-rgb: rgb(242, 213, 207); + --ctp-frappe-rosewater-hsl: hsl(10, 57%, 88%); + --ctp-macchiato-rosewater: #f4dbd6; + --ctp-macchiato-rosewater-rgb: rgb(244, 219, 214); + --ctp-macchiato-rosewater-hsl: hsl(10, 58%, 90%); + --ctp-mocha-rosewater: #f5e0dc; + --ctp-mocha-rosewater-rgb: rgb(245, 224, 220); + --ctp-mocha-rosewater-hsl: hsl(10, 56%, 91%); + --ctp-latte-flamingo: #dd7878; + --ctp-latte-flamingo-rgb: rgb(221, 120, 120); + --ctp-latte-flamingo-hsl: hsl(0, 60%, 67%); + --ctp-frappe-flamingo: #eebebe; + --ctp-frappe-flamingo-rgb: rgb(238, 190, 190); + --ctp-frappe-flamingo-hsl: hsl(0, 59%, 84%); + --ctp-macchiato-flamingo: #f0c6c6; + --ctp-macchiato-flamingo-rgb: rgb(240, 198, 198); + --ctp-macchiato-flamingo-hsl: hsl(0, 58%, 86%); + --ctp-mocha-flamingo: #f2cdcd; + --ctp-mocha-flamingo-rgb: rgb(242, 205, 205); + --ctp-mocha-flamingo-hsl: hsl(0, 59%, 88%); + --ctp-latte-pink: #ec83d0; + --ctp-latte-pink-rgb: rgb(236, 131, 208); + --ctp-latte-pink-hsl: hsl(316, 73%, 72%); + --ctp-frappe-pink: #f4b8e4; + --ctp-frappe-pink-rgb: rgb(244, 184, 228); + --ctp-frappe-pink-hsl: hsl(316, 73%, 84%); + --ctp-macchiato-pink: #f5bde6; + --ctp-macchiato-pink-rgb: rgb(245, 189, 230); + --ctp-macchiato-pink-hsl: hsl(316, 74%, 85%); + --ctp-mocha-pink: #f5c2e7; + --ctp-mocha-pink-rgb: rgb(245, 194, 231); + --ctp-mocha-pink-hsl: hsl(316, 72%, 86%); + --ctp-latte-mauve: #8839ef; + --ctp-latte-mauve-rgb: rgb(136, 57, 239); + --ctp-latte-mauve-hsl: hsl(266, 85%, 58%); + --ctp-frappe-mauve: #ca9ee6; + --ctp-frappe-mauve-rgb: rgb(202, 158, 230); + --ctp-frappe-mauve-hsl: hsl(277, 59%, 76%); + --ctp-macchiato-mauve: #c6a0f6; + --ctp-macchiato-mauve-rgb: rgb(198, 160, 246); + --ctp-macchiato-mauve-hsl: hsl(267, 83%, 80%); + --ctp-mocha-mauve: #cba6f7; + --ctp-mocha-mauve-rgb: rgb(203, 166, 247); + --ctp-mocha-mauve-hsl: hsl(267, 84%, 81%); + --ctp-latte-red: #d20f39; + --ctp-latte-red-rgb: rgb(210, 15, 57); + --ctp-latte-red-hsl: hsl(347, 87%, 44%); + --ctp-frappe-red: #e78284; + --ctp-frappe-red-rgb: rgb(231, 130, 132); + --ctp-frappe-red-hsl: hsl(359, 68%, 71%); + --ctp-macchiato-red: #ed8796; + --ctp-macchiato-red-rgb: rgb(237, 135, 150); + --ctp-macchiato-red-hsl: hsl(351, 74%, 73%); + --ctp-mocha-red: #f38ba8; + --ctp-mocha-red-rgb: rgb(243, 139, 168); + --ctp-mocha-red-hsl: hsl(343, 81%, 75%); + --ctp-latte-maroon: #e64553; + --ctp-latte-maroon-rgb: rgb(230, 69, 83); + --ctp-latte-maroon-hsl: hsl(355, 76%, 59%); + --ctp-frappe-maroon: #ea999c; + --ctp-frappe-maroon-rgb: rgb(234, 153, 156); + --ctp-frappe-maroon-hsl: hsl(358, 66%, 76%); + --ctp-macchiato-maroon: #ee99a0; + --ctp-macchiato-maroon-rgb: rgb(238, 153, 160); + --ctp-macchiato-maroon-hsl: hsl(355, 71%, 77%); + --ctp-mocha-maroon: #eba0ac; + --ctp-mocha-maroon-rgb: rgb(235, 160, 172); + --ctp-mocha-maroon-hsl: hsl(350, 65%, 77%); + --ctp-latte-peach: #fe640b; + --ctp-latte-peach-rgb: rgb(254, 100, 11); + --ctp-latte-peach-hsl: hsl(22, 99%, 52%); + --ctp-frappe-peach: #ef9f76; + --ctp-frappe-peach-rgb: rgb(239, 159, 118); + --ctp-frappe-peach-hsl: hsl(20, 79%, 70%); + --ctp-macchiato-peach: #f5a97f; + --ctp-macchiato-peach-rgb: rgb(245, 169, 127); + --ctp-macchiato-peach-hsl: hsl(21, 86%, 73%); + --ctp-mocha-peach: #fab387; + --ctp-mocha-peach-rgb: rgb(250, 179, 135); + --ctp-mocha-peach-hsl: hsl(23, 92%, 75%); + --ctp-latte-yellow: #e49320; + --ctp-latte-yellow-rgb: rgb(228, 147, 32); + --ctp-latte-yellow-hsl: hsl(35, 78%, 51%); + --ctp-frappe-yellow: #e5c890; + --ctp-frappe-yellow-rgb: rgb(229, 200, 144); + --ctp-frappe-yellow-hsl: hsl(40, 62%, 73%); + --ctp-macchiato-yellow: #eed49f; + --ctp-macchiato-yellow-rgb: rgb(238, 212, 159); + --ctp-macchiato-yellow-hsl: hsl(40, 70%, 78%); + --ctp-mocha-yellow: #f9e2af; + --ctp-mocha-yellow-rgb: rgb(249, 226, 175); + --ctp-mocha-yellow-hsl: hsl(41, 86%, 83%); + --ctp-latte-green: #40a02b; + --ctp-latte-green-rgb: rgb(64, 160, 43); + --ctp-latte-green-hsl: hsl(109, 58%, 40%); + --ctp-frappe-green: #a6d189; + --ctp-frappe-green-rgb: rgb(166, 209, 137); + --ctp-frappe-green-hsl: hsl(96, 44%, 68%); + --ctp-macchiato-green: #a6da95; + --ctp-macchiato-green-rgb: rgb(166, 218, 149); + --ctp-macchiato-green-hsl: hsl(105, 48%, 72%); + --ctp-mocha-green: #a6e3a1; + --ctp-mocha-green-rgb: rgb(166, 227, 161); + --ctp-mocha-green-hsl: hsl(115, 54%, 76%); + --ctp-latte-teal: #179299; + --ctp-latte-teal-rgb: rgb(23, 146, 153); + --ctp-latte-teal-hsl: hsl(183, 74%, 35%); + --ctp-frappe-teal: #81c8be; + --ctp-frappe-teal-rgb: rgb(129, 200, 190); + --ctp-frappe-teal-hsl: hsl(172, 39%, 65%); + --ctp-macchiato-teal: #8bd5ca; + --ctp-macchiato-teal-rgb: rgb(139, 213, 202); + --ctp-macchiato-teal-hsl: hsl(171, 47%, 69%); + --ctp-mocha-teal: #94e2d5; + --ctp-mocha-teal-rgb: rgb(148, 226, 213); + --ctp-mocha-teal-hsl: hsl(170, 57%, 73%); + --ctp-latte-sky: #04a5e5; + --ctp-latte-sky-rgb: rgb(4, 165, 229); + --ctp-latte-sky-hsl: hsl(197, 97%, 46%); + --ctp-frappe-sky: #99d1db; + --ctp-frappe-sky-rgb: rgb(153, 209, 219); + --ctp-frappe-sky-hsl: hsl(189, 48%, 73%); + --ctp-macchiato-sky: #91d7e3; + --ctp-macchiato-sky-rgb: rgb(145, 215, 227); + --ctp-macchiato-sky-hsl: hsl(189, 59%, 73%); + --ctp-mocha-sky: #89dceb; + --ctp-mocha-sky-rgb: rgb(137, 220, 235); + --ctp-mocha-sky-hsl: hsl(189, 71%, 73%); + --ctp-latte-sapphire: #209fb5; + --ctp-latte-sapphire-rgb: rgb(32, 159, 181); + --ctp-latte-sapphire-hsl: hsl(189, 70%, 42%); + --ctp-frappe-sapphire: #85c1dc; + --ctp-frappe-sapphire-rgb: rgb(133, 193, 220); + --ctp-frappe-sapphire-hsl: hsl(199, 55%, 69%); + --ctp-macchiato-sapphire: #7dc4e4; + --ctp-macchiato-sapphire-rgb: rgb(125, 196, 228); + --ctp-macchiato-sapphire-hsl: hsl(199, 66%, 69%); + --ctp-mocha-sapphire: #74c7ec; + --ctp-mocha-sapphire-rgb: rgb(116, 199, 236); + --ctp-mocha-sapphire-hsl: hsl(199, 76%, 69%); + --ctp-latte-blue: #2a6ef5; + --ctp-latte-blue-rgb: rgb(42, 110, 245); + --ctp-latte-blue-hsl: hsl(220, 91%, 56%); + --ctp-frappe-blue: #8caaee; + --ctp-frappe-blue-rgb: rgb(140, 170, 238); + --ctp-frappe-blue-hsl: hsl(222, 74%, 74%); + --ctp-macchiato-blue: #8aadf4; + --ctp-macchiato-blue-rgb: rgb(138, 173, 244); + --ctp-macchiato-blue-hsl: hsl(220, 83%, 75%); + --ctp-mocha-blue: #87b0f9; + --ctp-mocha-blue-rgb: rgb(135, 176, 249); + --ctp-mocha-blue-hsl: hsl(218, 90%, 75%); + --ctp-latte-lavender: #7287fd; + --ctp-latte-lavender-rgb: rgb(114, 135, 253); + --ctp-latte-lavender-hsl: hsl(231, 97%, 72%); + --ctp-frappe-lavender: #babbf1; + --ctp-frappe-lavender-rgb: rgb(186, 187, 241); + --ctp-frappe-lavender-hsl: hsl(239, 66%, 84%); + --ctp-macchiato-lavender: #b7bdf8; + --ctp-macchiato-lavender-rgb: rgb(183, 189, 248); + --ctp-macchiato-lavender-hsl: hsl(234, 82%, 85%); + --ctp-mocha-lavender: #b4befe; + --ctp-mocha-lavender-rgb: rgb(180, 190, 254); + --ctp-mocha-lavender-hsl: hsl(232, 97%, 85%); + --ctp-latte-text: #4c4f69; + --ctp-latte-text-rgb: rgb(76, 79, 105); + --ctp-latte-text-hsl: hsl(234, 16%, 35%); + --ctp-frappe-text: #c6ceef; + --ctp-frappe-text-rgb: rgb(198, 206, 239); + --ctp-frappe-text-hsl: hsl(228, 56%, 86%); + --ctp-macchiato-text: #c5cff5; + --ctp-macchiato-text-rgb: rgb(197, 207, 245); + --ctp-macchiato-text-hsl: hsl(228, 71%, 87%); + --ctp-mocha-text: #c6d0f5; + --ctp-mocha-text-rgb: rgb(198, 208, 245); + --ctp-mocha-text-hsl: hsl(227, 70%, 87%); + --ctp-latte-subtext1: #5c5f77; + --ctp-latte-subtext1-rgb: rgb(92, 95, 119); + --ctp-latte-subtext1-hsl: hsl(233, 13%, 41%); + --ctp-frappe-subtext1: #b5bddc; + --ctp-frappe-subtext1-rgb: rgb(181, 189, 220); + --ctp-frappe-subtext1-hsl: hsl(228, 36%, 79%); + --ctp-macchiato-subtext1: #b3bce0; + --ctp-macchiato-subtext1-rgb: rgb(179, 188, 224); + --ctp-macchiato-subtext1-hsl: hsl(228, 42%, 79%); + --ctp-mocha-subtext1: #b3bcdf; + --ctp-mocha-subtext1-rgb: rgb(179, 188, 223); + --ctp-mocha-subtext1-hsl: hsl(228, 41%, 79%); + --ctp-latte-subtext0: #6c6f85; + --ctp-latte-subtext0-rgb: rgb(108, 111, 133); + --ctp-latte-subtext0-hsl: hsl(233, 10%, 47%); + --ctp-frappe-subtext0: #a5acc9; + --ctp-frappe-subtext0-rgb: rgb(165, 172, 201); + --ctp-frappe-subtext0-hsl: hsl(228, 25%, 72%); + --ctp-macchiato-subtext0: #a1aacb; + --ctp-macchiato-subtext0-rgb: rgb(161, 170, 203); + --ctp-macchiato-subtext0-hsl: hsl(227, 29%, 71%); + --ctp-mocha-subtext0: #a1a8c9; + --ctp-mocha-subtext0-rgb: rgb(161, 168, 201); + --ctp-mocha-subtext0-hsl: hsl(229, 27%, 71%); + --ctp-latte-overlay2: #7c7f93; + --ctp-latte-overlay2-rgb: rgb(124, 127, 147); + --ctp-latte-overlay2-hsl: hsl(232, 10%, 53%); + --ctp-frappe-overlay2: #949bb7; + --ctp-frappe-overlay2-rgb: rgb(148, 155, 183); + --ctp-frappe-overlay2-hsl: hsl(228, 20%, 65%); + --ctp-macchiato-overlay2: #8f97b7; + --ctp-macchiato-overlay2-rgb: rgb(143, 151, 183); + --ctp-macchiato-overlay2-hsl: hsl(228, 22%, 64%); + --ctp-mocha-overlay2: #8e95b3; + --ctp-mocha-overlay2-rgb: rgb(142, 149, 179); + --ctp-mocha-overlay2-hsl: hsl(229, 20%, 63%); + --ctp-latte-overlay1: #8c8fa1; + --ctp-latte-overlay1-rgb: rgb(140, 143, 161); + --ctp-latte-overlay1-hsl: hsl(231, 10%, 59%); + --ctp-frappe-overlay1: #838aa4; + --ctp-frappe-overlay1-rgb: rgb(131, 138, 164); + --ctp-frappe-overlay1-hsl: hsl(227, 15%, 58%); + --ctp-macchiato-overlay1: #7d84a2; + --ctp-macchiato-overlay1-rgb: rgb(125, 132, 162); + --ctp-macchiato-overlay1-hsl: hsl(229, 17%, 56%); + --ctp-mocha-overlay1: #7b819d; + --ctp-mocha-overlay1-rgb: rgb(123, 129, 157); + --ctp-mocha-overlay1-hsl: hsl(229, 15%, 55%); + --ctp-latte-overlay0: #9ca0b0; + --ctp-latte-overlay0-rgb: rgb(156, 160, 176); + --ctp-latte-overlay0-hsl: hsl(228, 11%, 65%); + --ctp-frappe-overlay0: #737891; + --ctp-frappe-overlay0-rgb: rgb(115, 120, 145); + --ctp-frappe-overlay0-hsl: hsl(230, 12%, 51%); + --ctp-macchiato-overlay0: #6c728d; + --ctp-macchiato-overlay0-rgb: rgb(108, 114, 141); + --ctp-macchiato-overlay0-hsl: hsl(229, 13%, 49%); + --ctp-mocha-overlay0: #696d86; + --ctp-mocha-overlay0-rgb: rgb(105, 109, 134); + --ctp-mocha-overlay0-hsl: hsl(232, 12%, 47%); + --ctp-latte-surface2: #acb0be; + --ctp-latte-surface2-rgb: rgb(172, 176, 190); + --ctp-latte-surface2-hsl: hsl(227, 12%, 71%); + --ctp-frappe-surface2: #62677e; + --ctp-frappe-surface2-rgb: rgb(98, 103, 126); + --ctp-frappe-surface2-hsl: hsl(229, 13%, 44%); + --ctp-macchiato-surface2: #5a5f78; + --ctp-macchiato-surface2-rgb: rgb(90, 95, 120); + --ctp-macchiato-surface2-hsl: hsl(230, 14%, 41%); + --ctp-mocha-surface2: #565970; + --ctp-mocha-surface2-rgb: rgb(86, 89, 112); + --ctp-mocha-surface2-hsl: hsl(233, 13%, 39%); + --ctp-latte-surface1: #bcc0cc; + --ctp-latte-surface1-rgb: rgb(188, 192, 204); + --ctp-latte-surface1-hsl: hsl(225, 14%, 77%); + --ctp-frappe-surface1: #51566c; + --ctp-frappe-surface1-rgb: rgb(81, 86, 108); + --ctp-frappe-surface1-hsl: hsl(229, 14%, 37%); + --ctp-macchiato-surface1: #484c64; + --ctp-macchiato-surface1-rgb: rgb(72, 76, 100); + --ctp-macchiato-surface1-hsl: hsl(231, 16%, 34%); + --ctp-mocha-surface1: #43465a; + --ctp-mocha-surface1-rgb: rgb(67, 70, 90); + --ctp-mocha-surface1-hsl: hsl(232, 15%, 31%); + --ctp-latte-surface0: #ccd0da; + --ctp-latte-surface0-rgb: rgb(204, 208, 218); + --ctp-latte-surface0-hsl: hsl(223, 16%, 83%); + --ctp-frappe-surface0: #414559; + --ctp-frappe-surface0-rgb: rgb(65, 69, 89); + --ctp-frappe-surface0-hsl: hsl(230, 16%, 30%); + --ctp-macchiato-surface0: #363a4f; + --ctp-macchiato-surface0-rgb: rgb(54, 58, 79); + --ctp-macchiato-surface0-hsl: hsl(230, 19%, 26%); + --ctp-mocha-surface0: #313244; + --ctp-mocha-surface0-rgb: rgb(49, 50, 68); + --ctp-mocha-surface0-hsl: hsl(237, 16%, 23%); + --ctp-latte-base: #eff1f5; + --ctp-latte-base-rgb: rgb(239, 241, 245); + --ctp-latte-base-hsl: hsl(220, 23%, 95%); + --ctp-frappe-base: #303446; + --ctp-frappe-base-rgb: rgb(48, 52, 70); + --ctp-frappe-base-hsl: hsl(229, 19%, 23%); + --ctp-macchiato-base: #24273a; + --ctp-macchiato-base-rgb: rgb(36, 39, 58); + --ctp-macchiato-base-hsl: hsl(232, 23%, 18%); + --ctp-mocha-base: #1e1e2e; + --ctp-mocha-base-rgb: rgb(30, 30, 46); + --ctp-mocha-base-hsl: hsl(240, 21%, 15%); + --ctp-latte-mantle: #e6e9ef; + --ctp-latte-mantle-rgb: rgb(230, 233, 239); + --ctp-latte-mantle-hsl: hsl(220, 22%, 92%); + --ctp-frappe-mantle: #292c3c; + --ctp-frappe-mantle-rgb: rgb(41, 44, 60); + --ctp-frappe-mantle-hsl: hsl(231, 19%, 20%); + --ctp-macchiato-mantle: #1e2030; + --ctp-macchiato-mantle-rgb: rgb(30, 32, 48); + --ctp-macchiato-mantle-hsl: hsl(233, 23%, 15%); + --ctp-mocha-mantle: #181825; + --ctp-mocha-mantle-rgb: rgb(24, 24, 37); + --ctp-mocha-mantle-hsl: hsl(240, 21%, 12%); + --ctp-latte-crust: #dce0e8; + --ctp-latte-crust-rgb: rgb(220, 224, 232); + --ctp-latte-crust-hsl: hsl(220, 21%, 89%); + --ctp-frappe-crust: #232634; + --ctp-frappe-crust-rgb: rgb(35, 38, 52); + --ctp-frappe-crust-hsl: hsl(229, 20%, 17%); + --ctp-macchiato-crust: #181926; + --ctp-macchiato-crust-rgb: rgb(24, 25, 38); + --ctp-macchiato-crust-hsl: hsl(236, 23%, 12%); + --ctp-mocha-crust: #11111b; + --ctp-mocha-crust-rgb: rgb(17, 17, 27); + --ctp-mocha-crust-hsl: hsl(240, 23%, 9%); +} diff --git a/resources/loader.js b/resources/loader.js index c3ac025..37bd63f 100644 --- a/resources/loader.js +++ b/resources/loader.js @@ -138,6 +138,7 @@ function runDay() { part2run = runPart('part2', inputTextArea, outputTextArea2).toFixed(2) } catch (e) { console.error(e) } + output.className = 'success' if (part1run && part2run) { output.innerText = `success; part 1 runtime: ${part1run}ms, part 2 runtime: ${part2run}ms` } else if (part1run) { @@ -146,6 +147,7 @@ function runDay() { output.innerText = `partial success; part 1: crashed, part 2 runtime: ${part2run}ms` } else { output.innerText = 'running wasm code failed' + output.className = 'error' } } diff --git a/resources/style.css b/resources/style.css index a1a02aa..eabea92 100644 --- a/resources/style.css +++ b/resources/style.css @@ -1,10 +1,82 @@ +@import "/resources/catppuccin-theme.css"; + +html { + --page-background: var(--ctp-frappe-base); + --page-text: var(--ctp-frappe-text); + --input-background: var(--ctp-frappe-surface1); +} + body, html { padding: 0; margin: 0; + background: var(--page-background); + color: var(--page-text); + font-family: Verdana, Geneva, Tahoma, sans-serif; +} + +.selector, .status, .leftPanel, .rightPanel { + padding: 16px; + border-bottom: solid 1px var(--ctp-frappe-surface0); +} + +.status { + border-bottom: none; +} + +.selector { + display: flex; + flex-direction: row; + align-items: center; +} + +.selector h1 { + margin: 0; + font-size: 18px; + flex: 1; +} + +.selector label { + margin-right: 8px; +} + +select { + background: var(--ctp-latte-surface1); + color: black; + border: none; + border-radius: 4px; + padding: 4px; +} + +textarea { + background: var(--input-background); + border: none; + color: var(--page-text); + padding: 8px; +} + +p { + margin: 0; + margin-bottom: 8px; +} + +.status p { + margin-bottom: 0; +} + +.rightPanel pre { + margin: 0; +} + +.leftPanel p:not(:first-child), .leftPanel button { + margin-top: 16px; } .error { - color: red; + color: var(--ctp-frappe-red); +} + +.success { + color: var(--ctp-frappe-blue); } .layout { @@ -35,14 +107,31 @@ body, html { white-space: pre-wrap; } -.leftPanel { - max-width: 200px; +.leftPanel textArea, button.run-wasm, .rightPanel pre { + min-height: 35px; + border: none; + border-radius: 8px; } -.leftPanel textArea { - min-height: 100; +button.run-wasm { + min-height: 16px; + padding: 8px 16px; + margin-left: 16px; + background: var(--ctp-frappe-lavender); } .leftPanel .input { flex: 1; } + +@media (max-width: 600px) { + .centerSplit { + flex-direction: column; + max-height: 100vh; + overflow: scroll; + } + + .rightPanel { + overflow: hidden; + } +}