basic start

This commit is contained in:
Joshua Seigler 2025-04-24 16:26:45 -04:00
parent 3841f530ac
commit 9a4336dacd
6 changed files with 677 additions and 171 deletions

BIN
public/brush-stroke.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,130 +1,203 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
width="410" <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="385px" height="401px" viewBox="0 0 385 401" enable-background="new 0 0 385 401" xml:space="preserve"> <image id="image0" width="385" height="401" x="0" y="0"
height="404" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYEAAAGRCAQAAAAphsc0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
viewBox="0 0 410 404" AAB1MAAA6mAAADqYAAAXcJy6UTwAAAACYktHRAD/h4/MvwAAAAd0SU1FB+kEGBMgOD5UuE8AACsB
fill="none" SURBVHja7V3vdeO6cp/k5PtjB2EHl7eC5avATAVmKlh2YKYCMxWYqcDqQHwVSLcC61ZgbQXKB60s
version="1.1" ywZmMMAMQFL44eS8nLvWYDDEAPMPAEBGxl3j31Iz4IkS/hNqKKGECg7wZ2p2MjLioIAHeIItvMPp
id="svg20" pr2kZiwjQxcFPMAL7L5M/M+tTc1iRoYOKnhCp/61ValZzciQxQO8wJvT5D+3dyhSs5yRIYMaXr5Z
sodipodi:docname="favicon.svg" +y5tl5rxjIxQlPDMWvm/tuwWZywYj7ANmPzZLc5YMAp48jJ8zK1OPZyMDA5KeBGb/Be3uEw9qIwM
inkscape:version="1.1 (c68e22c387, 2021-05-23)" N9TwKjz9L25xkXpoGRkUahHLP7vFGYtEKbD672GEDgbrv3epB5mRYUYRaPvvYYDmw9Ap4Jjd4owl
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ISTys4HW4Oi22S3OWApq76TXBlrEwT1ktzhj/ig8rX988p9RZ7c4Y+5oPMyfA/TOhsyE0OlSDz7j
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 3uGz/m+gYfVRotTq1CLImDd0D0428MKyx3/BBno4sPsZ4dH6b0f404PiveAHAJRQAkDxceKi+Hb2
xmlns="http://www.w3.org/2000/svg" 4gj7L//fBAC/Pv7roqGpAs8sM+QXDDDA0aunAg7wD+u/7uGfnnTXiBJ+QAm1YaL74Ah7OMIeDnCA
xmlns:svg="http://www.w3.org/2000/svg" f6Ue2rxQOp71Orcj9IHRmx6ln93iy+FT36icW3uDV3iCHzkSB1AzHODw6X/GAe2lSy2ShHiAZ9aC
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" JKUMP+/3MGvLENUgtmJQvdapxRIdP+BJtRLLpb3DKzzeW5LyxVk8k6hofhA7z/1ki0v4Ca+CJzBk
xmlns:cc="http://creativecommons.org/ns#" doXn+9gTCucN9yC2KruvdevPFlcJTB7envACD6mFpAl3BehFentkr3XrdYv1XV1JRVjpjuAaA5qC
xmlns:dc="http://purl.org/dc/elements/1.1/"> h1/CT++1rkstJmGcF4LUk9qn7eBxXbty5bge90G9FAGT/9Lq1KISQiUgi9TtHV7W4qG5KcA+aP1/
<metadata EFrtlu8Wh+yCc2zb5S9LbgowBHxyyRsmluwWr23yX9sbUuIyexQO0/PILHy7QueI/fLc4kLonqU5
id="metadata24"> t4WqgUsUyNcAelRc8brUgmNIeKkOr58a1KkFzgU9STdeZsdjUIhv7/A3SxD1g/gtS0to2yV5a/QH
<rdf:RDF> Gjyo+k//I4y/D9fTSjBvt7iE55nld+O252X4az05kJZNs/Gc/ufJfwV2t8SlzdUtXr/V79Levf3H
<cc:Work aGjISVkzKVaen35jVLXK4Zdzc4srz2vl19pe57xTU4HQI9MFLuDZQ0RH9ISxS8Vql1qQH+PXdP6X
rdf:about=""> 297hZ+pPY/tg+OfiKsCjx9o3OZhZowOdJrUwob5Lp9e9bedosOKfjKcApYf5s3E0sgont5jDrTTy
<dc:format>image/svg+xml</dc:format> 2u/S3ucWv8O9AJ4C/GSv/yPLPixn6xbLvqqw/vas9SH4x+dLdMr8gtr5XoECXpna/X8e90vUsCX/
<dc:type ZgP/xZZDCCr4ObP3cNxug6iQSwr0oXQNAl8F8KKmf8LkSId7wYrP9D+jc1hB/kfkDIMLHqFNtq2f
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> J/oejgC/v9PBQ6bl7324/v1/P6Lxf4R/pr+4BY+ytM50nlmb4BQ4aebhFhfwpHysZQ8T9NBDCzXU
<dc:title /> UQOKNTTQw4a4xCC8vafePfGSuN6Zyo4x6IPA5EzvFmtlew8wQQ8d1DOKmtTQwaioDE8pB/eKMDY6
</cc:Work> 0nA9XHOCc9xfBlVCt1j+PbUDbKCf1bQ3oYAGBqd6LW5LltLE7nDeO34OzgUrG9GtnMpmn+AEr+Iy
</rdf:RDF> k53+E/SfHhhZCgpoYXRYghagBG/Ial06UXhirHONOP90TZPMwf4L5FJeE/Rzi4x7oIFB0Dx6jb8U
</metadata> YOt340TBfULIXbB1i41D325joSDznOD5Wal1oRbbESLnczBHeHD6/avz+l8rjiKGWywx/TfQzblE
<sodipodi:namedview LBAFtOirELNUArsR4eIFuMeARuVBabvFodP/CKPDyzrrQOkUrMabvPdmAbYHVA6/dlMA/xPGHLg4
pagecolor="#ffffff" 5H6CDZ3+4+qMHhoF9IFmUSTH2L4H9A6DdFOAfYSN3/0GOnpctwiL/Li8qbZmtEFucgQlsO8BB4cP
bordercolor="#666666" 56YAo/IY+BdPNc60Q6b//s4n/wVhu8GgzZ59D6jJ37pMjqNq0vsBnr3KEtzcYr+jPudRD+u8WdMb
borderopacity="1" IWrQ6rJmm0Ab8pduClAp8V0G1uRQbrF/ubPLcZ/7ROkUuPZdsDxhdx9L4pedA+uuWWUuZK5fxNxi
objecttolerance="10" n5Nu54gPJbd7R+PlGbzrGZQ7S5c9ORCabY0QaOja7zLK2uus1wG6bPc7oYDBQ75KWQLbPQxHojuX
gridtolerance="10" YrhBnFv5grTvbnHptb9MdxjwDEPtsRcMGozYkhc9+iuXQGgrzKnG9D/BrZVZMKqcri2bPn4oPPyC
guidetolerance="10" Rp4J81pO7QH0OtmK8qk1/c/tssHyrf9s+YeiZcaIxO8ILL32ANoNbkV51Jz+5/bqYf1LPSZ776iY
inkscape:pageopacity="0" BhF9UpwJc06gQ1mm1spWjDs/w0S/5ekvCZfiRvcF+hvo4/N7+MPwX/+0HmPeERHa/xbLBDfwPEMz
inkscape:pageshadow="2" 4xcMMGjcdKCAy8H3wvLNjh9f+a/EIxpZbw/8yTlkT6tACXvD1RkH+NMolJ442SmlACW8zPAQyXyn
inkscape:window-width="1920" fwF/wPm+hwoK65SnMMH5/ok9/B39JgdqZn3GHv6U7dycHDOljUpii2qFOHpObuqY2txc3x/wCE/w
inkscape:window-height="1001" qnZP9Ru8whM8RBs159BtJ925OTjVfvs7XNgtu18TqlleQTiX6V/CAzzBNvIbxG/wCj8jVDy5K4F4
id="namedview22" ZKgweuVf6zJwBnsRTn4mn+zfW/hLyuHf5wc8wTb5BY3v8KL8mrC7EogfpjHfHrG7+QxvCEOjAA8+
showgrid="false" F/BqN41j/u4o4AGeZ7grbhUVwV0JxL+MuWpj+Ph37H6GSaD/RnyN28Pw+xIql3qm703uliMfSL3D
inkscape:zoom="0.51361386" rNdelV6QdFWCN/muzdHZBgDwo5UuB2soPAt+mgMM36JJLhes3DbtU852yBYC6rZ3lcC165njTrpj
inkscape:cx="-374.79518" 89Hzs+Nhn0Lh5wEKMQPogLxKw7nRIN2bBPNf+01NPoDtpgQKBdTm0octALIHNIF9VkIr3kh8hoKV
inkscape:cy="145.0506" iO+kRUti6W9QbkXVwDVj3Mt/CPNaubOyMAT2J+EBHGFw2oxdLli5NskPSmEtb1BuBXdPlzdFVZ7W
inkscape:window-x="-9" dev40vaBvXGSIbbpz6nW4fQX593icnVvUPJelcDg8qaoysUM7tET15tGbXgOFjffZeVc7qR9l1m9
inkscape:window-y="-9" SLufbnKvSLoFMUr5T+N6qK0J6uUlUNB7z02XU5Wod4PN42JiPn5tKzQxXYIYg/zncXNFxqA+whTg
inkscape:window-maximized="1" GOCu8kw9/35sKBWf4TvAZGgaLwDQTWYvcPlaKgfraSssLBewDRLuFLjC1KzealG5hqn+57aHCQbo
inkscape:current-layer="g8" oYbacT+soYYaehhgUn8w6dwkLkh3Mcx7wW/0AcoKqwNoh00DieG6XP9yXWNKEYlKRH3Or880QnGX
inkscape:document-rotation="0" ClroYRJ+HOO2vQnwSp8wVrpgBbPCxgC6IQpwFFuT47rFYZb/8fcTHKFc2FFCq/Z6WPgDei7GUGgf
inkscape:pagecheckerboard="0" /> FrHYOqYO12MIUQDJa7l4h/X83eKwB7g30EXNU5fQwkZhV2gD+aJ3bYV6IQC7FeY/oBAFkK7Z4SXK
<path Oo8e/Kf/IfHrM7Xok0lhi8gZdGRISV4mK8xf3/ilap8VQB68+tGaRdt3+u+hT3464YJKVBHClIAO
d="M399.641 59.5246L215.643 388.545C211.844 395.338 202.084 395.378 198.228 388.618L10.5817 59.5563C6.38087 52.1896 12.6802 43.2665 21.0281 44.7586L205.223 77.6824C206.398 77.8924 207.601 77.8904 208.776 77.6763L389.119 44.8058C397.439 43.2894 403.768 52.1434 399.641 59.5246Z" YWx0hGCuq+m8aIVkgked4bGU0r10zu/al8NMn15qPC/ClVYC2nsrdARg0j6fGIlbsts2+ZQGB24P
fill="url(#paint0_linear)" 9F2ai1vsM/2PMM5m5TejgF5kPxgCeChJw7XTGr5ppdwxaXCe4zY18euTPsCrH8UP6/lM/yVdwy7x
id="path2" /> hF7IaKk9W8klBjCXFPSM37s/xqezfuDgucW2cRfs6b/MyxjrYDVovfumg6O11rDNW5B7d6+MNdEe
<defs /mq0hsf0Ur7zwXd9D4t+filMDUKOI1H7wKg3aNPEfHP8iK6Z2Mt7lIOC6Chwbru/5YM//Zdk+tjh
id="defs18"> czX6pfmnGql94F1zyCa30cXDd3WDp09imcRFR4Ozrl354GZ9pxnekOePzjuJ5n8BChUXavSGa9Y/
<linearGradient qsPCcYp0Dn2Fic5vfNgnvO/pf5Gab8C08+yRus9w1ByuOTxaoL95dRCG6fi9PRHSq42PF7Z9v/vp
id="paint0_linear" f0HjtRf4Fx9uCLqqMFnMWLjSxc20Pchtd3watfGFH+M0j7DW/SzJUXqdSPANdFN54kZzqObSss4q
x1="6.00017" GHqlnJBdxGada7rFnPpRl3ZYhetLw88g8pUN7oiPukM1GwuV8W+3pAhwZu3WuaZbLHfCKu1ddPHB
y1="32.9999" f0PSN+vfEVSVYerelCumS9BGsi/7lqfnFtNpeLeW7i66dOAbkr1XP5RLXGsP1GSgDF/+piCNoNGp
x2="235" r05YeC7gHas0tTU7vzj4SlB69YObXb32MAuHXDFlU48Cg23URsg5Vvm1He/E+reBGx8avXrBVW2K
y2="344" Mczv3X6266jwIodFexnbHN3izR2aP1/Bq7ny2wcKgmahP0zTFLna51uUPe7xR7tCuZZo+IiY7xYf
gradientUnits="userSpaceOnUse"> 7tb8+QqeEoxefeCmUKM/SPPa3AIA5Qj7nDu2GyZ6RdRct3jI6/8n8M7jlR49tMTXiADT2nzO+L2h
<stop zNVevW0SDJb3GfsYQl8QOI5x70EfN4W451k8YT5Kgw+98+wLM0zaqCNMuvkuCpyn83yAFzaWcQbJ
stop-color="#41D1FF" tZengL7s9qWmW7yMZznmCvdkWetBHY/bNXGGyLOXQ++htq8qmm4xpypej4+lwjWy5mO44HHHPtYQ
id="stop6" /> ORZfqyhQPbeYVz+qx8cy4R5ZKz2oY8vTFG+QruVREixhAh3URsjLeOrxsUy4Bkg7D9r4HhMNrqZC
<stop pS7QVm2MvESZHh/LhFtkzef2B9wbqOIN0aWmZhTrzb4ma7qjHMc/u8Vf4eYWV2y6uJHazmuIZZTe
offset="1" NN1ijuOf3eJbuHkEnQdl7KsMcQeJD3GM1pteETWvfjS7xbdwCSpMHnSxoHWk9Nh1iJg+lsK9YcHY
stop-color="#BD34FE" Xm2MvPrRQVHaS4RLmrEQphoZ9gkyKvSGuViN2hizW+wPl7BJw6aKu9pV7EHaNqVapTe7R6DnjvLq
id="stop8" /> R7NbfAvalBzYNPHzY03sIZpdxr1af/bpqHe2mJcPz27xLagc0uRBE/seffwhmrelRqk3bDrqucW8
</linearGradient> +tHsFn8GdebXx3rHHOJNikGazBOpFxu/A9tae7Ux8upHBzU+lgjKm6rZFLGA/JRiiGanRy88hU3H
<linearGradient Rq1X3p05rRofywNlSPZsirOKCZ1hjgCHPrZmh30jzG7xHIHvAyObHu5kl2kGadbLVqk3LG+r5xbz
id="paint1_linear" Tsdmt/gK3B+Y2PTwpFudapimlVlvLcTWAT23mFc/mt3iK6TrO2UNKyGYLT69NblPIgTeBYKDGh9L
x1="194.651" A75ul2x6hyRfn4Q5dKi3JmOhsSZJr/FMweUB86RqNrXZhUUvMEdNOqXeMI9A0y3meATZLb4Aq7bq
y1="8.81818" 2NSw+NyUcpi2mpBKqT/MI9B0izn7QHaLz8AuQOnZ1HpU4klhnpR6z2hja0t2i+cF+8q9YdOaYWaA
x2="236.076" Yk5vGmBbYq/WK69+dFDjY0mwLxwTmxZexF6kHuo+6nTEC3KbyKO0tVaNj+XAbgrxTRc8OVanHqot
y2="292.989" haTFGGab67mjvPrR7BYDYHEcLmauArZtSq90DtsW9dxi3rHK7BZjFjwXuOz71AMFsFnoeqVzmEeg
gradientUnits="userSpaceOnUse"> 5xbzjlVmt9g+cbnASy761AMFsE+OQak/vIhNTyTZLeZBznSZuQqkOOWLF7Fp9cp9lqNV4mMpkDto
<stop i0l5k3qYFfrsnp5j2CbplVc/eu9usa3GqmZTwqQ8pR1kATtiGug5qGOSXnnHKu/bLbYtUzWb0oxV
stop-color="#FFEA83" 4NVhGmgdpsHNEj23mHes8p7dYptDXLMpzVYFXCdDp9R/leh2AV796KDGx/wRQwXU36K3gxMpr5R4
id="stop11" /> wOt3GqVeec9y3LNbHEMFklUJleTr85+bnk2MHWvJbnFqmPfLlk1nliqwY62DmjYx5hHoucW8+tF7
<stop dYvNKtCw6cxQBXhHCs+tV+IFr9/Rc4t5MrhPt9gctavZdHDZVvEHxgsMhmi/BD+9mhx4ibJBjY/5
offset="0.0833333" whwwqdl0cMny6QWC5wV8bnqlc/iK3Cj1yjtWeY9u8UpVYEd+6qN1SuqVzmErsqZbzFsCtPiYK1ap
stop-color="#FFDD35" Ai4WcAX22LleogxbkbNbnAYyKlAQUuXSC4KLF9ACAOaktkq84XkKPbeYVz96X26xjApQGSguvQAU
id="stop13" /> Dl7A+PHXNnXRMwfwbHWvJpXsFtuwOhXYkp93f/P3tvVRzxzASxcapV55xyrvyS02q0DBpDIbFaBP
<stop TR2/DM5eSKBlluAeQZpbT2PyMTeYVYALyt+q4wzGJfZRffuVfWr0SnzikzHNracx98F5QUYFKNnW
offset="1" cQazIz9rx2Rfi3F8t9Jzi3nPctyHW2z6+gcRKtFVgA6Fjtbf2pxFvVvn8MnYK/Wa3eLvMH2JiU2F
stop-color="#FFA800" Kk6v9QdCW7p7ZDrbnUWtRBlVzNwo9curH70Ht9g0eScRKlFVoIA3goUj4d7Z3ZlBiWfcc9Er1OBV
id="stop15" /> T63fLd6x7AUb3lOrwAv5KRuSxibgt37APQI9t5hXP7p2t9g05l6ESkQVoNe1wYGKPViptxLiHkGK
</linearGradient> 5wFNbc1usbmwoWdSoc3wWncQ1Ca0Dx6I1opMuaedmsx4xyoHJT7Sw/zNGxEq0VSA2taPDKvaTktr
</defs> RabcUy3RZbf4jEZE6nRKlkuRAVr/Gha9ffRJgOcV9dxiXv3oWt1imfIIOulYaw2AjgQNTIrY6lgp
<path jQKv40xz0df3tk632OwVcUGnHGutAVBG0N6DZhd9ElAegZ5bzEuUrdEtfjeMc2JTocMLtQ77lBFE
d="M292.965 1.5744L156.801 28.2552C154.563 28.6937 152.906 30.5903 152.771 32.8664L144.395 174.33C144.198 177.662 147.258 180.248 150.51 179.498L188.42 170.749C191.967 169.931 195.172 173.055 194.443 176.622L183.18 231.775C182.422 235.487 185.907 238.661 189.532 237.56L212.947 230.446C216.577 229.344 220.065 232.527 219.297 236.242L201.398 322.875C200.278 328.294 207.486 331.249 210.492 326.603L212.5 323.5L323.454 102.072C325.312 98.3645 322.108 94.137 318.036 94.9228L279.014 102.454C275.347 103.161 272.227 99.746 273.262 96.1583L298.731 7.86689C299.767 4.27314 296.636 0.855181 292.965 1.5744Z" 5QLMeEUoapUuUJZ5p9Qv91jloMRHKpivRJ/YdChbRE0FdkS3rQdNyqrrdYaSrNKQVz+6Nre4EfrG
fill="url(#paint1_linear)" tNxqDfapyboRE0mcyYgbdWlexDHxUSnxkQLmOdQxqZQOclMAdUfEwcNur5zundArncMt8/m4xeuB
id="path4" /> 2YavmVTonfSgwfxWfK2mL2G/TkYdUCe70tx//b0VSnzEh3l8JZMKbTts5FmnOu09aL4yJsEgPySn
<g cXVK/fKOVdZKXMSGTdpc0FmBXpp1qiRi70GTZxHrlc5RYd5aqV9O/agWD7FhlvUkREdVYniXnIKI
inkscape:groupmode="layer" C3jXTZ1A0y3cE/3yR+cG92OVnRIHsfFmHN3IpkNnBYRBTdeOTdG+q7SIgaBXOocbJXpuseuxyl6p
id="layer1" /7iwxXE6NqV3Ql57ada3aHcbQYoD4AaClntKRRhSu8WDUv9xIfXKGHWPnLi8cJv16LFC2gyAS1gV
inkscape:label="PWA"> Cxm28l8G5emqBKVKv271o5PSqOPCtvAVTDrShZoEqLI4fmd2s6r66BOrra/YPbqBti+38KhgErnU
<g j05KY44Jmxl0ZFOifahCknG8u4FNz65S/ae/wrwPvdI5tzDlq7AiVA7ZkTUkx2wRwIlNiUos7iXZ
id="g8" xhPRPvngVyutW2Cqp1U6x6ne2cEzPAbsSBU8wpPDZZSXtnzYFL1nU6L260GSbVzfaja9lkELcxT5
transform="matrix(0.15789659,0,0,0.15890333,54.892928,275.21638)"> YnMDN1dxghNs4QWe4AF+IApRwA/4AY/wBM+wte6DRxito1467Itpy6ZFfZFGjm18VRw8xPBuoTUa
<path /xozTGq5YbLE69reWE8PHmH8/eFsK5zWeGPBvrhUTEp0RqmQY3uLdONjBG2tE8BMC3MUtUrneLU7
fill="#3d3d3d" 4e3wMfnPWKsKvFm/PRdUVn0vxzQeqajZ9OzrQGf9DZY60imd41124t+OsIHOsALa+m9VRhsLdnti
fill-opacity="1" w6ZFxYMGObbfRLuxb1975Fd4eFRwsB/weTiWt+qbp/4FNhXoFcYaD/alrBOk5bs4W9Chn7Fg09t5
stroke-width="0.2" soz7I43UcD/Auw6dM/F7aBzSa2tUASyuSEvkK3aopI9STOOVoTWbnn1ijeRvsXVZvnTOxGkPI0zM
stroke-linejoin="round" M78HmGCEHhqmtGwqMAmPMyZ6REpcUMURm+uf/kcQ0x2yzv8v+3NU8GT5l18OG2EHNfxhFcgL/FNO
d="m 1436.62,603.304 56.39,-142.599 h 162.82 L 1578.56,244.39 1675.2,5.28336e-4 1952,734.933 h -204.13 l -47.3,-131.629 z" 8y3oP/VXAQBYpvUejgBwDHLIJvihPJr4eLT+y4ZNqyb+nU/RCOyIpE9NkH3r6p1+j9fRyJawmeIN
id="path2-1" MWFbMZebH8bCKhWbGuWrlTJMYwmxhk1NYhvEU1atzLABwOx7xIR9wiwVb4JmEBWx28uwjDkvGw9q
style="fill:#3e3e3e;fill-opacity:1" /> 9h2lZtDB4wCVzNAhvQrY3f9lAgtnDB708D2gl2Havgf4GEFbK7WJRQcvYpMrnTPtWTFhnzJ1VD6k
<path sEW+WiUoHcGlENsDWjY1zA4smbTwrKBU6VxqFbCvc3VkPiSATdm9Bz08ZH2QYdq+B0xsWlhotffg
fill="#5a0fc8" DXeFfCi6CPkoI1hnyC1A6YHtAZ0HPdwTGCRYlk1iyJpU9DHDWkAC31VgkhAsAzaDr4/MRzhws6Xw
fill-opacity="1" oPiOUqwkmLZP2l5UAK0nf9SDeT5ivcV3t3uSECwD68kPY3vA6EEP//pHCZbte8DBg9rOSm0fwCP1
stroke-width="0.2" YF4ovk/ASUK0QRyc2yYyH6HA94DagyL+7UcJpkdBhjvh4V+haw++JVcBm8cTm49QYHvAwYsifoCr
stroke-linejoin="round" CWfZvgeMbFqYI7wJ5vOoKIr0q68t6qF1r6oO8D2g9aL5hlA8SjA9WokXbFpY7KYM5hQPj4aUzpms
d="M 1262.47,734.935 1558.79,0.00156593 1362.34,0.0025425 1159.64,474.933 1015.5,0.00351906 H 864.499 L 709.731,474.933 600.585,258.517 501.812,562.819 602.096,734.935 h 193.331 l 139.857,-425.91 133.346,425.91 z" zV5CuAzY988lAZ+uhQdF3BMYw1mWPNuJMduLCFjrrbBGjWN3rCE/jB+36r1o4p5AFc60bVJNHrS2
id="path4-4" wvr/HdQrvr6lcyYjpBPh2B215meOAuoS5sKL6g6heNBkumLTwqzATkzM8vecAphd7VqMZzfYK+Jj
style="fill:#2e859c;fill-opacity:1" /> c+ILPIU5CkvlBCJJsV6Q9JumrjrwHLJmmhaCWpRrF9hG1ETnxAfUI0ilF9VW/FvfwLYH+JgtmMXW
<path CAsbzxXzS+fMH48vg1AsOz+8VdgDcO/vEM60bdq2bEqYFTiJC5sKj3Jf7TWvNPGx5PwwdcVJ6Un3
fill="#3d3d3d" HaHZhbNtNl0mD0qYcVIrCJy6krZnUTOtNHsFriksNz9MXcI8etLFswxlKNu2aVR5COBdfPAUJK/U
fill-opacity="1" MH2+SYlvDJLRubjQOtaI0d2Es701Eh6EGfUdPAUqPOr+TJI5xtQr8Y1hqflhKkrXe1PeIVTbULbN
stroke-width="0.2" W4yPI4xFAkY9uZMniVwnTqcjYA/Yzcl5Y4d+B/+cUIlSDYZ50+3EKIUN3g3U9js4UZF5FFoCy8wP
stroke-linejoin="round" U7dy9yqUx1C2zfq1F6MUy5igLsNtSQq21EsKLDE/XBIZ4UMAbWx3CZaIecutPSil2wMA6Be76NI5
d="m 186.476,482.643 h 121.003 c 36.654,0 69.293,-4.091 97.917,-12.273 l 31.293,-96.408 87.459,-269.446 C 517.484,93.9535 509.876,83.9667 501.324,74.5569 456.419,24.852 390.719,4.06265e-4 304.222,4.06265e-4 H -3.8147e-6 V 734.933 H 186.476 Z M 346.642,169.079 c 17.54,17.653 26.309,41.276 26.309,70.871 0,29.822 -7.713,53.474 -23.138,70.956 -16.91,19.425 -48.047,29.137 -93.409,29.137 H 186.476 V 142.598 h 70.442 c 42.277,0 72.185,8.827 89.724,26.481 z" c1Bgr865CfblpE7Cjwu2xCLkzzm2uO7DGTdp7kaYzV5H5l9AbcNU6Zw5sjRG4f07lqYClPQnJdpt
id="path6" KOPmla/0oGTfA3yu4PUDFR7FSucKLRF7Iu1ywgVlBIXFA9807YudkJBlL17xBf1cXmf9rW2lqaJx
style="fill:#3e3e3e;fill-opacity:1" /> f4tl5YcpIyiEayzQOoYybiLup1fYHhATVHLePqV3xr8+RuX+Myatj64Aygg6BFEfPL6mM0wTt/Wg
</g> g+WEfehpCewEttI520qzicz9FcvJD9Mvf9VB9O1m0D6UddPEPXhRkrw9PnxUVHjUVDpnm3BtdP4p
</g> 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
RU5ErkJggg==" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

