diff --git a/frontend/elm.json b/frontend/elm.json index cacfb61..cd747f0 100755 --- a/frontend/elm.json +++ b/frontend/elm.json @@ -12,6 +12,7 @@ "elm/core": "1.0.5", "elm/html": "1.0.0", "elm/json": "1.1.3", + "elm/svg": "1.0.1", "elm/url": "1.0.0", "elm-community/list-extra": "8.7.0", "elm-community/maybe-extra": "5.3.0", diff --git a/frontend/src/Config/Style/Svgs.elm b/frontend/src/Config/Style/Svgs.elm new file mode 100644 index 0000000..1bfcb2b --- /dev/null +++ b/frontend/src/Config/Style/Svgs.elm @@ -0,0 +1,762 @@ +module Config.Style.Svgs exposing (..) + +import Html exposing (Html) +import Svg exposing (..) +import Svg.Attributes as SvgAttr + + +upRootSmall : Html msg +upRootSmall = + svg + [ SvgAttr.width "100%" + , SvgAttr.height "100%" + , SvgAttr.viewBox "0 0 286 203" + , SvgAttr.version "1.1" + , SvgAttr.xmlSpace "preserve" + , SvgAttr.style "fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,-1702.49,-2847.36)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,1072.22,2290.29)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,373.077,489.488)" + ] + [ path + [ SvgAttr.d "M410,379.833C410,379.833 410.056,260.455 410.09,188.088C410.095,176.87 404.503,163.127 395.402,151.992C386.302,140.858 375.063,134.008 365.884,134.002C358.352,133.997 351.428,133.992 346.641,133.989C345.213,133.988 343.47,132.952 342.03,131.25C340.591,129.547 339.658,127.419 339.564,125.619C338.962,114.141 337.955,94.916 337.955,94.916L397.955,94.916C397.955,94.916 537.356,266.295 570.787,307.394C575.207,312.828 580.681,316.175 585.149,316.175C597.174,316.175 620,316.175 620,316.175L620,379.833L560.605,379.833C553.617,379.833 545.056,374.614 538.129,366.13C524.324,349.222 491.306,308.782 480.375,295.394C476.268,290.363 471.189,287.278 467.055,287.302C462.921,287.326 460.361,290.456 460.34,295.511C460.211,327.614 460,379.833 460,379.833L410,379.833Z" + , SvgAttr.style "fill:rgb(212,212,212);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,345.028,514.865)" + ] + [ path + [ SvgAttr.d "M600,253.872C600,256.824 598.525,258.666 596.128,258.709C593.731,258.751 590.774,256.987 588.364,254.078C577.294,240.715 561.273,221.376 553.937,212.52C551.503,209.583 550,205.927 550,202.947C550,184.124 550,116.624 550,116.624L600,116.624L600,253.872Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.70645,0,-0.149774,1.77773,-440.616,-481.127)" + ] + [ path + [ SvgAttr.d "M781.333,624.54L849.897,624.185L836.011,584L781.333,624.54Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + ] + ] + ] + + +upRootMedium : Html msg +upRootMedium = + svg + [ SvgAttr.width "100%" + , SvgAttr.height "100%" + , SvgAttr.viewBox "0 0 718 236" + , SvgAttr.version "1.1" + , SvgAttr.xmlSpace "preserve" + , SvgAttr.style "fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,-945.584,-3365.22)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,744.72,2810.42)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,338.58,489.488)" + ] + [ path + [ SvgAttr.d "M372.344,360.399C372.693,355.91 371.866,349.371 368.149,340.13C364.701,331.561 359.604,323.609 353.731,317.061L310.917,264.032C300.938,251.338 287.91,242.703 276.931,242.703C265.89,242.703 259.803,251.436 260.112,264.249L260.074,290L260,290L260,317.487C259.859,319.273 259.857,321.16 260,323.133L260,380L209.998,380.001L209.998,178.068C209.998,166.904 215.643,160 224.772,159.998L406.092,159.962C409.529,159.961 413.739,162.524 417.149,166.694C420.559,170.863 422.656,176.011 422.656,180.214L422.656,213.468C422.656,219.626 420.947,224.62 417.745,227.822L379.172,266.395C377.289,268.278 376.609,271.556 377.281,275.51C377.953,279.463 379.922,283.767 382.755,287.474L413.545,327.767C419.235,335.214 422.656,344.061 422.656,351.333L422.656,422.862L366.923,422.869L371.072,375.058L372.305,360.848C372.319,360.699 372.332,360.55 372.344,360.399ZM360.277,196.701L314.978,197.291C311.426,197.337 309.303,200.157 309.462,204.615C309.622,209.073 312.038,214.436 315.738,218.543L329.196,233.485C333.595,238.369 338.865,240.179 341.813,237.82L370.371,214.965C372.613,213.171 372.463,208.69 370.012,204.255C367.56,199.819 363.488,196.659 360.277,196.701Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.39385,0,0,1.39385,25.2846,-499.837)" + ] + [ Svg.circle + [ SvgAttr.cx "370.033" + , SvgAttr.cy "883.522" + , SvgAttr.r "12.565" + , SvgAttr.style "fill:rgb(126,126,126);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.39385,0,0,1.39385,2.10134,-540.366)" + ] + [ Svg.circle + [ SvgAttr.cx "370.033" + , SvgAttr.cy "883.522" + , SvgAttr.r "12.565" + , SvgAttr.style "fill:rgb(126,126,126);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.39385,0,0,1.39385,-21.0054,-499.837)" + ] + [ Svg.circle + [ SvgAttr.cx "370.033" + , SvgAttr.cy "883.522" + , SvgAttr.r "12.565" + , SvgAttr.style "fill:rgb(126,126,126);" + ] + [] + ] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,746.985,2808.15)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,373.077,489.488)" + ] + [ path + [ SvgAttr.d "M410,379.833C410,379.833 410.056,260.455 410.09,188.088C410.095,176.87 404.503,163.127 395.402,151.992C386.302,140.858 375.063,134.008 365.884,134.002C358.352,133.997 351.428,133.992 346.641,133.989C345.213,133.988 343.47,132.952 342.03,131.25C340.591,129.547 339.658,127.419 339.564,125.619C338.962,114.141 337.955,94.916 337.955,94.916L397.955,94.916C397.955,94.916 537.356,266.295 570.787,307.394C575.207,312.828 580.681,316.175 585.149,316.175C597.174,316.175 620,316.175 620,316.175L620,379.833L560.605,379.833C553.617,379.833 545.056,374.614 538.129,366.13C524.324,349.222 491.306,308.782 480.375,295.394C476.268,290.363 471.189,287.278 467.055,287.302C462.921,287.326 460.361,290.456 460.34,295.511C460.211,327.614 460,379.833 460,379.833L410,379.833Z" + , SvgAttr.style "fill:rgb(212,212,212);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,345.028,514.865)" + ] + [ path + [ SvgAttr.d "M600,253.872C600,256.824 598.525,258.666 596.128,258.709C593.731,258.751 590.774,256.987 588.364,254.078C577.294,240.715 561.273,221.376 553.937,212.52C551.503,209.583 550,205.927 550,202.947C550,184.124 550,116.624 550,116.624L600,116.624L600,253.872Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.70645,0,-0.149774,1.77773,-440.616,-481.127)" + ] + [ path + [ SvgAttr.d "M781.333,624.54L849.897,624.185L836.011,584L781.333,624.54Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,1092.58,3267.29)" + ] + [ path + [ SvgAttr.d "M128.358,409.275C128.368,417.539 124.19,422.646 117.431,422.632C95.856,422.586 49.907,422.489 49.907,422.489C40.439,422.47 28.16,415.401 18.78,403.921C9.4,392.44 4.327,378.273 4.326,366.706L4.323,260.755L74.344,260.755L74.37,336.128L134.449,336.195C144.333,336.206 150.426,328.705 150.373,316.592L150.031,260.746L200.055,260.862L200.446,422.931C200.446,422.931 176.719,422.875 162.366,422.84C160.154,422.835 157.446,421.179 155.258,418.492C153.07,415.805 151.732,412.494 151.745,409.8C151.808,397.197 151.895,379.981 151.895,379.981C151.895,379.981 145.967,379.997 140.056,380.013C132.805,380.032 128.329,385.536 128.34,394.419C128.346,399.221 128.352,404.551 128.358,409.275Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + ] + ] + + +upRootLarge : Html msg +upRootLarge = + svg + [ SvgAttr.width "100%" + , SvgAttr.height "100%" + , SvgAttr.viewBox "0 0 2093 261" + , SvgAttr.version "1.1" + , SvgAttr.xmlSpace "preserve" + , SvgAttr.style "fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,-1020.41,-1366.12)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,1358.72,809.046)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,373.077,489.488)" + ] + [ path + [ SvgAttr.d "M410,379.833C410,379.833 410.056,260.455 410.09,188.088C410.095,176.87 404.503,163.127 395.402,151.992C386.302,140.858 375.063,134.008 365.884,134.002C358.352,133.997 351.428,133.992 346.641,133.989C345.213,133.988 343.47,132.952 342.03,131.25C340.591,129.547 339.658,127.419 339.564,125.619C338.962,114.141 337.955,94.916 337.955,94.916L397.955,94.916C397.955,94.916 537.356,266.295 570.787,307.394C575.207,312.828 580.681,316.175 585.149,316.175C597.174,316.175 620,316.175 620,316.175L620,379.833L560.605,379.833C553.617,379.833 545.056,374.614 538.129,366.13C524.324,349.222 491.306,308.782 480.375,295.394C476.268,290.363 471.189,287.278 467.055,287.302C462.921,287.326 460.361,290.456 460.34,295.511C460.211,327.614 460,379.833 460,379.833L410,379.833Z" + , SvgAttr.style "fill:rgb(212,212,212);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,345.028,514.865)" + ] + [ path + [ SvgAttr.d "M600,253.872C600,256.824 598.525,258.666 596.128,258.709C593.731,258.751 590.774,256.987 588.364,254.078C577.294,240.715 561.273,221.376 553.937,212.52C551.503,209.583 550,205.927 550,202.947C550,184.124 550,116.624 550,116.624L600,116.624L600,253.872Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.70645,0,-0.149774,1.77773,-440.616,-481.127)" + ] + [ path + [ SvgAttr.d "M781.333,624.54L849.897,624.185L836.011,584L781.333,624.54Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,975.131,809.281)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,338.58,489.488)" + ] + [ path + [ SvgAttr.d "M372.344,360.399C372.693,355.91 371.866,349.371 368.149,340.13C364.701,331.561 359.604,323.609 353.731,317.061L310.917,264.032C300.938,251.338 287.91,242.703 276.931,242.703C265.89,242.703 259.803,251.436 260.112,264.249L260.074,290L260,290L260,317.487C259.859,319.273 259.857,321.16 260,323.133L260,380L209.998,380.001L209.998,178.068C209.998,166.904 215.643,160 224.772,159.998L406.092,159.962C409.529,159.961 413.739,162.524 417.149,166.694C420.559,170.863 422.656,176.011 422.656,180.214L422.656,213.468C422.656,219.626 420.947,224.62 417.745,227.822L379.172,266.395C377.289,268.278 376.609,271.556 377.281,275.51C377.953,279.463 379.922,283.767 382.755,287.474L413.545,327.767C419.235,335.214 422.656,344.061 422.656,351.333L422.656,422.862C410.757,423.856 366.923,422.869 366.923,422.869L371.072,375.058L372.305,360.848C372.319,360.699 372.332,360.55 372.344,360.399ZM360.277,196.701L314.978,197.291C311.426,197.337 309.303,200.157 309.462,204.615C309.622,209.073 312.038,214.436 315.738,218.543L329.196,233.485C333.595,238.369 338.865,240.179 341.813,237.82L370.371,214.965C372.613,213.171 372.463,208.69 370.012,204.255C367.56,199.819 363.488,196.659 360.277,196.701Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.39385,0,0,1.39385,25.2846,-499.837)" + ] + [ Svg.circle + [ SvgAttr.cx "370.033" + , SvgAttr.cy "883.522" + , SvgAttr.r "12.565" + , SvgAttr.style "fill:rgb(126,126,126);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.39385,0,0,1.39385,2.10134,-540.366)" + ] + [ Svg.circle + [ SvgAttr.cx "370.033" + , SvgAttr.cy "883.522" + , SvgAttr.r "12.565" + , SvgAttr.style "fill:rgb(126,126,126);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.39385,0,0,1.39385,-21.0054,-499.837)" + ] + [ Svg.circle + [ SvgAttr.cx "370.033" + , SvgAttr.cy "883.522" + , SvgAttr.r "12.565" + , SvgAttr.style "fill:rgb(126,126,126);" + ] + [] + ] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,1167.41,1268.19)" + ] + [ path + [ SvgAttr.d "M128.358,409.275C128.368,417.539 124.19,422.646 117.431,422.632C95.856,422.586 49.907,422.489 49.907,422.489C40.439,422.47 28.16,415.401 18.78,403.921C9.4,392.44 4.327,378.273 4.326,366.706L4.323,260.755L74.344,260.755L74.37,336.128L134.449,336.195C144.333,336.206 150.426,328.705 150.373,316.592L150.031,260.746L200.055,260.862L200.446,422.931C200.446,422.931 176.719,422.875 162.366,422.84C160.154,422.835 157.446,421.179 155.258,418.492C153.07,415.805 151.732,412.494 151.745,409.8C151.808,397.197 151.895,379.981 151.895,379.981C151.895,379.981 145.967,379.997 140.056,380.013C132.805,380.032 128.329,385.536 128.34,394.419C128.346,399.221 128.352,404.551 128.358,409.275Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.981895,0,-0.581998,0.981895,739.791,1296.26)" + ] + [ path + [ SvgAttr.d "M773.523,268.073C773.523,273.29 771.24,277.482 766.676,280.649C762.577,283.537 757.825,284.981 752.422,284.981L697.086,284.981L697.086,319.077C697.086,324.294 694.804,328.486 690.239,331.654C686.14,334.542 681.389,335.985 675.986,335.985C670.582,335.985 665.831,334.542 661.732,331.654C657.074,328.486 654.745,324.294 654.745,319.077L654.745,174.868C654.745,169.558 657.028,165.319 661.593,162.151C665.692,159.357 670.489,157.959 675.986,157.959L752.422,157.959C757.919,157.959 762.67,159.357 766.676,162.151C771.24,165.319 773.523,169.558 773.523,174.868L773.523,268.073ZM731.182,259.549L731.182,183.112L697.086,183.112L697.086,259.549L731.182,259.549Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.981895,0,-0.581998,0.981895,1206.2,1171.92)" + ] + [ path + [ SvgAttr.d "M760.603,385.172C760.603,390.389 758.321,394.581 753.756,397.748C749.657,400.636 744.906,402.08 739.503,402.08L663.066,402.08C657.663,402.08 652.912,400.636 648.813,397.748C644.155,394.581 641.826,390.389 641.826,385.172L641.826,291.967C641.826,286.657 644.108,282.418 648.673,279.251C652.772,276.456 657.57,275.058 663.066,275.058L739.503,275.058C744.999,275.058 749.75,276.456 753.756,279.251C758.321,282.418 760.603,286.657 760.603,291.967L760.603,385.172ZM718.263,376.648L718.263,300.211L684.167,300.211L684.167,376.648L718.263,376.648Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M901.18,385.172C901.18,390.389 898.897,394.581 894.333,397.748C890.234,400.636 885.482,402.08 880.079,402.08L803.643,402.08C798.239,402.08 793.488,400.636 789.389,397.748C784.731,394.581 782.402,390.389 782.402,385.172L782.402,291.967C782.402,286.657 784.685,282.418 789.25,279.251C793.349,276.456 798.146,275.058 803.643,275.058L880.079,275.058C885.576,275.058 890.327,276.456 894.333,279.251C898.897,282.418 901.18,286.657 901.18,291.967L901.18,385.172ZM858.839,376.648L858.839,300.211L824.743,300.211L824.743,376.648L858.839,376.648Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1003.75,287.775C1003.75,279.297 999.415,275.058 990.752,275.058L965.739,275.058L965.739,249.486C965.739,244.27 963.41,240.031 958.752,236.77C954.746,233.882 949.855,232.438 944.079,232.438C938.49,232.438 933.692,233.882 929.686,236.77C925.308,240.031 923.119,244.27 923.119,249.486L923.119,385.032C923.119,390.435 925.401,394.674 929.966,397.748C934.065,400.636 938.769,402.08 944.079,402.08C949.669,402.08 954.466,400.636 958.472,397.748C963.317,394.674 965.739,390.435 965.739,385.032L965.739,300.072L990.752,300.072C999.415,300.072 1003.75,295.973 1003.75,287.775Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.981895,0,-0.581998,0.981895,1371.86,1363.66)" + ] + [ path + [ SvgAttr.d "M1109.66,193.253C1109.66,198.469 1107.38,202.662 1102.82,205.829C1098.72,208.717 1093.97,210.161 1088.56,210.161L1012.13,210.161C1006.73,210.161 1001.97,208.717 997.874,205.829C993.217,202.662 990.888,198.469 990.888,193.253L990.888,100.047C990.888,94.737 993.17,90.499 997.735,87.331C1001.83,84.536 1006.63,83.139 1012.13,83.139C1017.62,83.139 1022.38,84.536 1026.38,87.331C1030.95,90.499 1033.23,94.737 1033.23,100.047L1033.23,184.729L1067.32,184.729L1067.32,100.047C1067.32,94.737 1069.61,90.499 1074.17,87.331C1078.18,84.536 1082.97,83.139 1088.56,83.139C1094.06,83.139 1098.81,84.536 1102.82,87.331C1107.38,90.499 1109.66,94.737 1109.66,100.047L1109.66,193.253Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1212.23,95.855C1212.23,87.378 1207.9,83.139 1199.24,83.139L1174.22,83.139L1174.22,57.567C1174.22,52.35 1171.89,48.111 1167.24,44.851C1163.23,41.963 1158.34,40.519 1152.56,40.519C1146.98,40.519 1142.18,41.963 1138.17,44.851C1133.79,48.111 1131.6,52.35 1131.6,57.567L1131.6,193.113C1131.6,198.516 1133.89,202.755 1138.45,205.829C1142.55,208.717 1147.25,210.161 1152.56,210.161C1158.15,210.161 1162.95,208.717 1166.96,205.829C1171.8,202.755 1174.22,198.516 1174.22,193.113L1174.22,108.152L1199.24,108.152C1207.9,108.152 1212.23,104.053 1212.23,95.855Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1336.46,100.047C1336.46,105.264 1334.13,109.456 1329.47,112.624C1325.47,115.418 1320.72,116.816 1315.22,116.816C1307.21,116.816 1301.11,113.975 1296.91,108.292L1268.55,108.292L1268.55,193.253C1268.55,198.469 1266.27,202.662 1261.7,205.829C1257.6,208.717 1252.85,210.161 1247.45,210.161C1242.04,210.161 1237.29,208.717 1233.19,205.829C1228.54,202.662 1226.21,198.469 1226.21,193.253L1226.21,100.047C1226.21,94.737 1228.49,90.499 1233.05,87.331C1237.15,84.536 1241.95,83.139 1247.45,83.139L1315.22,83.139C1320.72,83.139 1325.51,84.536 1329.61,87.331C1334.18,90.499 1336.46,94.737 1336.46,100.047Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1389.42,57.567C1389.42,62.877 1387.14,67.116 1382.57,70.283C1378.57,73.078 1373.82,74.475 1368.32,74.475C1362.82,74.475 1358.03,73.078 1353.93,70.283C1349.36,67.116 1347.08,62.877 1347.08,57.567C1347.08,52.35 1349.36,48.111 1353.93,44.851C1357.93,41.963 1362.73,40.519 1368.32,40.519C1373.82,40.519 1378.57,41.963 1382.57,44.851C1387.14,48.111 1389.42,52.35 1389.42,57.567ZM1389.42,193.253C1389.42,198.469 1387.14,202.662 1382.57,205.829C1378.47,208.717 1373.72,210.161 1368.32,210.161C1362.92,210.161 1358.17,208.717 1354.07,205.829C1349.41,202.662 1347.08,198.469 1347.08,193.253L1347.08,100.047C1347.08,94.737 1349.36,90.499 1353.93,87.331C1358.03,84.536 1362.82,83.139 1368.32,83.139C1373.82,83.139 1378.57,84.536 1382.57,87.331C1387.14,90.499 1389.42,94.737 1389.42,100.047L1389.42,193.253Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1491.99,95.855C1491.99,87.378 1487.66,83.139 1478.99,83.139L1453.98,83.139L1453.98,57.567C1453.98,52.35 1451.65,48.111 1446.99,44.851C1442.99,41.963 1438.1,40.519 1432.32,40.519C1426.73,40.519 1421.93,41.963 1417.93,44.851C1413.55,48.111 1411.36,52.35 1411.36,57.567L1411.36,193.113C1411.36,198.516 1413.64,202.755 1418.21,205.829C1422.31,208.717 1427.01,210.161 1432.32,210.161C1437.91,210.161 1442.71,208.717 1446.71,205.829C1451.56,202.755 1453.98,198.516 1453.98,193.113L1453.98,108.152L1478.99,108.152C1487.66,108.152 1491.99,104.053 1491.99,95.855Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1548.3,57.567C1548.3,62.877 1546.02,67.116 1541.45,70.283C1537.45,73.078 1532.7,74.475 1527.2,74.475C1521.71,74.475 1516.91,73.078 1512.81,70.283C1508.24,67.116 1505.96,62.877 1505.96,57.567C1505.96,52.35 1508.24,48.111 1512.81,44.851C1516.82,41.963 1521.61,40.519 1527.2,40.519C1532.7,40.519 1537.45,41.963 1541.45,44.851C1546.02,48.111 1548.3,52.35 1548.3,57.567ZM1548.3,193.253C1548.3,198.469 1546.02,202.662 1541.45,205.829C1537.36,208.717 1532.61,210.161 1527.2,210.161C1521.8,210.161 1517.05,208.717 1512.95,205.829C1508.29,202.662 1505.96,198.469 1505.96,193.253L1505.96,100.047C1505.96,94.737 1508.24,90.499 1512.81,87.331C1516.91,84.536 1521.71,83.139 1527.2,83.139C1532.7,83.139 1537.45,84.536 1541.45,87.331C1546.02,90.499 1548.3,94.737 1548.3,100.047L1548.3,193.253Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1688.88,193.253C1688.88,198.469 1686.6,202.662 1682.03,205.829C1677.93,208.717 1673.18,210.161 1667.78,210.161L1591.34,210.161C1585.94,210.161 1581.19,208.717 1577.09,205.829C1572.43,202.662 1570.1,198.469 1570.1,193.253L1570.1,100.047C1570.1,94.737 1572.38,90.499 1576.95,87.331C1581.05,84.536 1585.85,83.139 1591.34,83.139L1667.78,83.139C1673.28,83.139 1678.03,84.536 1682.03,87.331C1686.6,90.499 1688.88,94.737 1688.88,100.047L1688.88,193.253ZM1646.54,184.729L1646.54,108.292L1612.44,108.292L1612.44,184.729L1646.54,184.729Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + , path + [ SvgAttr.d "M1829.45,193.253C1829.45,198.469 1827.17,202.662 1822.61,205.829C1818.51,208.717 1813.76,210.161 1808.36,210.161C1802.86,210.161 1798.06,208.763 1793.96,205.969C1789.4,202.708 1787.12,198.469 1787.12,193.253L1787.12,108.292L1753.02,108.292L1753.02,193.253C1753.02,198.469 1750.74,202.662 1746.17,205.829C1742.07,208.717 1737.32,210.161 1731.92,210.161C1726.52,210.161 1721.76,208.717 1717.66,205.829C1713.01,202.662 1710.68,198.469 1710.68,193.253L1710.68,100.047C1710.68,94.737 1712.96,90.499 1717.53,87.331C1721.62,84.536 1726.42,83.139 1731.92,83.139L1808.36,83.139C1813.85,83.139 1818.6,84.536 1822.61,87.331C1827.17,90.499 1829.45,94.737 1829.45,100.047L1829.45,193.253Z" + , SvgAttr.style "fill:rgb(204,102,0);fill-rule:nonzero;" + ] + [] + ] + ] + ] + + +nutriDexLogo : Html msg +nutriDexLogo = + svg + [ SvgAttr.width "100%" + , SvgAttr.height "100%" + , SvgAttr.viewBox "0 0 269 254" + , SvgAttr.version "1.1" + , SvgAttr.xmlSpace "preserve" + , SvgAttr.style "fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,-3230.36,-2630.73)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(-0.305281,-0.528763,-0.528763,0.305281,4494.3,3752.71)" + ] + [ path + [ SvgAttr.d "M2438.06,573.79L2421.04,607.88" + , SvgAttr.style "fill:none;stroke:rgb(120,60,0);stroke-width:26.21px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(-0.520336,-0.901248,-0.901248,0.520336,5232.34,4537.46)" + ] + [ path + [ SvgAttr.d "M2384.94,593.791L2428.07,593.791" + , SvgAttr.style "fill:none;stroke:rgb(120,60,0);stroke-width:15.37px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(-1.46201,0,0,1.46201,6999.63,1413.74)" + ] + [ path + [ SvgAttr.d "M2439.01,851.153L2458.28,851.153" + , SvgAttr.style "fill:none;stroke:rgb(120,60,0);stroke-width:10.94px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.520336,-0.901248,0.901248,0.520336,1631.94,4537.46)" + ] + [ path + [ SvgAttr.d "M2319.68,627.395C2323.07,629.57 2324.23,634.05 2322.24,637.617L2299.1,678.996C2298.35,680.341 2297.25,681.373 2295.98,682.042L2292.05,675.243L2319.68,627.395Z" + , SvgAttr.style "fill:rgb(120,60,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.520336,-0.901248,0.901248,0.520336,1631.94,4537.46)" + ] + [ path + [ SvgAttr.d "M2344.65,603.881L2362.65,634.203L2338.66,673.941L2384.94,673.941" + , SvgAttr.style "fill:none;stroke:rgb(120,60,0);stroke-width:15.37px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.46201,0,0,1.46201,-135.345,1413.74)" + ] + [ path + [ SvgAttr.d "M2423.66,877.745L2456.6,877.745" + , SvgAttr.style "fill:none;stroke:rgb(120,60,0);stroke-width:10.94px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1671.21,4250.37)" + ] + [ path + [ SvgAttr.d "M2484.47,812.271C2487.52,814.103 2490.15,816.709 2492.05,820.001C2498.05,830.377 2494.49,843.663 2484.11,849.654C2477.29,853.592 2469.21,853.402 2462.77,849.863L2484.47,812.271ZM2456.98,859.904C2463.26,863.709 2467.46,870.611 2467.46,878.486C2467.46,890.467 2457.74,900.193 2445.76,900.193C2441.96,900.193 2438.38,899.215 2435.28,897.496L2456.98,859.904ZM2429.48,907.537C2435.76,911.342 2439.96,918.243 2439.96,926.117C2439.96,934.544 2435.15,941.856 2428.13,945.452L2417.86,927.666L2429.48,907.537ZM2451.62,832.633C2450.96,824.532 2454.9,816.387 2462.4,812.056C2462.92,811.757 2463.45,811.482 2463.97,811.231L2451.62,832.633ZM2406.34,944.257C2400.44,940.374 2396.55,933.697 2396.55,926.117C2396.55,917.453 2401.64,909.968 2408.98,906.488L2400.88,920.526C2398.33,924.945 2398.33,930.389 2400.88,934.807L2406.34,944.257ZM2424.12,880.266C2424.07,879.679 2424.05,879.086 2424.05,878.486C2424.05,869.824 2429.13,862.34 2436.48,858.859L2424.12,880.266Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1719.37,4166.96)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,0.75827,-0.75827,0.437787,3003.47,457.873)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1695.29,4208.67)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1743.45,4208.67)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1719.37,4250.37)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,2973.17,2613.98)" + ] + [ path + [ SvgAttr.d "M410,379.833C410,379.833 410.056,260.455 410.09,188.088C410.095,176.87 404.503,163.127 395.402,151.992C386.302,140.858 375.063,134.008 365.884,134.002C358.352,133.997 351.428,133.992 346.641,133.989C345.213,133.988 343.47,132.952 342.03,131.25C340.591,129.547 339.658,127.419 339.564,125.619C338.962,114.141 337.955,94.916 337.955,94.916L397.955,94.916C397.955,94.916 537.356,266.295 570.787,307.394C575.207,312.828 580.681,316.175 585.149,316.175C597.174,316.175 620,316.175 620,316.175L620,379.833L560.605,379.833C553.617,379.833 545.056,374.614 538.129,366.13C524.324,349.222 491.306,308.782 480.375,295.394C476.268,290.363 471.189,287.278 467.055,287.302C462.921,287.326 460.361,290.456 460.34,295.511C460.211,327.614 460,379.833 460,379.833L410,379.833Z" + , SvgAttr.style "fill:rgb(212,212,212);" + ] + [] + ] + ] + ] + + +home : Html msg +home = + svg + [ SvgAttr.viewBox "0 0 576 512" + , SvgAttr.fill "#cc6600" + ] + [ path + [ SvgAttr.d "M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z" + ] + [] + ] + + +services : Html msg +services = + svg + [ SvgAttr.viewBox "0 0 512 512" + , SvgAttr.fill "#cc6600" + ] + [ path + [ SvgAttr.d "M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4l54.1 0 109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109 0-54.1c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7L352 176c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z" + ] + [] + ] + + +hyperBlog : Html msg +hyperBlog = + svg + [ SvgAttr.viewBox "0 0 448 512" + , SvgAttr.fill "#cc6600" + ] + [ path + [ SvgAttr.d "M248 106.6c18.9-9 32-28.3 32-50.6c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 22.3 13.1 41.6 32 50.6l0 98.8c-2.8 1.3-5.5 2.9-8 4.7l-80.1-45.8c1.6-20.8-8.6-41.6-27.9-52.8C57.2 96 23 105.2 7.5 132S1.2 193 28 208.5c1.3 .8 2.6 1.5 4 2.1l0 90.8c-1.3 .6-2.7 1.3-4 2.1C1.2 319-8 353.2 7.5 380S57.2 416 84 400.5c19.3-11.1 29.4-32 27.8-52.8l50.5-28.9c-11.5-11.2-19.9-25.6-23.8-41.7L88 306.1c-2.6-1.8-5.2-3.3-8-4.7l0-90.8c2.8-1.3 5.5-2.9 8-4.7l80.1 45.8c-.1 1.4-.2 2.8-.2 4.3c0 22.3 13.1 41.6 32 50.6l0 98.8c-18.9 9-32 28.3-32 50.6c0 30.9 25.1 56 56 56s56-25.1 56-56c0-22.3-13.1-41.6-32-50.6l0-98.8c2.8-1.3 5.5-2.9 8-4.7l80.1 45.8c-1.6 20.8 8.6 41.6 27.8 52.8c26.8 15.5 61 6.3 76.5-20.5s6.3-61-20.5-76.5c-1.3-.8-2.7-1.5-4-2.1l0-90.8c1.4-.6 2.7-1.3 4-2.1c26.8-15.5 36-49.7 20.5-76.5S390.8 96 364 111.5c-19.3 11.1-29.4 32-27.8 52.8l-50.6 28.9c11.5 11.2 19.9 25.6 23.8 41.7L360 205.9c2.6 1.8 5.2 3.3 8 4.7l0 90.8c-2.8 1.3-5.5 2.9-8 4.6l-80.1-45.8c.1-1.4 .2-2.8 .2-4.3c0-22.3-13.1-41.6-32-50.6l0-98.8z" + ] + [] + ] + + +debate : Html msg +debate = + svg + [ SvgAttr.viewBox "0 0 512 512" + , SvgAttr.fill "#cc6600" + ] + [ path + [ SvgAttr.d "M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z" + ] + [] + ] + + +nutriDex : Html msg +nutriDex = + svg + [ SvgAttr.width "100%" + , SvgAttr.height "100%" + , SvgAttr.viewBox "0 0 269 254" + , SvgAttr.version "1.1" + , SvgAttr.xmlSpace "preserve" + , SvgAttr.style "fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;" + ] + [ Svg.g + [ SvgAttr.transform "matrix(1,0,0,1,-3213.08,-2929.6)" + ] + [ Svg.g + [ SvgAttr.transform "matrix(-0.305281,-0.528763,-0.528763,0.305281,4477.01,4051.59)" + ] + [ path + [ SvgAttr.d "M2438.06,573.79L2421.04,607.88" + , SvgAttr.style "fill:none;stroke:rgb(204,102,0);stroke-width:26.21px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(-0.520336,-0.901248,-0.901248,0.520336,5215.05,4836.33)" + ] + [ path + [ SvgAttr.d "M2384.94,593.791L2428.07,593.791" + , SvgAttr.style "fill:none;stroke:rgb(204,102,0);stroke-width:15.37px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(-1.46201,0,0,1.46201,6982.34,1712.61)" + ] + [ path + [ SvgAttr.d "M2439.01,851.153L2458.28,851.153" + , SvgAttr.style "fill:none;stroke:rgb(204,102,0);stroke-width:10.94px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.520336,-0.901248,0.901248,0.520336,1614.66,4836.33)" + ] + [ path + [ SvgAttr.d "M2319.68,627.395C2323.07,629.57 2324.23,634.05 2322.24,637.617L2299.1,678.996C2298.35,680.341 2297.25,681.373 2295.98,682.042L2292.05,675.243L2319.68,627.395Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.520336,-0.901248,0.901248,0.520336,1614.66,4836.33)" + ] + [ path + [ SvgAttr.d "M2344.65,603.881L2362.65,634.203L2338.66,673.941L2384.94,673.941" + , SvgAttr.style "fill:none;stroke:rgb(204,102,0);stroke-width:15.37px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1.46201,0,0,1.46201,-152.629,1712.61)" + ] + [ path + [ SvgAttr.d "M2423.66,877.745L2456.6,877.745" + , SvgAttr.style "fill:none;stroke:rgb(204,102,0);stroke-width:10.94px;" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1653.93,4549.24)" + ] + [ path + [ SvgAttr.d "M2484.47,812.271C2487.52,814.103 2490.15,816.709 2492.05,820.001C2498.05,830.377 2494.49,843.663 2484.11,849.654C2477.29,853.592 2469.21,853.402 2462.77,849.863L2484.47,812.271ZM2456.98,859.904C2463.26,863.709 2467.46,870.611 2467.46,878.486C2467.46,890.467 2457.74,900.193 2445.76,900.193C2441.96,900.193 2438.38,899.215 2435.28,897.496L2456.98,859.904ZM2429.48,907.537C2435.76,911.342 2439.96,918.243 2439.96,926.117C2439.96,934.544 2435.15,941.856 2428.13,945.452L2417.86,927.666L2429.48,907.537ZM2451.62,832.633C2450.96,824.532 2454.9,816.387 2462.4,812.056C2462.92,811.757 2463.45,811.482 2463.97,811.231L2451.62,832.633ZM2406.34,944.257C2400.44,940.374 2396.55,933.697 2396.55,926.117C2396.55,917.453 2401.64,909.968 2408.98,906.488L2400.88,920.526C2398.33,924.945 2398.33,930.389 2400.88,934.807L2406.34,944.257ZM2424.12,880.266C2424.07,879.679 2424.05,879.086 2424.05,878.486C2424.05,869.824 2429.13,862.34 2436.48,858.859L2424.12,880.266Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1702.08,4465.83)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,0.75827,-0.75827,0.437787,2986.19,756.746)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1678.01,4507.54)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1726.16,4507.54)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(0.437787,-0.75827,0.75827,0.437787,1702.08,4549.24)" + ] + [ Svg.circle + [ SvgAttr.cx "2445.76" + , SvgAttr.cy "878.486" + , SvgAttr.r "21.707" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + , Svg.g + [ SvgAttr.transform "matrix(1,0,-0.402297,0.712005,2955.89,2912.86)" + ] + [ path + [ SvgAttr.d "M410,379.833C410,379.833 410.056,260.455 410.09,188.088C410.095,176.87 404.503,163.127 395.402,151.992C386.302,140.858 375.063,134.008 365.884,134.002C358.352,133.997 351.428,133.992 346.641,133.989C345.213,133.988 343.47,132.952 342.03,131.25C340.591,129.547 339.658,127.419 339.564,125.619C338.962,114.141 337.955,94.916 337.955,94.916L397.955,94.916C397.955,94.916 537.356,266.295 570.787,307.394C575.207,312.828 580.681,316.175 585.149,316.175C597.174,316.175 620,316.175 620,316.175L620,379.833L560.605,379.833C553.617,379.833 545.056,374.614 538.129,366.13C524.324,349.222 491.306,308.782 480.375,295.394C476.268,290.363 471.189,287.278 467.055,287.302C462.921,287.326 460.361,290.456 460.34,295.511C460.211,327.614 460,379.833 460,379.833L410,379.833Z" + , SvgAttr.style "fill:rgb(204,102,0);" + ] + [] + ] + ] + ] + + +interviews : Html msg +interviews = + svg + [ SvgAttr.viewBox "0 0 640 512" + , SvgAttr.fill "#cc6600" + ] + [ path + [ SvgAttr.d "M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2s0 0 0 0s0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9c0 0 0 0 0 0s0 0 0 0l-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z" + ] + [] + ] + + +donate : Html msg +donate = + svg + [ SvgAttr.viewBox "0 0 512 512" + , SvgAttr.fill "#cc6600" + ] + [ path + [ SvgAttr.d "M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L80 128c-8.8 0-16-7.2-16-16s7.2-16 16-16l368 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z" + ] + [] + ] + + +contact : Html msg +contact = + svg + [ SvgAttr.viewBox "0 0 512 512" + , SvgAttr.fill "#cc6600" + ] + [ path + [ SvgAttr.d "M215.4 96L144 96l-36.2 0L96 96l0 8.8L96 144l0 40.4 0 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3 48 96c0-26.5 21.5-48 48-48l76.6 0 49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48 416 48c26.5 0 48 21.5 48 48l0 44.3 22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4l0-89 0-40.4 0-39.2 0-8.8-11.8 0L368 96l-71.4 0-81.3 0zM0 448L0 242.1 217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1 512 448s0 0 0 0c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64c0 0 0 0 0 0zM176 160l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" + ] + [] + ] + + +gitlab : Html msg +gitlab = + svg + [ SvgAttr.viewBox "0 0 512 512" + , SvgAttr.fill "#D4D4D4" + ] + [ path + [ SvgAttr.d "M503.5 204.6L502.8 202.8L433.1 21C431.7 17.5 429.2 14.4 425.9 12.4C423.5 10.8 420.8 9.9 417.9 9.6C415 9.3 412.2 9.7 409.5 10.7C406.8 11.7 404.4 13.3 402.4 15.5C400.5 17.6 399.1 20.1 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.1 111.5 17.6 109.6 15.5C107.6 13.4 105.2 11.7 102.5 10.7C99.9 9.7 97 9.3 94.1 9.6C91.3 9.9 88.5 10.8 86.1 12.4C82.8 14.4 80.3 17.5 78.9 21L9.3 202.8L8.5 204.6C-1.5 230.8-2.7 259.6 5 286.6C12.8 313.5 29.1 337.3 51.5 354.2L51.7 354.4L52.3 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z" + ] + [] + ] + + +twitter : Html msg +twitter = + svg + [ SvgAttr.viewBox "0 0 512 512" + , SvgAttr.fill "#D4D4D4" + ] + [ path + [ SvgAttr.d "M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" + ] + [] + ] + + +mastodon : Html msg +mastodon = + svg + [ SvgAttr.viewBox "0 0 448 512" + , SvgAttr.fill "#D4D4D4" + ] + [ path + [ SvgAttr.d "M433 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.6-28.4-290.5 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54a102.5 102.5 0 0 1 -.9-13.9c85.6 20.9 158.7 9.1 178.8 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H90.2c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z" + ] + [] + ] + + +discord : Html msg +discord = + svg + [ SvgAttr.viewBox "0 0 640 512" + , SvgAttr.fill "#D4D4D4" + ] + [ path + [ SvgAttr.d "M524.5 69.8a1.5 1.5 0 0 0 -.8-.7A485.1 485.1 0 0 0 404.1 32a1.8 1.8 0 0 0 -1.9 .9 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.1-30.6 1.9 1.9 0 0 0 -1.9-.9A483.7 483.7 0 0 0 116.1 69.1a1.7 1.7 0 0 0 -.8 .7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 0 0 .8 1.4A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.1-.7A348.2 348.2 0 0 0 208.1 430.4a1.9 1.9 0 0 0 -1-2.6 321.2 321.2 0 0 1 -45.9-21.9 1.9 1.9 0 0 1 -.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8 0 0 1 1.9-.3c96.2 43.9 200.4 43.9 295.5 0a1.8 1.8 0 0 1 1.9 .2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9 0 0 1 -.2 3.1 301.4 301.4 0 0 1 -45.9 21.8 1.9 1.9 0 0 0 -1 2.6 391.1 391.1 0 0 0 30 48.8 1.9 1.9 0 0 0 2.1 .7A486 486 0 0 0 610.7 405.7a1.9 1.9 0 0 0 .8-1.4C623.7 277.6 590.9 167.5 524.5 69.8zM222.5 337.6c-29 0-52.8-26.6-52.8-59.2S193.1 219.1 222.5 219.1c29.7 0 53.3 26.8 52.8 59.2C275.3 311 251.9 337.6 222.5 337.6zm195.4 0c-29 0-52.8-26.6-52.8-59.2S388.4 219.1 417.9 219.1c29.7 0 53.3 26.8 52.8 59.2C470.7 311 447.5 337.6 417.9 337.6z" + ] + [] + ] diff --git a/frontend/src/Debate/Arguments/Helpers.elm b/frontend/src/Debate/Arguments/Helpers.elm index cb1f90d..fee9a2b 100755 --- a/frontend/src/Debate/Arguments/Helpers.elm +++ b/frontend/src/Debate/Arguments/Helpers.elm @@ -88,7 +88,7 @@ argumentMaker argument = , summaryMakerDesktop argument , strengthMakerDesktop argument , tableMaker argument - , formalizationMaker argument + , desktopFormalizationMaker argument , proofTreeMaker argument ] ] @@ -114,7 +114,7 @@ argumentMakerMobile argument = , summaryMakerMobile argument , strengthMakerMobile argument , tableMaker argument - , formalizationMaker argument + , mobileFormalizationMaker argument , proofTreeMaker argument ] ] @@ -500,8 +500,8 @@ tableMaker argument = ] -formalizationMaker : Argument -> Element msg -formalizationMaker argument = +desktopFormalizationMaker : Argument -> Element msg +desktopFormalizationMaker argument = let argumentFormatting : List (Attribute msg) argumentFormatting = @@ -523,8 +523,96 @@ formalizationMaker argument = ++ [ spacing 3 , centerX , E.width fill - , paddingXY 0 10 - , explain Debug.todo + , paddingXY 40 3 + ] + ) + (List.indexedMap + (\premiseIndex premiseWithNotation -> + column + (argumentFormatting ++ [ E.width fill ]) + [ paragraph paragraphHightlightedBoldText + [ text ("P" ++ String.fromInt (premiseIndex + 1) ++ ")") + , text premiseWithNotation.premise + |> el + [ F.color colourTheme.textLightGrey + , F.regular + , E.width fill + , paddingEach + { top = 0 + , right = 0 + , bottom = 0 + , left = 5 + } + ] + ] + , paragraph + (argumentFormatting + ++ [ F.color colourTheme.textLightOrange + , F.bold + ] + ) + [ text ("(" ++ premiseWithNotation.notation ++ ")") + ] + ] + ) + argumentEntry.premises + ++ [ column + (argumentFormatting ++ [ E.width fill ]) + [ paragraph paragraphHightlightedBoldText + [ text "C)" + , text argumentEntry.conclusion + |> el + [ F.color colourTheme.textLightGrey + , F.regular + , E.width fill + , paddingEach + { top = 0 + , right = 0 + , bottom = 0 + , left = 5 + } + ] + ] + , paragraph + (argumentFormatting + ++ [ F.color colourTheme.textLightOrange + , F.bold + ] + ) + [ text ("(∴" ++ argumentEntry.conclusionNotation ++ ")") + ] + ] + ] + ) + ) + argument.argumentFormalization + ) + + +mobileFormalizationMaker : Argument -> Element msg +mobileFormalizationMaker argument = + let + argumentFormatting : List (Attribute msg) + argumentFormatting = + [ centerX + , F.center + , spacing 3 + , E.width fill + ] + in + column + [ centerX + , E.width fill + , spacing 10 + ] + (List.indexedMap + (\index argumentEntry -> + column + (paragraphFormat + ++ [ spacing 3 + , centerX + , E.width fill + , paddingXY 0 3 ] ) (List.indexedMap diff --git a/frontend/src/Debate/Debate/Helpers.elm b/frontend/src/Debate/Debate/Helpers.elm index 81e1f03..ac7dbd6 100755 --- a/frontend/src/Debate/Debate/Helpers.elm +++ b/frontend/src/Debate/Debate/Helpers.elm @@ -27,8 +27,8 @@ import Shared import View exposing (View) -debateMaker : Element msg -debateMaker = +desktopDebateMaker : Element msg +desktopDebateMaker = row topLevelBox [ cardMaker @@ -39,9 +39,9 @@ debateMaker = fieldSpacer [ cardSubTitleMaker [ column [ spacing 10 ] - [ makeArguments - , makeCuckList - , makeGibberish + [ desktopMakeArguments + , desktopMakeCuckList + , desktopMakeGibberish ] ] ] @@ -51,14 +51,38 @@ debateMaker = ] -makeDebateEntry : +mobileDebateMaker : Element msg +mobileDebateMaker = + row + topLevelBox + [ cardMaker + [ cardTitleMaker (String.toUpper pageNames.pageDebate) + , cardFormatter + [ cardContentSpacing + [ column + fieldSpacer + [ cardSubTitleMaker + [ column [ spacing 10 ] + [ mobileMakeArguments + , mobileMakeCuckList + , mobileMakeGibberish + ] + ] + ] + ] + ] + ] + ] + + +desktopMakeDebateEntry : { name : String , body : String , url : String , list : String } -> Element msg -makeDebateEntry config = +desktopMakeDebateEntry config = column [ spacing 3 , paddingEach @@ -119,7 +143,21 @@ makeDebateEntry config = , E.alignLeft ] ) - [ column [] [ paragraph [ F.color colourTheme.textLightOrange ] [ text "Count: " ] ] + [ column [] + [ paragraph [ F.color colourTheme.textLightOrange ] + [ if config.name == "Arguments" then + text "Inferences: " + + else if config.name == "Cucklist" then + text "Cucks: " + + else if config.name == "Gibberish" then + text "Gibberations: " + + else + text "" + ] + ] , column [ width fill , paddingXY 3 0 @@ -145,31 +183,172 @@ makeDebateEntry config = ] -makeArguments : Element msg -makeArguments = - makeDebateEntry - { name = Headers.Pages.Arguments.argumentHeader.headerName - , body = Headers.Pages.Arguments.argumentHeader.headerBody - , url = Config.Identity.url ++ String.toLower Headers.Pages.Arguments.argumentHeader.headerName - , list = String.fromInt argumentListNumber ++ " inferences" - } +mobileMakeDebateEntry : + { name : String + , body : String + , url : String + , list : String + } + -> Element msg +mobileMakeDebateEntry config = + column + [ spacing 3 + , paddingEach + { top = 7 + , bottom = 0 + , left = 0 + , right = 0 + } + ] + [ column + [ alignLeft + , spacing 8 + ] + [ column + [ width <| px 130 + , paddingEach + { top = 0 + , bottom = 0 + , left = 0 + , right = 10 + } + , alignTop + , alignLeft + ] + [ link + (paragraphBoldFormat + ++ [ F.size 18 + , F.color colourTheme.textLightGrey + , B.color colourTheme.textDarkOrange + , paddingEach + { top = 5 + , bottom = 5 + , left = 0 + , right = 0 + } + , D.rounded 10 + , height fill + , E.alignLeft + , transitionStyle + , width fill + , mouseOver + [ B.color colourTheme.textDeepDarkOrange + , F.color colourTheme.textDarkGrey + ] + ] + ) + { url = config.url + , label = text config.name + } + ] + , column + [ width fill ] + [ column [ width fill ] + [ row + (paragraphBoldFormat + ++ [ F.size 17 + , F.color colourTheme.textLightGrey + , E.alignLeft + ] + ) + [ column [] + [ paragraph [ F.color colourTheme.textLightOrange ] + [ if config.name == "Arguments" then + text "Inferences: " + + else if config.name == "Cucklist" then + text "Cucks: " + + else if config.name == "Gibberish" then + text "Gibberations: " + + else + text "" + ] + ] + , column + [ width fill + , paddingXY 3 0 + ] + [ paragraph [ F.regular ] [ text config.list ] ] + ] + ] + , row + [ E.width fill + , F.alignLeft + ] + [ paragraph + [ F.regular + , F.color colourTheme.textLightGrey + , F.alignLeft + , F.size 17 + ] + [ text config.body + ] + ] + ] + ] + ] -makeCuckList : Element msg -makeCuckList = - makeDebateEntry - { name = Headers.Pages.CuckList.cuckListHeader.headerName - , body = Headers.Pages.CuckList.cuckListHeader.headerBody - , url = Config.Identity.url ++ String.toLower Headers.Pages.CuckList.cuckListHeader.headerName - , list = String.fromInt cuckListNumber ++ " cucks" - } +argumentData : { name : String, body : String, url : String, list : String } +argumentData = + { name = Headers.Pages.Arguments.argumentHeader.headerName + , body = Headers.Pages.Arguments.argumentHeader.headerBody + , url = Config.Identity.url ++ String.toLower Headers.Pages.Arguments.argumentHeader.headerName + , list = String.fromInt argumentListNumber + } -makeGibberish : Element msg -makeGibberish = - makeDebateEntry - { name = Headers.Pages.Gibberish.gibberishHeader.headerName - , body = Headers.Pages.Gibberish.gibberishHeader.headerBody - , url = Config.Identity.url ++ String.toLower Headers.Pages.Gibberish.gibberishHeader.headerName - , list = String.fromInt gibberishListNumber ++ " gibberations" - } +cuckListData : { name : String, body : String, url : String, list : String } +cuckListData = + { name = Headers.Pages.CuckList.cuckListHeader.headerName + , body = Headers.Pages.CuckList.cuckListHeader.headerBody + , url = Config.Identity.url ++ String.toLower Headers.Pages.CuckList.cuckListHeader.headerName + , list = String.fromInt cuckListNumber + } + + +gibberishData : { name : String, body : String, url : String, list : String } +gibberishData = + { name = Headers.Pages.Gibberish.gibberishHeader.headerName + , body = Headers.Pages.Gibberish.gibberishHeader.headerBody + , url = Config.Identity.url ++ String.toLower Headers.Pages.Gibberish.gibberishHeader.headerName + , list = String.fromInt gibberishListNumber + } + + +desktopMakeArguments : Element msg +desktopMakeArguments = + desktopMakeDebateEntry + argumentData + + +desktopMakeCuckList : Element msg +desktopMakeCuckList = + desktopMakeDebateEntry + cuckListData + + +desktopMakeGibberish : Element msg +desktopMakeGibberish = + desktopMakeDebateEntry + gibberishData + + +mobileMakeArguments : Element msg +mobileMakeArguments = + mobileMakeDebateEntry + argumentData + + +mobileMakeCuckList : Element msg +mobileMakeCuckList = + mobileMakeDebateEntry + cuckListData + + +mobileMakeGibberish : Element msg +mobileMakeGibberish = + mobileMakeDebateEntry + gibberishData diff --git a/frontend/src/Home/Helpers.elm b/frontend/src/Home/Helpers.elm index 202a8ac..fad596e 100755 --- a/frontend/src/Home/Helpers.elm +++ b/frontend/src/Home/Helpers.elm @@ -5,12 +5,14 @@ import Config.Colour as T exposing (..) import Config.Format as O exposing (..) import Config.Identity as I exposing (..) import Config.Response exposing (..) +import Config.Style.Svgs exposing (..) import Config.Viewport exposing (..) import Effect exposing (Effect) import Element as E exposing (..) import Element.Background as B exposing (..) import Element.Border as D exposing (..) import Element.Font as F +import Html exposing (Html) import Html.Attributes as H exposing (style) import Layouts import Page exposing (Page) @@ -19,16 +21,15 @@ import Shared exposing (..) import View exposing (View) -homePage : { src : String, description : String } -> Element msg +homePage : Html msg -> Element msg homePage image = column [ centerX , centerY , spacing 20 ] - [ row [ centerX ] - [ E.image [ E.width fill, height <| px 100 ] - image + [ row [ centerX, E.width fill, height <| px 100 ] + [ html image ] , column [ paddingEach @@ -47,34 +48,28 @@ homePage image = ] -desktopHomePageImage : { src : String, description : String } +desktopHomePageImage : Html msg desktopHomePageImage = - { src = "assets/logo_extended.png" - , description = "" - } + upRootLarge + + +mobileLargeHomePageImage : Html msg +mobileLargeHomePageImage = + upRootMedium + + +mobileSmallHomePageImage : Html msg +mobileSmallHomePageImage = + upRootSmall desktopHomePage = homePage desktopHomePageImage -mobileLargeHomePageImage : { src : String, description : String } -mobileLargeHomePageImage = - { src = "assets/logo.png" - , description = "" - } - - mobileLargeHomePage = homePage mobileLargeHomePageImage -mobileSmallHomePageImage : { src : String, description : String } -mobileSmallHomePageImage = - { src = "assets/logo_lambda.png" - , description = "" - } - - mobileSmallHomePage = homePage mobileSmallHomePageImage diff --git a/frontend/src/Layouts/Navbar.elm b/frontend/src/Layouts/Navbar.elm index 0655b5f..6b99af9 100755 --- a/frontend/src/Layouts/Navbar.elm +++ b/frontend/src/Layouts/Navbar.elm @@ -3,11 +3,12 @@ module Layouts.Navbar exposing (Model, Msg, Props, layout) import Config.Colour as T exposing (..) import Config.Format as O exposing (..) import Config.Identity as I exposing (..) +import Config.Style.Svgs as Icon exposing (..) import Effect exposing (Effect) import Element as E exposing (..) -import Element.Events as Events import Element.Background as B exposing (..) import Element.Border as D exposing (..) +import Element.Events as Events import Element.Font as F import Element.Region exposing (description) import Html exposing (Html) @@ -180,7 +181,7 @@ desktopNavbar = [ F.bold , F.color colourTheme.textLightGrey , F.size 17 - , spacing 8 + , spacing 10 , paddingEach { top = 0 , right = 0 @@ -188,16 +189,9 @@ desktopNavbar = , left = 10 } ] - (desktopHomeButtonMaker - :: List.map desktopPagesButtonMaker - [ pageNames.pageServices - , pageNames.pageHyperBlog - , pageNames.pageDebate - , pageNames.pageNutriDex - , pageNames.pageInterviews - , pageNames.pageDonate - , pageNames.pageContact - ] + (List.map2 desktopButtonMaker + pageList + iconList ) ] ] @@ -212,22 +206,18 @@ desktopIconMaker = [ row (nonHighlightedTitleFormat ++ [ centerX + , spacing 2 + , E.width <| px 140 + , centerX + , paddingEach + { top = 20 + , right = 0 + , bottom = 20 + , left = 0 + } ] ) - [ E.image - [ spacing 2 - , E.width <| px 140 - , centerX - , paddingEach - { top = 20 - , right = 0 - , bottom = 20 - , left = 0 - } - ] - { src = "assets/logo.png" - , description = "" - } + [ html upRootMedium ] , el [ E.width <| px 140 @@ -254,22 +244,18 @@ mobileIconMaker = [ row (nonHighlightedTitleFormat ++ [ centerX + , spacing 2 + , E.width <| px 35 + , centerX + , paddingEach + { top = 10 + , right = 0 + , bottom = 10 + , left = 0 + } ] ) - [ E.image - [ spacing 2 - , E.width <| px 35 - , centerX - , paddingEach - { top = 10 - , right = 0 - , bottom = 10 - , left = 0 - } - ] - { src = "assets/logo_lambda.png" - , description = "" - } + [ html upRootSmall ] , el [ E.width <| px 20 @@ -304,16 +290,9 @@ mobileNavbar = [ spacing 8 , centerX ] - (mobileHomeButtonMaker - :: List.map mobilePagesButtonMaker - [ pageNames.pageServices - , pageNames.pageHyperBlog - , pageNames.pageDebate - , pageNames.pageNutriDex - , pageNames.pageInterviews - , pageNames.pageDonate - , pageNames.pageContact - ] + (List.map2 mobileButtonMaker + pageList + iconList ) ] ] @@ -347,77 +326,83 @@ mobileBackground = ] -desktopButtonMaker : String -> String -> Element msg -desktopButtonMaker name url = +desktopButtonMaker : String -> Html msg -> Element msg +desktopButtonMaker name icon = link [ E.width fill ] - { url = url + { url = + if name == "Home" then + localhostUrl + + else + localhostUrl ++ String.toLower name , label = row - [ spacing 0 ] - [ column [ E.width <| px 36 ] - [ E.image - [ alignLeft - , alignBottom - , E.width <| px 30 - ] - { src = "navbar/" ++ String.toLower name ++ ".png" - , description = name ++ " icon" + [ spacing 0, height <| px 30 ] + [ column + [ E.width <| px 35 + , paddingEach + { top = 0 + , right = 10 + , bottom = 0 + , left = 0 } ] + [ html icon + ] , column - [ alignBottom ] - [ el - [ mouseOver [ F.color colourTheme.textLightOrange ] - , F.color colourTheme.textLightGrey - , htmlAttribute <| style "transition" "all 0.1s ease-in-out" - ] - <| - text (String.toUpper name) + [ mouseOver [ F.color colourTheme.textLightOrange ] + , F.color colourTheme.textLightGrey + , htmlAttribute <| style "transition" "all 0.1s ease-in-out" + , alignBottom + ] + [ text (String.toUpper name) ] ] } -desktopHomeButtonMaker : Element msg -desktopHomeButtonMaker = - desktopButtonMaker "home" localhostUrl - - -desktopPagesButtonMaker : String -> Element msg -desktopPagesButtonMaker name = - desktopButtonMaker name (localhostUrl ++ String.toLower name) - - -mobileButtonMaker : String -> Element msg -mobileButtonMaker name = +mobileButtonMaker : String -> Html msg -> Element msg +mobileButtonMaker name icon = link [] { url = localhostUrl ++ String.toLower name , label = row [ spacing 10 ] - [ column [ E.width <| px 36 ] - [ E.image - [ E.width <| px 25 - , centerX - ] - { src = "navbar/" ++ String.toLower name ++ ".png" - , description = name ++ " icon" - } + [ column + [ E.width <| px 20 + ] + [ html icon ] ] } -mobileHomeButtonMaker : Element msg -mobileHomeButtonMaker = - mobileButtonMaker "home" +iconList : List (Html msg) +iconList = + [ Icon.home + , Icon.services + , Icon.hyperBlog + , Icon.debate + , Icon.nutriDex + , Icon.interviews + , Icon.donate + , Icon.contact + ] -mobilePagesButtonMaker : String -> Element msg -mobilePagesButtonMaker name = - mobileButtonMaker name +pageList : List String +pageList = + [ "Home" + , "Services" + , "HyperBlog" + , "Debate" + , "NutriDex" + , "Interviews" + , "Donate" + , "Contact" + ] desktopFooterIcons : Element msg @@ -452,13 +437,14 @@ desktopFooterIcons = , right = 0 } ] - (List.map - footerImageMaker + (List.map2 + desktopFooterImageMaker [ gitlabDetails , twitterDetails , mastodonDetails , discordDetails ] + footerIconList ) ] ] @@ -495,37 +481,52 @@ mobileFooterIcons = , right = 0 } ] - (List.map - footerImageMaker + (List.map2 + mobileFooterImageMaker [ gitlabDetails , twitterDetails , mastodonDetails , discordDetails ] + footerIconList ) ] ] -footerImageMaker : +desktopFooterImageMaker : { name : String , url : String } + -> Html msg -> Element msg -footerImageMaker config = +desktopFooterImageMaker config icon = column [ centerX ] [ newTabLink [] { url = config.url , label = - row [] - [ E.image - [ E.width <| px 20 - , alignBottom - , centerX - ] - { src = "navbar/" ++ config.name ++ "-light.png" - , description = "" - } + row + [ E.width <| px 20 ] + [ html icon + ] + } + ] + + +mobileFooterImageMaker : + { name : String + , url : String + } + -> Html msg + -> Element msg +mobileFooterImageMaker config icon = + column [ centerX ] + [ newTabLink [] + { url = config.url + , label = + row + [ E.width <| px 15 ] + [ html icon ] } ] @@ -557,3 +558,11 @@ discordDetails = { name = "discord" , url = "https://discord.com/invite/YrcEvgRTqy" } + + +footerIconList = + [ Icon.gitlab + , Icon.twitter + , Icon.mastodon + , Icon.discord + ] diff --git a/frontend/src/Pages/Debate.elm b/frontend/src/Pages/Debate.elm index 259677e..ea9ca88 100755 --- a/frontend/src/Pages/Debate.elm +++ b/frontend/src/Pages/Debate.elm @@ -106,6 +106,12 @@ debateList : Device -> Element msg debateList device = column pageListDesktop (case ( device.class, device.orientation ) of + ( Phone, Portrait ) -> + [ mobileDebateMaker ] + + ( Tablet, Portrait ) -> + [ mobileDebateMaker ] + _ -> - [ debateMaker ] + [ desktopDebateMaker ] ) diff --git a/frontend/src/Products/Helpers.elm b/frontend/src/Products/Helpers.elm index ffb02e4..7d9c53f 100755 --- a/frontend/src/Products/Helpers.elm +++ b/frontend/src/Products/Helpers.elm @@ -107,6 +107,24 @@ makeFeature features = ] +price : Element msg +price = + newTabLink [] + { url = "https://the-nutrivore.myshopify.com/cart/31192710807615:1?channel=buy_button" + , label = + row + [ F.center + , paddingEach + { top = 3 + , right = 0 + , bottom = 0 + , left = 0 + } + ] + [ text "$19.99" ] + } + + featureList : NutriDex -> Element msg featureList nutridex = column @@ -157,10 +175,7 @@ featureList nutridex = , left = 25 } ] - [ newTabLink [] - { url = "https://the-nutrivore.myshopify.com/cart/31192710807615:1?channel=buy_button" - , label = row [ F.center ] [ text "$19.99" ] - } + [ price ] ] , column @@ -236,10 +251,7 @@ featureListMobile nutridex = , left = 25 } ] - [ newTabLink [] - { url = "https://the-nutrivore.myshopify.com/cart/31192710807615:1?channel=buy_button" - , label = row [ F.center ] [ text "$19.99" ] - } + [ price ] ] , column diff --git a/frontend/static/assets/logo.svg b/frontend/static/assets/logo.svg new file mode 100644 index 0000000..bc6f912 --- /dev/null +++ b/frontend/static/assets/logo.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/static/assets/logo_extended.svg b/frontend/static/assets/logo_extended.svg new file mode 100644 index 0000000..17a5eb2 --- /dev/null +++ b/frontend/static/assets/logo_extended.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/static/assets/logo_n.svg b/frontend/static/assets/logo_n.svg new file mode 100644 index 0000000..f1702da --- /dev/null +++ b/frontend/static/assets/logo_n.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/frontend/static/assets/logo_r.svg b/frontend/static/assets/logo_r.svg new file mode 100644 index 0000000..bffb415 --- /dev/null +++ b/frontend/static/assets/logo_r.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/static/assets/logo_u.svg b/frontend/static/assets/logo_u.svg new file mode 100644 index 0000000..58f135b --- /dev/null +++ b/frontend/static/assets/logo_u.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/frontend/static/assets/nutridex.svg b/frontend/static/assets/nutridex.svg new file mode 100644 index 0000000..216d3cc --- /dev/null +++ b/frontend/static/assets/nutridex.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/static/assets/nutridex_brightorange.svg b/frontend/static/assets/nutridex_brightorange.svg new file mode 100644 index 0000000..b270420 --- /dev/null +++ b/frontend/static/assets/nutridex_brightorange.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/static/assets/nutridex_darkorange.svg b/frontend/static/assets/nutridex_darkorange.svg new file mode 100644 index 0000000..68f8518 --- /dev/null +++ b/frontend/static/assets/nutridex_darkorange.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +