From 339c9e60d4561e27a145c12720923dda71ac4601 Mon Sep 17 00:00:00 2001 From: Thomas JUND Date: Mon, 8 Jun 2020 15:07:04 +0200 Subject: [PATCH] new theme villeneuve-dascq (#44400) --- static/villeneuve-dascq/_custom.scss | 1103 +++++++++++++++++ static/villeneuve-dascq/_vars.scss | 93 ++ static/villeneuve-dascq/config.json | 17 + static/villeneuve-dascq/extra.js | 153 +++ static/villeneuve-dascq/img/cross.svg | 10 + static/villeneuve-dascq/img/deconnexion.svg | 3 + static/villeneuve-dascq/img/home.svg | 7 + static/villeneuve-dascq/img/skyline.svg | 777 ++++++++++++ static/villeneuve-dascq/img/user.svg | 12 + .../img/vascq-logo-couleur.png | Bin 0 -> 38422 bytes .../villeneuve-dascq/img/vasqc-logo-blanc.png | Bin 0 -> 22959 bytes static/villeneuve-dascq/style.scss | 6 + .../villeneuve-dascq/combo/page_template.html | 38 + .../combo/page_template_3cols.html | 15 + .../combo/page_template_homepage.html | 9 + .../villeneuve-dascq/combo/search-cell.html | 3 + .../combo/wcs/tracking_code_input.html | 5 + .../variants/villeneuve-dascq/wcs/base.html | 12 + 18 files changed, 2263 insertions(+) create mode 100644 static/villeneuve-dascq/_custom.scss create mode 100644 static/villeneuve-dascq/_vars.scss create mode 100644 static/villeneuve-dascq/config.json create mode 100644 static/villeneuve-dascq/extra.js create mode 100644 static/villeneuve-dascq/img/cross.svg create mode 100644 static/villeneuve-dascq/img/deconnexion.svg create mode 100644 static/villeneuve-dascq/img/home.svg create mode 100644 static/villeneuve-dascq/img/skyline.svg create mode 100644 static/villeneuve-dascq/img/user.svg create mode 100644 static/villeneuve-dascq/img/vascq-logo-couleur.png create mode 100644 static/villeneuve-dascq/img/vasqc-logo-blanc.png create mode 100644 static/villeneuve-dascq/style.scss create mode 100644 templates/variants/villeneuve-dascq/combo/page_template.html create mode 100644 templates/variants/villeneuve-dascq/combo/page_template_3cols.html create mode 100644 templates/variants/villeneuve-dascq/combo/page_template_homepage.html create mode 100644 templates/variants/villeneuve-dascq/combo/search-cell.html create mode 100644 templates/variants/villeneuve-dascq/combo/wcs/tracking_code_input.html create mode 100644 templates/variants/villeneuve-dascq/wcs/base.html diff --git a/static/villeneuve-dascq/_custom.scss b/static/villeneuve-dascq/_custom.scss new file mode 100644 index 00000000..b63aacd6 --- /dev/null +++ b/static/villeneuve-dascq/_custom.scss @@ -0,0 +1,1103 @@ +$header-height-desktop: 6.25rem; +$header-height-mobile: 5rem; +$nav-btn-width-desktop: calc( 3em + #{$nav-menu-side}); +$nav-btn-width-mobile: $nav-menu-side; + +// icon for url() function +// $property: "content" or "background-image"; +// $color: hexa with no # +// $strokWidth: int, no unit; +@mixin arrowIcon($property: content, $color: 'fff', $strokeWidth: 3) { +#{$property}: url("data:image/svg+xml,%3Csvg viewBox='0 0 32.5 22' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m20 2 10 9-10 9m-20-9h30' fill='none' stroke='%23#{$color}' stroke-linejoin='round' stroke-width='#{$strokeWidth}'/%3E%3C/svg%3E") +} + +// +// GENERIC +// + +// Typo +html { + @media ($max-mobile-viewport) { + font-size: $fz-small; + } +} + +h1 { + font-size: $fz-h1; + font-weight: 900; + line-height: 1.2; +} + +h2 { + font-size: $fz-h3; + font-weight: 900; +} + +h3 { + font-size: $fz-h4; + font-weight: bold; +} +h4 { + font-size: $fz-h5; + font-weight: bold; +} + +// Utils +.gru-content div.cell.pk-transparent { + box-shadow: none !important; +} + +// Form +label { + font-weight: bold; +} +input, textarea, select { + font-weight: 800; + font-size: $fz-h6; +} + +// +// COMPONENTS +// + +// button +%button { + text-transform: uppercase; + padding: 0.5em 1em; +} + +%cancel-button { + background-color: $gray-light; + color: $font-color; + &:hover { + background-color: $gray-light; + color: $font-color; + } +} + +// Notifs +#messages li.error, .errornotice, +#messages li.warning, .warningnotice, +#messages li.success, .successnotice, +#messages li.info, .infonotice { + color: white; +} + +div.meetings_table { + & > div { + } + + div.head { + border-bottom: 2px solid $primary-color; + font-weight: 900; + } + button { + border: 2px solid white; + box-shadow: 0 0 0 3px $button-background; + &:hover, &:focus { + box-shadow: 0 0 0 3px $primary-color, 0px 0px 10px #777 !important; + } + + &:disabled { + border: 2px solid white; + box-shadow: 0 0 0 3px grayscale($button-background); + } + } + + div span { + border-radius: 1em; + margin: 0.7em; + border: 1px solid transparent; + + &.disabled { + background-color: $gray-light; + opacity: 1; + } + } + + span.selectable { + background-color: $green; + &:hover { + background-color: $green; + color: black; + border: 1px solid; + } + &.on { + background: $primary-color; + color: $button-color; + } + } + + &.mobile { + > div { + width: 100%; + } + div span { + display: inline-block; + padding: 0.5em; + margin: 0.5em; + } + button { + &.prev, &.next { + margin: 0; + } + } + } +} + +// +// CELLS +// +%title { + line-height: 1.2; +} +// vertical space +div#services > ul > li, +div#left div.a2-block, div#right div.a2-block, +.gru-content div.cell, +.block { + margin-bottom: $columns-gutter / 2; +} +// Add box-shadow to cells +#columns .cell { + box-shadow: 0 0 10px #ccc; +} +// foldable option +div.cell { + &.foldable.folded { + // don't hide cell picture + > div > h2:first-child { + + picture { + display: block; + } + } + } +} + +// Search cell +// Use search icon for search submit +.search-cell { + .submit-button { + &::before { + content: "\f002"; + // content: "\f252"; + font-family: FontAwesome; + } + } +} +// Carrousel +.carrousel div.carrousel-content { + input + div div.carrousel-item { + padding: $theme-gutter*3 $theme-gutter-mobile*2 $theme-gutter*2; + @media ($min-desktop-viewport) { + padding: $theme-page-padding; + } + } + .carrousel-item-title { + @extend h1; + @media (max-width: $very-small-limit) { + font-size: $fz-h4; + } + } + div.carrousel-nav { + top: $theme-gutter-mobile*2; + left: $theme-gutter-mobile*2; + width: auto; + @media ($min-desktop-viewport) { + left: $theme-page-padding; + + } + label:first-child { + margin-left: 0; + } + } + + $btn-size: 50px; + a.carrousel-next, + a.carrousel-previous { + @media ($min-desktop-viewport) { + display: block; + } + width: $btn-size; + height: $btn-size; + border: 5px solid; + border-radius: 50%; + background: no-repeat center center; + background-size: 1.5rem; + @include arrowIcon($property: background-image); + + top: $theme-gutter; + right: $theme-page-padding; + &::after { + content: none; + } + } + a.carrousel-previous { + left: auto; + right: calc( #{$theme-page-padding} + #{$btn-size} + #{$theme-gutter} ); + transform: rotate(180deg); + // right: calc( #{$theme-page-padding} ); + } +} +// tracking-code-input +.tracking-code-input-cell { + input, button { + line-height: 3rem; + padding-top: 0; + padding-bottom: 0; + } + input { + margin-bottom: 1rem; + } + button { + // reset + @include vendor-prefix('appearance', 'none'); + border: none; + background: none; + padding: 0; + color: inherit; + + text-transform: uppercase; + font-weight: 900; + + .btn-label { + @media ($max-mobile-viewport) { + display: none; + } + } + &:after { + content: ""; + display: inline-block; + width: 3rem; + height: 3rem; + vertical-align: middle; + border-radius: 50%; + border: 2px solid white; + margin-left: .66em; + background: center no-repeat; + @include arrowIcon($property: 'background-image'); + background-size: 1.5rem; + } + } +} + +// +// Links List +// +div#rub_service div.category ul, +div#services > ul > li > ul, +div#account-management ul, +div.links-list ul, +div.menucell ul, +div.wcsformcell, +div.categoriescell ul, +div.link-list-cell ul, +div.wcscurrentdraftscell ul, +div.wcscurrentformscell ul { + padding: 0 $theme-gutter-mobile; + + & > li > a { + // padding-right: 0; + padding-left: 2.33em; + position: relative; + &::before { + @include arrowIcon($color: str-slice('#{$link-color}', 2)); + display: inline-block; + position: absolute; + left: 1em; + width: 1em; + transform: translateX(-1em); + transition: transform .5s; + } + &:hover::before { + transform: translateX(-0.5em); + } + + } + li.required-authentication a:after { + width: 1em; + height: 1em; + display: block; + margin: auto; + top: 0; + bottom: 0; + right: 0; + left: auto; + } +} + +// +// LAYOUT +// +div#nav-wrapper, +.top-bandeau, +.pwa-navigation--wrapper { + width: 100%; + max-width: $width; + margin-right: auto; + margin-left: auto; +} +div#header, +div#nav-wrapper, +div#footer, +div#main-content-wrapper, +.top-bandeau, +.pwa-navigation--wrapper { + padding-left: $theme-gutter-mobile; + padding-right: $theme-gutter-mobile; + @media ($min-desktop-viewport) and (max-width: $width) { + padding-left: $theme-gutter; + padding-right: $theme-gutter; + } + @media (min-width: $width + 1) { + padding-left: $theme-page-padding; + padding-right: $theme-page-padding; + } +} +.top-bandeau { + padding-left: 0; + @media ($max-mobile-viewport){ + padding-right: 0; + } +} +.pwa-navigation--wrapper { + .search-cell { + &::before { + content: " "; + display: block; + height: 100%; + position: absolute; + left: 100%; + top: 0; + background-color: $gray-light; + @media ($min-desktop-viewport) and (max-width: $width) { + width: $theme-gutter; + } + @media (min-width: $width + 1) { + width: $theme-page-padding; + } + } + } +} +#columns { + @media ($max-mobile-viewport) { + padding: 0; + } +} + + + +// 3cols layout +.theme-3cols-layout { + @media ($min-desktop-viewport) { + display: flex; + > div { + flex: 1 1 0; + } + } + @media ($max-mobile-viewport) { + #center div.cell { + margin-left: 0; + margin-right: 0; + } + } +} + +// +// BLOCS +// + +// Header +#top { + display: flex; + align-items: center; +} +#logo { + padding: 0 !important; + flex: 1; + font-size: $fz-h5; + a { + font-weight: 800; + display: block; + box-sizing: content-box; + display: flex; + align-items: center; + height: $header-height-desktop; + background: url(img/vascq-logo-couleur.png) no-repeat; + background-position: left top 5px; + padding-left: 220px; + background-size: 220px auto; + margin-right: $theme-gutter-mobile; + @media ($max-mobile-viewport) { + height: $header-height-mobile; + padding-left: 110px; + background-size: 110px auto; + background-position: left center; + width: 0; + text-indent: -10000em; + } + + // separator + &::after { + content: ""; + display: inline-block; + height: 2em; + width: 1px; + order: -1; + margin: $theme-half-gutter; + background-color: $primary-color; + + } + + } +} + +// Toplinks +#toplinks { + // reset + position: static; + border: none; + border-radius: 0; + background: none; + box-shadow: none; + padding: 0; + line-height: 1.25; + + // Keep Space for burger btn + margin-right: $nav-btn-width-mobile; + @media ($min-desktop-viewport) { + margin-right: $nav-btn-width-desktop; + } + + // layout + display: flex; + align-items: center; + > span { + margin-right: $theme-gutter; + } + // login / registration & account in 2 lines + .registration { + display: block; + } + span.sep, .account-link { + display: none; + } + + // add icon + > span { + padding-left: calc( 20px + .66em); + background: no-repeat left center; + background-size: 20px auto; + line-height: $fz-h4; + &.login { + background-image: url(img/user.svg); + } + &.logged-in { + background-image: url(img/deconnexion.svg); + } + &.theme-back-home { + background-image: url(img/home.svg); + // hide back home link on mobile + @media (max-width: $very-small-limit) { + display: none; + } + } + } + +} + +// Nav (hamburger in right) +div.gru-nav { + position: relative; + z-index: 1000; + + &-wrapper { + margin-top: 0; + } + .gru-nav-button { + margin-left: 0; + text-align: right; + + // align button to toplinks + position: absolute; + top: calc( + ( (#{$header-height-mobile} - #{$nav-menu-side}) + / 2 + #{$nav-menu-side} + ) * -1 + ) ; + right: 0; + + @media ($min-desktop-viewport) { + // align button to toplinks + top: calc( + ( (#{$header-height-desktop} - #{$nav-menu-side}) + / 2 + #{$nav-menu-side} + ) * -1 + ) ; + width: $nav-btn-width-desktop; + + // Add menu label + &::after { + color: $link-color; + content: attr(aria-label); + } + } + + + ul { + display: none; + } + &.toggled + ul { + display: block; + } + + + ul { + position: absolute; + right: 0; + min-width: 18em; + max-width: 100%; + border-top: 0; + margin: 0; + width: auto; + border: .33em solid $nav-mobile-menu-background; + + li { + a { + padding-left: 2.33em; + position: relative; + } + a::before { + @include arrowIcon($color: str-slice('#{$nav-item-selected-color}', 2)); + display: inline-block; + position: absolute; + left: 1em; + width: 1em; + transform: translateX(-.5em); + opacity: 0; + transition: opacity .5s, transform .5s; + + } + a:hover::before, + &.selected a::before { + opacity: 1; + transform: translateX(0); + } + } + + } + } +} + + +// Page title +.theme-page-header { + text-align: center; + color: $primary-color; + + // Hide Default title if a cell or custom title is defined + > * + .theme-page-title--default { + display: none; + } + + // WCS title + .wcs-page-title { + position: relative; + color: white; + background-color: $primary-color; + margin: 0; + text-align: left; + + padding: $theme-gutter-mobile; + margin-left: -$theme-gutter-mobile; + margin-right: -$theme-gutter-mobile; + @media ($min-desktop-viewport) { + padding: $theme-gutter*2 $theme-gutter; + margin-left: -$theme-gutter; + margin-right: -$theme-gutter; + + // Category image + padding-right: calc( 33.333% + #{$theme-gutter*2}); + // Form Category img + &--image { + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 66.666%; + background-size: cover; + } + } + @media (min-width: $width + 1) { + padding-left: $theme-page-padding; + padding-right: calc( 33.333% + #{$theme-page-padding} ); + margin-right: -$theme-page-padding; + margin-left: -$theme-page-padding; + } + + } +} + +// Top bandeau +.top-bandeau { + @media ($min-desktop-viewport) { + background-color: $primary-color; + } + // top bandeau cell styles + .cell:not(#carrousel) { + color: white; + background-color: $primary-color; + padding: $theme-gutter; + + h2:first-child { + font-weight: 800; + margin-top: 0; + margin-bottom: 0; + } + p { + margin-top: 0; + } + } + .carrousel + .cell { + @media ($max-mobile-viewport) { + position: relative; + z-index: 101; + margin-top: -#{$theme-gutter}; + margin-right: $theme-gutter-mobile; + margin-left: $theme-gutter-mobile; + } + } + .carrousel { + // stretch all flex space + @media ($min-desktop-viewport) { + position: relative; + > div { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + .carrousel-content { + height: 100%; + } + } + } + // Desktop layout + @media ($min-desktop-viewport) { + display: flex; + & > .cell:first-child { + flex: 1 0 auto; + } + & > .cell:last-child { + flex: 0 0 calc( (100% - #{$theme-gutter}) / 3 ); + @media (min-width: $width + 1) { + flex: 0 0 calc( (100% - #{$theme-page-padding}) / 3 ); + + } + } + } +} + +// PWA nav & Search Form +.pwa-navigation--wrapper { + @media ($min-desktop-viewport) { + display: flex; + justify-content: center; + border-top: 2px solid $gray-light; + border-bottom: 2px solid $gray-light; + .pwa-navigation { + flex: 0 1 66.666%; + align-self: center; + } + } + .search-cell, + .search-cell > div { + background-color: $gray-light; + } + .search-cell { + @media ($max-mobile-viewport) { + display: none; + } + padding: 0; + background-color: $gray-light; + position: relative; + flex: 0 0 33.333%; + + > div { + padding: 0 $theme-gutter; + } + } + .combo-search-form { + padding: $theme-gutter/2 0; + display: flex; + align-items: center; + + .combo-search-input { + border: 1px solid transparent; + margin: 0; + padding-right: 2em; + } + .submit-button { + // reset + @include vendor-prefix('appearance', 'none'); + border: none; + background: none; + padding: 0; + + display: block; + width: 2em; + font-size: $fz-h6; + text-align: center; + position: absolute; + right: 0; + } + } +} + +// JS UI ANIMATION +// Fix cell on right of window when she's activated (input get focus) +// Use JS, see extra.js + +body.no-overflow { + overflow: hidden !important; +} +.pwa-navigation--wrapper .search-cell { + $open-width: 30em; + $btn-width: 1.8em; + $time: 900ms; + + // button + .top-search-close-btn { + @extend %button; + width: $btn-width; + height: $btn-width; + line-height: 0; + padding: 0; + margin: 0; + + position: fixed; + top: $theme-gutter-mobile; + right: $open-width - $btn-width / 2; + &::before { + content: "\f00d"; + font-family: fontawesome; + } + + display: none; + } + // Mask + .top-search-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1999; + background-color: black; + opacity: 0; + transition: opacity $time; + display: none; + } + > div { + transition: + top $time, + left $time, + height $time, + width $time; + will-change: top, left, height, width; + } + .combo-search-input { + transition: none; + -webkit-appearance: textfield; + appearance: textfield; + } + + .combo-search-results { + display: none; + } + + &.search-cell-fixed { + > div { + position: fixed; + z-index: 2000; + } + .top-search-mask { + display: block; + } + + // fixed on position + &.search-cell-move-on-top { + > div { + top: 0 !important; + right: 0 !important; + left: calc(100vw - #{$open-width}) !important; + height: 100% !important; + width: $open-width !important; + overflow-y: auto; + } + .combo-search-results, + .top-search-close-btn { + display: block; + } + .top-search-mask { + opacity: .6; + } + } + } +} + +.pwa-navigation { + @media ($max-mobile-viewport) { + border-top: 2px solid $gray-light; + left: 0; + } + @media ($min-desktop-viewport) { + justify-content: center; + } + div > ul li a { + text-transform: uppercase; + color: $gray; + font-weight: bold; + display: flex; + align-items: center; + background-position: 50% 5px; + background-size: auto calc( #{$nav-mobile-bottom-bar-height / 2} - 5px ); + span { + height: auto; + width: 100%; + } + + } + @media ($min-desktop-viewport) { + position: static; + z-index: 0; + div > ul { + justify-content: space-around; + li { + text-align: left; + flex: 0 0 auto; + a { + $icon-width: 30px; + padding: 0; + padding-left: calc( #{$theme-gutter / 2 } + #{$icon-width} + 10px ); + padding-right: $theme-gutter / 2; + background-position: #{$theme-gutter / 2} center; + background-size: $icon-width auto; + span { + font-size: $fz-small; + } + } + } + } + } +} + + +// +// WCS +// + +// layout +@media ($min-desktop-viewport) { + div#gauche { + width: $sidebar-width; + & + div#rub_service { + width: calc( 100% - #{$sidebar-width}); + padding-left: $theme-gutter; + } + } +} +#rub_service { + // Hide default title + > h2:first-child { + display: none; + } + form.quixote { + padding: 0; + } + + h3 { + font-size: $fz-h4; + font-weight: 900; + color: $primary-color; + } + // buttons icons & colors + .buttons button::before, + .buttons button::after { + display: inline-block; + width: 1.5em; + height: 1.5em; + border-radius: 50%; + border: 2px solid; + margin: 0 .66em; + background: no-repeat center; + background-size: .75em auto; + vertical-align: -.33em; + } + .submit-button button { + background-color: $green; + color: $font-color; + &::after { + content: ""; + @include arrowIcon($property: background-image, $color: str-slice('#{$font-color}', 2), $strokeWidth: 4); + margin-right: 0; + } + } + .previous-button button { + background-color: $font-color; + color: white; + &::before { + content: ""; + @include arrowIcon($property: background-image, $color: 'fff', $strokeWidth: 4); + transform: rotate(0.5turn); + margin-left: 0; + } + } + .cancel-button button { + &::before { + content: ""; + background-image: url(img/cross.svg); + margin-left: 0; + } + } + +} +div#gauche { + margin-top: 0; + @media ($min-desktop-viewport) { + background-image: linear-gradient(to top, transparent, $gray-light 200px); + } + + @media ($min-desktop-viewport) { + box-sizing: content-box; + height: 100%; + padding-left: $theme-gutter; + margin-left: -$theme-gutter; + } + @media (min-width: $width + 1) { + padding-left: $theme-page-padding; + margin-left: -$theme-page-padding; + } + + // Tracking code + #tracking-code { + font-size: 100%; + margin-bottom: 0; + .tracking-code-part { + background-color: $font-color; + color: white; + padding: .66em; + @media ($min-desktop-viewport) { + padding-left: $theme-gutter; + margin-left: -$theme-gutter; + } + @media (min-width: $width + 1) { + padding-left: $theme-page-padding; + margin-left: -$theme-page-padding; + } + // reset default styles + * { + color: inherit !important; + font-size: inherit !important; + display: inline; + padding: 0; + } + h3 { + font-weight: normal; + margin-right: .66em; + } + a { + font-weight: 900; + } + } + form { + margin: 1em 0; + } + } + +} + +// Steps +.wcs-steps { + text-transform: uppercase; + font-weight: 600; + margin-bottom: 0; +} +.wcs-step { + @include desktop-vertical-steps() { + margin-bottom: 0; + } + &.step-before { + color: $primary-color; + .wcs-step--marker { + color: inherit; + } + } +} + + + +// +// FOOTER +// + +footer { + // keep space for PWA nav + @media ($max-mobile-viewport) { + margin-bottom: $nav-mobile-bottom-bar-height; + } + +} +#footer { + padding-top: $theme-gutter; + padding-bottom: $theme-gutter; + .footer-imgs { + text-align: center; + line-height: 0; + .logo-blanc { + width: 200px; + } + .skyline { + width: 600px; + } + + @media ($min-desktop-viewport) { + text-align: justify; + &::after { + content: " "; + display: inline-block; + width: 90%; + } + .logo-blanc { + width: 25%; + max-width: 250px; + } + .skyline { + width: 70%; + } + } + } + + .menucell { + @media ($min-desktop-viewport) { + text-align: right; + } + li { + @media ($max-mobile-viewport) { + display: block; + } + a { + @media ($max-mobile-viewport) { + display: block; + } + color: white; + @media ($min-desktop-viewport) { + padding-right: 0; + padding-left: 3em; + } + &::before { + content: none; + } + } + } + } +} diff --git a/static/villeneuve-dascq/_vars.scss b/static/villeneuve-dascq/_vars.scss new file mode 100644 index 00000000..e772721c --- /dev/null +++ b/static/villeneuve-dascq/_vars.scss @@ -0,0 +1,93 @@ +// Colors + +$blue: #5787f5; +$green: #8fe489; +$red: #e85f5b; +$black-blue: #172029; +$gray: rgb(78, 86, 96); +$gray-light: #f0f0f0; +$gray-dark: rgb(23, 32, 41); + +// Fonts size: +$fz-h1: 2.8em; // 45px +$fz-h2: 2.5em; // 39px +$fz-h3: 1.875em;// 30px +$fz-h4: 1.55em; // 25px +$fz-h5: 1.25em; // 20px +$fz-h6: 1.125em;// 18px +$fz-small: 0.875em; // 14px +$fz-xsmall: 0.75em; // 12px + +$theme-gutter: 2rem; +$theme-gutter-mobile: 1.25rem; +$theme-half-gutter: $theme-gutter / 2; +$theme-half-gutter-mobile: $theme-gutter / 2; + +$theme-page-padding: 7.5rem; + + +// Core vars +$primary-color: $blue; +$font-family: muli, sans-serif; +$font-color: $gray-dark; +$link-color: $primary-color; + +$very-small-limit: 560px; +$mobile-limit: 1023px; +$width: 1380px; +$columns-gutter: $theme-gutter * 2; + +$nav-mobile-limit: 9999px; +$nav-active-color: transparent; +$nav-item-selected-color: $link-color; +$nav-item-selected-background: white; +$nav-button-background: none; +$nav-button-color: $link-color; +$nav-menu-side: 30px; +$nav-mobile-menu-background: $gray-light; +$nav-mobile-menu-item-color: $font-color; + +$title-background: transparent !default; +$title-color: $primary-color; +$title-weight: 900; +$title-font-size: $fz-h4; +$title-padding: 1rem $theme-gutter-mobile ; + +$cell-border: none; +$cell-border-radius: 10px; +$cell-title-cover-border: false; +$cell-image-padding: 0; + +$cell-entry-color: $font-color; +$cell-entry-hover-color: $link-color; +$cell-entry-hover-background: none; + +$carrousel-text-position: top left; +$carrousel-navigation-bullet-size: 1rem; +$carrousel-navigation-bullet-border: 2px solid white; +$carrousel-height: 25rem; + +$error-color: #e95f5c; +$button-background: $primary-color; +$button-color: white; +$button-border-radius: 3em; +$buttons-order: cancel, previous (grow), submit; +$buttons-alignment: space-between; + +$widget-border-radius: 5px; +$widget-border: 1px solid $primary-color; +$widget-focus-color: $primary-color; +$wcs-step-color: $font-color; +$wcs-step-current-color: white; +$wcs-step-current-background: $primary-color; +$wcs-step-border-bottom: 1px solid $primary-color; +$wcs-step-current-border-bottom: $wcs-step-border-bottom; +$wcs-steps-small-layout-limit: $mobile-limit; + +$notification_error_color: $error-color; +$notification_warning_color: #EC892F; +$notification_success_color: #15b350; +$notification_info_color: #3562da; + +$footer-full-width-background: false; +$footer-background: $primary-color; \ No newline at end of file diff --git a/static/villeneuve-dascq/config.json b/static/villeneuve-dascq/config.json new file mode 100644 index 00000000..5fa2ab5b --- /dev/null +++ b/static/villeneuve-dascq/config.json @@ -0,0 +1,17 @@ +{ + "label": "Villeneuve d'Ascq", + "variables": { + "pwa_display": "standalone", + "theme_color": "#5787f5" + }, + "settings": { + "combo": { + "COMBO_PUBLIC_TEMPLATES.update": { + "three_columns": { + "name": "trois colonnes", + "template": "combo/page_template_3cols.html" + } + } + } + } +} diff --git a/static/villeneuve-dascq/extra.js b/static/villeneuve-dascq/extra.js new file mode 100644 index 00000000..989d7e27 --- /dev/null +++ b/static/villeneuve-dascq/extra.js @@ -0,0 +1,153 @@ +// TOP Search CELL +// Fix cell On right of window when she's activated (input get focus) +(function(d){ + 'use strict'; + let top_search; + let el_to_move; + let closeBtn; + let mask; + + // CSS class name + const fixed = "search-cell-fixed"; + const on_top = "search-cell-move-on-top"; + + // Status + let is_fixed = false; + let is_fixed_on_top = false; + + const debug = function(func) { + console.log(func); + console.log("is_fixed", is_fixed); + console.log("is_fixed_on_top", is_fixed_on_top); + }; + + const createCloseBtn = function(){ + closeBtn = d.createElement('button'); + closeBtn.className = "top-search-close-btn"; + closeBtn.setAttribute("aria-label", "Fermer la fenĂȘtre de recherche"); + closeBtn.setAttribute("role", "button"); + }; + + const addCloseBtn = function(){ + createCloseBtn(); + $(el_to_move).prepend(closeBtn); + }; + + const createMask = function() { + mask = d.createElement('span'); + mask.className = "top-search-mask"; + mask.setAttribute("role", "button"); + + top_search.append(mask); + }; + + const fixLayout = function() { + if (is_fixed) return; + + const elLayout = el_to_move.getBoundingClientRect() + + el_to_move.style.top = elLayout.top + "px"; + el_to_move.style.left = elLayout.left + "px"; + el_to_move.style.height = elLayout.height + "px"; + el_to_move.style.width = elLayout.width + "px"; + + top_search.style.height = elLayout.height + "px"; + + top_search.classList.add(fixed); + is_fixed = true; + }; + + const removeLayout = function() { + if (!is_fixed) return; + top_search.classList.remove(fixed); + top_search.removeAttribute('style'); + el_to_move.removeAttribute('style'); + is_fixed = false; + }; + + const fixOnTop = function(callback) { + if ( !is_fixed || top_search.classList.contains(on_top) ) return; + top_search.classList.add(on_top); + is_fixed_on_top = true; + }; + + const detachTop = function(callback) { + if ( !is_fixed_on_top || !top_search.classList.contains(on_top) ) return; + $(el_to_move).one('transitionend', function(e){ + e.stopPropagation(); + if (callback) { + callback(); + } + }); + top_search.classList.remove(on_top); + is_fixed_on_top = false; + }; + + const open = function() { + if (is_fixed_on_top) return; + d.body.classList.add('no-overflow'); + fixLayout(); + setTimeout(function () { + fixOnTop(); + }, 20); + }; + + const close = function() { + if (!is_fixed_on_top) return; + detachTop(function(){ + removeLayout(); + d.body.classList.remove('no-overflow'); + }) + }; + + const init = function() { + top_search = d.querySelector('.pwa-navigation--wrapper .search-cell'); + if (!top_search) return; + + el_to_move = top_search.querySelector('div'); + const form = top_search.querySelector('form'); + const input = top_search.querySelector('input'); + + addCloseBtn(); + createMask(); + + // when focus change + document.addEventListener('focusin', function(e) { + if (e.target === input && !is_fixed_on_top) { + open(); + } else { + // close if activeElement is not a child of el_to_move + if ( !el_to_move.contains(d.activeElement) ) { + close(); + } + } + }); + + // Open Input click + $(input).on('click keydown', function(){ + if (input === d.activeElement) { + open(); + } + }); + + // open when submit form + $(form).on('submit', open); + + // close esc + document.addEventListener('keydown', function(e){ + if (e.keyCode === 27) { + close(); + } + }); + + // close click btn + $(closeBtn).on('click', close); + + // close on mask + $(mask).on('click', close); + }; + + $(function() { + init(); + }); +})(document) \ No newline at end of file diff --git a/static/villeneuve-dascq/img/cross.svg b/static/villeneuve-dascq/img/cross.svg new file mode 100644 index 00000000..e61e6528 --- /dev/null +++ b/static/villeneuve-dascq/img/cross.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/static/villeneuve-dascq/img/deconnexion.svg b/static/villeneuve-dascq/img/deconnexion.svg new file mode 100644 index 00000000..bd193f9e --- /dev/null +++ b/static/villeneuve-dascq/img/deconnexion.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/villeneuve-dascq/img/home.svg b/static/villeneuve-dascq/img/home.svg new file mode 100644 index 00000000..d87be331 --- /dev/null +++ b/static/villeneuve-dascq/img/home.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/static/villeneuve-dascq/img/skyline.svg b/static/villeneuve-dascq/img/skyline.svg new file mode 100644 index 00000000..27eef5cf --- /dev/null +++ b/static/villeneuve-dascq/img/skyline.svg @@ -0,0 +1,777 @@ + + + + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/villeneuve-dascq/img/user.svg b/static/villeneuve-dascq/img/user.svg new file mode 100644 index 00000000..999b9e3c --- /dev/null +++ b/static/villeneuve-dascq/img/user.svg @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/static/villeneuve-dascq/img/vascq-logo-couleur.png b/static/villeneuve-dascq/img/vascq-logo-couleur.png new file mode 100644 index 0000000000000000000000000000000000000000..a316f3f6537c3e12a6c03126d48a74ba6d554f80 GIT binary patch literal 38422 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 literal 0 HcmV?d00001 diff --git a/static/villeneuve-dascq/style.scss b/static/villeneuve-dascq/style.scss new file mode 100644 index 00000000..e59553e1 --- /dev/null +++ b/static/villeneuve-dascq/style.scss @@ -0,0 +1,6 @@ +@charset "UTF-8"; +@import '../includes/fonts/muli'; + +@import 'vars'; +@import '../includes/publik'; +@import 'custom'; diff --git a/templates/variants/villeneuve-dascq/combo/page_template.html b/templates/variants/villeneuve-dascq/combo/page_template.html new file mode 100644 index 00000000..9c95a56f --- /dev/null +++ b/templates/variants/villeneuve-dascq/combo/page_template.html @@ -0,0 +1,38 @@ +{% extends "combo/page_template.html" %} +{% load combo static %} + +{% block user-info %} + + Accueil + + {{ block.super }} +{% endblock %} + +{% block before-main-content %} +

+ {{ block.super }} + {% placeholder "top-search" name="zone de recherche" %} +
+{% endblock %} + + +{% block content-pre %} + {% block main-header %} +
+ {% placeholder "main-title" name="Titre de la page" %} + {% if page.title %} +

+ {{ page.title }} +

+ {% endif %} +
+ {% endblock %} +{% endblock %} + +{% block footer %} + + {{ block.super }} +{% endblock %} \ No newline at end of file diff --git a/templates/variants/villeneuve-dascq/combo/page_template_3cols.html b/templates/variants/villeneuve-dascq/combo/page_template_3cols.html new file mode 100644 index 00000000..9999f9ac --- /dev/null +++ b/templates/variants/villeneuve-dascq/combo/page_template_3cols.html @@ -0,0 +1,15 @@ +{% extends "combo/page_template.html" %} + +{% block combo-content %} +
+
+ {% placeholder "left" name="Colonne gauche" %} +
+
+ {% placeholder "content" name="Colonne centrale" %} +
+ +
+{% endblock %} diff --git a/templates/variants/villeneuve-dascq/combo/page_template_homepage.html b/templates/variants/villeneuve-dascq/combo/page_template_homepage.html new file mode 100644 index 00000000..078ae468 --- /dev/null +++ b/templates/variants/villeneuve-dascq/combo/page_template_homepage.html @@ -0,0 +1,9 @@ +{% extends "combo/page_template_3cols.html" %} +{% load combo assets i18n %} + +{% block before-main-content %} +
+ {% placeholder "bandeau" name="Bandeau" %} +
+ {{ block.super }} +{% endblock %} \ No newline at end of file diff --git a/templates/variants/villeneuve-dascq/combo/search-cell.html b/templates/variants/villeneuve-dascq/combo/search-cell.html new file mode 100644 index 00000000..0e279b8b --- /dev/null +++ b/templates/variants/villeneuve-dascq/combo/search-cell.html @@ -0,0 +1,3 @@ +{% extends "combo/search-cell.html" %} + +{% block submit-content %}{% endblock %} \ No newline at end of file diff --git a/templates/variants/villeneuve-dascq/combo/wcs/tracking_code_input.html b/templates/variants/villeneuve-dascq/combo/wcs/tracking_code_input.html new file mode 100644 index 00000000..ea8fd18e --- /dev/null +++ b/templates/variants/villeneuve-dascq/combo/wcs/tracking_code_input.html @@ -0,0 +1,5 @@ +{% extends "combo/wcs/tracking_code_input.html" %} + +{% block submit-content %} + Valider +{% endblock %} \ No newline at end of file diff --git a/templates/variants/villeneuve-dascq/wcs/base.html b/templates/variants/villeneuve-dascq/wcs/base.html new file mode 100644 index 00000000..9cda03cb --- /dev/null +++ b/templates/variants/villeneuve-dascq/wcs/base.html @@ -0,0 +1,12 @@ +{% extends "wcs/base.html" %} + +{% block main-title %} +{% if title %} +

+ {{ title }} + +

+{% endif %} +{% endblock %} \ No newline at end of file