From ec70f39201939711281ec43780049ca5981f24ea Mon Sep 17 00:00:00 2001 From: thibault173 Date: Tue, 7 Jul 2020 14:39:39 +0200 Subject: [PATCH] Update css for header and footer --- .../stylesheets/config_public/_fonts.scss | 1 + .../config_public/_general_rules.scss | 28 + app/assets/stylesheets/public.scss | 1279 ++--------------- app/assets/stylesheets/shared/_flashs.scss | 26 + app/assets/stylesheets/shared/_footer.scss | 120 ++ app/assets/stylesheets/shared/_header.scss | 153 ++ app/controllers/application_controller.rb | 186 +-- .../public/menu_items_controller.rb | 87 +- app/views/layouts/public.html.haml | 249 +--- app/views/public/shared/_flashes.html.haml | 14 + app/views/public/shared/_footer.html.haml | 29 + app/views/public/shared/_header.html.haml | 40 + .../public/shared/_mobile_menu.html.haml | 62 + 13 files changed, 764 insertions(+), 1510 deletions(-) create mode 100644 app/assets/stylesheets/config_public/_fonts.scss create mode 100644 app/assets/stylesheets/config_public/_general_rules.scss create mode 100644 app/assets/stylesheets/shared/_flashs.scss create mode 100644 app/assets/stylesheets/shared/_footer.scss create mode 100644 app/assets/stylesheets/shared/_header.scss create mode 100644 app/views/public/shared/_flashes.html.haml create mode 100644 app/views/public/shared/_footer.html.haml create mode 100644 app/views/public/shared/_header.html.haml create mode 100644 app/views/public/shared/_mobile_menu.html.haml diff --git a/app/assets/stylesheets/config_public/_fonts.scss b/app/assets/stylesheets/config_public/_fonts.scss new file mode 100644 index 0000000..ec5807d --- /dev/null +++ b/app/assets/stylesheets/config_public/_fonts.scss @@ -0,0 +1 @@ +@import url('https://fonts.googleapis.com/css?family=Archivo+Narrow:400,400i,500,500i,600,600i,700,700i|Fugaz+One|Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|Roboto+Condensed:300,300i,400,400i,700,700i|Russo+One'); diff --git a/app/assets/stylesheets/config_public/_general_rules.scss b/app/assets/stylesheets/config_public/_general_rules.scss new file mode 100644 index 0000000..fa6d825 --- /dev/null +++ b/app/assets/stylesheets/config_public/_general_rules.scss @@ -0,0 +1,28 @@ +body { + font-family: 'Montserrat', sans-serif; + color: #000; + font-size: 15px; + -webkit-font-smoothing: antialiased; + margin: 0; + padding: 0; +} + +a { + text-decoration: none !important; + color: #CC4B14; + &:hover { + color: #000000; + text-decoration: underline; + } + &:focus { + color: #000000; + text-decoration: underline; + } + &:active { + color: #000000; + text-decoration: underline; + } + img { + border: none; + } +} diff --git a/app/assets/stylesheets/public.scss b/app/assets/stylesheets/public.scss index d535792..9f2c3f3 100644 --- a/app/assets/stylesheets/public.scss +++ b/app/assets/stylesheets/public.scss @@ -10,196 +10,9 @@ @import "qi_grids"; -@import url('https://fonts.googleapis.com/css?family=Archivo+Narrow:400,400i,500,500i,600,600i,700,700i|Fugaz+One|Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|Roboto+Condensed:300,300i,400,400i,700,700i|Russo+One'); +@import "config_public/*"; +@import "shared/*"; - - -#contenu{ - padding-top:108px !important; -} - - - -.center_content{ - max-width: 1140px; - margin: auto; - -} - -img{ - max-width:100%; -} - -/*.row_programme:first-child .block_top:first-child:after{ - content:''; - background-color:#000; - display:block; - position:absolute; - width:150px; - top:0px; - bottom:0px; - right:0px; - z-index:1000; - margin-right:-20px; - -}*/ -/*.row_programme:nth-child(2) .block_top:nth-child(2):before{ - content:''; - background-color:#fd0; - display:block; - position:absolute; - width:100px; - top:0px; - z-index:1; - bottom:0px; - left:0px; - margin-left:-10px; - -}*/ -/* clean */ -/* Titres */ -/* Listes */ -/* Paragraphes */ -/* Formulaires */ -/**********/ -/* Boites */ -/**********/ -/* ============================================================================= - * MENU - * ===========================================================================*/ -/*******************************/ -/* specific to non IE browsers */ -/* ============================================================================= - * End of Menu - * ===========================================================================*/ -/**********/ -/* GAUCHE */ -/**********/ -/**********/ -/* CENTRE */ -/**********/ -/**********/ -/* DROITE */ -/**********/ -/********/ -/* PIED */ -/********/ -/**********/ -/* HTML */ -/**********/ -/**************/ -/* Modules */ -/***********/ -/* Liens */ -/* Pas de bordure autour des images dans les liens */ -/**********************/ -/* Villes Suggestion */ -/***************************/ -/* Recherche */ -/***************************/ -/* Tag clouds Couleurs -orange #e3721f => 0,3 -marron #603b0b => 1,4 -marron clair #ac741a =>2,5 -Bleu #3d9bde -*/ -/* Immo */ -/*.group_complement input[type="checkbox"]{ - display:inline-block!important; - vertical-align:middle; - margin:0; - -} -.group_complement input[type="checkbox"] + label{ - display:none; -}*/ -/*! -* - v1.2.3 -* Homepage: http://bqworks.com/slider-pro/ -* Author: bqworks -* Author URL: http://bqworks.com/ -*/ -/* Core ---------------------------------------------------*/ -/* Thumbnails ---------------------------------------------------*/ -/* Horizontal thumbnails -------------------------*/ -/* Vertical thumbnails -----------------------*/ -/* Right thumbnails with pointer ---------------------------------*/ -/* Left thumbnails with pointer --------------------------------*/ -/* Bottom thumbnails with pointer ----------------------------------*/ -/* Layers ---------------------------------------------------*/ -/* Touch Swipe ---------------------------------------------------*/ -/* Caption ---------------------------------------------------*/ -/* Full Screen ---------------------------------------------------*/ -/* Thumbnail Arrows ---------------------------------------------------*/ -/* Video ---------------------------------------------------*/ -/* CSS for preventing styling issues in WordPress ---------------------------------------------------*/ -/* Arrows ---------------------------------------------------*/ -.bo_paragraphe { - border: 1px dashed #C00000; - margin-bottom: 5px; - p.bo_barre_boutons { - font-size: 0.85em; - background: #FAFAFA; - } -} - -a { - text-decoration: none !important; - text-decoration: none; - color: #CC4B14; - &:hover { - color: #000000; - text-decoration: underline; - } - &:focus { - color: #000000; - text-decoration: underline; - } - &:active { - color: #000000; - text-decoration: underline; - } - img { - border: none; - } -} -.main-slider { - padding-top: 140px; -} -.visu_partenaire { - img { - width: 100%; - height: auto; - } -} -#conteneur { - z-index: 1; - position: relative; -} -body { - font-family: 'Montserrat', sans-serif; - color: #000; - font-size: 15px; - -webkit-font-smoothing: antialiased; - margin: 0; - padding: 0; - position: relative; -} .datepicker { table { tr { @@ -213,325 +26,7 @@ body { color: red; margin-bottom: 10px; } -.bloc_gestion { - h4 { - text-transform: uppercase; - margin-bottom: 20px; - } - td { - padding: 10px 0px; - vertical-align: middle; - } - tr { - td { - input[type="text"] { - padding: 5px 10px; - font-size: 14px; - } - select { - padding: 5px 10px; - font-size: 14px; - } - br { - display: none; - } - } - &:nth-child(3) { - td { - text-align: center; - font-weight: 800; - font-size: 30px; - } - } - &:last-child { - td { - text-align: right; - } - } - } - max-width: 900px; - margin: auto; - background-color: #eee; - padding: 30px; - border: 1px solid #ddd; - table { - width: 100%; - } -} -.item_carousel { - position: relative; - width: 100%; - background-size: cover; - height: 100%; - img { - min-width: 100%; - width: auto !important; - height: auto !important; - min-height: 100%; - } -} -.carousel_home { - .owl-controls { - position: absolute; - top: 50%; - width: 100%; - margin-top: 20px !important; - } - max-height: 750px; - padding-top: 100px; - overflow: hidden; - .owl-next { - margin-right: 0px !important; - font-size: 40px !important; - width: 50px; - height: 50px; - right: 0; - position: absolute; - background-color: rgba(0,0,0,0.5) !important; - border-radius: 0px !important; - } - .owl-prev { - margin-right: 0px !important; - font-size: 40px !important; - width: 50px; - height: 50px; - right: 0; - position: absolute; - background-color: rgba(0,0,0,0.5) !important; - border-radius: 0px !important; - right: auto; - left: 0; - margin-left: 0px !important; - } -} -.slider_home { - .main-slider__title { - position: relative; - display: inline-block; - padding: 10px; - font-size: 40px; - font-weight: 400; - line-height: 45px; - text-transform: uppercase; - color: #fff; - font-family: 'Fugaz One', cursive; - a { - color: #fff !important; - } - &:before { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - border: 1px solid rgba(255, 255, 255, 0); - bottom: 0px; - content: " "; - display: block; - margin: 0 auto; - position: relative; - -webkit-transition: all 280ms ease-in-out; - transition: all 280ms ease-in-out; - width: 0; - } - &:after { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - border: 1px solid rgba(255, 255, 255, 0); - bottom: 0px; - content: " "; - display: block; - margin: 0 auto; - position: relative; - -webkit-transition: all 280ms ease-in-out; - transition: all 280ms ease-in-out; - width: 0; - } - &:hover { - background-color: transparent; - &:before { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - border-color: #ffdd00; - -webkit-transition: width 350ms ease-in-out; - transition: width 350ms ease-in-out; - width: 70%; - } - &:after { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - border-color: #ffdd00; - -webkit-transition: width 350ms ease-in-out; - transition: width 350ms ease-in-out; - width: 70%; - } - } - } - .main-slider__wrap { - &:hover { - background-color: transparent; - .bg_black { - background-color: transparent; - } - } - position: absolute; - padding: 20px; - text-align: left; - z-index: 2; - margin-left: 7%; - width: 375px !important; - } - position: relative; - z-index: 1; - .owl-item { - padding-bottom: 0px !important; - } - .bg_black { - >a { - padding: 10px; - color: #ffdd00 !important; - font-family: 'Archivo Narrow', sans-serif; - display: block; - font-weight: 600 !important; - font-size: 20px !important; - } - } -} -.row_programme { - font-size: 0; - max-width: 1140px; - margin: auto; - &:nth-child(2) { - .block_top { - &:nth-child(1) { - color: #000; - background-color: #fd0; - &:after { - content: ''; - background-color: #fd0; - display: block; - position: absolute; - width: 1000px; - top: 0px; - bottom: 0px; - margin-right: -1000px; - z-index: 1; - } - &:hover { - z-index: 10; - transform: skew(-13deg) scale(1.05); - } - a { - color: #000; - } - } - &:nth-child(2) { - &:after { - content: ''; - background-color: #fff; - display: block; - position: absolute; - width: 1000px; - top: 0px; - bottom: 0px; - margin-left: -1000px; - } - float: left; - margin-left: -20px; - width: calc(50% - 20px); - background-color: #fff; - padding: 20px 20px; - text-align: center; - a { - img { - transform: skew(0deg); - } - font-size: 30px; - text-transform: uppercase; - font-weight: bold; - color: #CC4B14; - display: inline-block; - } - } - } - } - &:first-child { - .block_top { - &:first-child { - &:before { - content: ''; - background-color: #000; - display: block; - position: absolute; - width: 1000px; - top: 0px; - bottom: 0px; - margin-left: -1000px; - content: ''; - background-color: #000; - display: block; - position: absolute; - width: 1000px; - top: 0px; - bottom: 0px; - margin-left: -1000px; - } - } - &:nth-child(2) { - &:after { - content: ''; - background-color: #fff; - display: block; - position: absolute; - width: 1000px; - top: 0px; - bottom: 0px; - margin-right: -1000px; - } - } - } - } - .block_top { - transform: skew(-13deg); - * { - transform: skew(13deg); - text-transform: uppercase; - } - } - &:nth-child(1) { - .block_top { - &:nth-child(1) { - margin-left: 20px; - width: calc(50% - 20px); - &:hover { - z-index: 10; - transform: skew(-13deg) scale(1.05); - } - } - &:nth-child(2) { - background-color: #fff; - } - } - } -} -.block_top { - >* { - z-index: 1000; - position: relative; - } - display: inline-block; - width: 50%; - padding: 40px 40px; - position: relative; - box-sizing: border-box; - -webkit-transition: all 0.3s; - -moz-transition: all 0.3s; - -ms-transition: all 0.3s; - -o-transition: all 0.3s; - transition: all 0.3s; - img { - display: inline-block; - vertical-align: middle; - margin-left: 10px; - } -} + .color_orange { color: #cc4b14; } @@ -827,13 +322,6 @@ body { display: inline-block; vertical-align: middle; } -.block_top.bg_black { - padding: 40px 40px; - color: #ffdd00; - a { - color: #ffdd00; - } -} .hover_carousel { position: absolute; top: 50%; @@ -1878,30 +1366,7 @@ body { } } } -.top-bar { - background-color: #000; - font-size: 0; - padding: 10px 0px; - padding-bottom: 0px; - font-family: Poppins; - -webkit-transition: all 0.5s; - -moz-transition: all 0.5s; - -ms-transition: all 0.5s; - -o-transition: all 0.5s; - transition: all 0.5s; - height: 27px; - overflow: hidden; - i { - color: #fff; - opacity: 0.6; - padding: 0px 10px; - font-size: 15px; - padding-right:0px; - } - a { - color: rgba(255, 255, 255, 0.7); - } -} + .header-topbarbox-1 { display: inline-block; width: 50%; @@ -2486,12 +1951,7 @@ select { display: none; } } -#conteneur_contenu { - min-width: 1000px; - width: 100%; - margin: 0 auto; - z-index: 6; -} + .par_style_3 { form { background-color: #ededed; @@ -2508,7 +1968,7 @@ select { } } &:nth-child(20) { - + margin-top: 20px; } &:last-child { @@ -2570,7 +2030,7 @@ select { } } p { - + } h4 { text-transform: uppercase; @@ -2675,65 +2135,7 @@ select { position: relative; } } -#header { - min-width: 1000px; - width: 100%; - background-color: #000; - position: absolute; - margin: 0px; - padding: 0px; - z-index: 100000; - -webkit-transition: all 0.5s ease; - -moz-transition: all 0.5s ease; - -ms-transition: all 0.5s ease; - -o-transition: all 0.5s ease; - transition: all 0.5s ease; - #logo { - z-index: 1000; - margin: 0px; - display: inline-block; - width: 30%; - margin-bottom: -25px; - vertical-align: bottom; - text-align: left; - img { - z-index: 39; - width: 100%; - } - } - h1 { - margin: 0px; - padding: 0px; - font-size: 1.65em; - } - img { - margin: 0; - padding: 0; - background-image: none; - } -} -.scroll_down { - #header { - position: fixed; - background-color: rgba(0,0,0,0.8); - #logo { - margin-bottom: 0px; - } - } - .top-bar { - height: 0px; - padding: 0px; - } - #conteneur_header { - padding-top: 10px; - } - .logo_scroll { - display: block; - } - .logo_top { - display: none; - } -} + .slider { position: relative; } @@ -3434,21 +2836,7 @@ select { padding-bottom: 0px; } } -.pageAccueil { - #contenu { - padding: 0px; - width: 100%; - - } - #ariane { - display: none; - } - #centreetdroite { - padding-bottom: 0; - height: auto !important; - width: 100% !important; - } -} + .mdlPanier { h3 { + { @@ -4057,186 +3445,11 @@ div.facebook-myconnect-otherchoice { } } } -#pied { - #conteneur_pied { - color: #fff; - background-repeat: no-repeat; - background-position: center top; - width: 1140px; - margin: 0 auto; - z-index: 100; - position: relative; - height: auto; - padding-top: 50px; - padding-bottom: 50px; - &:after { - content: ''; - display: table; - clear: both; - } - >div { - &:nth-child(2) { - li { - padding: 20px 0px; - border-bottom: 1px solid #585858; - a { - font-size: 16px; - } - &:last-child { - border: 0px; - } - } - } - &:nth-child(1) { - p { - font-size: 14px; - margin-top: 20px; - } - } - &:nth-child(3) { - li { - font-family: 'roboto condensed', serif; - font-style: italic; - color: #7e7e7e; - padding: 10px 0; - span { - display: block; - } - } - ul { - margin: 0; - padding: 0; - } - } - } - } - h5 { - text-transform: uppercase; - color: #fff; - font-weight: 700; - position: relative; - padding-bottom: 15px; - margin-bottom: 15px; - font-size: 18px; - } - li { - font-size: 14px; - a { - color: #fff; - } - } - h3 { - margin-top: 28px; - margin-bottom: 27px; - font-size: 18px; - font-weight: 600; - color: white; - text-transform: uppercase; - font-family: "Roboto Condensed", sans-serif; - &:before { - display: inline-block; - width: 10px; - height: 3px; - margin-right: 15px; - content: ''; - vertical-align: middle; - background-color: #ffe500; - } - } - .footer-section_list-columns { - margin-left: 40px; - } - width: 100%; - margin: auto; - background-color: #151515; - color: #fff; - font-size: 0; - padding-top: 60px; - color: #888; - background: url(/images/interface/bg-footer.jpg); - background-size: cover; - position: relative; - &:after { - opacity: .9; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - content: ''; - background-color: #0d0d0d; - } - ul { - margin: 0; - padding: 0; - } -} -.footer-list_columns { - a { - position: relative; - padding-left: 20px; - &:after { - position: absolute; - top: 7px; - left: 0; - width: 7px; - height: 7px; - content: ''; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - border-top: 2px solid #ccc; - border-right: 2px solid #ccc; - } - } -} + .social-net__item { margin-right: 12px; } -.footer-contact { - position: relative; - margin-bottom: 9px; - padding-left: 38px; - letter-spacing: .02em; - color: #fff; - font-size: 14px; - a { - &:hover { - color: #CC4B14 !important; - } - } - .icon { - position: absolute; - top: 0; - left: 0; - margin-right: 10px; - font-size: 16px; - text-align: center; - color: #ccc; - } - .icon-xs { - font-size: 14px; - } - .icon-lg { - font-size: 18px; - } -} -.footer-contact_lg { - margin-bottom: 24px; - font-size: 18px; - font-weight: 600; - line-height: 1.1; - letter-spacing: 0; -} -.footer__info { - margin-bottom: 30px; - line-height: 1.86; - font-size: 14px; - color: #bbb; -} -.footer__logo { - display: block; - margin-bottom: 27px; -} + img.imgtitre { margin-left: 0px !important; padding: 9px !important; @@ -4297,16 +3510,7 @@ img.immo_vignette { padding: 0 4px; background-color: #FFFFFF; } -html { - >body { - #pied { - ul { - margin: 0; - list-style: none; - } - } - } -} + legend { font-weight: bold; } @@ -4943,22 +4147,6 @@ tr.annonce { padding-bottom: 10px; } } -td.footerannonce { - background-color: #AFAFAF; - padding-left: 2px; - vertical-align: bottom; - p { - margin: 0px !important; - padding: 0px !important; - } - a { - background-color: #000000; - color: #FFFFFF; - padding: 2px; - padding-left: 4px; - padding-right: 4px; - } -} .prix { color: #e3721f; font-size: 1.25em; @@ -5651,7 +4839,7 @@ div.modeles_similaires { font-family: 'Fugaz One', cursive; text-transform: uppercase; } - + .absolute_logo { position: absolute; top: 0px; @@ -5663,7 +4851,7 @@ div.modeles_similaires { width: auto; } } - + } .img_lien { @@ -8363,22 +7551,7 @@ a.sp-video { margin-right: 30px !important; } } - #pied { - #conteneur_pied { - >div { - padding: 0 20px; - margin: 0; - } - width: 100%; - box-sizing: border-box; - padding: 20px 0px; - } - width: 100%; - .footer-section_list-columns { - margin-left: 0px; - margin-bottom: 40px; - } - } + .carousel-inner { width: 100% !important; } @@ -8403,20 +7576,6 @@ a.sp-video { } } } - .carousel_home { - padding-top: 0px; - .owl-controls { - margin-top: -25px !important; - } - } - .pageAccueil { - h3 { - font-size: 30px; - } - #centreetdroite { - padding: 0px; - } - } #conteneur_contenu { min-width: 100%; } @@ -8449,13 +7608,6 @@ a.sp-video { } } } - .block_top { - display: block; - width: 100% !important; - padding: 30px 15px !important; - margin: 0; - transform: skew(0deg) !important; - } width: 100% !important; width: 100% !important; margin: auto; @@ -8471,60 +7623,12 @@ a.sp-video { } } } - .row_programme { - .block_top { - * { - transform: skew(0deg) !important; - transform: skew(0deg); - } - transform: skew(0deg); - } - &:nth-child(1) { - .block_top { - &:nth-child(1) { - &:hover { - z-index: 10; - transform: skew(0deg) scale(1); - } - } - } - } - &:nth-child(2) { - .block_top { - &:nth-child(1) { - &:hover { - z-index: 10; - transform: skew(0deg) scale(1); - } - &:after { - display: none; - } - } - &:nth-child(2) { - width: 50%; - margin: 0; - } - } - } - &:first-child { - .block_top { - &:nth-child(2) { - &:after { - display: none; - } - } - } - } - } #logo { img { padding-top: 10px !important; max-width: 300px; } } - .top-bar { - display: none; - } .recherche { width: 90%; left: 5%; @@ -9352,14 +8456,7 @@ a.sp-video { margin-bottom: 40px !important; } } - #pied { - #conteneur_pied { - >div { - width: 100%; - margin-bottom: 20px; - } - } - } + .page-heading { .page-title { h2 { @@ -9800,24 +8897,6 @@ a.sp-video { .info_fiche { padding: 20px; } - .block_top { - img { - width: 50px; - height: auto; - } - } - .row_programme { - &:last-child { - .block_top { - &:last-child { - img { - max-width: 100%; - width: auto; - } - } - } - } - } .bloc_list_lien { padding: 00px; } @@ -9843,30 +8922,13 @@ a.sp-video { width: 100% !important; } } - #pied { - #conteneur_pied { - height: auto; - } - } + } @media screen and (max-width: 450px) { .login_btn { margin: 0; margin-top: 10px; } - #pied { - #conteneur_pied { - >div { - padding: 0 0px; - margin: 0; - } - } - } - .row_programme { - .block_top { - text-align: center; - } - } .desc_prog { display: block; width: 100%; @@ -9977,7 +9039,22 @@ a.sp-video { } } +// Code Nicolas ci-dessous +#contenu{ + padding-top:108px !important; +} + + +.center_content{ + max-width: 1140px; + margin: auto; + +} + +img{ + max-width:100%; +} .right { float:right; @@ -9996,7 +9073,7 @@ a.sp-video { color:black; } img{ - + width:160px; margin:5px; float:left; @@ -10048,18 +9125,18 @@ a.sp-video { color: #333; box-shadow:0 0 0 white !important; padding: 5px 10px; - + &:focus{ //border-color: #fdda26; - + } } .form_pannel{ box-shadow:0 0 0 white !important; - + } - - + + .arrows, .pages{ display:inline; @@ -10071,33 +9148,33 @@ a.sp-video { } .recherche_filtre{ .select { position: relative; text-align: left; } - - - .select select { + + + .select select { display: inline-block; width: 100%; - height: 36px; - + height: 36px; + padding:0 14px; - + border: 1px solid transparent; border-radius: 0; outline: 0; background: #f6f6f6; font-weight: normal; font-size: 14px; color: #333; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; } - - - - + + + + select{ - - + + padding-right: 40px; padding-left: 14px; - - + + border-radius:0 !important; -webkit-appearance: none; color:#333; - - + + } .submit{ @@ -10119,7 +9196,7 @@ a.sp-video { .date{ display:inline-block; } - + .inline_large_input{ width:200px !important; display:inline-block; @@ -10138,7 +9215,7 @@ a.sp-video { float:right; img{ width:300px; - + } } label{ @@ -10162,27 +9239,27 @@ a.sp-video { -webkit-transition: 0.5s all ease; font-family: 'Fugaz One', cursive; text-transform: uppercase; - + &:hover{ background-color:#ffe500; color:black !important; } - + &.yellow{ background-color:#ffe500; - + } - + &.new_btn_red{ background-color:#CC4B14; - + } - + &.new_btn_big{ padding:10px 20px; - + } - + } h1{ @@ -10201,7 +9278,7 @@ a.sp-video { margin:20px 0; background:black; display:block; - + min-height:180px; .absolute_logo{ @@ -10277,7 +9354,7 @@ a.sp-video { right:10px; top:-30px; background:white; - + padding:20px ; box-shadow:0 0 5px rgba(0,0,0,0.5); } @@ -10363,7 +9440,7 @@ a.sp-video { } } - + .organisateur_show{ h1{ margin-bottom:10px; @@ -10395,49 +9472,49 @@ a.sp-video { .green{ color:green; } - + .orange{ color:orange; } - + .red{ color:red; } - + td.state{ text-align:right; } - - - + + + h1{ font-weight: normal !important; - + text-align:center; font-family: 'Fugaz One', cursive; text-transform: uppercase; margin:20px 0px; - + } - + h3{ font-weight: normal !important; - - + + font-family: 'Fugaz One', cursive; text-transform: uppercase; margin:20px 0px; - + } - + .marg_top{ margin-top:20px; } - - + + .doc_pannel{ background:rgba(0,0,0,0.05); - + border-top:4px solid #fd0; padding:20px; padding-bottom:30px; @@ -10450,58 +9527,24 @@ a.sp-video { h3{ margin-top:0; } - + } - + .align_center{ text-align:center; } - - - -.flashs{ - background: #F9F1E4; - color: #333f48; - padding: 30px 20px; - font-size: 14px; - position: relative; - - - .notice, .error, .alert{ - margin:0; - padding:0; - max-width:1000px; - margin:auto; - } - .error{ - color:red; - } - - .remove{ - position:absolute; - top:6px; - right:8px; - cursor:pointer; - } - -} - -#mobile_menu{ - display:none; -} .mobile-block{ display:none; } @media screen and (min-width: 0px) and (max-width: 740px) { - + .no-mobile{ display:none; } - - - + + .columns{ float:none; width:auto !important; @@ -10510,7 +9553,7 @@ a.sp-video { max-width:90%; } } - + .center_content{ padding:0 20px; } @@ -10519,32 +9562,32 @@ a.sp-video { float:none; margin:10px auto; display:block; - - + + } - + .desc{ margin: 5px 20px; } - + } - + .circuit{ .img{ float:none; margin:10px auto; display:block; position:static; - - + + } - + .desc{ margin: 5px 20px; } - + } - + .organisateur{ padding-top:1px; .img{ @@ -10554,24 +9597,24 @@ a.sp-video { position:static; height:100px; margin-top:20px; - - + + } - + .desc{ margin: 5px 20px; } - + } - + .right_intro{ text-align:left; padding:5px 30px; - + } - + .row2 .block_intro:nth-child(2){ - + padding: 30px 30px !important; } .nav_user_full { @@ -10596,7 +9639,7 @@ a.sp-video { padding: 0px; } } - + .recherche_filtre{ padding: 20px 40px; .inline_large_input{ @@ -10604,83 +9647,28 @@ a.sp-video { display:block; margin:5px 0px; } - + .right{ float:none; } - + p{ margin:10px 0; } - + } - - - - #mobile_menu{ - z-index:900; - position:fixed; - top:0; - left:0; - right:0; - bottom:0; - background:rgba(0,0,0,0.9); - color:white; - padding:20px; - - .mobile_second_menu{ - padding:10px 0; - ul{ - margin:0; - list-style:none; - li{display:inline-block; - margin:4px 10px; - margin-left:0; - - } - - a{color:white;} - } - } - - - .mobile_first_menu{ - margin-top:20px; - font-family: "Roboto Condensed", sans-serif; - text-transform: uppercase; - color:white; - - ul{ - margin:0; - list-style:none; - li{display:block; - - padding:5px 0; - } - - a{color:white;} - } - - } - } - - #burger_menu{ - z-index:1000; - top:5px; - right:5px; - bottom:inherit; - } - + + .mobile_clear{ clear:both; } - + .circuit_show{ .localisation{ margin:0; margin-top:20px; } - + .info_lien{ .right{ display:block; @@ -10690,38 +9678,38 @@ a.sp-video { margin-bottom: 10px !important; } } - + .logo{ position:static; display:block; margin:auto; } - + } - + #contenu{ padding-top:0px !important; } - + .mobile-block{ display:block; } - + .doc_pannel{ - + td,th{ font-size:10px; } } - + .recherche_filtre{ - + #start{ margin-bottom:5px; margin-top:-5px; } } - + .row2 { .block_intro{ img{margin:0;} @@ -10735,16 +9723,16 @@ a.sp-video { margin:0; } } - + } - + .num_programme{ padding:30px 20px; } } - - - + + + .country_icon{ height:1em !important; padding:0 !important; @@ -10752,12 +9740,3 @@ a.sp-video { position:relative !important; top:-2px !important; } - - - - - - - - - \ No newline at end of file diff --git a/app/assets/stylesheets/shared/_flashs.scss b/app/assets/stylesheets/shared/_flashs.scss new file mode 100644 index 0000000..e9b1f6f --- /dev/null +++ b/app/assets/stylesheets/shared/_flashs.scss @@ -0,0 +1,26 @@ +.flashs{ + background: #F9F1E4; + color: #333f48; + padding: 30px 20px; + font-size: 14px; + position: relative; + + + .notice, .error, .alert{ + margin:0; + padding:0; + max-width:1000px; + margin:auto; + } + .error{ + color:red; + } + + .remove{ + position:absolute; + top:6px; + right:8px; + cursor:pointer; + } + +} diff --git a/app/assets/stylesheets/shared/_footer.scss b/app/assets/stylesheets/shared/_footer.scss new file mode 100644 index 0000000..48d81a5 --- /dev/null +++ b/app/assets/stylesheets/shared/_footer.scss @@ -0,0 +1,120 @@ +#footer { + position: relative; + width: 100%; + padding: 50px 0px; + background: url(/images/interface/bg-footer.jpg); + background-size: cover; + + &:after { + opacity: .9; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + content: ''; + background-color: #0d0d0d; + } + + .footer-section { + z-index: 2; + } + .fa-facebook-f { + color: #bbb; + } + + li { + font-size: 14px; + a { + color: #fff; + } + } + h3 { + margin-top: 28px; + margin-bottom: 27px; + font-size: 18px; + font-weight: 600; + color: white; + text-transform: uppercase; + font-family: "Roboto Condensed", sans-serif; + &:before { + display: inline-block; + width: 10px; + height: 3px; + margin-right: 15px; + content: ''; + vertical-align: middle; + background-color: #ffe500; + } + } + + + ul { + margin: 0; + padding: 0; + } + + .footer-list_columns { + a { + position: relative; + padding-left: 20px; + &:after { + position: absolute; + top: 7px; + left: 0; + width: 7px; + height: 7px; + content: ''; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + border-top: 2px solid #ccc; + border-right: 2px solid #ccc; + } + } + } + .footer-contact { + position: relative; + margin-bottom: 9px; + padding-left: 38px; + letter-spacing: .02em; + color: #fff; + font-size: 14px; + a { + &:hover { + color: #CC4B14 !important; + } + } + .icon { + position: absolute; + top: 0; + left: 0; + margin-right: 10px; + font-size: 16px; + text-align: center; + color: #ccc; + } + .icon-xs { + font-size: 14px; + } + .icon-lg { + font-size: 18px; + } + } + .footer-contact_lg { + margin-bottom: 24px; + font-size: 18px; + font-weight: 600; + line-height: 1.1; + letter-spacing: 0; + } + .footer__info { + margin: 30px 0px; + line-height: 1.86; + font-size: 14px; + color: #bbb; + } + .footer__logo { + display: block; + margin-bottom: 27px; + } +} diff --git a/app/assets/stylesheets/shared/_header.scss b/app/assets/stylesheets/shared/_header.scss new file mode 100644 index 0000000..b05c633 --- /dev/null +++ b/app/assets/stylesheets/shared/_header.scss @@ -0,0 +1,153 @@ +#header { + position: relative; + width: 100%; + background-color: #000; + margin: 0px; + padding: 10px 0px; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -ms-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; + #logo { + z-index: 2; + margin: 0px; + display: inline-block; + width: 30%; + margin-bottom: -25px; + vertical-align: bottom; + text-align: left; + img { + z-index: 39; + width: 100%; + } + } + h1 { + margin: 0px; + padding: 0px; + font-size: 1.65em; + } + img { + margin: 0; + padding: 0; + background-image: none; + } +} + +#header .top-bar { + display: flex; + justify-content: flex-end; + background-color: #000; + font-size: 13px; + padding: 10px; + padding-bottom: 0px; + font-family: "Roboto Condensed", sans-serif; + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -ms-transition: all 0.5s; + -o-transition: all 0.5s; + transition: all 0.5s; + height: 27px; + overflow: hidden; + i { + color: #fff; + opacity: 0.6; + padding: 0px 10px; + font-size: 15px; + padding-right:0px; + } + a { + color: rgba(255, 255, 255, 0.7); + } +} + +#header .main-content { + display: flex; + justify-content: space-between; + align-items: flex-end; + li { + display: inline-block; + text-transform: uppercase; + font-family: "Roboto Condensed", sans-serif; + padding: 3px 15px; + } + li a:hover, li a.active { + border-bottom: 1px solid #fd0; + } + li a { + padding-bottom: 5px; + color: rgba(255,255,255,0.7); + } +} + +#mobile_menu{ + z-index:900; + position:fixed; + top:0; + left:0; + right:0; + bottom:0; + background:rgba(0,0,0,0.9); + color:white; + padding:20px; + display:none; + + .mobile_second_menu{ + padding:10px 0; + ul{ + margin:0; + list-style:none; + li{display:inline-block; + margin:4px 10px; + margin-left:0; + + } + + a{color:white;} + } + } + + + .mobile_first_menu{ + margin-top:20px; + font-family: "Roboto Condensed", sans-serif; + text-transform: uppercase; + color:white; + + ul{ + margin:0; + list-style:none; + li{display:block; + + padding:5px 0; + } + + a{color:white;} + } + + } +} + +#burger_menu{ + z-index:1000; + top:5px; + right:5px; + bottom:inherit; + display: none !important; +} + + +@media screen and (max-width: 1170px) { + #header .top-bar { + display: none; + } +} + +@media screen and (max-width: 740px) { + #header #burger_menu { + display: block !important; + } + #header .menus { + display: none; + } +} diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d56185a..064af1f 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,10 +2,10 @@ class ApplicationController < ActionController::Base # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exception - - + + before_action :set_locale before_action :time_stats @@ -13,35 +13,35 @@ class ApplicationController < ActionController::Base def time_stats @gen_past_time = Time.now end - + before_action :popups - + before_action :debug_translation - + before_action :get_sorting - + def get_sorting( column_default=nil, direction_default="desc") - - - + + + sorting_direction = %w[asc desc].include?(params[:direction]) ? params[:direction] : direction_default sorting_column = params[:column] ? params[:column] : column_default - + if sorting_direction and sorting_column @sorting = [sorting_column, sorting_direction] end end - - + + before_action :set_qi_order - + def set_qi_order params[:search] = params[:search] || {} - + session[:qi_sort_string] = session[:qi_sort_string] || {} - + if params[:qi_sort_string].to_s != "" and params[:qi_sort_string][:class] - + if current_admin if ap = current_admin.admin_preferences.where(:key => "sort_table_"+params[:qi_sort_string][:class]).first ap.value = params[:qi_sort_string][:list].to_s @@ -50,19 +50,19 @@ class ApplicationController < ActionController::Base current_admin.admin_preferences.create(:key => "sort_table_"+params[:qi_sort_string][:class], :value => params[:qi_sort_string][:list].to_s) end - - + + else session[:qi_sort_string][params[:qi_sort_string][:class]] = params[:qi_sort_string][:list].to_s end - + else - + end - - + + if params[:qi_sort_string].to_s != "" and params[:qi_sort_string][:nbr_colonnes].to_s != "" - + if current_admin if ap = current_admin.admin_preferences.where(:key => "sort_table_"+params[:qi_sort_string][:class]+"_nbr_col").first ap.value = params[:qi_sort_string][:nbr_colonnes].to_s @@ -70,31 +70,31 @@ class ApplicationController < ActionController::Base else current_admin.admin_preferences.create(:key => "sort_table_"+params[:qi_sort_string][:class]+"_nbr_col", :value => params[:qi_sort_string][:nbr_colonnes].to_s) end - - else + + else session[:qi_sort_string][params[:qi_sort_string][:class]+"_nbr_col"] = params[:qi_sort_string][:nbr_colonnes].to_s end - + else - + end - - - - + + + + end - - + + def sort_by_sorting(var, default=nil) if @sorting klass = var.klass.to_s - + if eval(klass).valid_sort.include?(@sorting[0]) if @sorting[0].split(",").size > 0 order_text = "" i = 0 @sorting[0].split(",").each do |s| - + order_text += "#{s} #{@sorting[1]}" order_text += "," if i < (@sorting[0].split(",").size - 1 ) i+=1 @@ -103,131 +103,131 @@ class ApplicationController < ActionController::Base else var = var.order("#{@sorting[0]} #{@sorting[1]}") end - + end - + elsif default var = var.order(default) end - - - + + + return var - - + + end - - - - + + + + def debug_translation if params[:debug_translation] if current_admin - @debug_translation = true + @debug_translation = true end end end def popups - + end - + def get_public_layout "public" - - + + end - + def set_locale # if params[:locale] is nil then I18n.default_locale will be used #I18n.locale = params[:locale]#"fr" # - + I18n.locale = params[:lang] || :fr - + @lang = LangSite.find_by_slug I18n.locale.to_s end - + def default_url_options(options={}) { :lang => I18n.locale } # end - + def auth_p_customer if !current_p_customer redirect_to new_public_p_customer_auth_path end end - - - - - + + + + + private - - + + def current_p_customer @current_p_customer ||= PCustomer.where(:auth_token => cookies[:p_customer_auth_token]).first if cookies[:p_customer_auth_token] - - + + end - - - + + + private - - + + def auth_admin if !current_admin redirect_to new_admin_admin_auth_path end - - + + end - + def current_admin - + if cookies[:admin_remember_token] - if @current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token]) - @current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token]) + if @current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token]) + @current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token]) else cookies[:admin_remember_token] =nil end - + end - - - + + + end - - + + def get_specific_pref(key="") - + sp = SpecificPreference.where(:key => key).first - + if sp return sp.value else return "" end - + end - + def has_permission?(permission) - if current_admin and current_admin.has_permission?(permission) + if current_admin and current_admin.has_permission?(permission) true else redirect_to "/admin" - + end end - + def is_super_admin if current_admin and current_admin.super_admin true @@ -235,10 +235,10 @@ class ApplicationController < ActionController::Base redirect_to "/admin" end end - - + + helper_method :current_admin, :get_specific_pref, :sort_by_sorting, :current_p_customer - - + + end diff --git a/app/controllers/public/menu_items_controller.rb b/app/controllers/public/menu_items_controller.rb index 0a6d918..6e40a54 100644 --- a/app/controllers/public/menu_items_controller.rb +++ b/app/controllers/public/menu_items_controller.rb @@ -1,86 +1,85 @@ # -*- encoding : utf-8 -*- class Public::MenuItemsController < ApplicationController - + layout :get_public_layout - + def redirect redirect_to menu_item_path(:url => params[:url]), status: 301 end - + def archive @menu_item= MenuItem.archived.find(params[:id]) end - - + def show - + if params[:lang] - + @lang = LangSite.find_by_slug(params[:lang]) else @lang = LangSite.first - + end - - + + if params[:url] - + url = params[:url].split("/") url = url.map do |u| u.to_slug end url = url.join("/") - + orignal_url = url - + if url.scan(/peuples\-sauvages\/experimentes/).size > 0 - url = url.gsub(/peuples\-sauvages\/experimentes/, 'compagnons-animaux/experimentes') + url = url.gsub(/peuples\-sauvages\/experimentes/, 'compagnons-animaux/experimentes') @original_menu_item = MenuItem.find(19) - end + end if url.scan(/animaux\-domestiques\/experimentes/).size > 0 - url = url.gsub(/animaux\-domestiques\/experimentes/, 'compagnons-animaux/experimentes') + url = url.gsub(/animaux\-domestiques\/experimentes/, 'compagnons-animaux/experimentes') @original_menu_item = MenuItem.find(20) - end - - - - + end + + + + menu_id = 1 - - - + + + @menu_item_lang = @lang.menu_item_langs.joins(:menu_item).where(:menu_items => {:menu_id => menu_id}).find_by_permalink(url) - + if @menu_item_lang @menu_item = @menu_item_lang.menu_item - + @menu_item.ancestors_menu = @menu_item.ancestors @ancestor_1 = @menu_item.ancestors.reverse[1] if @menu_item - + elsif menu_item_history = MenuItemSlugHistory.where(:permalink => url, :locale => @lang.slug).first redirect_to "/#{@lang.slug}/#{menu_item_history.menu_item_lang.permalink}.html" - - + + else redirect_to "/" end - - + + else menu_id = 1 - + @menu_item_lang = @lang.menu_item_langs.joins(:menu_item).where(:menu_items => {:menu_id => menu_id}).find_by_permalink("index") - + if @menu_item_lang @menu_item = @menu_item_lang.menu_item else redirect_to "/" end - - - + + + end if @menu_item and @menu_item.menu_content and @menu_item.menu_content.class.to_s == "Page" @lang_page = @menu_item.menu_content.lang_pages.find_by_lang_site_id(@lang.id) @@ -90,10 +89,10 @@ class Public::MenuItemsController < ApplicationController @twitter_title = @lang_page.twitter_title if @lang_page.twitter_title? end - + if @menu_item and @menu_item.menu_content and @menu_item.menu_content.page_type_id == 2 @url_to_redirect = nil - + MenuItem.where(:parent_id => @menu_item.id).order(:position).each do |menu_item| menu_item_lang = menu_item.menu_item_langs.find_by_lang_site_id(@lang.id) @@ -103,18 +102,18 @@ class Public::MenuItemsController < ApplicationController if menu_item_lang.enabled == true and menu_item_lang.visible == true and menu_item.menu_content.page_type_id == 3 @url_to_redirect = menu_item_path(:url => menu_item_lang.url, :lang => @lang.slug) break - + end end - + if @url_to_redirect redirect_to @url_to_redirect end - + end - - - + + + end end diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml index 509b8e3..3af514b 100644 --- a/app/views/layouts/public.html.haml +++ b/app/views/layouts/public.html.haml @@ -21,8 +21,8 @@ %html{:lang => "fr", "xml:lang" => "fr", :xmlns => "http://www.w3.org/1999/xhtml"} %head =render :partial => "public/shared/ga" - - + + -@title = strip_tags(@title.to_s) %title=@title.to_s @@ -35,242 +35,45 @@ %meta{:name=>"viewport", :content=>"width=device-width,initial-scale=1"} %meta{ :"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8" } %meta{ :"name" => "Description", :content => @description } - %meta{ :"name" => "Keywords", :content => @keywords } + %meta{ :"name" => "Keywords", :content => @keywords } =raw '' =raw '' =raw '' - - + + =raw '' =raw '' =raw '' =raw '' =raw '' - - + + -if @facebook_img =raw '' =raw '' - + =raw '' - - - - + + + + =raw '' - - - - - - + + + + + + = javascript_include_tag "public" - - = csrf_meta_tag - + + = csrf_meta_tag + = stylesheet_link_tag 'public', :media => :all - - - - %body.pageAccueil - #mobile_menu - .mobile_second_menu - - %ul.social-links - - - %li - -if current_p_customer - =link_to public_my_account_path do - =ic(:user) - Mon compte : - =current_p_customer.particular.firstname - =current_p_customer.particular.name - - -else - =link_to ic(:user)+" Mon compte", public_my_account_path - - - %li - %a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"} - =ic :"facebook-f" - - - - .mobile_first_menu - %ul - - - -MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item| - -if menu_item_link(menu_item) and menu_item_link(menu_item) != "" - %li - =menu_item_link(menu_item) - - - -if false - %li.PGS_ROULAGE - =link_to "Trouvez votre journée", public_m_events_path - %li.PGS_ANNUAIRE_CIRCUIT - =link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active) - %li.PGS_ANNUAIRE_ORGA - =link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active) - - %li.PGS_DISTRIBUTEUR - %a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"} - %span Distributeurs - - - .mobile_second_menu - %br - %br - %ul - -if current_p_customer - %li=link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path() - - - - - %button.navbar-toggle.collapsed.btn-menu#burger_menu{:onclick => "$('#mobile_menu').toggle();"} - %span.sr-only Toggle navigation - %span.icon-bar - %span.icon-bar - %span.icon-bar - - %span.fond_body_1 - %span.fond_body_2 - #conteneur - #conteneur_contenu - #header.WithCarousel - .top-bar - .container - .header-topbarbox-1 - .header-topbarbox-2 - %ul.social-links - - -if current_p_customer - =link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path() - - - %li - -if current_p_customer - =link_to public_my_account_path do - =ic(:user) - Mon compte : - =current_p_customer.particular.firstname - =current_p_customer.particular.name - - -else - =link_to ic(:user)+" Mon compte", public_my_account_path - - - %li - %a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"} - =ic :"facebook-f" - - #conteneur_header - #logo - %h1 - %a{:href => "/"} - %img.logo_top{:alt => "Ma moto sur circuit", :src => "/images/interface/Logo-DMD.png", :title => "Ma moto sur circuit"}/ - %img.logo_scroll{:alt => "Ma moto sur circuit", :src => "/images/interface/logo_petit.png", :title => "Ma moto sur circuit"}/ - #position-menu - #menu_haut.WithCarousel - %ul - - - -MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item| - -if menu_item_link(menu_item) and menu_item_link(menu_item) != "" - %li - =menu_item_link(menu_item) - - - -if false - %li.PGS_ROULAGE - =link_to "Trouvez votre journée", public_m_events_path - - - %li.PGS_ANNUAIRE_CIRCUIT - =link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active) - %li.PGS_ANNUAIRE_ORGA - =link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active) - - %li.PGS_DISTRIBUTEUR - %a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"} - %span Distributeurs - - - - - - - - - - #contenu - - -if flash[:error] or flash[:notice] or flash[:alert] - .flashs - -if flash[:error] - .error - %span.remove=ic :times - =flash[:error] - -if flash[:notice] - .notice - %span.remove=ic :times - =flash[:notice] - -if flash[:alert] - .alert - %span.remove=ic :times - =flash[:alert] - - - #centreetdroite - - - - =yield - - #pied - #conteneur_pied - .row - .col-md-4 - .footer-section - %a.footer__logo{:href => "#"} - %img.img-responsive{:src => "/images/interface/Logo-DMD.png"}/ - .footer__info Devenez membre de la communauté pour accéder aux avantages exclusifs. - %ul.social-net.list-inline - %li.social-net__item - %a.social-net__link.text-primary_h{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"} - =ic(:"facebook-f") - - .col-md-4 - %section.footer-section.footer-section_list-columns - %h3.footer-section__title.ui-title-inner Liens utiles - %ul.footer-list.footer-list_columns.list-unstyled - %li - %a{:accesskey => "3", :href => "/fr/plan-site.html", :title => "Plan du site"} Plan du site - %li - %a{:accesskey => "8", :href => "/fr/mentions-legales.html", :title => "Mentions légales"} Mentions légales - %li - %a{:accesskey => "8", :href => "/fr/conditions-generales-utilisation.html", :title => "Conditions générales d'utilisation"} Conditions générales d'utilisation - .col-md-4 - %section.footer-section - %h3.footer-section__title.ui-title-inner Nous contacter - .footer-contact - %i.icon.icon-xs.fa.fa-envelope-o - %a{:href => "mailto:contact@mamotosurcircuit.com"} contact@mamotosurcircuit.com - .footer-contact - %i.icon.icon-lg.fa.fa-map-marker> - 8 route des bois 38500 VOIRON - .footer-contact - %i.icon.icon-lg.fa.fa-phone> - 04 76 31 38 38 - / conteneur_contenu // - / conteneur// - - - :javascript - resize() + %body + =render partial: 'public/shared/header' + =render partial: 'public/shared/flashes' + =yield + =render partial: 'public/shared/footer' diff --git a/app/views/public/shared/_flashes.html.haml b/app/views/public/shared/_flashes.html.haml new file mode 100644 index 0000000..a13e738 --- /dev/null +++ b/app/views/public/shared/_flashes.html.haml @@ -0,0 +1,14 @@ +-if flash[:error] or flash[:notice] or flash[:alert] + .flashs + -if flash[:error] + .error + %span.remove=ic :times + =flash[:error] + -if flash[:notice] + .notice + %span.remove=ic :times + =flash[:notice] + -if flash[:alert] + .alert + %span.remove=ic :times + =flash[:alert] diff --git a/app/views/public/shared/_footer.html.haml b/app/views/public/shared/_footer.html.haml new file mode 100644 index 0000000..4e692cc --- /dev/null +++ b/app/views/public/shared/_footer.html.haml @@ -0,0 +1,29 @@ +#footer + .container + .row + .col-md-4.footer-section + =image_tag '/images/interface/Logo-DMD.png' + .footer__info Devenez membre de la communauté pour accéder aux avantages exclusifs. + =link_to "https://www.facebook.com/mamotosurcircuit/", target: '_blank' do + =ic(:"facebook-f") + + .col-md-4.footer-section + %h3 Liens utiles + %ul.footer-list_columns.list-unstyled + %li + %a{:accesskey => "3", :href => "/fr/plan-site.html", :title => "Plan du site"} Plan du site + %li + %a{:accesskey => "8", :href => "/fr/mentions-legales.html", :title => "Mentions légales"} Mentions légales + %li + %a{:accesskey => "8", :href => "/fr/conditions-generales-utilisation.html", :title => "Conditions générales d'utilisation"} Conditions générales d'utilisation + .col-md-4.footer-section + %h3 Nous contacter + .footer-contact + %i.icon.icon-xs.fa.fa-envelope-o + %a{:href => "mailto:contact@mamotosurcircuit.com"} contact@mamotosurcircuit.com + .footer-contact + %i.icon.icon-lg.fa.fa-map-marker> + 8 route des bois 38500 VOIRON + .footer-contact + %i.icon.icon-lg.fa.fa-phone> + 04 76 31 38 38 diff --git a/app/views/public/shared/_header.html.haml b/app/views/public/shared/_header.html.haml new file mode 100644 index 0000000..2060bf6 --- /dev/null +++ b/app/views/public/shared/_header.html.haml @@ -0,0 +1,40 @@ +#header + =render partial: 'public/shared/mobile_menu' + .container + .top-bar + -if current_p_customer + =link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path() + + -if current_p_customer + =link_to public_my_account_path do + =ic(:user) + Mon compte : + =current_p_customer.particular.firstname + =current_p_customer.particular.name + -else + =link_to ic(:user)+" Mon compte", public_my_account_path + + %a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"} + =ic :"facebook-f" + .main-content + #logo + %a{:href => "/"} + %img.logo_top{:alt => "Ma moto sur circuit", :src => "/images/interface/Logo-DMD.png", :title => "Ma moto sur circuit"}/ + %img.logo_scroll{:alt => "Ma moto sur circuit", :src => "/images/interface/logo_petit.png", :title => "Ma moto sur circuit"}/ + %ul.menus + -MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item| + -if menu_item_link(menu_item) and menu_item_link(menu_item) != "" + %li + =menu_item_link(menu_item) + + -if false + %li.PGS_ROULAGE + =link_to "Trouvez votre journée", public_m_events_path + + %li.PGS_ANNUAIRE_CIRCUIT + =link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active) + %li.PGS_ANNUAIRE_ORGA + =link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active) + %li.PGS_DISTRIBUTEUR + %a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"} + %span Distributeurs diff --git a/app/views/public/shared/_mobile_menu.html.haml b/app/views/public/shared/_mobile_menu.html.haml new file mode 100644 index 0000000..02212cd --- /dev/null +++ b/app/views/public/shared/_mobile_menu.html.haml @@ -0,0 +1,62 @@ +#mobile_menu + .mobile_second_menu + + %ul.social-links + + + %li + -if current_p_customer + =link_to public_my_account_path do + =ic(:user) + Mon compte : + =current_p_customer.particular.firstname + =current_p_customer.particular.name + + -else + =link_to ic(:user)+" Mon compte", public_my_account_path + + + %li + %a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"} + =ic :"facebook-f" + + + + .mobile_first_menu + %ul + + + -MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item| + -if menu_item_link(menu_item) and menu_item_link(menu_item) != "" + %li + =menu_item_link(menu_item) + + + -if false + %li.PGS_ROULAGE + =link_to "Trouvez votre journée", public_m_events_path + + + %li.PGS_ANNUAIRE_CIRCUIT + =link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active) + %li.PGS_ANNUAIRE_ORGA + =link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active) + + %li.PGS_DISTRIBUTEUR + %a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"} + %span Distributeurs + + + .mobile_second_menu + %br + %br + %ul + -if current_p_customer + %li=link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path() + + +%button.navbar-toggle.collapsed.btn-menu#burger_menu{:onclick => "$('#mobile_menu').toggle();"} + %span.sr-only Toggle navigation + %span.icon-bar + %span.icon-bar + %span.icon-bar