From e7da9dda76a513252ffffa6459cdcd1d3fda4bb3 Mon Sep 17 00:00:00 2001 From: Charles Maxime Sassot Date: Wed, 1 Jun 2022 17:31:21 +0200 Subject: [PATCH] init --- public/css/admin_settings.css | 16 + public/css/form.css | 130 -------- public/css/login_form.css | 19 ++ public/css/server.css | 311 ++++++++++++------ public/favicon.ico | Bin 0 -> 4286 bytes .../icons/arrow-right-from-bracket-solid.svg | 1 + public/icons/chevron-right-solid.svg | 1 + public/icons/cloud-arrow-up-solid.svg | 1 + public/icons/cubes-stacked-solid.svg | 1 + public/icons/download-solid.svg | 1 + public/icons/gear-solid.svg | 1 + public/icons/house-solid.svg | 1 + public/icons/pen-to-square-solid.svg | 1 + public/icons/question-solid.svg | 1 + public/icons/store-solid.svg | 1 + public/icons/trophy-solid.svg | 1 + public/icons/users-solid.svg | 1 + public/js/font-awesome-5.3.1.js | 5 + template/blocks/admin_menu.html.tmpl | 12 +- template/blocks/app_tile.html.tmpl | 64 +--- template/blocks/base.html.tmpl | 4 +- template/blocks/flash.html.tmpl | 8 +- template/blocks/header.html.tmpl | 9 +- template/layouts/admin_app_edit.html.tmpl | 93 ++---- template/layouts/admin_apps_list.html.tmpl | 98 +++--- template/layouts/admin_login.html.tmpl | 39 ++- .../admin_market_app_install.html.tmpl | 42 ++- .../layouts/admin_market_search.html.tmpl | 95 +++--- template/layouts/admin_register.html.tmpl | 4 +- template/layouts/admin_settings.html.tmpl | 83 ++--- template/layouts/admin_user_delete.html.tmpl | 2 +- template/layouts/admin_user_info.html.tmpl | 108 +++--- template/layouts/admin_users_list.html.tmpl | 70 ++-- template/layouts/app.html.tmpl | 16 +- template/layouts/bad_gateway.html.tmpl | 2 +- template/layouts/captive_portal.html.tmpl | 2 +- template/layouts/highscore.html.tmpl | 90 ++--- template/layouts/home.html.tmpl | 36 +- template/layouts/profile.html.tmpl | 93 +++--- 39 files changed, 722 insertions(+), 741 deletions(-) create mode 100644 public/css/admin_settings.css delete mode 100644 public/css/form.css create mode 100644 public/css/login_form.css create mode 100644 public/favicon.ico create mode 100644 public/icons/arrow-right-from-bracket-solid.svg create mode 100644 public/icons/chevron-right-solid.svg create mode 100644 public/icons/cloud-arrow-up-solid.svg create mode 100644 public/icons/cubes-stacked-solid.svg create mode 100644 public/icons/download-solid.svg create mode 100644 public/icons/gear-solid.svg create mode 100644 public/icons/house-solid.svg create mode 100644 public/icons/pen-to-square-solid.svg create mode 100644 public/icons/question-solid.svg create mode 100644 public/icons/store-solid.svg create mode 100644 public/icons/trophy-solid.svg create mode 100644 public/icons/users-solid.svg create mode 100644 public/js/font-awesome-5.3.1.js diff --git a/public/css/admin_settings.css b/public/css/admin_settings.css new file mode 100644 index 0000000..27b77e1 --- /dev/null +++ b/public/css/admin_settings.css @@ -0,0 +1,16 @@ +@media screen and (min-width: 769px) { + form { + width: 50%!important; + } +} +@media screen and (min-width: 1200px) { + form { + /* width: 25%!important; */ + padding: 8rem!important; + } + +} + +textarea { + height: 20vh!important; +} diff --git a/public/css/form.css b/public/css/form.css deleted file mode 100644 index 956d217..0000000 --- a/public/css/form.css +++ /dev/null @@ -1,130 +0,0 @@ - -/** FORM */ - -label { - display: block; - margin: 0; - font-size: .875rem; - font-weight: 400; - line-height: 1.8; - color: #0a0a0a; - } - - input { - appearance: none; - background-color: rgb(254, 254, 254); - border-bottom-color: rgb(202, 202, 202); - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - border-bottom-style: solid; - border-bottom-width: 1px; - border-image-outset: 0; - border-image-repeat: stretch; - border-image-slice: 100%; - border-image-source: none; - border-image-width: 1; - border-left-color: rgb(202, 202, 202); - border-left-style: solid; - border-left-width: 1px; - border-right-color: rgb(202, 202, 202); - border-right-style: solid; - border-right-width: 1px; - border-top-color: rgb(202, 202, 202); - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border-top-style: solid; - border-top-width: 1px; - box-shadow: rgba(10, 10, 10, 0.1) 0px 1px 2px 0px inset; - box-sizing: border-box; - color: rgb(10, 10, 10); - cursor: text; - display: block; - font-size: 16px; - font-stretch: 100%; - height: 2.3rem; - line-height: 1.5rem; - padding: 0.5rem; - width: 100%; - /* font-style normal - font-variant-caps normal - font-variant-east-asian normal - font-variant-ligatures normal - font-variant-numeric normal - font-weight 400 - letter-spacing normal - margin-bottom 16px - margin-left 0px - margin-right 0px - margin-top 0px - overflow-x visible - overflow-y visible - padding-bottom 8px - padding-left 8px - padding-right 8px - padding-top 8px - text-align start - text-indent 0px - text-rendering auto - text-shadow none - text-size-adjust 100% - text-transform none - transition-delay 0s, 0s, 0s - transition-duration 0.5s, 0.25s, 0.5s - transition-property box-shadow, border-color, -webkit-box-shadow - transition-timing-function ease, ease-in-out, ease - width 468.5px */ - - } - - .container { - display: flex; - justify-content: center; - align-items: center; - } - - .loginForm { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%,-50%); - } - - .loginForm > form { - display: inline-flex; - } - - button { - -webkit-appearance: none; - -moz-appearance: none; - border-radius: 0; - border-style: solid; - border-width: 0; - cursor: pointer; - font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important; - font-weight: normal; - line-height: normal; - margin: 0 0 1.11111rem; - position: relative; - text-align: center; - text-decoration: none; - display: inline-block; - padding: 0.6rem 1.25rem; - font-size: 0.88889rem; - background-color: rgb(7, 142, 181); - border-color: #007095; - color: #FFFFFF; - transition: background-color 300ms ease-out; - box-shadow: 5px 5px 15px -11px #007095; - - } - - button:hover { - - } - - #adminSettings { - padding: 1.5rem; - border-radius: 2px; - -webkit-box-shadow: 0px 2px 28px 5px #000000; - box-shadow: 0px 27px 34px 2px rgb(0 0 0 / 49%); - } \ No newline at end of file diff --git a/public/css/login_form.css b/public/css/login_form.css new file mode 100644 index 0000000..73aba65 --- /dev/null +++ b/public/css/login_form.css @@ -0,0 +1,19 @@ +form > div { + display: block; + margin: 0 auto 2rem auto; +} + +form > div:focus-within { + border-block-color: white!important; + -webkit-box-shadow:1px 16px 29px -5px rgba(255,255,255,0.26)!important; + box-shadow: 1px 16px 29px -5px rgba(255,255,255,0.26)!important; +} + +form > button { + display: block; + margin: auto; +} + +form input { + width: 80%!important; +} \ No newline at end of file diff --git a/public/css/server.css b/public/css/server.css index e032268..7d104d9 100644 --- a/public/css/server.css +++ b/public/css/server.css @@ -1,3 +1,60 @@ +ul li a span svg { + display: inline-block; + width: 1rem; + height: 1rem; +} + +.memberCard label { + background-color:white; + color: #078eb5!important; + +} + +.memberCard { + width: 10rem!important; +} + +.memberCard label:hover { + background-color:#078eb5!important; + color: white!important; +} + +#profile { + display: flex; +} + +.bg-blue-500 { + background-color:#078eb5!important; +} + +.text-blue-500 { + color: #078eb5!important; +} + +.bg-cadoles { + background-color: #078eb5!important; +} + +#main img { + display: block; + margin: 2.5rem auto; +} + +html, +body { + margin: 0; + height: 100%; + width: 100%; +} + +main { + height: 100%; + width: 100%; +} +.arcadContent { + padding: 1rem; +} + a { text-decoration: none; } @@ -7,8 +64,7 @@ a { margin: 0; padding: 0; box-sizing: border-box; - font-family: 'Lato', sans-serif; - font-family: 'Oswald', sans-serif; + font-family: 'Roboto', sans-serif; } .wrapper{ position: fixed; @@ -17,22 +73,17 @@ a { height: 100%; width: 100%; background: rgb(36, 36, 36); - /*background: linear-gradient(90deg, #f92c78, #4114a1);*/ - /* background: linear-gradient(375deg, #1cc7d0, #2ede98); */ - /* background: linear-gradient(-45deg, #e3eefe 0%, #efddfb 100%);*/ - transition: all 0.6s ease-in-out; + transition: all 0.2s ease-in-out; z-index: 19; } #active:checked ~ .wrapper{ - /*left: 0;*/ right:0; } .menu-btn{ position: absolute; z-index: 20; right: 20px; - /*left: 20px; */ - top: 20px; + top: 2.5vh; height: 50px; width: 50px; text-align: center; @@ -40,11 +91,7 @@ a { border-radius: 50%; font-size: 20px; cursor: pointer; - /*color: #fff;*/ - /*background: linear-gradient(90deg, #f92c78, #4114a1);*/ - /* background: linear-gradient(375deg, #1cc7d0, #2ede98); */ - /* background: linear-gradient(-45deg, #e3eefe 0%, #efddfb 100%); */ - transition: all 0.3s ease-in-out; + transition: all 0.2s ease-in-out; } .menu-btn span, .menu-btn:before, @@ -70,7 +117,7 @@ a { width: 100%; height: 100%; pointer-events: none; - transition: background .6s; + transition: background .2s; } /* closing animation */ @@ -99,6 +146,10 @@ a { margin: 15px 0; } .wrapper ul li a { + transition-property: font-size; + transition-duration: 1s; + transition-delay: .1s; + text-decoration: none; font-size: 30px; font-weight: 500; @@ -109,21 +160,23 @@ a { line-height: 50px; margin: 5px 30px; opacity: 0; - transition: all 0.3s ease; - transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1); + /* transition: all 0.3s ease; + transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1); */ } -.wrapper ul li a:after{ +.wrapper ul li a:hover{ position: absolute; - content: ""; - background: #fff; + font-size: 36px; + + text-shadow: #bbb 0 0 1px, #fff 0 -1px 2px, #fff 0 -3px 2px, rgba(0,0,0,0.8) 0 30px 25px; + /* background: #fff; */ /*background: linear-gradient(#14ffe9, #ffeb3b, #ff00e0);*/ /*background: linear-gradient(375deg, #1cc7d0, #2ede98);*/ width: 100%; - height: 100%; + /* height: 100%; left: 0; - top: 0; + top: 0; */ border-radius: 50px; - transform: scaleY(0); + /* transform: scaleY(0); */ z-index: -1; transition: transform 0.3s ease; } @@ -131,48 +184,32 @@ a { transform: scaleY(1); } .wrapper ul li a:hover{ - color: rgb(7, 142, 181) + /* color: rgb(7, 142, 181) */ } -input[type="checkbox"]{ + +#active{ display: none; } -.content{ - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: -1; - text-align: center; - width: 100%; - color: #202020; -} -.content .title{ - font-size: 40px; - font-weight: 700; -} -.content p{ - font-size: 35px; - font-weight: 600; -} + #active:checked ~ .wrapper ul li a{ opacity: 1; } .wrapper ul li a{ - transition: opacity 1.2s, transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: opacity 0.2s, transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translateX(100px); } #active:checked ~ .wrapper ul li a{ transform: none; transition-timing-function: ease, cubic-bezier(.1,1.3,.3,1); - transition-delay: .6s; + transition-delay: .2s; transform: translateX(-20vh); } /** endNavbar */ #main { - max-width:1280px; + max-width:100%; min-height:100%; margin:0 auto; position:relative; @@ -180,31 +217,29 @@ input[type="checkbox"]{ -footer{ - position:absolute; - bottom:0; +footer { + /* position:absolute; + bottom:0; */ width:100%; font-size: 14px; font-family: Roboto,sans-serif; font-weight: 300; color: rgb(74, 74, 74); line-height: 18px; + padding: 1.2rem; } #logo img { - margin: 1rem 1rem; + padding: 2.5vh; + display: inline-block; } +/* header { + height: 10vh; +} */ @media screen and (min-width: 769px) { - aside { - left: 0; - position: absolute; - } -} -aside { - margin-left: 1rem; } .side-menu { @@ -215,6 +250,29 @@ aside { margin: 0; padding: 0.77778rem 0; } +.custom-icon { + filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(192deg) brightness(108%) contrast(60%); + width: 1.2rem; + height: 1.2rem; +} + +.profile-icon { + width: 3.2rem!important; + height: 3.2rem; + +} + +.custom-icon-white { + filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(192deg) brightness(108%) contrast(60%); + width: 1.2rem; + height: 1.2rem; +} + +.admin-links { + display: flex; + align-items: center; + justify-content: space-between; +} .side-menu li { margin-top: 0.8rem; @@ -223,7 +281,6 @@ aside { .side-menu li a{ color: #008CBA; - display: block; margin: 0; } @@ -235,67 +292,111 @@ footer a:hover { color: #035d7a; } -/* footer a:after { - background: none repeat scroll 0 0 transparent; - bottom: 0; - content: ""; - display: block; - height: 2px; - left: 50%; - position: absolute; - background: #fff; - transition: width 0.3s ease 0s, left 0.3s ease 0s; - width: 0; -} -footer a:hover:after { - width: 100%; - left: 0; -} */ - -/* footer a { - color: #008CBA; - text-decoration: underline 0.15em rgba(255, 255, 255, 0); - transition: text-decoration-color 300ms; -} - -footer a:hover { - text-decoration-color:#035d7a; -} */ - -body a, footer a { +footer a { box-shadow: inset 0 0 0 0 #54b3d6; color: #54b3d6; margin: 0 -.25rem; padding: 0 .25rem; - transition: color .3s ease-in-out, text-decoration .3s ease-in-out; + transition: color .2s ease-in-out, text-decoration .3s ease-in-out; } -body a:hover { +footer a:hover { /* box-shadow: inset 100% 0 0 0 #54b3d6; */ text-decoration: underline 0.15em rgba(255, 255, 255, 0); color: #54b3d6; background-color: rgba(0, 0, 0, 0.11); } - -/* .flashlight { - color: hsla(0,0%,0%,0); - perspective: 80px; - outline: none; +/* Profile card */ +.profileCard { + max-width: 100%; } -#flash { - display: inline-block; - text-shadow: #bbb 0 0 1px, #fff 0 -1px 2px, #fff 0 -3px 2px, rgba(0,0,0,0.8) 0 30px 25px; - transition: margin-left 0.3s cubic-bezier(0, 1, 0, 1); +body { + padding: 10px; } -.light { - display: inline-block; - text-shadow: #111 0 0 1px, rgba(255,255,255,0.1) 0 1px 3px; +.app-wrapper { + display:flex; + height:100%; + width:100%; + flex-direction:column; +} + +.app-header { + padding: 7px; + flex-grow: 0; +} + +.app-frame { + background: #F7F7F7; + width: 100%; + border: none; + flex-grow: 1; + overflow: hidden; +} + +.app-frame::-webkit-scrollbar { + display: none; +} + +#arcadLogo { + max-width: 25%; +} + +.podium-container { + display: flex; + justify-content: center; + margin-bottom: 20px; } + .podium-container .podium { + display: flex; + align-items: flex-end; } + .podium-container .podium .pod { + width: 120px; + overflow: hidden; } + .podium-container .podium .pod .pod-stair { + background-color: #3298dc; + border: 1px solid white; + justify-content: center; + align-items: center; + display: flex; + border-radius: 4px 4px 0 0; } + .podium-container .podium .pod.first .pod-stair { + height: 120px; + width: 120px; } + .podium-container .podium .pod.first .pod-stair .pod-position { + font-size: 200%; } + .podium-container .podium .pod.second .pod-stair { + height: 72px; + width: 120px; } + .podium-container .podium .pod.second .pod-stair .pod-position { + font-size: 150%; } + .podium-container .podium .pod.third .pod-stair { + height: 36px; + width: 120px; } + .podium-container .podium .pod .pod-position { + font-size: 100%; + font-weight: bolder; + color: #fff; } + .podium-container .podium .pod .pod-player { + text-align: center; + margin-bottom: 20px; } + .podium-container .podium .pod .pod-player .player-crown { + fill: #ffdd57; + height: 3rem !important; + width: 3rem; } + .podium-container .podium .pod .pod-player .player-nickname { + display: block; + font-weight: bolder; + font-size: 1.5rem; + width: 120px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + padding: 0 5px 0 5px; } + .podium-container .podium .pod .pod-player .player-score { + display: block; + font-weight: bolder; + font-size: 1rem; + } -li:hover .light { - text-shadow: #fff 0 0 4px, #fcffbb 0 0 20px; - transform: rotateY(-60deg); - transition: transform 0.3s cubic-bezier(0, 0.75, 0, 1), text-shadow 0.1s ease-out; -} */ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a2ed2537c67cb8129043f2172d72a47ad40fc102 GIT binary patch literal 4286 zcmcgweQXp(6rbz1JG0l8))-0r$2JiYf<|NTgG5v6M-)sAF&Yt(21qc*fI*EWXo#n# znku)mcWnt;BF0ZbP%G{2Ucc-qivD3j&=4C7@lq&7;s+msAlmi!_I7b^ukCHq;x_MQ z-kUe?_uiW~v$JI^g1_2YM!#%(HDj|GV{<_ev3d~6od;u=mgguZnEZF3g-1+XsAil; zO`XpIRi|`*$z)_oUJbn}Q&-Eobk5DBQZhM8;b=!QS38>3%hHlB0R9Hxo3J?wT)P-S zk91C_bafBf*HeaimnqfDcfP_!AyU31{v=a+68tL6djhoIwH3tt6=PYKhS7R-82vM# zpg!@3k(Z5@BD}KR+&h zW;36K`JaTbfto(>0sW^-zVePs7*%{?P6j#y1V%OWyfE;IH-8&ENL7 z3Jq&`QR8=NOY$}|Ar@h;F2LTqkqCQ__TX)Ze|MPrE6l&BfbU_~|0HsJ6f^>&GsmMN z=>G}w*Q(RU-uj39`j5oWo;Ra-6EN2E7*ot(>d>_w#F&WOi80zB==s9N_a1L0& zY~R8Z$c}+1rZG@~?=v9V+!#U2EPrM=RG{r5c}|M`r6~C(T)Mv2A#n9{uE(#8@vWsogj+MK>qJX|Dem0E>Sn? zc-u5^$@Wpyz3JLG3H#3wembFE0s9>!N1HI?>T>jda`kAQ-KC2rGcK0;WmD{rrdu?+ z>M&D^4`?p%hr6YyLw}uT3-~e>S04tShYx;n%Ft$eIq~$vwwTwRTrWxqzuQo6cI}Mf z-ts7N@-p#`OmZFdu*{DS`MIt)DywZ<#T|=(9u_mGhqxc68JAV z*zf`S?==hf;Qh7!p>3B&Y`Y?Y@g<&a(0(xP0e;74=AM8Ev;ydRWcv_zZw9n!FQTN5xXx_cJw^hNN znOjr!0kOW*D}_IPoNFSMHgI>Ae4lI2@d5pxfpKdt>cU^lxe2+U_et@%T^(Swr}gNS z0h}W^^HyOEXwCiWdI0#>79!^)AH~Z`FuojgHmncO9Y}9tbocb`zFxjj2YeawLudX7 z;yRU*Vu^fO?YzOTmoPE3H;CdX1&? zrD;8)HQZTN@U2n|H#okgL5u9&#qf=!)};)5Q|c~pe z`5PMfv~h!eTnv7Uu@}xVR+D9nXBbmrN+wc395VbHfr#avS~MVf^%2#(ga%K{)y=?W V)}`Z&RRL$=-@qeGJ62}X^Dj0z%>V!Z literal 0 HcmV?d00001 diff --git a/public/icons/arrow-right-from-bracket-solid.svg b/public/icons/arrow-right-from-bracket-solid.svg new file mode 100644 index 0000000..e9cd5c7 --- /dev/null +++ b/public/icons/arrow-right-from-bracket-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/chevron-right-solid.svg b/public/icons/chevron-right-solid.svg new file mode 100644 index 0000000..c4996ce --- /dev/null +++ b/public/icons/chevron-right-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/cloud-arrow-up-solid.svg b/public/icons/cloud-arrow-up-solid.svg new file mode 100644 index 0000000..9f282fd --- /dev/null +++ b/public/icons/cloud-arrow-up-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/cubes-stacked-solid.svg b/public/icons/cubes-stacked-solid.svg new file mode 100644 index 0000000..e75e19c --- /dev/null +++ b/public/icons/cubes-stacked-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/download-solid.svg b/public/icons/download-solid.svg new file mode 100644 index 0000000..09cdf88 --- /dev/null +++ b/public/icons/download-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/gear-solid.svg b/public/icons/gear-solid.svg new file mode 100644 index 0000000..784fcde --- /dev/null +++ b/public/icons/gear-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/house-solid.svg b/public/icons/house-solid.svg new file mode 100644 index 0000000..73be89d --- /dev/null +++ b/public/icons/house-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/pen-to-square-solid.svg b/public/icons/pen-to-square-solid.svg new file mode 100644 index 0000000..1ac605b --- /dev/null +++ b/public/icons/pen-to-square-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/question-solid.svg b/public/icons/question-solid.svg new file mode 100644 index 0000000..56e4bf2 --- /dev/null +++ b/public/icons/question-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/store-solid.svg b/public/icons/store-solid.svg new file mode 100644 index 0000000..2b88499 --- /dev/null +++ b/public/icons/store-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/trophy-solid.svg b/public/icons/trophy-solid.svg new file mode 100644 index 0000000..4ec7ad9 --- /dev/null +++ b/public/icons/trophy-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/users-solid.svg b/public/icons/users-solid.svg new file mode 100644 index 0000000..fee8067 --- /dev/null +++ b/public/icons/users-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/js/font-awesome-5.3.1.js b/public/js/font-awesome-5.3.1.js new file mode 100644 index 0000000..b08e9a6 --- /dev/null +++ b/public/js/font-awesome-5.3.1.js @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +!function(){"use strict";var c={};try{"undefined"!=typeof window&&(c=window)}catch(c){}var l=(c.navigator||{}).userAgent,h=void 0===l?"":l,z=c,v=(~h.indexOf("MSIE")||h.indexOf("Trident/"),"___FONT_AWESOME___"),m=function(){try{return!0}catch(c){return!1}}(),s=[1,2,3,4,5,6,7,8,9,10],e=s.concat([11,12,13,14,15,16,17,18,19,20]);["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(s.map(function(c){return c+"x"})).concat(e.map(function(c){return"w-"+c}));var a=z||{};a[v]||(a[v]={}),a[v].styles||(a[v].styles={}),a[v].hooks||(a[v].hooks={}),a[v].shims||(a[v].shims=[]);var t=a[v],M=Object.assign||function(c){for(var l=1;l>>0;h--;)l[h]=c[h];return l}function U(c){return c.classList?X(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function K(c,l){var h,z=l.split("-"),v=z[0],m=z.slice(1).join("-");return v!==c||""===m||(h=m,~w.indexOf(h))?null:m}function G(c){return(""+c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function J(h){return Object.keys(h||{}).reduce(function(c,l){return c+(l+": ")+h[l]+";"},"")}function Q(c){return c.size!==W.size||c.x!==W.x||c.y!==W.y||c.rotate!==W.rotate||c.flipX||c.flipY}function Z(c){var l=c.transform,h=c.containerWidth,z=c.iconWidth;return{outer:{transform:"translate("+h/2+" 256)"},inner:{transform:"translate("+32*l.x+", "+32*l.y+") "+" "+("scale("+l.size/16*(l.flipX?-1:1)+", "+l.size/16*(l.flipY?-1:1)+") ")+" "+("rotate("+l.rotate+" 0 0)")},path:{transform:"translate("+z/2*-1+" -256)"}}}var $={x:0,y:0,width:"100%",height:"100%"},cc=function(c){var l=c.children,h=c.attributes,z=c.main,v=c.mask,m=c.transform,s=z.width,e=z.icon,a=v.width,t=v.icon,M=Z({transform:m,containerWidth:a,iconWidth:s}),f={tag:"rect",attributes:A({},$,{fill:"white"})},r={tag:"g",attributes:A({},M.inner),children:[{tag:"path",attributes:A({},e.attributes,M.path,{fill:"black"})}]},H={tag:"g",attributes:A({},M.outer),children:[r]},i="mask-"+D(),n="clip-"+D(),V={tag:"defs",children:[{tag:"clipPath",attributes:{id:n},children:[t]},{tag:"mask",attributes:A({},$,{id:i,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[f,H]}]};return l.push(V,{tag:"rect",attributes:A({fill:"currentColor","clip-path":"url(#"+n+")",mask:"url(#"+i+")"},$)}),{children:l,attributes:h}},lc=function(c){var l=c.children,h=c.attributes,z=c.main,v=c.transform,m=J(c.styles);if(0"+s.map(bc).join("")+""}var gc=function(){};function Sc(c){return"string"==typeof(c.getAttribute?c.getAttribute(g):null)}var yc={replace:function(c){var l=c[0],h=c[1].map(function(c){return bc(c)}).join("\n");if(l.parentNode&&l.outerHTML)l.outerHTML=h+(E.keepOriginalSource&&"svg"!==l.tagName.toLowerCase()?"\x3c!-- "+l.outerHTML+" --\x3e":"");else if(l.parentNode){var z=document.createElement("span");l.parentNode.replaceChild(z,l),z.outerHTML=h}},nest:function(c){var l=c[0],h=c[1];if(~U(l).indexOf(E.replacementClass))return yc.replace(c);var z=new RegExp(E.familyPrefix+"-.*");delete h[0].attributes.style;var v=h[0].attributes.class.split(" ").reduce(function(c,l){return l===E.replacementClass||l.match(z)?c.toSvg.push(l):c.toNode.push(l),c},{toNode:[],toSvg:[]});h[0].attributes.class=v.toSvg.join(" ");var m=h.map(function(c){return bc(c)}).join("\n");l.setAttribute("class",v.toNode.join(" ")),l.setAttribute(g,""),l.innerHTML=m}};function wc(h,c){var z="function"==typeof c?c:gc;0===h.length?z():(r.requestAnimationFrame||function(c){return c()})(function(){var c=!0===E.autoReplaceSvg?yc.replace:yc[E.autoReplaceSvg]||yc.replace,l=Mc.begin("mutate");h.map(c),l(),z()})}var kc=!1;var xc=null;function Ac(c){if(e&&E.observeMutations){var v=c.treeCallback,m=c.nodeCallback,s=c.pseudoElementsCallback,l=c.observeMutationsRoot,h=void 0===l?H.body:l;xc=new e(function(c){kc||X(c).forEach(function(c){if("childList"===c.type&&0li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1em}.svg-inline--fa.fa-stack-2x{height:2em;width:2em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}";if("fa"!==l||h!==c){var v=new RegExp("\\.fa\\-","g"),m=new RegExp("\\."+c,"g");z=z.replace(v,"."+l+"-").replace(m,"."+h)}return z};function zl(c){return{found:!0,width:c[0],height:c[1],icon:{tag:"path",attributes:{fill:"currentColor",d:c.slice(4)[0]}}}}function vl(){E.autoAddCss&&!tl&&(Y(hl()),tl=!0)}function ml(l,c){return Object.defineProperty(l,"abstract",{get:c}),Object.defineProperty(l,"html",{get:function(){return l.abstract.map(function(c){return bc(c)})}}),Object.defineProperty(l,"node",{get:function(){if(M){var c=H.createElement("div");return c.innerHTML=l.html,c.children}}}),l}function sl(c){var l=c.prefix,h=void 0===l?"fa":l,z=c.iconName;if(z)return pc(al.definitions,h,z)||pc(T.styles,h,z)}var el,al=new(function(){function c(){k(this,c),this.definitions={}}return x(c,[{key:"add",value:function(){for(var l=this,c=arguments.length,h=Array(c),z=0;z -

+ {{end}} \ No newline at end of file diff --git a/template/blocks/app_tile.html.tmpl b/template/blocks/app_tile.html.tmpl index 258142f..7236d4e 100644 --- a/template/blocks/app_tile.html.tmpl +++ b/template/blocks/app_tile.html.tmpl @@ -1,53 +1,25 @@ {{define "app_tile" }} -
-
-
-

{{ .Manifest.Title }}

-

{{ index .Manifest.Tags 0 }}

-
-
-
-
- {{if .Manifest.Options.HighscoresEnabled}} - - - - - - {{end}} - {{ if .Manifest.Description }} - - {{ end }} +
+
-
- {{ if .Manifest.Description }} -
-
- {{ markdown .Manifest.Description }} -
-
- {{ end }}
{{end}} diff --git a/template/blocks/base.html.tmpl b/template/blocks/base.html.tmpl index d2e2253..3243ee9 100644 --- a/template/blocks/base.html.tmpl +++ b/template/blocks/base.html.tmpl @@ -6,14 +6,14 @@ {{block "title" . -}}{{- end}} - - {{- block "head_style" . -}}{{end}} {{- block "head_script" . -}} {{template "js_config" .}} + + {{- block "head_style" . -}}{{end}} {{end}} diff --git a/template/blocks/flash.html.tmpl b/template/blocks/flash.html.tmpl index 577a6bc..23cb270 100644 --- a/template/blocks/flash.html.tmpl +++ b/template/blocks/flash.html.tmpl @@ -1,5 +1,5 @@ {{define "flash"}} -
+
{{- range .Flashes -}} {{- if eq .Type "error" -}} {{template "flash_message" map "Title" "Erreur" "MessageClass" "is-danger" "Message" .Message }} @@ -15,9 +15,7 @@ {{end}} {{define "flash_message" -}} -
-
- {{.Title}} {{.Message}} -
+ {{- end}} \ No newline at end of file diff --git a/template/blocks/header.html.tmpl b/template/blocks/header.html.tmpl index ef65296..e04c3b3 100644 --- a/template/blocks/header.html.tmpl +++ b/template/blocks/header.html.tmpl @@ -9,18 +9,13 @@
  • {{if .IsAdmin}}
  • - - - - - + Logout
  • {{end}}
  • - Profile + Profile
  • Admin
  • -
  • Feedback
  • diff --git a/template/layouts/admin_app_edit.html.tmpl b/template/layouts/admin_app_edit.html.tmpl index a47d286..40d29ef 100644 --- a/template/layouts/admin_app_edit.html.tmpl +++ b/template/layouts/admin_app_edit.html.tmpl @@ -1,108 +1,83 @@ {{define "title"}}Modifier l'app - Administration - Arcad{{end}} {{define "body"}} {{template "header" .}} -
    -
    -
    -
    +
    +
    +
    +
    {{template "admin_menu" ""}}
    -
    +
    {{template "flash" .}} -
    -
    + -
    -
    -
    -
    -
    -
    Informations de l'app
    -
    -
    -
    - - -
    + +
    +
    +
    Informations de l'app
    +
    + +
    - -
    -

    {{ .App.ID }}

    -

    Non modifiable

    + +
    +

    {{ .App.ID }}

    - -
    - Titre +
    + -
    - -
    - -
    - -
    - Ordre d'affichage +
    + -
    - -
    + +
    -
    - -
    - -
    -
    + -
    {{ .csrfField }}
    - +
    -
    diff --git a/template/layouts/admin_apps_list.html.tmpl b/template/layouts/admin_apps_list.html.tmpl index ff022c6..0f22abf 100644 --- a/template/layouts/admin_apps_list.html.tmpl +++ b/template/layouts/admin_apps_list.html.tmpl @@ -1,52 +1,74 @@ {{define "title"}}Applications - Administration - Arcad{{end}} {{define "body"}} {{template "header" .}} -
    -
    -
    -
    +
    +
    +
    +
    {{template "admin_menu" "apps"}}
    -
    +
    {{template "flash" .}} -

    Liste des applications installées

    -
    +

    Liste des applications installées

    +
    Total {{ .AppsCount }}
    -
    - - - - - - - - - - - - - +
    +
    IDTitreVersionOrdre d'affichagePubliée ?TagsActions
    + + + + + + + + + + + + {{range .Apps}} - - - - - - - - + + + + + + + + {{else}} - + diff --git a/template/layouts/admin_login.html.tmpl b/template/layouts/admin_login.html.tmpl index d5f4107..ef82f42 100644 --- a/template/layouts/admin_login.html.tmpl +++ b/template/layouts/admin_login.html.tmpl @@ -1,21 +1,28 @@ {{define "title"}}Login - Administration - Arcad{{end}} {{define "body"}} +{{- block "head_style" . -}} + +{{end}} + {{template "header" .}} - +
    +
    + {{template "flash" .}} +
    +

    Administration

    +
    +
    + +
    + {{ .csrfField }} + + +
    +
    +
    {{end}} {{template "base" .}} \ No newline at end of file diff --git a/template/layouts/admin_market_app_install.html.tmpl b/template/layouts/admin_market_app_install.html.tmpl index 16604e3..821d120 100644 --- a/template/layouts/admin_market_app_install.html.tmpl +++ b/template/layouts/admin_market_app_install.html.tmpl @@ -1,27 +1,38 @@ {{define "title"}}Installer une application - Administration - Arcad{{end}} {{define "body"}} {{template "header" .}} -
    +
    -
    -
    +
    {{template "admin_menu" "market"}}
    -
    +
    {{template "flash" .}} {{if .App}} -
    -
    -

    Installation d'une application

    +
    +
    + +
    + +
    +

    + Installation d'une application - {{ .App.Name }} +

    +
    + +
    +

    + Êtes vous sûr de vouloir installer l'application {{ .App.Name }} en version {{ .App.LatestRelease.Version }} développée par {{ .App.Owner.Username }} ? +

    +
    + +
    + Annuler +
    -
    -

    Êtes vous sûr de vouloir installer l'application {{ .App.Name }} en version {{ .App.LatestRelease.Version }} développée par {{ .App.Owner.Username }} ?

    -
    - Annuler -
    -
    -
    +
    +
    {{else}}
    @@ -33,7 +44,6 @@
    {{end}}
    -
    {{end}} diff --git a/template/layouts/admin_market_search.html.tmpl b/template/layouts/admin_market_search.html.tmpl index 9dc8326..36f8fec 100644 --- a/template/layouts/admin_market_search.html.tmpl +++ b/template/layouts/admin_market_search.html.tmpl @@ -1,66 +1,51 @@ {{define "title"}}Place de marché - Administration - Arcad{{end}} {{define "body"}} {{template "header" .}} -
    +
    -
    -
    - {{template "admin_menu" "market"}} +
    + {{template "admin_menu" "market"}} +
    +
    + {{template "flash" .}} +
    +
    +
    + +
    +
    + +
    +
    + +
    + Total {{ .ResultsCount }}
    -
    - {{template "flash" .}} -
    -
    -
    - -
    -
    - + {{range .Results}} +
    +
    +
    +
    {{ .Name }}
    +

    + {{ .LatestRelease.Description }} +

    +
    +
    +

    {{ localeTimeFormat .LatestRelease.CreatedAt.Time "02/01/2006 15:04" "fr_FR" }}

    +

    {{ .Owner.Username }} - V{{ .LatestRelease.Version }}

    +
    +
    + +
    +
    - -
    - Total {{ .ResultsCount }}
    -
    -
    + ID + + Titre + + Version + + Ordre d'affichage + + Publiée ? + + Tags + + Actions +
    {{ .ID }}{{ .Manifest.Title }}{{ if eq .Manifest.Version "" }}--{{else}}{{ .Manifest.Version }}{{end}}{{ .Order }}{{ if .Published }}oui{{else}}non{{end}} - {{range .Manifest.Tags}} - {{ . }} - {{end}} - -
    - Modifier -
    -
    + {{ .ID }} + + {{ .Manifest.Title }} + + {{ if eq .Manifest.Version "" }}--{{else}}{{ .Manifest.Version }}{{end}} + + {{ .Order }} + + {{ if .Published }}oui{{else}}non{{end}} + + {{range .Manifest.Tags}} + {{ . }} + {{end}} + + Modifier +
    Aucune application installée.
    - - - - - - - - - - - - {{range .Results}} - - - - - - - - - {{else}} - - - - {{end}} - -
    IDDescriptionDéveloppeurDernière versionDernière mise à jourActions
    {{ .Name }}{{ .LatestRelease.Description }}{{ .Owner.Username }}{{ .LatestRelease.Version }}{{ localeTimeFormat .LatestRelease.CreatedAt.Time "02/01/2006 15:04" "fr_FR" }} -
    - Installer -
    -
    - Aucun résultat. -
    -
    -
    + {{else}} +
    + Aucun résultat. +
    + {{end}}
    diff --git a/template/layouts/admin_register.html.tmpl b/template/layouts/admin_register.html.tmpl index 9b5394b..ebe44fd 100644 --- a/template/layouts/admin_register.html.tmpl +++ b/template/layouts/admin_register.html.tmpl @@ -1,13 +1,13 @@ {{define "title"}}Création du mot de passe - Administration - Arcad{{end}} {{define "body"}} {{template "header" .}} -