Compare commits
21 Commits
c96a418a5b
...
a5768cb66d
Author | SHA1 | Date |
---|---|---|
Nicolas Roche | a5768cb66d | |
Nicolas Roche | de7f2aae88 | |
Nicolas Roche | f5021a2d60 | |
Thomas Jund | 15320d0ef2 | |
Frédéric Péters | ef2f4fafba | |
Paul Marillonnet | 50d5f3c353 | |
Corentin Sechet | 12027802cc | |
Paul Marillonnet | fa58012e0a | |
Frédéric Péters | bec5b85a0b | |
Frédéric Péters | 1e44f1e6e4 | |
Frédéric Péters | 177075b6c3 | |
Thomas Jund | 556090a4a6 | |
Thomas Jund | e139dff369 | |
Thomas NOËL | adfc8d2964 | |
Frédéric Péters | f6d6ea0e8b | |
Corentin Sechet | 3bf4de97c3 | |
Paul Marillonnet | 1d89bbf5d0 | |
Paul Marillonnet | 199f2ca818 | |
Frédéric Péters | 4e4acc0675 | |
Frédéric Péters | 2317ed86c1 | |
Thomas Jund | aa1280d1c9 |
|
@ -26,3 +26,7 @@ static/toulouse-2022/backoffice.css.map
|
|||
/debian/publik-base-theme.debhelper.log
|
||||
/debian/.debhelper/
|
||||
*.patch
|
||||
/tmp-*
|
||||
/build
|
||||
/publik_base_theme.egg-info
|
||||
/publik_base_theme/locale/**/*.mo
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
recursive-include static *.scss *.css *.js *.ico *.gif *.svg *.png *.jpg *.jpeg *.woff *.woff2 *.ttf *.map *.json *.eot *.otf
|
||||
|
||||
# templates
|
||||
recursive-include templates *.html *.txt
|
||||
recursive-include templates *.html *.txt *.py
|
||||
|
||||
# documentation
|
||||
recursive-include help *.page *.png
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/alpes-maritimes-2022/combo/json ../../alpes-maritimes-2018/combo/json 9.28.5.g9ac5c2ba~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/boussu-2022/combo/json 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/boussu-2022/combo/wcs 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/eybens 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/grenoble 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/grenoble-metropole-2022 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/hellemmes 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/la-seyne-sur-mer 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/lomme 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/massoins 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/pays-de-grasse 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/saint-vallier-de-thiey 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/sospel 10.47-1~ publik-base-theme
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/boussu-2022/combo/json ../../braine-l-alleud/combo/json 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/boussu-2022/combo/wcs ../../braine-l-alleud/combo/wcs 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/eybens izi-ici 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/grenoble izi-ici 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/grenoble-metropole-2022 izi-ici 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/hellemmes lille 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/la-seyne-sur-mer sictiam 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/lomme lille 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/massoins sictiam 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/pays-de-grasse sictiam 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/saint-vallier-de-thiey sictiam 10.47-1~
|
||||
symlink_to_dir /usr/share/publik/themes/publik-base/templates/variants/sospel sictiam 10.47-1~
|
||||
|
|
|
@ -146,6 +146,11 @@ paramètre, la deuxième sa description et la troisième la valeur par défaut.
|
|||
<td><p>Espace (« gouttière ») entre la barre latérale et les colonnes.</p></td>
|
||||
<td><p><var>$columns-gutter</var></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>$edge-gutter</code></p></td>
|
||||
<td><p>Espace (« gouttière ») entre le contenu et le bord du navigateur.</p></td>
|
||||
<td><p><var>legacy</var></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>$grid-gutter</code></p></td>
|
||||
<td><p>Espace (« gouttière ») entre les éléments disposés en grille.</p></td>
|
||||
|
@ -391,6 +396,11 @@ paramètre, la deuxième sa description et la troisième la valeur par défaut.
|
|||
<td><p>Largeur maximale de la page "mobile"</p></td>
|
||||
<td><p><var>null</var></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>$edge-gutter-mobile</code></p></td>
|
||||
<td><p>Espace (« gouttière ») entre le contenu et le bord du navigateur.</p></td>
|
||||
<td><p><var>$edge-gutter</var></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>$nav-mobile-limit</code></p></td>
|
||||
<td><p>Largeur sous laquelle adopter la navigation "mobile"</p></td>
|
||||
|
|
29
setup.py
29
setup.py
|
@ -1,5 +1,6 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
import functools
|
||||
import glob
|
||||
import os
|
||||
import subprocess
|
||||
|
@ -9,7 +10,7 @@ from distutils.command.build import build as _build
|
|||
from distutils.command.sdist import sdist
|
||||
from distutils.errors import CompileError
|
||||
from distutils.spawn import find_executable
|
||||
from multiprocessing import Pool
|
||||
from multiprocessing.pool import ThreadPool
|
||||
|
||||
from setuptools import find_packages, setup
|
||||
from setuptools.command.install_lib import install_lib as _install_lib
|
||||
|
@ -41,6 +42,27 @@ class eo_sdist(sdist):
|
|||
if os.path.exists('VERSION'):
|
||||
os.remove('VERSION')
|
||||
|
||||
def local_findall(self, dir=os.curdir):
|
||||
# override default file search to allow for duplicates (as some themes have
|
||||
# multiple variants that are just symlinks)
|
||||
files = [
|
||||
os.path.join(base, file) for base, dirs, files in os.walk(dir, followlinks=True) for file in files
|
||||
]
|
||||
if dir == os.curdir:
|
||||
make_rel = functools.partial(os.path.relpath, start=dir)
|
||||
files = map(make_rel, files)
|
||||
self.filelist.allfiles = list(filter(os.path.isfile, files))
|
||||
|
||||
def get_file_list(self):
|
||||
self.filelist.findall = self.local_findall
|
||||
super().get_file_list()
|
||||
|
||||
def copy_file(self, *args, **kwargs):
|
||||
# do not allow hardlinking as hardlinks would get inserted as is in
|
||||
# the tarball, and would not extract properly.
|
||||
kwargs.pop('link', None)
|
||||
super().copy_file(*args, **kwargs)
|
||||
|
||||
|
||||
def get_version():
|
||||
'''Use the VERSION, if absent generates a version with git describe, if not
|
||||
|
@ -140,7 +162,7 @@ class compile_scss(Command):
|
|||
for css_filename in get_css_files():
|
||||
yield ['sassc', '--sourcemap', css_filename.replace('.css', '.scss'), css_filename]
|
||||
|
||||
with Pool() as pool:
|
||||
with ThreadPool() as pool:
|
||||
for result in pool.imap_unordered(subprocess_run, get_build_commands()):
|
||||
if not result:
|
||||
raise CompileError('error compiling css')
|
||||
|
@ -189,7 +211,7 @@ class build_icons(Command):
|
|||
]
|
||||
)
|
||||
|
||||
with Pool() as pool:
|
||||
with ThreadPool() as pool:
|
||||
for result in pool.imap_unordered(subprocess_run, cmds):
|
||||
if not result:
|
||||
raise CompileError('error building icons')
|
||||
|
@ -230,6 +252,7 @@ def data_tree(destdir, sourcedir):
|
|||
'.svg',
|
||||
'.eot',
|
||||
'.otf',
|
||||
'.py', # prepare-template.py
|
||||
]
|
||||
r = []
|
||||
for root, dirs, files in os.walk(sourcedir):
|
||||
|
|
|
@ -636,7 +636,7 @@ div.bookingcalendar {
|
|||
#login-page.methods2 > .block {
|
||||
width: 50%;
|
||||
width: calc(50% - 2em);
|
||||
margin: 0;
|
||||
margin-left: 0;
|
||||
margin-right: 2em;
|
||||
float: left;
|
||||
}
|
||||
|
@ -645,7 +645,7 @@ div.bookingcalendar {
|
|||
#login-page.methods3 > .block {
|
||||
width: 33%;
|
||||
width: calc(33% - 2em);
|
||||
margin: 0;
|
||||
margin-left: 0;
|
||||
margin-right: 2em;
|
||||
float: left;
|
||||
}
|
||||
|
@ -657,7 +657,11 @@ div.bookingcalendar {
|
|||
@media screen and ($max-mobile-viewport) {
|
||||
width: auto;
|
||||
float: none;
|
||||
margin: 0.7em;
|
||||
margin-right: 0;
|
||||
@if $edge-gutter == legacy {
|
||||
margin-left: 0.7em;
|
||||
margin-right: 0.7em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ $cancel-button-icon: '\f00d' !default; /* remove icon */
|
|||
background: $widget-custom-radio-checkbox-marker-color;
|
||||
}
|
||||
&[disabled]:checked + span::after {
|
||||
background: grayscale($widget-custom-radio-checkbox-marker-color);
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
&:focus + span {
|
||||
|
|
|
@ -12,6 +12,8 @@ $sidebar-max-width: $sidebar-width !default;
|
|||
$sidebar-min-width: 0 !default;
|
||||
$sidebar-position: left !default;
|
||||
$sidebar-columns-gutter: $columns-gutter !default;
|
||||
$edge-gutter: legacy !default;
|
||||
$edge-gutter-mobile: $edge-gutter !default;
|
||||
|
||||
// custom media queries
|
||||
// @media ($max-mobile-viewport) {}
|
||||
|
@ -41,7 +43,6 @@ div#page {
|
|||
div#page div#main-content-wrapper,
|
||||
div#page main {
|
||||
flex: 1 0 auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.page-width,
|
||||
|
@ -54,18 +55,16 @@ div#page main {
|
|||
}
|
||||
|
||||
@if ($mobile-width) {
|
||||
.page-width,
|
||||
.footer-width {
|
||||
.page-width,
|
||||
.footer-width {
|
||||
@media ($max-mobile-viewport) {
|
||||
max-width: $mobile-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div#header {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
padding: 0 0.7em;
|
||||
& h1 {
|
||||
margin: 0;
|
||||
}
|
||||
|
@ -118,7 +117,6 @@ div#main-content {
|
|||
|
||||
@media screen and ($max-mobile-viewport) {
|
||||
#columns-wrapper {
|
||||
padding: 0 0.7em;
|
||||
max-width: 100%;
|
||||
}
|
||||
.column {
|
||||
|
@ -129,13 +127,13 @@ div#main-content {
|
|||
.central-content {
|
||||
flex-direction: column;
|
||||
#sidebar {
|
||||
margin: 0;
|
||||
flex: 0 0 auto;
|
||||
max-width: 100%;
|
||||
// don't apply min-width on mobile
|
||||
@if $sidebar-min-width != 0 {
|
||||
min-width: 0;
|
||||
}
|
||||
margin: 0 0.7em;
|
||||
div.cell {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
|
@ -155,16 +153,66 @@ div#main-content {
|
|||
|
||||
@if $footer-full-width-background {
|
||||
#footer-wrapper {
|
||||
padding: 0.7em 0 1.5em 0;
|
||||
padding-top: 0.7em;
|
||||
padding-bottom: 1.5em;
|
||||
background-color: $footer-background;
|
||||
}
|
||||
} @else {
|
||||
#footer {
|
||||
padding: 0.7em 0.7em 1.5em 0.7em;
|
||||
padding-top: 0.7em;
|
||||
padding-bottom: 1.5em;
|
||||
background-color: $footer-background;
|
||||
}
|
||||
}
|
||||
|
||||
// edge-gutter
|
||||
@if $edge-gutter == legacy {
|
||||
div#header {
|
||||
width: 100%;
|
||||
padding: 0 0.7em;
|
||||
}
|
||||
div#page div#main-content-wrapper,
|
||||
div#page main {
|
||||
width: 100%;
|
||||
}
|
||||
@if not $footer-full-width-background {
|
||||
#footer {
|
||||
padding-left: 0.7em;
|
||||
padding-right: 0.7em;
|
||||
}
|
||||
}
|
||||
@media ($max-mobile-viewport) {
|
||||
.central-content #sidebar {
|
||||
margin: 0 0.7em;
|
||||
}
|
||||
#columns-wrapper {
|
||||
padding: 0 0.7em;
|
||||
}
|
||||
}
|
||||
} @else {
|
||||
.page-width,
|
||||
.header-width,
|
||||
.nav-width,
|
||||
.footer-width {
|
||||
--edge-gutter: #{$edge-gutter};
|
||||
--edge-gutter-mobile: #{$edge-gutter-mobile};
|
||||
box-sizing: content-box;
|
||||
padding-left: var(--edge-gutter);
|
||||
padding-right: var(--edge-gutter);
|
||||
@media ($max-mobile-viewport) {
|
||||
--edge-gutter: var(--edge-gutter-mobile);
|
||||
}
|
||||
}
|
||||
@if ($mobile-width) {
|
||||
.header-width,
|
||||
.nav-width {
|
||||
@media ($max-mobile-viewport) {
|
||||
--edge-gutter-mobile: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and ($max-mobile-viewport) {
|
||||
.pk-desktop-only, .desktop-only {
|
||||
display: none !important;
|
||||
|
|
|
@ -70,7 +70,6 @@ $nav-mobile-bottom-bar-badge-background: #e22 !default;
|
|||
}
|
||||
|
||||
div.gru-nav {
|
||||
padding: 0;
|
||||
height: $nav-height;
|
||||
border-radius: $nav-border-radius;
|
||||
font-family: $nav-font-family;
|
||||
|
@ -117,17 +116,7 @@ div.gru-nav li > a {
|
|||
}
|
||||
}
|
||||
|
||||
div.gru-nav li.selected > a {
|
||||
@if $nav-item-selected-mode == background {
|
||||
background-color: $nav-item-selected-background;
|
||||
color: $nav-item-selected-color;
|
||||
}
|
||||
@if $nav-item-selected-mode == bottom-border {
|
||||
border-bottom: $nav-item-selected-border;
|
||||
color: $nav-color;
|
||||
}
|
||||
}
|
||||
|
||||
div.gru-nav li.selected > a,
|
||||
div.gru-nav li:focus-within > a,
|
||||
div.gru-nav li:hover > a {
|
||||
@if $nav-item-selected-mode == background {
|
||||
|
@ -138,7 +127,6 @@ div.gru-nav li:hover > a {
|
|||
border-bottom: $nav-item-hover-border;
|
||||
color: $nav-color;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
div.gru-nav > ul ul {
|
||||
|
|
|
@ -541,6 +541,9 @@ div.file-upload-widget {
|
|||
}
|
||||
div.widget-message {
|
||||
padding-top: 20px;
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
&::before {
|
||||
pointer-events: none;
|
||||
font-family: FontAwesome;
|
||||
|
|
|
@ -0,0 +1,260 @@
|
|||
div#header {
|
||||
@media($min-desktop-viewport) {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#top {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr auto;
|
||||
align-items: center;
|
||||
gap: $space-medium;
|
||||
@media($max-mobile-viewport) {
|
||||
padding: $space-small 0;
|
||||
grid-template-columns: 1fr auto;
|
||||
grid-template-rows: auto auto;
|
||||
}
|
||||
}
|
||||
|
||||
#logo.has-logo {
|
||||
@media($max-mobile-viewport) {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
a::before {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#toplinks {
|
||||
position: static;
|
||||
@media($max-mobile-viewport) {
|
||||
max-width: unset;
|
||||
grid-area: 2 / 1 / 3 / 3;
|
||||
|
||||
.toplinks{
|
||||
&--list {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
gap: $space-large;
|
||||
}
|
||||
|
||||
&--item {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nav.site-nav {
|
||||
@media($max-mobile-viewport) {
|
||||
grid-area: 1 / 2 / 2 / 3;
|
||||
}
|
||||
}
|
||||
|
||||
.gru-nav-wrapper {
|
||||
@media($max-mobile-viewport) {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
div.gru-nav {
|
||||
.menu {
|
||||
margin: 0;
|
||||
@media($min-desktop-viewport) {
|
||||
padding-left: $space-xlarge;
|
||||
}
|
||||
|
||||
&--link {
|
||||
border-right: 1px solid $blue-dark;
|
||||
padding: 0 $space-large !important;
|
||||
@media($max-mobile-viewport) {
|
||||
margin: $space-medium 0;
|
||||
}
|
||||
}
|
||||
|
||||
&--label {
|
||||
text-transform: uppercase;
|
||||
font-weight: 900 !important;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.gru-nav-button {
|
||||
top: $space-medium;
|
||||
right: $space-medium;
|
||||
left: auto;
|
||||
border-radius: 100%;
|
||||
border: 9px solid transparent;
|
||||
|
||||
&.toggled {
|
||||
background: $yellow;
|
||||
|
||||
& .icon-bar {
|
||||
background: $blue-dark;
|
||||
}
|
||||
}
|
||||
|
||||
@media($max-mobile-viewport) {
|
||||
+ ul {
|
||||
width: 100vw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.submenu {
|
||||
@media($min-desktop-viewport) {
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
&--link {
|
||||
@media($max-mobile-viewport) {
|
||||
padding: $space-small 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&--label {
|
||||
color: white;
|
||||
&:hover {
|
||||
color: $yellow;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%title {
|
||||
background-image: linear-gradient(#{$yellow}, #{$yellow});
|
||||
background-size: 60px 7px;
|
||||
background-position: 0 100%;
|
||||
background-repeat: no-repeat;
|
||||
margin: $space-small 0;
|
||||
|
||||
@media ($max-mobile-viewport) {
|
||||
font-size: $fz-3;
|
||||
}
|
||||
}
|
||||
|
||||
%button {
|
||||
background: var(--background);
|
||||
color: var(--color);
|
||||
box-shadow: none;
|
||||
font-weight: 700;
|
||||
overflow: clip;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
transition: 0;
|
||||
padding: $space-large $space-xlarge;
|
||||
|
||||
&:hover {
|
||||
box-shadow: none;
|
||||
background: $button-background;
|
||||
}
|
||||
|
||||
&::before {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
position: absolute;
|
||||
background: var(--hover-background);
|
||||
content: "";
|
||||
transition: .2s ease;
|
||||
}
|
||||
|
||||
&:hover::before {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.pk-button-cancel {
|
||||
&, #footer-wrapper & {
|
||||
@extend %button;
|
||||
background: $blue-dark;
|
||||
color: white;
|
||||
border: 1px solid white;
|
||||
}
|
||||
}
|
||||
|
||||
.form-content {
|
||||
&--title {
|
||||
background: transparent;
|
||||
font-size: $fz-1;
|
||||
|
||||
@media($max-mobile-viewport) {
|
||||
font-size: $fz-2;
|
||||
}
|
||||
|
||||
color: $blue-dark;
|
||||
font-weight: 900;
|
||||
padding-top: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.field {
|
||||
&--label {
|
||||
font-weight: 700;
|
||||
color: $blue-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.wcs-steps {
|
||||
border-radius: 5px;
|
||||
padding: $space-large;
|
||||
box-shadow: 0 0 16px 0 rgba(0,0,0,.33)
|
||||
}
|
||||
|
||||
input, textarea, .godo--editor, select, div.select2-container, span.select2-container {
|
||||
border-bottom: 1px solid $blue-dark;
|
||||
}
|
||||
|
||||
.select2-results {
|
||||
border: 1px solid $blue-dark;
|
||||
}
|
||||
|
||||
#footer {
|
||||
padding: 3rem 0;
|
||||
|
||||
div.cell {
|
||||
@media($max-mobile-viewport) {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
.menu {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
&--label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
|
||||
&:hover {
|
||||
color: $yellow;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '\f054'; // chevron-right
|
||||
font-family: FontAwesome;
|
||||
color: $yellow;
|
||||
font-weight: normal;
|
||||
margin-right: 0.5em;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
&:hover::before {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
@import '../includes/fonts/raleway';
|
||||
|
||||
$blue: #496BAE;
|
||||
$blue-dark: #0B1E4D;
|
||||
$yellow: #FFCA60;
|
||||
$beige: #EEEBE8;
|
||||
|
||||
$font-family: Raleway, sans-serif;
|
||||
|
||||
$scale: 1rem;
|
||||
|
||||
$space-small: 5px;
|
||||
$space-medium: 10px;
|
||||
$space-large: 18px;
|
||||
$space-xlarge: 35px;
|
||||
|
||||
// Typo
|
||||
$fz-1: 55 / 16 * $scale;
|
||||
$fz-2: 36 / 16 * $scale;
|
||||
$fz-3: 28 / 16 * $scale;
|
||||
$font-size: 18 / 16 * $scale;
|
||||
$fz-small: 14 / 16 * $scale;
|
||||
|
||||
$title-color: $blue;
|
||||
$title-font-size: $fz-2;
|
||||
$title-transform: uppercase;
|
||||
$title-weight: 700;
|
||||
$title-padding: $space-small 0;
|
||||
|
||||
// Layout
|
||||
$width: 1140px;
|
||||
|
||||
// Header
|
||||
$header-background-color: $yellow;
|
||||
$header-full-width-background: true;
|
||||
$header-logo-size: 200px 50px;
|
||||
|
||||
$toplinks-style: none;
|
||||
|
||||
$responsive-menu: left-to-right;
|
||||
$nav-active-color: $blue-dark;
|
||||
$nav-background: $yellow;
|
||||
$nav-item-background: transparent;
|
||||
$nav-item-selected-background: transparent;
|
||||
$nav-menu-color: $blue-dark;
|
||||
$nav-submenu-background: $blue-dark;
|
||||
$nav-mobile-menu-background: $blue-dark;
|
||||
$nav-mobile-menu-item-color: white;
|
||||
$nav-mobile-menu-item-hover-color: $yellow;
|
||||
$nav-button-color: $yellow;
|
||||
$nav-button-bar-height: 4px;
|
||||
$nav-after-image: false;
|
||||
|
||||
|
||||
// Widgets
|
||||
$widget-focus-outline: 2px solid $blue;
|
||||
$widget-border: 0;
|
||||
|
||||
$button-background: $yellow;
|
||||
$button-color: $blue-dark;
|
||||
$button-hover-background: $blue;
|
||||
$button-hover-color: white;
|
||||
$button-border: 0;
|
||||
$button-border-radius: 2.375rem;
|
||||
$buttons-order: previous, cancel (grow), submit;
|
||||
$cancel-button-style: ".pk-button-cancel";
|
||||
|
||||
// cells
|
||||
$cell-border: none;
|
||||
|
||||
// w.c.s
|
||||
$wcs-steps-background: $beige;
|
||||
|
||||
// Step
|
||||
$wcs-step-color: $blue-dark;
|
||||
$wcs-step-current-color: $blue;
|
||||
|
||||
// Footer
|
||||
$footer-background: $blue-dark;
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"label": "Manche",
|
||||
"variables": {
|
||||
"theme_color": "#0b1e4d",
|
||||
"email_header_asset": "emails:logo"
|
||||
},
|
||||
"settings": {
|
||||
"combo": {
|
||||
"COMBO_ASSET_SLOTS.update": {
|
||||
"header:background": { "label": "Têtière : fond" },
|
||||
"header:logo": { "label": "Têtière : logo" },
|
||||
"emails:logo": { "label": "Courriels : logo" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
@charset "UTF-8";
|
||||
|
||||
@import 'vars';
|
||||
@import '../includes/publik';
|
||||
@import 'custom';
|
|
@ -148,22 +148,9 @@ label {
|
|||
//
|
||||
// Layout
|
||||
//
|
||||
// add edge-gutter
|
||||
.page-width,
|
||||
.header-width,
|
||||
.nav-width,
|
||||
.footer-width,
|
||||
div#header {
|
||||
@if $theme-edge-gutter {
|
||||
--edge-gutter: #{$theme-edge-gutter};
|
||||
box-sizing: content-box;
|
||||
padding-left: var(--edge-gutter,);
|
||||
padding-right: var(--edge-gutter);
|
||||
width: auto !important;
|
||||
@media ($max-mobile-viewport) {
|
||||
--edge-gutter: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-width {
|
||||
--edge-gutter: 0;
|
||||
}
|
||||
@media ($max-mobile-viewport) {
|
||||
.central-content #sidebar {
|
||||
|
@ -394,7 +381,7 @@ div#main-content-wrapper {
|
|||
@media ($min-desktop-viewport) {
|
||||
min-height: 15rem;
|
||||
background-color: $gray-light;
|
||||
border-left-width: Max(#{$theme-edge-gutter)}, calc(50vw - var(--ref-width) / 2));
|
||||
border-left-width: Max(#{$edge-gutter)}, calc(50vw - var(--ref-width) / 2));
|
||||
border-left-color: $red;
|
||||
border-left-style: solid;
|
||||
padding-left: 0;
|
||||
|
|
|
@ -19,7 +19,8 @@ $fz-xsmall: 12em / $base-font;
|
|||
$title-ff: Inter, sans-serif;
|
||||
|
||||
// Layout
|
||||
$theme-edge-gutter: 2rem;
|
||||
$edge-gutter: 2rem;
|
||||
$edge-gutter-mobile: 1em;
|
||||
$central-content-top: 2rem;
|
||||
|
||||
// Core vars
|
||||
|
|
|
@ -1407,6 +1407,9 @@ div#rub_service div.file-upload-widget {
|
|||
}
|
||||
div.widget-message {
|
||||
padding-top: 30px;
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
&::before {
|
||||
pointer-events: none;
|
||||
content: "\f016"; // file-o
|
||||
|
|
|
@ -907,7 +907,7 @@ div.wcs-tracking-code-input {
|
|||
.gru-content #sidebar div.cell {
|
||||
margin-right: 0;
|
||||
}
|
||||
.has-pwa-navigation footer {
|
||||
footer {
|
||||
margin-bottom: $mobile-navigation-height;
|
||||
}
|
||||
#footer-wrapper {
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
&--item-name,
|
||||
&--item-unit,
|
||||
&--item-location,
|
||||
&--item-date {
|
||||
&--item-date,
|
||||
&--item-no-capacity {
|
||||
font-size: 90%;
|
||||
margin-left: 10px;
|
||||
|
||||
|
@ -23,6 +24,7 @@
|
|||
&--item-name::before { content: "\f007"; }
|
||||
&--item-location::before { content: "\f041"; }
|
||||
&--item-date::before { content: "\f133"; }
|
||||
&--item-no-capacity::before { content: "\f254"; color: $color-warning;}
|
||||
}
|
||||
|
||||
.theme-basket {
|
||||
|
|
|
@ -8,6 +8,7 @@ $min-desktop-viewport: "min-width: #{$mobile-limit + 1}";
|
|||
$title-color: #161c2a;
|
||||
$title-font-size: 200%;
|
||||
$very-small-limit: 560px;
|
||||
$color-warning: #eb7500;
|
||||
|
||||
.cancel-button {}
|
||||
.cell-items-pagination {}
|
||||
|
|
|
@ -4,10 +4,18 @@
|
|||
{% block registration %}
|
||||
<div class="cell--body">
|
||||
{% block registration-password-form-pre %}
|
||||
<p>
|
||||
Après validation de votre adresse électronique, un lien vous sera envoyé par courriel
|
||||
pour poursuivre la création de votre compte.
|
||||
</p>
|
||||
{% if is_phone_authn_active %}
|
||||
<p>
|
||||
Après validation de votre adresse électronique ou de votre numéro de téléphone, un lien
|
||||
vous sera envoyé par courriel ou un code par SMS, selon le mode d'inscription choisi,
|
||||
pour poursuivre la création de votre compte.
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
Après validation de votre adresse électronique, un lien vous sera envoyé par courriel
|
||||
pour poursuivre la création de votre compte.
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{{ block.super }}
|
||||
</div>
|
||||
|
|
|
@ -8,13 +8,22 @@
|
|||
{% block content %}
|
||||
<div class="password-reset-form">
|
||||
|
||||
<p>
|
||||
Si vous avez égaré votre mot de passe et que vous souhaitez pouvoir vous
|
||||
connecter à nouveau, indiquez votre adresse électronique. Vous recevrez un
|
||||
courriel vous permettant de définir un nouveau mot de passe.
|
||||
</p>
|
||||
{% if is_phone_authn_active %}
|
||||
<p>
|
||||
Si vous avez égaré votre mot de passe et souhaitez pouvoir vous connecter à
|
||||
nouveau, veuillez indiquer votre adresse électronique ou votre numéro de
|
||||
téléphone. Vous recevrez alors un courriel ou un SMS vous permettant de
|
||||
définir un nouveau mot de passe.
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
Si vous avez égaré votre mot de passe et que vous souhaitez pouvoir vous
|
||||
connecter à nouveau, indiquez votre adresse électronique. Vous recevrez un
|
||||
courriel vous permettant de définir un nouveau mot de passe.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<form method="post" class="pk-mark-optional-fields">
|
||||
<form method="post" class="{% if not is_phone_authn_active %}pk-mark-optional-fields{% else %}pk-hide-requisiteness{% endif %}">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{% extends "authentic2/login_password_registration_form.html" %}
|
||||
|
||||
{% block registration-block-title %}
|
||||
<h2>Via courriel ou numéro de téléphone</h2>
|
||||
{% endblock %}
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{% extends 'theme.html' %}
|
||||
|
||||
{# move nav #}
|
||||
{% block header-content %}
|
||||
{% block nav %}{% endblock %}
|
||||
{% block top-links %}{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% block after-header %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
@ -10,7 +10,10 @@
|
|||
</div>
|
||||
<div class="tile-content">
|
||||
<div class="adresse">
|
||||
{{ silo.properties.voie }} {% if silo.properties.observation and silo.properties.observation != 'None' %}({{ silo.properties.observation }}){% endif %}<br>
|
||||
{% firstof silo.properties.adresse silo.properties.voie %}
|
||||
{% if silo.properties.observation_localisante %}({{ silo.properties.observation_localisante }}){% endif %}
|
||||
{% if silo.properties.observation and silo.properties.observation != 'None' %}({{ silo.properties.observation }}){% endif %}
|
||||
<br>
|
||||
{{ silo.properties.commune }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -43,6 +43,11 @@
|
|||
<div class="theme-activities--item-type">{{ item.criterias.type.data|get:item.criterias.type.order.0 }}</div>
|
||||
<div class="theme-activities--item-location">{{ item.place.text }}</div>
|
||||
<div class="theme-activities--item-date">Du {{ item.unit.dateStart|date:"d/m/Y" }} au {{ item.unit.dateEnd|date:"d/m/Y" }}</div>
|
||||
{% if item.place.capacityInfo.controlOK == False %}
|
||||
<div class="theme-activities--item-no-capacity">
|
||||
Plus de place, mais vous pouvez vous inscrire en liste d'attente
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="theme-activities--item-details">
|
||||
<p class"theme-activities--item-description">{{ item.activity.activityPortail.blocNoteList.0.note }}</p>
|
||||
|
@ -54,7 +59,13 @@
|
|||
{% endfor %}.
|
||||
</p>
|
||||
</div>
|
||||
<a class="pk-button" href="{{ eservices_url }}{% if is_portal_agent %}backoffice/submission/{% endif %}inscription-loisirs/{% if not is_portal_agent %}tryauth{% endif %}?activity_id={{ item.activity.id }}&unit_id={{ item.unit.id }}&place_id={{ item.place.id }}&catalogue=Oui{% if is_portal_agent %}&backoffice={{ foyer_id }}&cancelurl={{ portal_agent_url }}foyer/{{ foyer_id }}/page-activite/{% else %}&cancelurl={{ portal_url }}mes-activites/{% endif %}">Inscription</a>
|
||||
<a class="pk-button" href="{{ eservices_url }}{% if is_portal_agent %}backoffice/submission/{% endif %}inscription-loisirs/{% if not is_portal_agent %}tryauth{% endif %}?activity_id={{ item.activity.id }}&unit_id={{ item.unit.id }}&place_id={{ item.place.id }}&resume={{ resume }}{{ item.text }} // Du {{ item.unit.dateStart|date:"d/m/Y" }} au {{ item.unit.dateEnd|date:"d/m/Y" }}&catalogue=Oui{% if item.place.capacityInfo.controlOK == False %}&liste_attente=Oui{% endif %}{% if is_portal_agent %}&backoffice={{ foyer_id }}&cancelurl={{ portal_agent_url }}foyer/{{ foyer_id }}/page-activite/{% else %}&cancelurl={{ portal_url }}mes-activites/{% endif %}">
|
||||
{% if item.place.capacityInfo.controlOK == False %}
|
||||
Liste d'attente
|
||||
{% else %}
|
||||
Inscription
|
||||
{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="theme-activities--pagination">
|
||||
|
@ -77,6 +88,7 @@
|
|||
const $paginationPrev = $cell.find('.theme-activities--pagination-prev')
|
||||
const $paginationNext = $cell.find('.theme-activities--pagination-next')
|
||||
const paginateBy = {{ pagination|default:4 }};
|
||||
const queryParams = (new URL(document.location)).searchParams;
|
||||
|
||||
function updatePagination(step) {
|
||||
const items = $cell.find('.theme-activities--item.filtered')
|
||||
|
@ -100,7 +112,6 @@
|
|||
$paginationNext.click(() => updatePagination(1))
|
||||
updatePagination(0)
|
||||
|
||||
$cell.find('select[data-criteria]').each((_, elem) => $(elem).select2())
|
||||
$cell.find('select[data-criteria]').on('change', evt => {
|
||||
let selectedCriterias = []
|
||||
|
||||
|
@ -134,6 +145,16 @@
|
|||
updatePagination(0)
|
||||
})
|
||||
|
||||
$cell.find('select[data-criteria]').each((_, element) => {
|
||||
const $element = $(element)
|
||||
$element.select2()
|
||||
const criteriaValues = queryParams.get(element.dataset.criteria)
|
||||
if (criteriaValues !== null) {
|
||||
$element.val(criteriaValues.split(','))
|
||||
$element.trigger('change')
|
||||
}
|
||||
})
|
||||
|
||||
$cell.find('.theme-activities--item-label').on('click', evt => {
|
||||
$(evt.target).closest('.theme-activities--item').toggleClass('collapsed')
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue