Browse Source

Le retour des formulaires de votes est pris en compte en décoration.

On sépare en 2 formulaires : un pour les questions, un pour les réponses, avec des messages appropriés pour chacun.
svn/root
marcimat@rezo.net 4 years ago
parent
commit
ae0499fcc5
  1. 11
      .gitattributes
  2. 39
      balise/formulaire_jaime_jaimepas_question.php
  3. 39
      balise/formulaire_jaime_jaimepas_reponse.php
  4. 2
      content/thread.html
  5. 38
      formulaires/jaime_jaimepas_question.html
  6. 52
      formulaires/jaime_jaimepas_question.php
  7. 89
      formulaires/jaime_jaimepas_reponse.html
  8. 52
      formulaires/jaime_jaimepas_reponse.php
  9. 2
      inclure/presentation-reponse.html
  10. 17
      lang/galactic_forum_fr.php
  11. 254
      scss/galactic_theme.scss
  12. 36
      scss/theme/badges_labels.scss
  13. 36
      scss/theme/depliables.scss
  14. 134
      scss/theme/formulaires.scss
  15. 52
      scss/theme/onglets.scss

11
.gitattributes

@ -3,6 +3,8 @@
aside/article.html -text
aside/mot.html -text
aside/rubrique.html -text
balise/formulaire_jaime_jaimepas_question.php -text
balise/formulaire_jaime_jaimepas_reponse.php -text
/body.html -text
breadcrumb/article.html -text
breadcrumb/auteur.html -text
@ -31,7 +33,10 @@ fonts/fontawesome-webfont.woff2 -text
formulaires/forum.html -text
formulaires/inc-choix_mots.html -text
formulaires/inc-forum_bloc_choix_mots.html -text
formulaires/jaime_jaimepas.html -text
formulaires/jaime_jaimepas_question.html -text
formulaires/jaime_jaimepas_question.php -text
formulaires/jaime_jaimepas_reponse.html -text
formulaires/jaime_jaimepas_reponse.php -text
formulaires/recherche_ajax.html -text
formulaires/recherche_ajax.php -text
/galactic_forum_fonctions.php -text
@ -82,6 +87,10 @@ prive/themes/spip/images/galactic_spip_net-128.png -text
prive/themes/spip/images/galactic_spip_net-32.png -text
prive/themes/spip/images/galactic_spip_net-64.png -text
scss/galactic_theme.scss -text
scss/theme/badges_labels.scss -text
scss/theme/depliables.scss -text
scss/theme/formulaires.scss -text
scss/theme/onglets.scss -text
scss/utils/_couleurs.scss -text
/sommaire.html -text
/threadspip.html -text

39
balise/formulaire_jaime_jaimepas_question.php

@ -0,0 +1,39 @@
<?php
/**
* Plugin Notation
* par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
*
* Copyright (c) 2008
* Logiciel libre distribue sous licence GNU/GPL.
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
/**
* Ce formulaire permet de noter des objets de SPIP.
* Par defaut, l'objet et son identifiant sont pris dans la boucle
* <BOUCLE_(ARTICLES){id_article}> #FORMULAIRE_JAIME_JAIMEPAS ...
*
* Mais il est possible de forcer un objet particulier :
* #FORMULAIRE_JAIME_JAIMEPAS{article,8}
*
*/
function balise_FORMULAIRE_JAIME_JAIMEPAS_QUESTION($p) {
include_spip("balise/formulaire_notation");
// on prend nom de la cle primaire de l'objet pour calculer sa valeur
$_id_objet = $p->boucles[$p->id_boucle]->primary;
return calculer_balise_dynamique(
$p,
'FORMULAIRE_JAIME_JAIMEPAS_QUESTION',
array(
'NOTATION_TYPE_BOUCLE', // demande du type d'objet
$_id_objet
)
);
}
function balise_FORMULAIRE_JAIME_JAIMEPAS_QUESTION_stat($args, $filtres) {
include_spip("balise/formulaire_notation");
return balise_FORMULAIRE_NOTATION_stat($args,$filtres);
}

39
balise/formulaire_jaime_jaimepas_reponse.php

@ -0,0 +1,39 @@
<?php
/**
* Plugin Notation
* par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
*
* Copyright (c) 2008
* Logiciel libre distribue sous licence GNU/GPL.
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
/**
* Ce formulaire permet de noter des objets de SPIP.
* Par defaut, l'objet et son identifiant sont pris dans la boucle
* <BOUCLE_(ARTICLES){id_article}> #FORMULAIRE_JAIME_JAIMEPAS ...
*
* Mais il est possible de forcer un objet particulier :
* #FORMULAIRE_JAIME_JAIMEPAS{article,8}
*
*/
function balise_FORMULAIRE_JAIME_JAIMEPAS_REPONSE($p) {
include_spip("balise/formulaire_notation");
// on prend nom de la cle primaire de l'objet pour calculer sa valeur
$_id_objet = $p->boucles[$p->id_boucle]->primary;
return calculer_balise_dynamique(
$p,
'FORMULAIRE_JAIME_JAIMEPAS_REPONSE',
array(
'NOTATION_TYPE_BOUCLE', // demande du type d'objet
$_id_objet
)
);
}
function balise_FORMULAIRE_JAIME_JAIMEPAS_REPONSE_stat($args, $filtres) {
include_spip("balise/formulaire_notation");
return balise_FORMULAIRE_NOTATION_stat($args,$filtres);
}

2
content/thread.html

@ -21,7 +21,7 @@
<INCLURE{fond=inclure/bref/commentaires, nb_reponses=#GET{nb_reponses}} />
#FORMULAIRE_JAIME_JAIMEPAS
#FORMULAIRE_JAIME_JAIMEPAS_QUESTION
[(#GET{resolu}|oui)
<div class="resolu" title="<:galactic_forum:resolu|attribut_html:>">

38
formulaires/jaime_jaimepas.html → formulaires/jaime_jaimepas_question.html

@ -2,16 +2,16 @@
#SET{nb_plus,0}
#SET{nb_moins,0}
#SET{nb_diff,0}
<BOUCLE_note(FORUMS){notation}{id_forum=#ENV*{_id_objet}}{si #ENV{_id_objet}}>
<BOUCLE_notes(FORUMS){notation}{id_forum=#ENV*{_id_objet}}{si #ENV{_id_objet}}>
#SET{nb_plus,#NOTATION_NOMBRE_VOTES_PLUS}
#SET{nb_moins,#NOTATION_NOMBRE_VOTES_MOINS}
#SET{nb_diff,#NOTATION_NOMBRE_VOTES_DIFF}
</BOUCLE_note>
</BOUCLE_notes>
[(#SET{title,#LISTE{#GET{nb_plus}|forum_pluraliser{galactic_forum:info_votes_plus}}})]
[(#GET{nb_moins}|oui)[(#SET_PUSH{title,#GET{nb_moins}|forum_pluraliser{galactic_forum:info_votes_moins}})]]
<div class="formulaire_notation formulaire_#FORM ajax">
<div class="formulaire_notation formulaire_jaime_jaimepas formulaire_#FORM ajax">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<BOUCLE_editable(CONDITION){si #ENV{editable}}>
@ -28,9 +28,9 @@
du coup, prefixe par notation_
]
<div class="editer-groupe">
[(#ENV{id_notation}|non)
<BOUCLE_peut_voter(CONDITION){si #ENV{id_notation}|non}>
<div class="editer editer_note_plus">
<button type="submit" class="submit jaime" name="jaime[(#ENV*{_form_id})]" value="+" title="<:galactic_forum:interetquestion|attribut_html:> : <:galactic_forum:utile|attribut_html:>" >
<button type="submit" class="submit jaime" name="jaime[(#ENV*{_form_id})]" value="+" title="<:galactic_forum:interet_question_utile|attribut_html:>">
<span class="sr-only"><:galactic_forum:utile|ucfirst:></span>
<span class="fa fa-chevron-up" aria-hidden="true"></span>
</button>
@ -41,19 +41,41 @@
</div>
</div>
<div class="editer editer_note_moins">
<button type="submit" class="submit jaimepas" name="jaimepas[(#ENV*{_form_id})]" value="-" title="<:galactic_forum:interetquestion|attribut_html:> : <:galactic_forum:inutile|attribut_html:>" >
<button type="submit" class="submit jaimepas" name="jaimepas[(#ENV*{_form_id})]" value="-" title="<:galactic_forum:interet_question_inutile|attribut_html:>">
<span class="sr-only"><:galactic_forum:inutile|ucfirst:></span>
<span class="fa fa-chevron-down" aria-hidden="true"></span>
</button>
</div>
][(#ENV{id_notation}|oui)
</BOUCLE_peut_voter>
[(#REM) a déjà voté ]
<BOUCLE_note(NOTATIONS){id_notation}>#SET{note,#NOTE|=={1}|?{moins,plus}}</BOUCLE_note>
<div class="editer editer_note_plus">
<div class="jaime[ (#GET{note}|=={plus}|oui) active]"
[ (#GET{note}|=={plus}|oui)title="<:galactic_forum:interet_question_utile_vote|attribut_html:>"] >
[ (#GET{note}|=={plus}|oui)<span class="sr-only"><:galactic_forum:a_vote_utile_question|ucfirst:></span>]
<span class="fa fa-chevron-up" aria-hidden="true"></span>
</div>
</div>
<div class="editer editer_note_diff">
<div class="nb_votes[ (#GET{nb_diff}|>{0}|oui)votes_plus][ (#GET{nb_diff}|<{0}|oui)votes_moins]" title="[(#GET{title}|implode{', '}|attribut_html)]">
#GET{nb_diff}
</div>
</div>
<div class="editer editer_note_plus">
<div class="jaimepas[ (#GET{note}|=={moins}|oui) active]"
[ (#GET{note}|=={moins}|oui) title="<:galactic_forum:interet_question_inutile_vote|attribut_html:>"]>
[ (#GET{note}|=={moins}|oui)<span class="sr-only"><:galactic_forum:a_vote_inutile_question|ucfirst:></span>]
<span class="fa fa-chevron-down" aria-hidden="true"></span>
</div>
</div>
<div class="editer editer_note_retirer">
<button type="submit" class="submit jechangedavis" name="retirer[(#ENV*{_form_id})]" value="×" title="<:notation:jechangedavis|attribut_html:>" >
<span class="sr-only"><:notation:jechangedavis:></span>
<span class="fa fa-close" aria-hidden="true"></span>
</button>
</div>
]
<//B_peut_voter>
[(#GET{total}|>{0}|oui)
<div class="nb_votes" title="#GET{total}[ (#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]">
&nbsp;<span class="invisible">#GET{total}[ (#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>

52
formulaires/jaime_jaimepas_question.php

@ -0,0 +1,52 @@
<?php
/**
* Plugin Notation
* par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
*
* Copyright (c) 2008
* Logiciel libre distribue sous licence GNU/GPL.
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/notation');
include_spip('inc/notation_autorisations');
include_spip('base/abstract_sql');
function formulaires_jaime_jaimepas_question_charger_dist($objet, $id_objet) {
$valeurs = array();
$charger = charger_fonction("charger", "formulaires/notation");
// definition des valeurs de base du formulaire
$valeurs = $charger($objet, $id_objet);
return $valeurs;
}
function formulaires_jaime_jaimepas_question_verifier_dist($objet, $id_objet) {
$erreurs = array();
$note = 0;
if (_request("jaime-$objet$id_objet")) {
$note = notation_get_nb_notes();
}
if (_request("jaimepas-$objet$id_objet")) {
$note = 1;
}
if (_request("retirer-$objet$id_objet")) {
$note = -1;
}
set_request("notation-$objet$id_objet", $note);
$verifier = charger_fonction("verifier", "formulaires/notation");
$erreurs = $verifier($objet, $id_objet);
return $erreurs;
}
function formulaires_jaime_jaimepas_question_traiter_dist($objet, $id_objet) {
$traiter = charger_fonction("traiter", "formulaires/notation");
$result = $traiter($objet, $id_objet);
if ($result['message_ok'])
$result['message_ok'] = $result['id_notation'] ? _T("notation:jaidonnemonavis") : "";
return $result;
}

89
formulaires/jaime_jaimepas_reponse.html

@ -0,0 +1,89 @@
<!--formulaire_notation-->
#SET{nb_plus,0}
#SET{nb_moins,0}
#SET{nb_diff,0}
<BOUCLE_notes(FORUMS){notation}{id_forum=#ENV*{_id_objet}}{si #ENV{_id_objet}}>
#SET{nb_plus,#NOTATION_NOMBRE_VOTES_PLUS}
#SET{nb_moins,#NOTATION_NOMBRE_VOTES_MOINS}
#SET{nb_diff,#NOTATION_NOMBRE_VOTES_DIFF}
</BOUCLE_notes>
[(#SET{title,#LISTE{#GET{nb_plus}|forum_pluraliser{galactic_forum:info_votes_plus}}})]
[(#GET{nb_moins}|oui)[(#SET_PUSH{title,#GET{nb_moins}|forum_pluraliser{galactic_forum:info_votes_moins}})]]
<div class="formulaire_notation formulaire_jaime_jaimepas formulaire_#FORM ajax">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<BOUCLE_editable(CONDITION){si #ENV{editable}}>
<form action="#SELF" method="post" id="#FORM[(#ENV*{_form_id})]" enctype="multipart/form-data">
#ACTION_FORMULAIRE
<input type="hidden" name="notation_id_donnees" id="id_donnees[(#ENV*{_form_id})]" value="[(#ENV*{_id_objet})]" />
<input type="hidden" name="content" id="content[(#ENV*{_form_id})]" value="" />
<fieldset>
<legend class="sr-only"><:galactic_forum:interetreponse:></legend>
[(#REM)
Ne pas envoyer une variable commencant par id_
sinon elle se retrouve dans l'url (fonctionnement normal de SPIP
du coup, prefixe par notation_
]
<div class="editer-groupe">
<BOUCLE_peut_voter(CONDITION){si #ENV{id_notation}|non}>
<div class="editer editer_note_plus">
<button type="submit" class="submit jaime" name="jaime[(#ENV*{_form_id})]" value="+" title="<:galactic_forum:interet_reponse_utile|attribut_html:>">
<span class="sr-only"><:galactic_forum:utile|ucfirst:></span>
<span class="fa fa-chevron-up" aria-hidden="true"></span>
</button>
</div>
<div class="editer editer_note_diff">
<div class="nb_votes[ (#GET{nb_diff}|>{0}|oui)votes_plus][ (#GET{nb_diff}|<{0}|oui)votes_moins]" title="[(#GET{title}|implode{', '}|attribut_html)]">
#GET{nb_diff}
</div>
</div>
<div class="editer editer_note_moins">
<button type="submit" class="submit jaimepas" name="jaimepas[(#ENV*{_form_id})]" value="-" title="<:galactic_forum:interet_reponse_inutile|attribut_html:>">
<span class="sr-only"><:galactic_forum:inutile|ucfirst:></span>
<span class="fa fa-chevron-down" aria-hidden="true"></span>
</button>
</div>
</BOUCLE_peut_voter>
[(#REM) a déjà voté ]
<BOUCLE_note(NOTATIONS){id_notation}>#SET{note,#NOTE|=={1}|?{moins,plus}}</BOUCLE_note>
<div class="editer editer_note_plus">
<div class="jaime[ (#GET{note}|=={plus}|oui) active]"
[ (#GET{note}|=={plus}|oui)title="<:galactic_forum:interet_reponse_utile_vote|attribut_html:>"] >
[ (#GET{note}|=={plus}|oui)<span class="sr-only"><:galactic_forum:a_vote_utile_reponse|ucfirst:></span>]
<span class="fa fa-chevron-up" aria-hidden="true"></span>
</div>
</div>
<div class="editer editer_note_diff">
<div class="nb_votes[ (#GET{nb_diff}|>{0}|oui)votes_plus][ (#GET{nb_diff}|<{0}|oui)votes_moins]" title="[(#GET{title}|implode{', '}|attribut_html)]">
#GET{nb_diff}
</div>
</div>
<div class="editer editer_note_plus">
<div class="jaimepas[ (#GET{note}|=={moins}|oui) active]"
[ (#GET{note}|=={moins}|oui) title="<:galactic_forum:interet_reponse_inutile_vote|attribut_html:>"]>
[ (#GET{note}|=={moins}|oui)<span class="sr-only"><:galactic_forum:a_vote_inutile_reponse|ucfirst:></span>]
<span class="fa fa-chevron-down" aria-hidden="true"></span>
</div>
</div>
<div class="editer editer_note_retirer">
<button type="submit" class="submit jechangedavis" name="retirer[(#ENV*{_form_id})]" value="×" title="<:notation:jechangedavis|attribut_html:>" >
<span class="sr-only"><:notation:jechangedavis:></span>
<span class="fa fa-close" aria-hidden="true"></span>
</button>
</div>
<//B_peut_voter>
[(#GET{total}|>{0}|oui)
<div class="nb_votes" title="#GET{total}[ (#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]">
&nbsp;<span class="invisible">#GET{total}[ (#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>
</div>
]
</div>
</fieldset>
</form>
</BOUCLE_editable>
</div>

52
formulaires/jaime_jaimepas_reponse.php

@ -0,0 +1,52 @@
<?php
/**
* Plugin Notation
* par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
*
* Copyright (c) 2008
* Logiciel libre distribue sous licence GNU/GPL.
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/notation');
include_spip('inc/notation_autorisations');
include_spip('base/abstract_sql');
function formulaires_jaime_jaimepas_reponse_charger_dist($objet, $id_objet) {
$valeurs = array();
$charger = charger_fonction("charger", "formulaires/notation");
// definition des valeurs de base du formulaire
$valeurs = $charger($objet, $id_objet);
return $valeurs;
}
function formulaires_jaime_jaimepas_reponse_verifier_dist($objet, $id_objet) {
$erreurs = array();
$note = 0;
if (_request("jaime-$objet$id_objet")) {
$note = notation_get_nb_notes();
}
if (_request("jaimepas-$objet$id_objet")) {
$note = 1;
}
if (_request("retirer-$objet$id_objet")) {
$note = -1;
}
set_request("notation-$objet$id_objet", $note);
$verifier = charger_fonction("verifier", "formulaires/notation");
$erreurs = $verifier($objet, $id_objet);
return $erreurs;
}
function formulaires_jaime_jaimepas_reponse_traiter_dist($objet, $id_objet) {
$traiter = charger_fonction("traiter", "formulaires/notation");
$result = $traiter($objet, $id_objet);
if ($result['message_ok'])
$result['message_ok'] = $result['id_notation'] ? _T("notation:jaidonnemonavis") : "";
return $result;
}

2
inclure/presentation-reponse.html

@ -10,7 +10,7 @@
<div id="forum#ID_FORUM" class="ligneSujet complet[ (#GET{resolu}|oui)resolu][ (#GET{meme_auteur}|oui)meme_auteur]">
<div class="ligneSujet__enbref">
#FORMULAIRE_JAIME_JAIMEPAS
#FORMULAIRE_JAIME_JAIMEPAS_REPONSE
[(#GET{resolu}|oui)
<div class="resolu" title="<:galactic_forum:resolu|attribut_html:>">

17
lang/galactic_forum_fr.php

@ -18,6 +18,10 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'avertissement_code_forum' => 'Pour insérer du code ou mettre en valeur vos solutions, vous pouvez utiliser les raccourcis typographiques suivants :<ul><li>&lt;code&gt;... une ou plusieurs lignes de code ...&lt;/code&gt;</li><li>&lt;cadre&gt;... code ayant des lignes très longues ...&lt;/cadre&gt;</li></ul>',
'avertissementforum' => '<b>N.B.</b> Les forums de ce site sont très actifs. Que tous ceux qui animent et enrichissent ces espaces d’entraide soient ici remerciés.<p>Cependant, plus les forums sont actifs, et plus ils deviennent difficiles à suivre et à consulter. Pour rendre ces forums plus agréables, nous vous remercions de suivre ces recommandations :<br /><img src=\'puce.gif\' border=\'0\' /> avant de lancer un nouveau sujet de discussion, merci de vérifier que ce sujet n’a pas déjà été abordé ici ;<br /><img src=\'puce.gif\' border=\'0\' /> prenez soin de poser votre question dans la rubrique qui lui est consacrée.',
'avertissementtitre' => '<p>Assurez-vous de poser votre question <strong>dans la rubrique appropriée</strong> et prenez soin de lui donner <strong>un titre explicite</strong> pour faciliter ensuite la navigation des autres visiteurs dans les forums.</p> <p><strong>Les messages dont le titre n’est pas explicite sont supprimés.</strong></p>',
'a_vote_utile_question' => 'Vous avez approuvé cette question',
'a_vote_inutile_question' => 'Vous avez désapprouvé cette question',
'a_vote_utile_reponse' => 'Vous avez approuvé cette réponse',
'a_vote_inutile_reponse' => 'Vous avez désapprouvé cette réponse',
// B
'barre_cadre_html' => 'Encadrer et colorer <cadre class=\'html4strict\'>du code html</cadre>',
@ -69,8 +73,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_envoyer_message_prive' => 'permet d’envoyer des messages privés aux contributeurs enregistrés',
'info_tag_forum' => 'Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :',
'infos_stats_personnelles' => 'permet de consulter ses informations de connexion personnelles',
'interetquestion' => 'Indiquez l’intérêt que vous portez à cette question',
'interetreponse' => 'Indiquez l’intérêt que vous portez à cette réponse',
'inutile' => 'inutile',
'info_un_message_a_valider' => '1 message à valider',
'info_nb_messages_a_valider' => '@nb@ messages à valider',
@ -93,7 +95,16 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_votes_moins_un' => '1 vote négatif',
'info_votes_moins_nb' => '@nb@ votes négatifs',
'info_resolus_pourcent' => '@pourcentage@ % résolus',
'interet_question_utile' => 'Pour vous, cette question est utile, claire et montre un effort de recherche',
'interet_question_inutile' => 'Pour vous, cette question est inutile, peu claire ou ne motre pas d’effort de recherche',
'interet_question_utile_vote' => 'Vous avez indiqué que cette question était utile, claire et montrait un effort de recherche',
'interet_question_inutile_vote' => 'Vous avez indiqué que cette question était inutile, peu claire ou ne motrait pas d’effort de recherche',
'interet_reponse_utile' => 'Pour vous, cette réponse est utile',
'interet_reponse_inutile' => 'Pour vous, cette réponse est inutile',
'interet_reponse_utile_vote' => 'Vous avez indiqué que cette réponse était utile',
'interet_reponse_inutile_vote' => 'Vous avez indiqué que cette réponse était inutile',
'interetquestion' => 'Indiquez l’intérêt que vous portez à cette question',
'interetreponse' => 'Indiquez l’intérêt que vous portez à cette réponse',
// L
'liens_utiles' => 'Liens utiles',

254
scss/galactic_theme.scss

@ -321,94 +321,6 @@
.bouton_faq .fa { color: $couleur-faq; }
}
.onglets {
display:flex;
flex-wrap:wrap;
font-size:.9em;
flex-wrap: wrap;
justify-content: space-between;
.onglets__groupe {
display: flex;
flex-wrap: wrap;
}
a {
text-align:center;
padding:.3em .7em;
background-color: $couleur-gris5;
&:not(:last-child) {
margin-right:4px;
}
margin-bottom:.5em;
&.on {
background-color: $couleur-lien-hover;
color:white;
}
&:hover, &:focus {
background-color: $couleur-lien;
color:white;
text-decoration:none;
}
.label, .badge {
background-color: $couleur-lien;
transition: background-color 0.3s, color 0.3s;
}
&.on, &:hover, &:focus {
.fa {
color: white !important;
transition: color 0.3s;
}
.label, .badge {
background:white;
color: $couleur-lien !important;
.fa { color: $couleur-lien !important; }
}
}
.fa.votes { color: $couleur-votes-plus; margin-right:.2em; }
.fa.sans_reponse { color: $couleur-nocomment; margin-right:.2em; }
.fa.faq { color: $couleur-faq; margin-right:.2em; }
}
a.on .badge,
a.on .label {
background:white
}
}
.label, .badge {
display: inline-block;
background-color: $couleur-gris4;
color: #fff;
font-size: 0.75em;
line-height: 1.75;
padding: 0px 7px;
text-align: center;
vertical-align: baseline;
white-space: nowrap;
}
.badge {
border-radius: 10px;
font-weight: bold;
}
.label {
border-radius: 4px;
@for $i from 1 to length($couleur-chapitre-vif) + 1 {
&.c#{$i} {
background-color: transparentize(nth($couleur-chapitre-vif, $i), 70%);
color: $couleur-texte;
}
}
}
a.badge, a.label {
&:hover, &:focus {
background-color: $couleur-lien;
color:white;
text-decoration:none;
}
&.on {
background-color: $couleur-lien;
color:white;
}
}
.contentNav__aside {
.menu { margin-top: 0; }
.bloc--statistiques {
@ -441,22 +353,6 @@ a.badge, a.label {
}
}
/* Colorer pour rendre visible tous les formulaires */
.formulaire_spip:not(.formulaire_recherche) {
background: $couleur-gris5;
padding:1em;
}
/* Comprimer le formulaire de login */
.formulaire_login {
position:relative;
#pass_securise { float:right; }
.editer_password .details { margin-bottom:0; }
.editer_session { margin-bottom:0; }
fieldset { margin:0; }
.boutons { margin-top:0; padding:0; position:absolute; bottom:1em; right:1em; }
}
/* pas d’intro dans la modale de login */
#cboxContent {
.contentLogin {
@ -464,149 +360,7 @@ a.badge, a.label {
}
}
.formulaire_forum {
margin-top:1em;
.explication {
font-size:.8em;
}
.titre_groupe {
font-weight: normal;
display:inline-block;
}
.choix_mots {
margin-left:1em;
margin-bottom:1em;
columns:3;
@include media($bp-medium) {
columns:2;
}
@include media($bp-small) {
columns:1;
}
}
.editer_notification {
border: 1px solid #ddd;
border-radius: 5px;
background: rgba(255,255,255,.3);
padding-left: 1em;
margin-bottom: 0;
.choix label {
font-size: .9em;
}
}
fieldset.commentaire { margin-bottom: 0; }
}
.formulaire_jaime_jaimepas {
margin:0; padding:0;
background:none;
fieldset, .editer-groupe, .editer {
margin:0; padding:0;
background:none;
}
.editer {
line-height:1em;
.fa {
font-size:2em;
color:$couleur-gris5;
}
& button:hover, & button:focus {
.fa {
transition: color 0.3s;
color:$couleur-lien;
}
}
.nb_votes {
font-size:1.5em;
position: relative;
right: -.6em;
text-align: center;
margin-top: .3em;
color: $couleur-votes;
}
}
}
.formulaire_recherche_ajax {
margin: 0 0 .5em;
form {
position: relative;
width: 100%;
}
svg {
display:block;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: em(12px);
width: em(12px);
height: em(12px);
* {
stroke: $couleur-nav;
}
}
div.search {
width: 100%;
}
a.close {
position:absolute;
top: 50%;
transform: translateY(-50%);
right:0;
padding: em(6px) em(12px);
color:$couleur-gris4b;
&:hover {
color: $couleur-lien;
}
}
div.submit {
display: none;
}
input[type="search"] {
border: 1px solid $couleur-gris4b;;
height: em(36px);
width: 100%;
padding-left: em(34px);
padding-right: 15%;
&:focus {
border: 1px solid $couleur-nav;
}
}
}
.depliable {
position: relative;
margin-left:1em;
cursor: pointer;
&:before {
content: '';
position: absolute;
top: 0.5em;
transform: rotate(180deg);
left: -0.8em;
width: 0;
height: 0;
/* flèche à droite */
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 6px solid $couleur-nav-fleche;
transform: rotate(90deg);
transition-property: position, transform, border-color;
transition-duration: 0.2s;
}
&:not(.ouverte) {
&:hover:before,
&:focus:before {
border-bottom-color: $couleur-nav-fleche-hover;
}
}
&.ouverte {
&:before {
// triangle vers le bas
transform: rotate(180deg);
border-bottom-color: $couleur-nav-fleche-hover;
}
}
}
@import "scss/theme/badges_labels";
@import "scss/theme/onglets";
@import "scss/theme/formulaires";
@import "scss/theme/depliables";

36
scss/theme/badges_labels.scss

@ -0,0 +1,36 @@
.label, .badge {
display: inline-block;
background-color: $couleur-gris4;
color: #fff;
font-size: 0.75em;
line-height: 1.75;
padding: 0px 7px;
text-align: center;
vertical-align: baseline;
white-space: nowrap;
}
.badge {
border-radius: 10px;
font-weight: bold;
}
.label {
border-radius: 4px;
@for $i from 1 to length($couleur-chapitre-vif) + 1 {
&.c#{$i} {
background-color: transparentize(nth($couleur-chapitre-vif, $i), 70%);
color: $couleur-texte;
}
}
}
a.badge, a.label {
&:hover, &:focus {
background-color: $couleur-lien;
color:white;
text-decoration:none;
}
&.on {
background-color: $couleur-lien;
color:white;
}
}

36
scss/theme/depliables.scss

@ -0,0 +1,36 @@
.depliable {
position: relative;
margin-left:1em;
cursor: pointer;
&:before {
content: '';
position: absolute;
top: 0.5em;
transform: rotate(180deg);
left: -0.8em;
width: 0;
height: 0;
/* flèche à droite */
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 6px solid $couleur-nav-fleche;
transform: rotate(90deg);
transition-property: position, transform, border-color;
transition-duration: 0.2s;
}
&:not(.ouverte) {
&:hover:before,
&:focus:before {
border-bottom-color: $couleur-nav-fleche-hover;
}
}
&.ouverte {
&:before {
// triangle vers le bas
transform: rotate(180deg);
border-bottom-color: $couleur-nav-fleche-hover;
}
}
}

134
scss/theme/formulaires.scss

@ -0,0 +1,134 @@
/* Colorer pour rendre visible tous les formulaires */
.formulaire_spip:not(.formulaire_recherche) {
background: $couleur-gris5;
padding:1em;
}
/* Comprimer le formulaire de login */
.formulaire_login {
position:relative;
#pass_securise { float:right; }
.editer_password .details { margin-bottom:0; }
.editer_session { margin-bottom:0; }
fieldset { margin:0; }
.boutons { margin-top:0; padding:0; position:absolute; bottom:1em; right:1em; }
}
.formulaire_forum {
margin-top:1em;
.explication {
font-size:.8em;
}
.titre_groupe {
font-weight: normal;
display:inline-block;
}
.choix_mots {
margin-left:1em;
margin-bottom:1em;
columns:3;
@include media($bp-medium) {
columns:2;
}
@include media($bp-small) {
columns:1;
}
}
.editer_notification {
border: 1px solid #ddd;
border-radius: 5px;
background: rgba(255,255,255,.3);
padding-left: 1em;
margin-bottom: 0;
.choix label {
font-size: .9em;
}
}
fieldset.commentaire { margin-bottom: 0; }
}
.formulaire_jaime_jaimepas {
margin:0; padding:0;
background:none;
fieldset, .editer-groupe, .editer {
margin:0; padding:0;
background:none;
}
.editer {
line-height:1em;
.fa {
font-size:2em;
color:$couleur-gris5;
}
& button:hover, & button:focus {
.fa {
transition: color 0.3s;
color:$couleur-lien;
}
}
.active .fa {
color:$couleur-lien;
}
.nb_votes {
font-size:1.5em;
position: relative;
right: -.6em;
text-align: center;
margin-top: .3em;
color: $couleur-votes;
}
.jechangedavis {
padding: .2em;
}
}
.reponse_formulaire_ok { display:none; }
}
.formulaire_recherche_ajax {
margin: 0 0 .5em;
form {
position: relative;
width: 100%;
}
svg {
display:block;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: em(12px);
width: em(12px);
height: em(12px);
* {
stroke: $couleur-nav;
}
}
div.search {
width: 100%;
}
a.close {
position:absolute;
top: 50%;
transform: translateY(-50%);
right:0;
padding: em(6px) em(12px);
color:$couleur-gris4b;
&:hover {
color: $couleur-lien;
}
}
div.submit {
display: none;
}
input[type="search"] {
border: 1px solid $couleur-gris4b;;
height: em(36px);
width: 100%;
padding-left: em(34px);
padding-right: 15%;
&:focus {
border: 1px solid $couleur-nav;
}
}
}

52
scss/theme/onglets.scss

@ -0,0 +1,52 @@
.onglets {
display:flex;
flex-wrap:wrap;
font-size:.9em;
flex-wrap: wrap;
justify-content: space-between;
.onglets__groupe {
display: flex;
flex-wrap: wrap;
}
a {
text-align:center;
padding:.3em .7em;
background-color: $couleur-gris5;
&:not(:last-child) {
margin-right:4px;
}
margin-bottom:.5em;
&.on {
background-color: $couleur-lien-hover;
color:white;
}
&:hover, &:focus {
background-color: $couleur-lien;
color:white;
text-decoration:none;
}
.label, .badge {
background-color: $couleur-lien;
transition: background-color 0.3s, color 0.3s;
}
&.on, &:hover, &:focus {
.fa {
color: white !important;
transition: color 0.3s;
}
.label, .badge {
background:white;
color: $couleur-lien !important;
.fa { color: $couleur-lien !important; }
}
}
.fa.votes { color: $couleur-votes-plus; margin-right:.2em; }
.fa.sans_reponse { color: $couleur-nocomment; margin-right:.2em; }
.fa.faq { color: $couleur-faq; margin-right:.2em; }
}
a.on .badge,
a.on .label {
background:white
}
}
Loading…
Cancel
Save