diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..4ec39be75c9e1741af728f106fb3b6d2fbb4a4da --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cSpell.enabled": false +} \ No newline at end of file diff --git a/images/bg-classroom.jpg b/images/bg-classroom.jpg index 3f633c268b97f934a98859dabc611ba9a571fc67..468624a16cce10caf75c1d749515a619f61a8fbf 100644 Binary files a/images/bg-classroom.jpg and b/images/bg-classroom.jpg differ diff --git a/images/icons/cz-flag.svg b/images/icons/cz-flag.svg new file mode 100644 index 0000000000000000000000000000000000000000..389b46834d54662252266293968a54d85864cff4 --- /dev/null +++ b/images/icons/cz-flag.svg @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + version="1.1" + id="Layer_1" + x="0px" + y="0px" + viewBox="0 0 512 512" + style="enable-background:new 0 0 512 512;" + xml:space="preserve" + sodipodi:docname="cz-flag.svg" + inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs41" /><sodipodi:namedview + id="namedview39" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:pageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="0.49649392" + inkscape:cx="-365.56339" + inkscape:cy="455.19188" + inkscape:window-width="1920" + inkscape:window-height="1011" + inkscape:window-x="0" + inkscape:window-y="32" + inkscape:window-maximized="1" + inkscape:current-layer="g5683" /> + + +<g + id="g5683"><path + style="fill:#237bff;fill-opacity:1" + d="M13.7,97.251C5.326,104.286,0,114.829,0,126.621V385.38c0,11.791,5.326,22.335,13.7,29.369L256,256 L13.7,97.251z" + id="path2" /><path + style="fill:#ff1f3e;fill-opacity:1" + d="M13.7,414.749c6.665,5.599,15.258,8.975,24.644,8.975h435.31c21.177,0,38.345-17.167,38.345-38.345 V256H256L13.7,414.749z" + id="path4" /><path + style="fill:#ffffff;fill-opacity:1" + d="M473.655,88.276H38.345c-9.386,0-17.98,3.378-24.644,8.975L256,256h256V126.621 C512,105.443,494.833,88.276,473.655,88.276z" + id="path6" /></g> +<g + id="g8"> +</g> +<g + id="g10"> +</g> +<g + id="g12"> +</g> +<g + id="g14"> +</g> +<g + id="g16"> +</g> +<g + id="g18"> +</g> +<g + id="g20"> +</g> +<g + id="g22"> +</g> +<g + id="g24"> +</g> +<g + id="g26"> +</g> +<g + id="g28"> +</g> +<g + id="g30"> +</g> +<g + id="g32"> +</g> +<g + id="g34"> +</g> +<g + id="g36"> +</g> +</svg> diff --git a/images/icons/dropdown-arrow.svg b/images/icons/dropdown-arrow.svg new file mode 100644 index 0000000000000000000000000000000000000000..358bde028d0c4e8fe8587e24f71ea8a6cf10069b --- /dev/null +++ b/images/icons/dropdown-arrow.svg @@ -0,0 +1,4 @@ +<svg width="26" height="18" viewBox="0 0 26 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="26" height="18" rx="9" fill="#303030" fill-opacity="0.28"/> +<path d="M9 8L13 11L17 8" stroke="white" stroke-width="2" stroke-linecap="square"/> +</svg> diff --git a/images/icons/en-flag.svg b/images/icons/en-flag.svg new file mode 100644 index 0000000000000000000000000000000000000000..360ecaae247c559b8339b394b1b8ba343b4440d5 --- /dev/null +++ b/images/icons/en-flag.svg @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + version="1.1" + id="Layer_1" + x="0px" + y="0px" + viewBox="0 0 512 512" + style="enable-background:new 0 0 512 512;" + xml:space="preserve" + sodipodi:docname="en-flag.svg" + inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs51" /><sodipodi:namedview + id="namedview49" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:pageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="0.99298784" + inkscape:cx="152.56984" + inkscape:cy="228.603" + inkscape:window-width="1920" + inkscape:window-height="1011" + inkscape:window-x="0" + inkscape:window-y="32" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_1" /> +<path + style="fill:#237bff;fill-opacity:1" + d="M473.655,88.276H38.345C17.167,88.276,0,105.443,0,126.621V385.38 c0,21.177,17.167,38.345,38.345,38.345h435.31c21.177,0,38.345-17.167,38.345-38.345V126.621 C512,105.443,494.833,88.276,473.655,88.276z" + id="path2" /> +<path + style="fill:#ffffff;fill-opacity:1" + d="M511.469,120.282c-3.022-18.159-18.797-32.007-37.814-32.007h-9.977l-163.54,107.147V88.276h-88.276 v107.147L48.322,88.276h-9.977c-19.017,0-34.792,13.847-37.814,32.007l139.778,91.58H0v88.276h140.309L0.531,391.717 c3.022,18.159,18.797,32.007,37.814,32.007h9.977l163.54-107.147v107.147h88.276V316.577l163.54,107.147h9.977 c19.017,0,34.792-13.847,37.814-32.007l-139.778-91.58H512v-88.276H371.691L511.469,120.282z" + id="path4" /> +<g + id="g16"> + <polygon + style="fill:#ff1531;fill-opacity:1" + points="282.483,88.276 229.517,88.276 229.517,229.517 0,229.517 0,282.483 229.517,282.483 229.517,423.724 282.483,423.724 282.483,282.483 512,282.483 512,229.517 282.483,229.517 " + id="polygon6" /> + <path + style="fill:#ff1531;fill-opacity:1" + d="M24.793,421.252l186.583-121.114h-32.428L9.224,410.31 C13.377,415.157,18.714,418.955,24.793,421.252z" + id="path8" /> + <path + style="fill:#ff1531;fill-opacity:1" + d="M346.388,300.138H313.96l180.716,117.305c5.057-3.321,9.277-7.807,12.287-13.075L346.388,300.138z" + id="path10" /> + <path + style="fill:#ff1531;fill-opacity:1" + d="M4.049,109.475l157.73,102.387h32.428L15.475,95.842C10.676,99.414,6.749,104.084,4.049,109.475z" + id="path12" /> + <path + style="fill:#ff1531;fill-opacity:1" + d="M332.566,211.862l170.035-110.375c-4.199-4.831-9.578-8.607-15.699-10.86L300.138,211.862H332.566z" + id="path14" /> +</g> +<g + id="g18"> +</g> +<g + id="g20"> +</g> +<g + id="g22"> +</g> +<g + id="g24"> +</g> +<g + id="g26"> +</g> +<g + id="g28"> +</g> +<g + id="g30"> +</g> +<g + id="g32"> +</g> +<g + id="g34"> +</g> +<g + id="g36"> +</g> +<g + id="g38"> +</g> +<g + id="g40"> +</g> +<g + id="g42"> +</g> +<g + id="g44"> +</g> +<g + id="g46"> +</g> +</svg> diff --git a/images/icons/fr-flag.svg b/images/icons/fr-flag.svg new file mode 100644 index 0000000000000000000000000000000000000000..908b787b528f9cd9ff72483b85e8d4cca470ec5a --- /dev/null +++ b/images/icons/fr-flag.svg @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + version="1.1" + id="Layer_1" + x="0px" + y="0px" + viewBox="0 0 512 512" + style="enable-background:new 0 0 512 512;" + xml:space="preserve" + sodipodi:docname="fr-flag.svg" + inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs41" /><sodipodi:namedview + id="namedview39" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:pageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="0.70214844" + inkscape:cx="489.2128" + inkscape:cy="168.05563" + inkscape:window-width="1920" + inkscape:window-height="1043" + inkscape:window-x="1920" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_1" /> + + +<g + id="g27183"><path + style="fill:#044cfc;fill-opacity:1" + d="M38.345,88.273C17.167,88.273,0,105.44,0,126.618v258.759c0,21.177,17.167,38.345,38.345,38.345 h132.322V88.273H38.345z" + id="path2" /><rect + x="170.67" + y="88.277" + style="fill:#ffffff;fill-opacity:1" + width="170.67" + height="335.45" + id="rect4" /><path + style="fill:#ff1531;fill-opacity:1" + d="M473.655,88.273H341.333v335.448h132.322c21.177,0,38.345-17.167,38.345-38.345V126.618 C512,105.44,494.833,88.273,473.655,88.273z" + id="path6" /></g> +<g + id="g8"> +</g> +<g + id="g10"> +</g> +<g + id="g12"> +</g> +<g + id="g14"> +</g> +<g + id="g16"> +</g> +<g + id="g18"> +</g> +<g + id="g20"> +</g> +<g + id="g22"> +</g> +<g + id="g24"> +</g> +<g + id="g26"> +</g> +<g + id="g28"> +</g> +<g + id="g30"> +</g> +<g + id="g32"> +</g> +<g + id="g34"> +</g> +<g + id="g36"> +</g> +</svg> diff --git a/index.php b/index.php index 54e748804406c919a058e628880aeab144744830..e37a057485406936eb89d4a378def9b1d9720634 100644 --- a/index.php +++ b/index.php @@ -19,21 +19,27 @@ </header> <form> - <label for="date">Date</label> - <input type="date" name="date"> - - <label for="start_time">Début plage horaire</label> - <input type="time" name="start_time"> - - <label for="end_time">Fin plage horaire</label> - <input type="time" name="end_time"> - - <label for="room_type">Type de salle</label> - <select name="room_type"> - <option value="room_tp">Salle de TP</option> - <option value="romm_td">Salle de TD</option> - <option value="room_amphi">Amphithéâtre</option> - </select> + <label>Date + <input type="date" name="date" required> + </label> + <fieldset> + <label>Début plage horaire + <input type="time" name="start_time" required> + </label> + <label for="end_time">Fin plage horaire + <input type="time" name="end_time" required> + </label> + </fieldset> + + <label>Type de salle + <select name="room_type"> + <option value="room_tp">Salle de TP</option> + <option value="romm_td">Salle de TD</option> + <option value="room_amphi">Amphithéâtre</option> + </select> + </label> + + <button>Trouver une salle</button> </form> </main> diff --git a/php/nav.php b/php/nav.php index 2c2d641195a4e1d3721bcac3ed59e78bcdb8be3e..4c2e17ff2dc0b38a38baecdbb4ec5939b5af667d 100644 --- a/php/nav.php +++ b/php/nav.php @@ -1,8 +1,8 @@ <div id="menu-area"> <ul> - <li><a>FR</a></li> - <li><a>EN</a></li> - <li><a>CZ</a></li> + <li><a><img src="./images/icons/fr-flag.svg" alt="french flag"></a></li> + <li><a><img src="./images/icons/en-flag.svg" alt="british flag"></a></li> + <li><a><img src="./images/icons/cz-flag.svg" alt="czech flag"></a></li> </ul> <button> <i class="material-icons">translate</i> @@ -19,4 +19,5 @@ <span>Menu</span> </button> </nav> -</div> \ No newline at end of file +</div> + diff --git a/styles/form.css b/styles/form.css index 301674ece54322250c0ba19b29d6c108da7d5d80..55df8279a113f067ba9288e9c621d2ecbe950e1a 100644 --- a/styles/form.css +++ b/styles/form.css @@ -1,4 +1,76 @@ main > form { display: flex; flex-direction: column; + gap: 0.5rem; + + background: var(--smoke); + border: 1px solid rgba(255, 255, 255, 0.1); + box-shadow: 0 0 20px rgb(0, 0, 0, 0.5); + box-sizing: border-box; + width: 28rem; + padding: 1.5rem; + border-radius: 10px; +} + +label { + font-size: 0.9rem; + font-weight: 300; + opacity: 0.8; + text-indent: 2px; +} + +fieldset { + display: flex; + flex-direction: row; + flex: 1 1 0px; + padding: 0; + border: none; + gap: 0.5rem; +} + +fieldset label { + flex: 1; +} + +input, +select { + background: #101010; + border: 1px solid #303030; + + text-align: center; + font-size: 1rem; + box-sizing: border-box; + height: 3rem; + width: 100%; + border-radius: 5px; + margin-top: 0.2rem; + + transition: box-shadow 0.3s, border-color 0.1s; + + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + + cursor: text; +} + +input:hover { + box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5); +} + +input:focus, select:focus{ + outline: none; + border-color: var(--marblue); +} + +select { + cursor: pointer; + background-image: url("../images/icons/dropdown-arrow.svg"); + background-position: calc(100% - 0.75rem) center; + background-repeat: no-repeat; +} + + +form button { + margin-top: 1rem; } diff --git a/styles/main.css b/styles/main.css index e41ed42dc52619692a71897282e6117d1b5f0a3f..ba8d0e2abe10d86045cfb3dceb1e4528ab588b72 100644 --- a/styles/main.css +++ b/styles/main.css @@ -1,3 +1,10 @@ +:root { + --marblue: #3763ff; + --smoke: rgba(30, 30, 30, 0.9); + --fog: rgba(77, 77, 77, 0.55); +} + + * { font-family: "Roboto", sans-serif; color: white; @@ -6,40 +13,44 @@ body { background: url("../images/bg-classroom.jpg"); - background-size: cover 100vh; + background-size: cover; background-repeat: no-repeat; } main { height: 100vh; width: 100vw; - background: rgba(0, 0, 0, 0.5); + background: rgba(0, 0, 0, 0.9); display: flex; flex-direction: column; align-items: center; justify-content: center; + gap: 1rem; } header * { font-family: 'Roboto Mono', sans-serif; } -h1 { - font-size: 4rem; - font-weight: bold; +header > h1 { letter-spacing: 0.5em; + text-align: center; + font-size: 4rem; + font-weight: 700; + padding-left: 1.5rem; } header > p { font-weight: 300; + opacity: 0.8; letter-spacing: -0.05em; + padding-left: 1.5rem; } button { /* Style */ - color: white; - background: #3763ff; + background: var(--marblue); border: none; border-radius: 5px; font-weight: 500; @@ -52,7 +63,7 @@ button { padding-right: auto; /* Transition */ - transition: background 0.2s; + transition: filter 0.2s, background 0.2s; } button > span, diff --git a/styles/navbar.css b/styles/navbar.css index 76928dfa2628d892f9a37d0cd098c7dafb868488..ee7f08ea5ea46d6c00148ac43c3adb5254565f34 100644 --- a/styles/navbar.css +++ b/styles/navbar.css @@ -1,4 +1,3 @@ - #menu-area { position: fixed; bottom: 1rem; @@ -9,7 +8,7 @@ } nav { - perspective: 300px; + perspective: 400px; perspective-origin: bottom; } @@ -17,7 +16,7 @@ nav { /* Style */ list-style-type: none; color: white; - background: rgba(34, 34, 34, 0.8); + background: var(--fog); border-radius: 10px; } @@ -33,7 +32,7 @@ nav > ul { transform: rotateX(15deg) translateZ(-2rem) translateY(-1rem); /* Transition */ - transition-duration: .3s; + transition-duration: 0.3s; transition-property: visibility transform opacity max-height; transition-delay: 0.3s 0s 0s 0s; } @@ -54,17 +53,20 @@ nav > ul > li:not(:last-child) { margin-bottom: 0.8rem; } -nav > button, #menu-area > button { +nav > button, +#menu-area > button { border-radius: 10px; - background: #4d4d4d85; + background: var(--fog); } -nav > button:hover, #menu-area > button:hover { - background: #3763ff; +nav > button:hover, +#menu-area > button:hover { + background: var(--marblue); } #menu-area > button { width: 3rem; + height: 3rem; } #menu-area > button > i { @@ -72,7 +74,7 @@ nav > button:hover, #menu-area > button:hover { } #menu-area { - perspective: 200px; + perspective: 400px; perspective-origin: bottom; } @@ -81,12 +83,11 @@ nav > button:hover, #menu-area > button:hover { padding-left: 1em; padding-right: 1em; height: 3rem; - + /* Layout */ display: flex; - align-items: center; - align-content: center; - gap: 0.5rem; + align-items: stretch; + gap: 1rem; /* Display */ visibility: hidden; @@ -94,13 +95,27 @@ nav > button:hover, #menu-area > button:hover { transform: rotateY(-15deg) translateZ(-2rem) translateX(-1rem); /* Transition */ - transition-duration: .3s; + transition-duration: 0.3s; transition-property: visibility transform opacity max-height; transition-delay: 0.3s 0s 0s 0s; } +#menu-area > ul a { + display: block; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; +} + +#menu-area > ul img { + height: 2rem; + border-radius: 3px; +} + #menu-area > ul.shown { transform: none; opacity: 1; visibility: visible; -} \ No newline at end of file +}