fix: removed collage
fix: removing collage feat: added ingredient type to server for testing and a config" chore: setup deno server package
This commit is contained in:
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1,3 +1,6 @@
|
||||
node_modules
|
||||
dist
|
||||
.idea
|
||||
frontend/dist
|
||||
frontend/node_modules
|
||||
.idea
|
||||
config.json
|
||||
pizza-collage
|
||||
27
frontend/src/StoccaTreRoot/index.tsx
Normal file
27
frontend/src/StoccaTreRoot/index.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
import { h, Rung } from "@djledda/ladder";
|
||||
import StoccaTreLogo from "@/assets/stocca-tre-logo.svg";
|
||||
import "./stocca-tre-root.scss";
|
||||
|
||||
export default class StoccaTreRoot extends Rung {
|
||||
constructor() {
|
||||
super({});
|
||||
}
|
||||
|
||||
build(): Node {
|
||||
return <div className={"stocca-tre-root"}>
|
||||
<header className={"headstock"}>
|
||||
<div>
|
||||
<img className={"logo"} alt={"Stocca Tre Pizzera"} src={StoccaTreLogo} />
|
||||
</div>
|
||||
<ul className={"tabs"}>
|
||||
<li>
|
||||
Bestellen
|
||||
</li>
|
||||
<li>
|
||||
Abstimmung Nächste Runde
|
||||
</li>
|
||||
</ul>
|
||||
</header>
|
||||
</div>;
|
||||
}
|
||||
}
|
||||
29
frontend/src/StoccaTreRoot/stocca-tre-root.scss
Normal file
29
frontend/src/StoccaTreRoot/stocca-tre-root.scss
Normal file
@@ -0,0 +1,29 @@
|
||||
.stocca-tre-root {
|
||||
.headstock {
|
||||
width: 1200px;
|
||||
text-align: center;
|
||||
background-color: var(--bg-color);
|
||||
height: 100%;
|
||||
margin: auto;
|
||||
|
||||
.logo {
|
||||
margin: 20px auto auto auto;
|
||||
--height: 100px;
|
||||
padding: calc(0.2 * var(--height));
|
||||
height: var(--height);
|
||||
}
|
||||
|
||||
ul.tabs {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
li {
|
||||
flex: 1;
|
||||
padding: 20px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
131
frontend/src/assets/stocca-tre-logo.svg
Normal file
131
frontend/src/assets/stocca-tre-logo.svg
Normal file
@@ -0,0 +1,131 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="160.47701mm"
|
||||
height="53.365002mm"
|
||||
viewBox="0 0 160.47701 53.365002"
|
||||
version="1.1"
|
||||
id="svg31154"
|
||||
inkscape:version="1.1.2 (08b2f3d93c, 2022-04-05)"
|
||||
sodipodi:docname="stocca-tre-logo.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview31156"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.5037598"
|
||||
inkscape:cx="274.97743"
|
||||
inkscape:cy="122.02747"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs31151" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="Ebene_1-2"
|
||||
data-name="Ebene 1"
|
||||
transform="matrix(0.47008949,0,0,0.47008949,0,12.066247)">
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 29.34,31.29 a 16.54,16.54 0 0 0 -4.9,-2.05 c -1.78,-0.45 -3.63,-0.82 -5.5,-1.11 -1.87,-0.29 -3.35,-0.64 -4.55,-1 A 11.52,11.52 0 0 1 11.58,26 4,4 0 0 1 10.2,24.5 5.71,5.71 0 0 1 9.81,22.27 a 5.4,5.4 0 0 1 0.39,-2.06 4.51,4.51 0 0 1 1.28,-1.66 6.26,6.26 0 0 1 2.17,-1.19 10.39,10.39 0 0 1 3.22,-0.45 9.54,9.54 0 0 1 5.94,1.63 5.31,5.31 0 0 1 2.19,4.13 v 0.53 h 7.93 V 22.64 A 11.37,11.37 0 0 0 28.45,13.51 15.86,15.86 0 0 0 23.33,10.89 21.5,21.5 0 0 0 16.87,10 a 20.75,20.75 0 0 0 -6.5,0.94 13.59,13.59 0 0 0 -4.69,2.64 10.85,10.85 0 0 0 -2.83,3.95 12.36,12.36 0 0 0 -1,4.84 11.12,11.12 0 0 0 1.21,5.41 10.87,10.87 0 0 0 3.25,3.66 16.68,16.68 0 0 0 4.69,2.2 40.08,40.08 0 0 0 5.47,1.2 c 1.56,0.26 3,0.55 4.2,0.87 a 10.8,10.8 0 0 1 3,1.12 4.93,4.93 0 0 1 1.79,1.68 A 4.49,4.49 0 0 1 26.07,41 5.15,5.15 0 0 1 24,45.34 C 22.54,46.41 20.35,47 17.47,47 a 14.17,14.17 0 0 1 -4.17,-0.56 9.5,9.5 0 0 1 -3,-1.6 6.71,6.71 0 0 1 -1.82,-2.29 7.15,7.15 0 0 1 -0.66,-2.9 V 39.1 L 0,39 v 0.56 a 13.7,13.7 0 0 0 1.07,5.29 13.22,13.22 0 0 0 3.31,4.49 16.55,16.55 0 0 0 5.47,3.15 22.31,22.31 0 0 0 7.58,1.18 26,26 0 0 0 6.7,-0.81 15.62,15.62 0 0 0 5.32,-2.45 11.64,11.64 0 0 0 3.55,-4.1 12.79,12.79 0 0 0 1.24,-5.74 10.88,10.88 0 0 0 -1.34,-5.66 10.66,10.66 0 0 0 -3.56,-3.62 z"
|
||||
id="path36565" />
|
||||
<path
|
||||
id="polygon36567"
|
||||
class="cls-1"
|
||||
d="M 68.5,11.14 H 54.56 V 0 h -8.03 v 11.14 h -8.97 v 7.48 h 8.97 v 33.93 h 8.03 V 18.62 H 68.5 Z" />
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 109.73,23.41 a 21.22,21.22 0 0 0 -11.48,-11.59 22.55,22.55 0 0 0 -17.18,0 21.31,21.31 0 0 0 -11.44,11.63 23,23 0 0 0 0,17.06 22.28,22.28 0 0 0 4.55,6.94 21.39,21.39 0 0 0 15.49,6.35 21.62,21.62 0 0 0 15.48,-6.35 22,22 0 0 0 4.59,-6.94 22.4,22.4 0 0 0 1.66,-8.51 22.1,22.1 0 0 0 -1.67,-8.59 z m -7.48,14.06 a 13.29,13.29 0 0 1 -2.88,4.44 13.68,13.68 0 0 1 -4.31,3 14.18,14.18 0 0 1 -10.73,0 14.43,14.43 0 0 1 -4.34,-3 14.15,14.15 0 0 1 -3.91,-10 14.52,14.52 0 0 1 1,-5.48 13.79,13.79 0 0 1 2.92,-4.38 13.69,13.69 0 0 1 9.7,-4.05 13.15,13.15 0 0 1 5.36,1.11 12.85,12.85 0 0 1 4.31,3 13.48,13.48 0 0 1 2.89,4.44 14.68,14.68 0 0 1 0,11 z"
|
||||
id="path36569" />
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 149.77,38.11 a 12.46,12.46 0 0 1 -1.92,3.28 12.86,12.86 0 0 1 -2.76,2.46 13.91,13.91 0 0 1 -3.41,1.55 13.46,13.46 0 0 1 -13.19,-3.33 14.13,14.13 0 0 1 -3,-4.41 14.45,14.45 0 0 1 -1.1,-5.7 14.14,14.14 0 0 1 1.1,-5.66 13.68,13.68 0 0 1 7.25,-7.3 13.84,13.84 0 0 1 8.83,-0.53 12.6,12.6 0 0 1 3.29,1.44 11.81,11.81 0 0 1 2.69,2.31 11.21,11.21 0 0 1 1.95,3 l 0.15,0.33 h 8.45 l -0.2,-0.71 a 18.7,18.7 0 0 0 -2.8,-5.93 19.48,19.48 0 0 0 -4.51,-4.68 20.67,20.67 0 0 0 -5.89,-3 21.51,21.51 0 0 0 -6.93,-1.1 21.1,21.1 0 0 0 -8.48,1.71 21.37,21.37 0 0 0 -6.77,4.66 22,22 0 0 0 -4.54,7 22.34,22.34 0 0 0 -1.62,8.5 22.66,22.66 0 0 0 1.64,8.51 22.09,22.09 0 0 0 4.54,6.93 21.75,21.75 0 0 0 6.81,4.67 21.11,21.11 0 0 0 8.44,1.7 22,22 0 0 0 7.09,-1.13 20,20 0 0 0 6,-3.13 19.44,19.44 0 0 0 4.52,-4.84 19.76,19.76 0 0 0 2.6,-6.27 l 0.15,-0.68 h -8.23 z"
|
||||
id="path36571" />
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 194.94401,38.11 a 12.46,12.46 0 0 1 -1.92,3.28 12.86,12.86 0 0 1 -2.76,2.46 13.91,13.91 0 0 1 -3.41,1.55 13.46,13.46 0 0 1 -13.19,-3.33 14.13,14.13 0 0 1 -3,-4.41 14.45,14.45 0 0 1 -1.1,-5.7 14.14,14.14 0 0 1 1.1,-5.66 13.68,13.68 0 0 1 7.25,-7.3 13.84,13.84 0 0 1 8.83,-0.53 12.6,12.6 0 0 1 3.29,1.44 11.81,11.81 0 0 1 2.69,2.31 11.21,11.21 0 0 1 1.95,3 l 0.15,0.33 h 8.45 l -0.2,-0.71 a 18.7,18.7 0 0 0 -2.8,-5.93 19.48,19.48 0 0 0 -4.51,-4.68 20.67,20.67 0 0 0 -5.89,-3 21.51,21.51 0 0 0 -6.93,-1.1 21.1,21.1 0 0 0 -8.48,1.71 21.37,21.37 0 0 0 -6.77,4.66 22,22 0 0 0 -4.54,7 22.34,22.34 0 0 0 -1.62,8.5 22.66,22.66 0 0 0 1.64,8.51 22.09,22.09 0 0 0 4.54,6.93 21.75,21.75 0 0 0 6.81,4.67 21.11,21.11 0 0 0 8.44,1.7 22,22 0 0 0 7.09,-1.13 20,20 0 0 0 6,-3.13 19.44,19.44 0 0 0 4.52,-4.84 19.76,19.76 0 0 0 2.6,-6.27 l 0.15,-0.68 h -8.23 z"
|
||||
id="path36571-3" />
|
||||
<g
|
||||
aria-label="a"
|
||||
id="text2064"
|
||||
style="font-size:108.065px;line-height:1.25;stroke-width:0.562836"
|
||||
transform="matrix(0.99399311,0,0,0.99399311,-0.99617961,0.06084596)">
|
||||
<path
|
||||
d="m 229.19684,53.81046 q -8.5682,0 -14.44834,-6.384154 -5.79614,-6.384153 -5.79614,-15.456371 0,-9.072218 5.79614,-15.456371 5.88014,-6.384153 14.44834,-6.384153 4.28411,0 7.8962,1.932047 3.61208,1.848043 5.54413,4.536108 v -5.628135 h 9.24022 V 52.97044 h -9.24022 v -5.628136 q -1.93205,2.688065 -5.54413,4.620111 -3.61209,1.848045 -7.8962,1.848045 z m -7.30817,-12.264296 q 3.52809,3.864093 8.98821,3.864093 5.46014,0 8.98822,-3.864093 3.52809,-3.864092 3.52809,-9.576229 0,-5.712137 -3.52809,-9.57623 -3.52808,-3.864093 -8.98822,-3.864093 -5.46012,0 -8.98821,3.864093 -3.52809,3.864093 -3.52809,9.57623 0,5.712137 3.52809,9.576229 z"
|
||||
style="font-family:'Euclid Circular A';-inkscape-font-specification:'Euclid Circular A';stroke-width:0.437509"
|
||||
id="path13083" />
|
||||
</g>
|
||||
<g
|
||||
aria-label="tre"
|
||||
id="text14273"
|
||||
style="font-size:95.5532px;line-height:1.25;opacity:0.99;fill:#aa0000;stroke-width:0.995345">
|
||||
<path
|
||||
d="m 280.50928,10.355578 c -7.26204,4.395447 -10.31974,5.924298 -11.65749,5.924298 -1.24219,0 -2.77104,-2.38883 -2.77104,-4.491 0,-1.337745 0.0956,-1.624405 2.19772,-10.7019587 0.47777,-1.71995761 0.85998,-3.5354684 1.24219,-5.3509792 0.0956,-0.2866596 0.47777,-1.8155108 0.66888,-2.6754896 3.24881,-0.095553 6.21095,-0.2866596 9.45976,-0.477766 l 3.63103,-2.7710425 h -12.23081 c 0.47776,-2.197724 0.66887,-2.866596 0.95553,-4.299894 0.28666,-0.955532 0.95553,-3.535469 2.29327,-8.695341 l 0.57332,-2.484384 -1.6244,0.859979 c -0.57332,0.191107 -1.33775,0.573319 -2.38883,1.051085 -0.66887,0.382213 -1.4333,0.668873 -2.19772,1.051086 -0.38222,0.191106 -0.76443,0.382212 -1.33775,0.573319 l -0.85998,3.917681 -1.05108,4.586554 -0.76443,3.439915 c -0.85998,0.09555 -1.4333,0.09555 -1.71996,0.09555 h -2.29327 c -0.19111,0 -0.66888,0 -1.4333,0.095553 -0.47777,0.2866596 -0.85998,0.5733192 -0.95553,0.5733192 -0.28666,0.1911064 -0.85998,0.6688724 -1.81551,1.433298 -0.19111,0.095553 -0.66888,0.5733192 -1.4333,1.0510852 h 2.29328 4.39544 2.10217 l -0.95553,4.2043408 c -4.10879,16.9129167 -4.10879,16.9129167 -4.10879,19.9706187 0,3.057702 2.00662,6.402064 3.82213,6.402064 2.10217,0 8.59979,-3.917681 17.7729,-10.893064 z"
|
||||
style="font-family:Z003;-inkscape-font-specification:Z003;opacity:0.99"
|
||||
id="path836" />
|
||||
<path
|
||||
d="m 286.24231,23.350813 7.3576,-2.771043 7.16649,-27.2326619 c 3.2488,-2.4843832 5.44653,-3.344362 8.02646,-3.344362 2.10217,0 3.34437,0.7644256 5.06432,2.9621492 l 2.8666,-9.0775543 c -1.71996,-0.573319 -2.57994,-0.764425 -3.53547,-0.764425 -1.81551,0 -3.72657,0.859979 -6.30651,2.675489 -1.24219,0.955532 -2.48438,1.911064 -3.82213,2.771043 -0.57332,0.477766 -1.24219,0.955532 -1.81551,1.337745 l 1.14664,-5.733192 c 0,-0.573319 -0.57332,-1.051085 -1.24219,-1.051085 -1.24219,0 -9.65088,4.108787 -15.47962,7.5487025 l -0.28666,2.5799364 c 5.54209,-2.6754896 5.63764,-2.7710428 6.87983,-2.7710428 1.24219,0 1.81551,0.6688724 1.81551,2.0066172 0,1.3377448 -0.95553,5.733192 -2.10217,9.9375328 z"
|
||||
style="font-family:Z003;-inkscape-font-specification:Z003;opacity:0.99"
|
||||
id="path838" />
|
||||
<path
|
||||
d="m 341.37639,9.3044925 c -7.64426,6.4976175 -11.75305,8.8864475 -15.38407,8.8864475 -2.48438,0 -4.39545,-1.624404 -5.06432,-4.108788 -0.38221,-1.528851 -0.47777,-2.579936 -0.47777,-5.3509787 4.39545,-2.7710428 7.07094,-4.6821068 12.70858,-8.88644761 5.25543,-3.91768119 7.16649,-7.07093679 7.16649,-11.37083069 0,-3.344362 -2.00662,-5.350979 -5.44653,-5.350979 -2.10217,0 -3.53547,0.477766 -5.82875,1.719957 -3.63102,2.102171 -6.87983,4.682107 -8.79089,6.9753839 -3.63102,4.3954472 -6.87983,14.9062992 -6.87983,22.6461081 0,5.637639 2.96215,9.173107 7.83536,9.173107 5.63764,0 12.89968,-4.20434 20.06617,-11.561937 z m -20.6395,-4.0132344 c 1.62441,-10.3197456 5.9243,-18.1551081 10.12864,-18.1551081 1.52885,0 2.57994,1.528851 2.57994,3.9176813 0,4.77766 -2.77104,7.8353624 -12.70858,14.2374268 z"
|
||||
style="font-family:Z003;-inkscape-font-specification:Z003;opacity:0.99"
|
||||
id="path840" />
|
||||
</g>
|
||||
<g
|
||||
aria-label="pizzeria"
|
||||
id="text22454"
|
||||
style="font-size:30.9149px;line-height:1.25;font-family:Chilanka;-inkscape-font-specification:Chilanka;stroke-width:0.77287">
|
||||
<path
|
||||
d="m 114.79243,82.009955 q -1.453,0 -2.81326,-0.680128 -1.32934,-0.680128 -2.0713,-1.823979 l 0.18549,-0.896532 v 9.243555 h -2.84417 V 68.716548 h 2.4732 l 0.40189,3.276979 -0.30915,-0.896532 q 0.92745,-1.174766 2.34953,-1.947639 1.42209,-0.772872 3.18424,-0.772872 1.79306,0 3.21515,0.865617 1.453,0.865617 2.2877,2.411362 0.8347,1.545745 0.8347,3.617044 0,2.071298 -0.89653,3.586128 -0.89653,1.51483 -2.47319,2.349532 -1.54575,0.803788 -3.5243,0.803788 z m -0.55647,-2.287703 q 1.2366,0 2.25679,-0.556468 1.05111,-0.587383 1.6694,-1.57666 0.6183,-1.020192 0.6183,-2.287703 0,-1.298425 -0.58738,-2.287702 -0.58739,-1.020192 -1.57666,-1.607575 -0.95836,-0.587383 -2.16404,-0.587383 -1.11294,0 -2.00947,0.432809 -0.89654,0.432808 -1.48392,1.205681 -0.58738,0.741957 -0.8347,1.731234 v 2.133128 q 0.15457,0.989277 0.74196,1.762149 0.58738,0.772873 1.453,1.205681 0.89653,0.432809 1.91672,0.432809 z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path843" />
|
||||
<path
|
||||
d="m 125.58168,68.902037 h 2.87509 v 12.798769 h -2.87509 z m -0.2164,-4.637235 q 0,-0.680128 0.52555,-1.143851 0.55647,-0.463724 1.20568,-0.463724 0.64922,0 1.14385,0.463724 0.52556,0.463723 0.52556,1.143851 0,0.711043 -0.52556,1.174766 -0.49463,0.432809 -1.14385,0.432809 -0.64921,0 -1.20568,-0.463724 -0.52555,-0.463723 -0.52555,-1.143851 z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path845" />
|
||||
<path
|
||||
d="m 134.60882,71.25157 q -0.95836,0 -1.63849,-0.587384 -0.68012,-0.587383 -0.68012,-1.762149 v -1.205681 h 2.19495 v 0.401894 q 0,0.494638 0.24732,0.649213 0.24732,0.154574 0.80379,0.154574 h 8.19245 l -7.6669,11.036619 -0.55646,-0.618298 h 8.13061 v 2.380448 h -11.8404 l 7.82147,-11.253024 0.49464,0.803788 z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path847" />
|
||||
<path
|
||||
d="m 148.9224,71.25157 q -0.95836,0 -1.63849,-0.587384 -0.68012,-0.587383 -0.68012,-1.762149 v -1.205681 h 2.19495 v 0.401894 q 0,0.494638 0.24732,0.649213 0.24732,0.154574 0.80379,0.154574 h 8.19245 l -7.6669,11.036619 -0.55646,-0.618298 h 8.13061 v 2.380448 h -11.8404 l 7.82147,-11.253024 0.49464,0.803788 z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path849" />
|
||||
<path
|
||||
d="m 167.99688,82.009955 q -2.19496,0 -3.77162,-0.865618 -1.57666,-0.896532 -2.44228,-2.411362 -0.8347,-1.545745 -0.8347,-3.524298 0,-1.885809 0.95836,-3.431554 0.95836,-1.545745 2.56594,-2.473192 1.60757,-0.927447 3.58613,-0.927447 2.53502,0 4.20442,1.483915 1.66941,1.483915 2.25679,4.080767 l -10.54198,3.709788 -0.68013,-1.70032 8.65617,-3.153319 -0.61829,0.401893 q -0.37098,-1.020191 -1.2366,-1.762149 -0.86562,-0.772873 -2.25679,-0.772873 -1.17476,0 -2.10221,0.587384 -0.92745,0.556468 -1.453,1.545745 -0.52555,0.989276 -0.52555,2.256787 0,1.329341 0.55646,2.349533 0.55647,0.989276 1.51483,1.576659 0.98928,0.556469 2.22588,0.556469 0.8347,0 1.60757,-0.309149 0.80379,-0.309149 1.48392,-0.803788 l 1.32934,2.133128 q -0.95836,0.649213 -2.16405,1.051107 -1.17476,0.401894 -2.31861,0.401894 z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path851" />
|
||||
<path
|
||||
d="m 180.70286,68.902037 0.27823,3.709788 -0.15457,-0.494638 q 0.49463,-1.174766 1.42208,-1.978554 0.95836,-0.834702 1.97855,-1.267511 1.05111,-0.463723 1.82398,-0.463723 l -0.15457,2.844171 q -1.453,-0.09275 -2.56594,0.556468 -1.08202,0.649213 -1.73123,1.731234 -0.6183,1.082022 -0.6183,2.318618 v 5.842916 h -2.84417 V 68.902037 Z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path853" />
|
||||
<path
|
||||
d="m 189.7609,68.902037 h 2.87509 v 12.798769 h -2.87509 z m -0.2164,-4.637235 q 0,-0.680128 0.52555,-1.143851 0.55647,-0.463724 1.20568,-0.463724 0.64922,0 1.14386,0.463724 0.52555,0.463723 0.52555,1.143851 0,0.711043 -0.52555,1.174766 -0.49464,0.432809 -1.14386,0.432809 -0.64921,0 -1.20568,-0.463724 -0.52555,-0.463723 -0.52555,-1.143851 z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path855" />
|
||||
<path
|
||||
d="m 202.93064,82.009955 q -1.79307,0 -3.27698,-0.772873 -1.453,-0.772872 -2.31862,-2.256788 -0.8347,-1.51483 -0.8347,-3.678873 0,-2.133128 0.89653,-3.678873 0.89653,-1.57666 2.38045,-2.411362 1.51483,-0.834702 3.30789,-0.834702 1.79307,0 3.02966,0.834702 1.2366,0.803788 1.88581,1.916724 l -0.18549,0.494638 0.27824,-2.720511 h 2.65868 v 12.798769 h -2.87509 v -3.33881 l 0.30915,0.741958 q -0.12366,0.309149 -0.55647,0.803787 -0.40189,0.463724 -1.11293,0.958362 -0.68013,0.494639 -1.57666,0.834703 -0.89653,0.309149 -2.00947,0.309149 z m 0.77287,-2.380448 q 1.08202,0 1.94764,-0.401893 0.86562,-0.401894 1.42209,-1.112937 0.58738,-0.741957 0.80378,-1.762149 v -2.504107 q -0.24732,-0.927447 -0.86561,-1.607575 -0.6183,-0.711042 -1.48392,-1.082021 -0.86562,-0.401894 -1.91672,-0.401894 -1.14385,0 -2.10222,0.556468 -0.95836,0.556469 -1.54574,1.545745 -0.55647,0.989277 -0.55647,2.318618 0,1.236596 0.58738,2.256787 0.58739,1.020192 1.57666,1.607575 0.98928,0.587383 2.13313,0.587383 z"
|
||||
style="font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans'"
|
||||
id="path857" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 15 KiB |
10
frontend/src/global.scss
Normal file
10
frontend/src/global.scss
Normal file
@@ -0,0 +1,10 @@
|
||||
:root {
|
||||
--bg-color: #e8e2e2;
|
||||
--red-deep: #aa0000;
|
||||
--red-shallow: #ec563f;
|
||||
}
|
||||
|
||||
html, body {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import { bootstrap } from '@djledda/ladder';
|
||||
import StoccaTreRoot from './StoccaTreRoot';
|
||||
import './global.scss';
|
||||
|
||||
bootstrap(new StoccaTreRoot(), "root");
|
||||
34
server/Ingredient.ts
Normal file
34
server/Ingredient.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { StoccaTreDbConn, WithoutId } from "./database.ts";
|
||||
|
||||
export type Ingredient = {
|
||||
id: number,
|
||||
name: string,
|
||||
displayName: string,
|
||||
displayNameDE: string,
|
||||
};
|
||||
|
||||
export default class IngredientService {
|
||||
private dbConnection: StoccaTreDbConn;
|
||||
private mapById: Map<number, Ingredient> = new Map<number, Ingredient>();
|
||||
private allGotten = false;
|
||||
|
||||
constructor(database: StoccaTreDbConn) {
|
||||
this.dbConnection = database;
|
||||
}
|
||||
|
||||
async addIngredient(ingredient: WithoutId<Ingredient>): Promise<any> {
|
||||
const result = await this.dbConnection.query<any>(
|
||||
`INSERT INTO ingredients (id, name, displayName, displayNameDE) VALUES (NULL, '${ingredient.name}', '${ingredient.displayName}', '${ingredient.displayNameDE}');`
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
||||
async getAllIngredients(): Promise<IterableIterator<Ingredient>> {
|
||||
if (!this.allGotten) {
|
||||
const result = await this.dbConnection.query<Ingredient[]>("SELECT * FROM ingredients");
|
||||
result.forEach((ingredient) => this.mapById.set(ingredient.id, ingredient));
|
||||
this.allGotten = true;
|
||||
}
|
||||
return this.mapById.values();
|
||||
}
|
||||
}
|
||||
16
server/database.ts
Normal file
16
server/database.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { Client } from "https://deno.land/x/mysql/mod.ts";
|
||||
import dbconfig from "./config.json" assert { type: "json" };
|
||||
|
||||
export type WithoutId<T> = Omit<T, "id">;
|
||||
export interface StoccaTreDbConn {
|
||||
query<T>(query: string): Promise<T>;
|
||||
}
|
||||
export default async function createNewDbConnection(): Promise<StoccaTreDbConn> {
|
||||
return await new Client().connect({
|
||||
hostname: dbconfig.hostname,
|
||||
username: dbconfig.username,
|
||||
db: "stocca_tre",
|
||||
password: dbconfig.password,
|
||||
});
|
||||
}
|
||||
|
||||
25
server/main.ts
Normal file
25
server/main.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import createNewDbConnection from "./database.ts";
|
||||
import IngredientService from "./Ingredient.ts";
|
||||
|
||||
const server = Deno.listen({ port: 8080 });
|
||||
|
||||
console.log(`HTTP webserver running. Access it at: http://localhost:8080/`);
|
||||
|
||||
const database = await createNewDbConnection();
|
||||
const ingredientService = new IngredientService(database);
|
||||
|
||||
for await (const conn of server) {
|
||||
serveHttp(conn);
|
||||
}
|
||||
|
||||
async function serveHttp(conn: Deno.Conn) {
|
||||
const httpConn = Deno.serveHttp(conn);
|
||||
|
||||
for await (const requestEvent of httpConn) {
|
||||
const body = [];
|
||||
for (const ingredient of (await ingredientService.getAllIngredients())) {
|
||||
body.push(ingredient);
|
||||
}
|
||||
requestEvent.respondWith(Response.json(body, { status: 200 }));
|
||||
}
|
||||
}
|
||||
10
server/package.json
Normal file
10
server/package.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "stocca-tre-server",
|
||||
"version": "0.0.1",
|
||||
"scripts": {
|
||||
"start": "deno run --allow-net main.ts"
|
||||
},
|
||||
"description": "Backend for StoccaTre",
|
||||
"author": "Daniel Ledda",
|
||||
"license": "MIT"
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
import { h, Rung } from "@djledda/ladder";
|
||||
import StoccaTreLogo from "@/assets/stocca-tre-logo.svg";
|
||||
import "./stocca-tre-root.scss";
|
||||
|
||||
export default class StoccaTreRoot extends Rung {
|
||||
constructor() {
|
||||
super({});
|
||||
}
|
||||
|
||||
build(): Node {
|
||||
return <div className={"stocca-tre-root"}>
|
||||
<img alt={"Stocca Tre Pizzera"} src={StoccaTreLogo} />
|
||||
<p>Die Pizzeria im dritten Stock.</p>
|
||||
<hr></hr>
|
||||
<h3>
|
||||
Pizza-Bestellungen:
|
||||
</h3>
|
||||
<em className={"no-pizza"}>
|
||||
Keine Pizzen aktuell verfügbar!!!!!
|
||||
Später mal wieder vorbeischauen. Die Pizzen müssen ja noch lange gehen...
|
||||
</em>
|
||||
</div>;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
.stocca-tre-root {
|
||||
.no-pizza {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="160.47701mm"
|
||||
height="53.365002mm"
|
||||
viewBox="0 0 160.47701 53.365002"
|
||||
version="1.1"
|
||||
id="svg31154"
|
||||
inkscape:version="1.1.2 (08b2f3d93c, 2022-04-05)"
|
||||
sodipodi:docname="stocca-tre-logo.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview31156"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.5037598"
|
||||
inkscape:cx="274.97742"
|
||||
inkscape:cy="122.02747"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs31151" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="Ebene_1-2"
|
||||
data-name="Ebene 1"
|
||||
transform="matrix(0.47008949,0,0,0.47008949,0,12.066247)">
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 29.34,31.29 a 16.54,16.54 0 0 0 -4.9,-2.05 c -1.78,-0.45 -3.63,-0.82 -5.5,-1.11 -1.87,-0.29 -3.35,-0.64 -4.55,-1 A 11.52,11.52 0 0 1 11.58,26 4,4 0 0 1 10.2,24.5 5.71,5.71 0 0 1 9.81,22.27 a 5.4,5.4 0 0 1 0.39,-2.06 4.51,4.51 0 0 1 1.28,-1.66 6.26,6.26 0 0 1 2.17,-1.19 10.39,10.39 0 0 1 3.22,-0.45 9.54,9.54 0 0 1 5.94,1.63 5.31,5.31 0 0 1 2.19,4.13 v 0.53 h 7.93 V 22.64 A 11.37,11.37 0 0 0 28.45,13.51 15.86,15.86 0 0 0 23.33,10.89 21.5,21.5 0 0 0 16.87,10 a 20.75,20.75 0 0 0 -6.5,0.94 13.59,13.59 0 0 0 -4.69,2.64 10.85,10.85 0 0 0 -2.83,3.95 12.36,12.36 0 0 0 -1,4.84 11.12,11.12 0 0 0 1.21,5.41 10.87,10.87 0 0 0 3.25,3.66 16.68,16.68 0 0 0 4.69,2.2 40.08,40.08 0 0 0 5.47,1.2 c 1.56,0.26 3,0.55 4.2,0.87 a 10.8,10.8 0 0 1 3,1.12 4.93,4.93 0 0 1 1.79,1.68 A 4.49,4.49 0 0 1 26.07,41 5.15,5.15 0 0 1 24,45.34 C 22.54,46.41 20.35,47 17.47,47 a 14.17,14.17 0 0 1 -4.17,-0.56 9.5,9.5 0 0 1 -3,-1.6 6.71,6.71 0 0 1 -1.82,-2.29 7.15,7.15 0 0 1 -0.66,-2.9 V 39.1 L 0,39 v 0.56 a 13.7,13.7 0 0 0 1.07,5.29 13.22,13.22 0 0 0 3.31,4.49 16.55,16.55 0 0 0 5.47,3.15 22.31,22.31 0 0 0 7.58,1.18 26,26 0 0 0 6.7,-0.81 15.62,15.62 0 0 0 5.32,-2.45 11.64,11.64 0 0 0 3.55,-4.1 12.79,12.79 0 0 0 1.24,-5.74 10.88,10.88 0 0 0 -1.34,-5.66 10.66,10.66 0 0 0 -3.56,-3.62 z"
|
||||
id="path36565" />
|
||||
<polygon
|
||||
class="cls-1"
|
||||
points="68.5,11.14 54.56,11.14 54.56,0 46.53,0 46.53,11.14 37.56,11.14 37.56,18.62 46.53,18.62 46.53,52.55 54.56,52.55 54.56,18.62 68.5,18.62 "
|
||||
id="polygon36567" />
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 109.73,23.41 a 21.22,21.22 0 0 0 -11.48,-11.59 22.55,22.55 0 0 0 -17.18,0 21.31,21.31 0 0 0 -11.44,11.63 23,23 0 0 0 0,17.06 22.28,22.28 0 0 0 4.55,6.94 21.39,21.39 0 0 0 15.49,6.35 21.62,21.62 0 0 0 15.48,-6.35 22,22 0 0 0 4.59,-6.94 22.4,22.4 0 0 0 1.66,-8.51 22.1,22.1 0 0 0 -1.67,-8.59 z m -7.48,14.06 a 13.29,13.29 0 0 1 -2.88,4.44 13.68,13.68 0 0 1 -4.31,3 14.18,14.18 0 0 1 -10.73,0 14.43,14.43 0 0 1 -4.34,-3 14.15,14.15 0 0 1 -3.91,-10 14.52,14.52 0 0 1 1,-5.48 13.79,13.79 0 0 1 2.92,-4.38 13.69,13.69 0 0 1 9.7,-4.05 13.15,13.15 0 0 1 5.36,1.11 12.85,12.85 0 0 1 4.31,3 13.48,13.48 0 0 1 2.89,4.44 14.68,14.68 0 0 1 0,11 z"
|
||||
id="path36569" />
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 149.77,38.11 a 12.46,12.46 0 0 1 -1.92,3.28 12.86,12.86 0 0 1 -2.76,2.46 13.91,13.91 0 0 1 -3.41,1.55 13.46,13.46 0 0 1 -13.19,-3.33 14.13,14.13 0 0 1 -3,-4.41 14.45,14.45 0 0 1 -1.1,-5.7 14.14,14.14 0 0 1 1.1,-5.66 13.68,13.68 0 0 1 7.25,-7.3 13.84,13.84 0 0 1 8.83,-0.53 12.6,12.6 0 0 1 3.29,1.44 11.81,11.81 0 0 1 2.69,2.31 11.21,11.21 0 0 1 1.95,3 l 0.15,0.33 h 8.45 l -0.2,-0.71 a 18.7,18.7 0 0 0 -2.8,-5.93 19.48,19.48 0 0 0 -4.51,-4.68 20.67,20.67 0 0 0 -5.89,-3 21.51,21.51 0 0 0 -6.93,-1.1 21.1,21.1 0 0 0 -8.48,1.71 21.37,21.37 0 0 0 -6.77,4.66 22,22 0 0 0 -4.54,7 22.34,22.34 0 0 0 -1.62,8.5 22.66,22.66 0 0 0 1.64,8.51 22.09,22.09 0 0 0 4.54,6.93 21.75,21.75 0 0 0 6.81,4.67 21.11,21.11 0 0 0 8.44,1.7 22,22 0 0 0 7.09,-1.13 20,20 0 0 0 6,-3.13 19.44,19.44 0 0 0 4.52,-4.84 19.76,19.76 0 0 0 2.6,-6.27 l 0.15,-0.68 h -8.23 z"
|
||||
id="path36571" />
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 194.94401,38.11 a 12.46,12.46 0 0 1 -1.92,3.28 12.86,12.86 0 0 1 -2.76,2.46 13.91,13.91 0 0 1 -3.41,1.55 13.46,13.46 0 0 1 -13.19,-3.33 14.13,14.13 0 0 1 -3,-4.41 14.45,14.45 0 0 1 -1.1,-5.7 14.14,14.14 0 0 1 1.1,-5.66 13.68,13.68 0 0 1 7.25,-7.3 13.84,13.84 0 0 1 8.83,-0.53 12.6,12.6 0 0 1 3.29,1.44 11.81,11.81 0 0 1 2.69,2.31 11.21,11.21 0 0 1 1.95,3 l 0.15,0.33 h 8.45 l -0.2,-0.71 a 18.7,18.7 0 0 0 -2.8,-5.93 19.48,19.48 0 0 0 -4.51,-4.68 20.67,20.67 0 0 0 -5.89,-3 21.51,21.51 0 0 0 -6.93,-1.1 21.1,21.1 0 0 0 -8.48,1.71 21.37,21.37 0 0 0 -6.77,4.66 22,22 0 0 0 -4.54,7 22.34,22.34 0 0 0 -1.62,8.5 22.66,22.66 0 0 0 1.64,8.51 22.09,22.09 0 0 0 4.54,6.93 21.75,21.75 0 0 0 6.81,4.67 21.11,21.11 0 0 0 8.44,1.7 22,22 0 0 0 7.09,-1.13 20,20 0 0 0 6,-3.13 19.44,19.44 0 0 0 4.52,-4.84 19.76,19.76 0 0 0 2.6,-6.27 l 0.15,-0.68 h -8.23 z"
|
||||
id="path36571-3" />
|
||||
<g
|
||||
aria-label="a"
|
||||
id="text2064"
|
||||
style="font-size:108.065px;line-height:1.25;stroke-width:0.562836"
|
||||
transform="matrix(0.99399311,0,0,0.99399311,-0.99617961,0.06084596)">
|
||||
<path
|
||||
d="m 229.19684,53.81046 q -8.5682,0 -14.44834,-6.384154 -5.79614,-6.384153 -5.79614,-15.456371 0,-9.072218 5.79614,-15.456371 5.88014,-6.384153 14.44834,-6.384153 4.28411,0 7.8962,1.932047 3.61208,1.848043 5.54413,4.536108 v -5.628135 h 9.24022 V 52.97044 h -9.24022 v -5.628136 q -1.93205,2.688065 -5.54413,4.620111 -3.61209,1.848045 -7.8962,1.848045 z m -7.30817,-12.264296 q 3.52809,3.864093 8.98821,3.864093 5.46014,0 8.98822,-3.864093 3.52809,-3.864092 3.52809,-9.576229 0,-5.712137 -3.52809,-9.57623 -3.52808,-3.864093 -8.98822,-3.864093 -5.46012,0 -8.98821,3.864093 -3.52809,3.864093 -3.52809,9.57623 0,5.712137 3.52809,9.576229 z"
|
||||
style="font-family:'Euclid Circular A';-inkscape-font-specification:'Euclid Circular A';stroke-width:0.437509"
|
||||
id="path13083" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:95.5532px;line-height:1.25;font-family:sans-serif;opacity:0.99;fill:#aa0000;fill-opacity:1;stroke:none;stroke-width:0.995345"
|
||||
x="245.82347"
|
||||
y="22.395281"
|
||||
id="text14273"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan14271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:95.5532px;font-family:Z003;-inkscape-font-specification:Z003;opacity:0.99;fill:#aa0000;stroke-width:0.995345"
|
||||
x="245.82347"
|
||||
y="22.395281">tre</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.9149px;line-height:1.25;font-family:Chilanka;-inkscape-font-specification:Chilanka;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.77287"
|
||||
x="104.74509"
|
||||
y="81.700806"
|
||||
id="text22454"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan22452"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Josefin Sans';-inkscape-font-specification:'Josefin Sans';stroke-width:0.77287"
|
||||
x="104.74509"
|
||||
y="81.700806">pizzeria</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 7.7 KiB |
Reference in New Issue
Block a user