View file

@ -5,23 +5,17 @@
text-align: center; text-align: center;
} }
.logo { #root::before {
height: 6em; z-index: -1;
padding: 1.5em; content: '';
will-change: filter; position: absolute;
transition: filter 300ms; inset: 0;
} background: gray;
.logo:hover { mask-image: url('brush-stroke.jpg');
filter: drop-shadow(0 0 2em #646cffaa); mask-size: cover;
} mask-repeat: no-repeat;
.logo.solid:hover {
filter: drop-shadow(0 0 2em #61dafbaa);
} }
.card { .prompt {
padding: 2em; font-size: min(3rem, 10vmin);
}
.read-the-docs {
color: #888;
} }

View file

@ -1,34 +1,43 @@
import { createSignal } from 'solid-js' import { createSignal, onMount } from 'solid-js'
import solidLogo from './assets/solid.svg'
import appLogo from '/favicon.svg'
import PWABadge from './PWABadge.tsx'
import './App.css' import './App.css'
import parts from './parts.json'
import PWABadge from './PWABadge'
const pick = (source: string[]) => {
return source[Math.floor(source.length * Math.random())]
}
const getPrompt = () => {
let prompt = ""
do {
prompt += pick(parts.adjective) + ' '
} while (Math.random() > 0.8)
if (Math.random() > 0.5) {
prompt += pick(parts.mod) + ' '
}
while (Math.random() > 0.75) {
prompt += pick(parts.animal) + '/'
}
prompt = prompt.slice(0, -1)
prompt += " " + pick(parts.jobs)
return prompt
}
function App() { function App() {
const [count, setCount] = createSignal(0) const [suggestion, setSuggestion] = createSignal("")
onMount(() => {
setSuggestion(getPrompt())
})
return ( return (
<> <>
<div> <h1>Your Prompt:</h1>
<a href="https://vite.dev" target="_blank"> <div class="prompt">{suggestion()}</div>
<img src={appLogo} class="logo" alt="drawing-prompt logo" /> <button on:click={() => {
</a> setSuggestion(getPrompt())
<a href="https://solidjs.com" target="_blank"> }}>
<img src={solidLogo} class="logo solid" alt="Solid logo" />
</a>
</div>
<h1>drawing-prompt</h1>
<div class="card">
<button onClick={() => setCount((count) => count + 1)}>
count is {count()}
</button> </button>
<p>
Edit <code>src/App.tsx</code> and save to test HMR
</p>
</div>
<p class="read-the-docs">
Click on the Vite and Solid logos to learn more
</p>
<PWABadge /> <PWABadge />
</> </>
) )

View file

@ -20,7 +20,7 @@
.Message { .Message {
margin-bottom: 8px; margin-bottom: 8px;
} }
.Toast-button { .ToastButton {
border: 1px solid #8885; border: 1px solid #8885;
outline: none; outline: none;
margin-right: 5px; margin-right: 5px;

430
src/parts.json Normal file
View file

@ -0,0 +1,430 @@
{
"adjective": [
"agreeable",
"aloof",
"ambitious",
"angry",
"animated",
"antagonistic",
"anxious",
"apprehensive",
"awestruck",
"belligerent",
"calm",
"carefree",
"caring",
"cheerful",
"combative",
"dark",
"defensive",
"dejected",
"eager",
"energetic",
"erratic",
"excited",
"fearful",
"festive",
"friendly",
"fun",
"gloomy",
"glum",
"grateful",
"gregarious",
"heartbroken",
"hopeful",
"hostile",
"idyllic",
"impatient",
"indignant",
"invigorated",
"lighthearted",
"lively",
"lonely",
"loving",
"melancholy",
"mischievous",
"miserable",
"mournful",
"mysterious",
"nervous",
"nostalgic",
"ominous",
"optimistic",
"outgoing",
"overwhelmed",
"passionate",
"peaceful",
"perky",
"pessimistic",
"playful",
"realistic",
"reflective",
"resentful",
"restless",
"romantic",
"sad",
"sentimental",
"serious",
"shy",
"silly",
"solemn",
"strange",
"tender",
"tense",
"thankful",
"transcendent",
"unaffected",
"uneasy",
"unfriendly",
"unstable",
"unsteady",
"vivacious",
"wretched"
],
"mod": [
"plush",
"robot",
"vampire",
"zombie",
"wooden",
"virtual",
"military",
"aquatic",
"ancient",
"future",
"super"
],
"animal": [
"albatross",
"alligator",
"antelope",
"arctic",
"armadillo",
"baboon",
"badger",
"bat",
"beagle",
"bear",
"beaver",
"bison",
"blue whale",
"boar",
"brill",
"buffalo",
"bull",
"camel",
"capybara",
"carp",
"cat",
"chameleon",
"cheetah",
"chihuahua",
"chimpanzee",
"chinchillas",
"cobra",
"cow",
"crab",
"crocodile",
"crow",
"deer",
"dodo",
"dog",
"dolphin",
"donkey",
"duck",
"eagle",
"eel",
"elephant",
"elk",
"emu",
"fish",
"flamingo",
"fox",
"frog",
"frog",
"giant",
"giraffe",
"goat",
"goose",
"gorilla",
"haddock",
"hammerhead",
"hamster",
"hare",
"hawk",
"hedgehog",
"hen",
"hermit",
"herring",
"hippopotamus",
"horse",
"ibex",
"iguana",
"jackal",
"jaguar",
"jellyfish",
"kangaroo",
"koala",
"lemur",
"leopard",
"lion",
"lizard",
"llama",
"lynx",
"mammoth",
"meerkat",
"mole",
"monkey",
"mouse",
"mule",
"newt",
"orangutan",
"ostrich",
"otter",
"owl",
"panda",
"panther",
"peacock",
"pigeon",
"pike",
"porcupine",
"possum",
"pufferfish",
"rabbit",
"racoon",
"rat",
"rhinoceros",
"salamander",
"salmon",
"sardines",
"shark",
"sheep",
"sloth",
"snake",
"squirrel",
"swan",
"tiger",
"toad",
"tortoise",
"tuna",
"turtle",
"vulture",
"whale",
"wolf",
"wombat",
"zebra"
],
"jobs": [
"accountant",
"actor",
"actuary",
"administrator",
"advertising manager",
"aerospace engineer",
"agent",
"agricultural engineer",
"air traffic controller",
"anthropologist",
"archeologist",
"architect",
"art director",
"astronomer",
"athlete",
"auditor",
"baker",
"banking analyst",
"barista",
"bartender",
"bioinformatics scientist",
"biologist",
"biomedical engineer",
"blacksmiths",
"board member",
"broker",
"business analyst",
"buyer",
"naval captain",
"carpenter",
"cashier",
"chef",
"chemical engineer",
"chemist",
"chief executive",
"childcare worker",
"choreographer",
"civil engineer",
"cleaner",
"clergy",
"compliance manager",
"computer scientist",
"concierge",
"conservation worker",
"construction manager",
"construction worker",
"consultant",
"cook",
"copywriter",
"cosmetologist",
"courier",
"craftsperson",
"curator",
"customer experience designer",
"customer service",
"data analyst",
"data architect",
"data scientist",
"database administrator",
"dental assistant",
"dentist",
"development manager",
"director",
"ecommerce seller",
"economist",
"electrical engineer",
"electrician",
"emergency medical technician",
"energy engineer",
"engineer",
"entrepreneur",
"environmental engineer",
"environmental science",
"epidemiologist",
"equipment operator",
"event planner",
"executive management",
"farmer",
"fashion designer",
"financial analyst",
"financial controller",
"financial manager",
"firefighter",
"fishery worker",
"fitness trainer",
"flight attendant",
"floral designer",
"forestry worker",
"funeral attendant",
"game designer",
"gardener",
"general manager",
"geographer",
"government worker",
"hair stylist",
"health educator",
"homemaker",
"hotel manager",
"human resources",
"import/export specialist",
"industrial designer",
"information designer",
"information scientist",
"information technology manager",
"installation & maintenance worker",
"interpreter",
"journalist",
"laboratory technician",
"laborer",
"landscape architect",
"landscaping",
"lawyer",
"legal secretary",
"librarian",
"lifeguard",
"logistics engineer",
"management consultant",
"manicurist",
"manufacturing engineer",
"manufacturing worker",
"marketing analyst",
"marketing manager",
"mathematician",
"mechanical engineer",
"medical administrator",
"medical assistant",
"medical technician",
"medical technologist",
"mental health counselor",
"midwife",
"miner",
"musician",
"nanny",
"network administrator",
"nurse",
"occupational health & safety specialist",
"occupational therapist",
"office clerk",
"operations analyst",
"operations manager",
"optometrist",
"performance artist",
"personal care aid",
"pharmacist",
"photographer",
"physician",
"physicist",
"pilot",
"plumber",
"police officer",
"politician",
"producer",
"product designer",
"production manager",
"professor",
"program manager",
"project manager",
"promotion manager",
"property manager",
"public relations",
"purchasing manager",
"quality assurance manager",
"quality control analyst",
"railroad engineer",
"reporter",
"researcher",
"restaurant manager",
"rigger",
"robotics engineer",
"sales engineer",
"sales manager",
"salesperson",
"scientist",
"service attendant",
"service manager",
"shop salesperson",
"small business owner",
"social worker",
"sociologist",
"software architect",
"software developer",
"solar energy technician",
"space scientist",
"statistician",
"steel worker",
"stonemason",
"supervisor",
"surgeon",
"surveyor",
"system administrator",
"systems analyst",
"tailor",
"teacher",
"technical support",
"technical writer",
"technician",
"technology architect",
"testing engineer",
"tour guide",
"translator",
"transportation engineer",
"truck driver",
"tutor",
"urban designer",
"veterinarian",
"visual designer",
"waiter",
"web developer",
"wind energy engineer",
"writer",
"zoologist"
]
}