Compare commits

..
5 Commits
Author SHA1 Message Date
imperosol 1798406dde style: clean footer.scss 2026-10-24 12:57:00 +02:00
imperosol 20fc7d587a style: clean unused classes
- `.form_button` : ancienne interface des clics (changée en 2021)
- `.ui-dialog` : jquery-ui (retiré milieu 2025)
- `td>ul` : déjà déclaré dans `td,th{>ul}`, quelques lignes plus haut
- `.edit-bar` : littéralement jamais utilisé
2026-10-24 12:57:00 +02:00
imperosol 94b108d288 style: remove base.css
Ça a pu être utile dans le passé, mais avec l'évolution des navigateurs (merci à Skia d'avoir précisé dans les commentaires que c'était là pour ça) et l'étoffement du reste du css, il y a seulement trois lignes du fichier qui ont encore réellement une utilité.

Le peu qui sert encore peut donc être déplacé dans `style.scss` et le reste supprimé sans problème.
2026-10-24 12:57:00 +02:00
imperosol 059d5210ac style: replace scss variable by css ones 2026-10-24 12:57:00 +02:00
imperosol 562f75f410 style: remove unused colours 2026-10-24 12:57:00 +02:00
30 changed files with 189 additions and 663 deletions

No files matched your search

-79
View File
@@ -1,79 +0,0 @@
{% extends "core/base.jinja" %}
{% block content %}
{% if club.has_rights_in_club(user) %}
<a class="btn btn-blue" href="{{ url("com:news_new") }}">
<i class="fa fa-plus"></i> {% trans %}Create news{% endtrans %}
</a>
{% endif %}
{% for semester_code, semester_events in events %}
<h3>{{ semester_code }}</h3>
{% for event in semester_events %}
<details class="accordion">
<summary>{{ event.title }}</summary>
<div class="accordion-content">
{# Events that occur weekly from the start to the end of the semester
would take a lot of space if shown by default.
Thus, if the event has more than one date, those are
hidden by a details element.
If there is only one date, it is directly displayed. #}
{% set dates = event.dates.all()|list %}
{% if dates|length == 1 %}
<em>
<time datetime="{{ dates[0].start_date.isoformat(timespec="seconds") }}">
{{ dates[0].start_date|localtime|date(DATETIME_FORMAT) }},
{{ dates[0].start_date|localtime|time(DATETIME_FORMAT) }}
</time> -
<time datetime="{{ dates[0].end_date.isoformat(timespec="seconds") }}">
{{ dates[0].end_date|localtime|date(DATETIME_FORMAT) }},
{{ dates[0].end_date|localtime|time(DATETIME_FORMAT) }}
</time>
</em>
{% else %}
<details>
<summary>
{% trans trimmed nb_occurrences=dates|length %}
Dates ({{ nb_occurrences }} occurrences)
{% endtrans %}
</summary>
<ul>
{% for d in dates %}
<li>
<time datetime="{{ d.start_date.isoformat(timespec="seconds") }}">
{{ d.start_date|localtime|date(DATETIME_FORMAT) }},
{{ d.start_date|localtime|time(DATETIME_FORMAT) }}
</time> -
<time datetime="{{ d.end_date.isoformat(timespec="seconds") }}">
{{ d.end_date|localtime|date(DATETIME_FORMAT) }},
{{ d.end_date|localtime|time(DATETIME_FORMAT) }}
</time>
</li>
{% endfor %}
</ul>
</details>
{% endif %}
<h4>{% trans %}Permalink{% endtrans %}</h4>
<p>{{ request.build_absolute_uri(event.get_absolute_url())|urlize }}</p>
<h4>{% trans %}Summary{% endtrans %}</h4>
{% if event.summary %}
{{ event.summary|markdown }}
{% else %}
<p><em>{% trans %}No summary{% endtrans %}</em></p>
{% endif %}
<h4>{% trans %}Description{% endtrans %}</h4>
{% if event.content %}
{{ event.content|markdown }}
{% else %}
<p><em>{% trans %}No detailed description{% endtrans %}</em></p>
{% endif %}
</div>
</details>
{% endfor %}
<br />
{% endfor %}
{% endblock %}
-60
View File
@@ -1,60 +0,0 @@
from datetime import datetime
from django.test import RequestFactory, TestCase
from django.urls import reverse
from django.utils.timezone import get_current_timezone
from model_bakery import baker
from club.models import Club
from club.views import ClubNewsView
from com.models import News, NewsDate
from core.baker_recipes import subscriber_user
from core.models import User
class TestClubNews(TestCase):
@classmethod
def setUpTestData(cls):
cls.club = baker.make(Club)
cls.news = baker.make(
News, club=cls.club, is_published=True, author=baker.make(User), _quantity=5
)
d = datetime(year=2025, month=10, day=1, tzinfo=get_current_timezone())
dates = [
baker.prepare(NewsDate, news=cls.news[0], start_date=d),
baker.prepare(NewsDate, news=cls.news[0], start_date=d.replace(day=8)),
baker.prepare(NewsDate, news=cls.news[0], start_date=d.replace(day=15)),
baker.prepare(NewsDate, news=cls.news[1], start_date=d.replace(month=5)),
baker.prepare(NewsDate, news=cls.news[2], start_date=d.replace(month=4)),
baker.prepare(NewsDate, news=cls.news[3], start_date=d.replace(year=2024)),
baker.prepare(NewsDate, news=cls.news[4], start_date=d.replace(year=2020)),
]
NewsDate.objects.bulk_create(dates)
cls.url = reverse("club:news_list", kwargs={"club_id": cls.club.id})
def test_load_page(self):
"""Just test that the page loads."""
self.client.force_login(subscriber_user.make())
res = self.client.get(self.url)
assert res.status_code == 200
def test_page_data(self):
"""Test that we display the good events."""
# For this test, the object we want to test
# is built with `itertools.groupby`.
# However, it is consumed when rendering the template,
# making it unusable for later testing purposes,
# so we must use lower level django APIs in this test.
request = RequestFactory().get(self.url)
request.user = subscriber_user.make()
response = ClubNewsView.as_view()(request, club_id=self.club.id)
events = [
(semester_code, list(dates))
for semester_code, dates in response.context_data["events"]
]
assert events == [
("A25", [self.news[0]]),
("P25", [self.news[1], self.news[2]]),
("A24", [self.news[3]]),
("A20", [self.news[4]]),
]
-2
View File
@@ -31,7 +31,6 @@ from club.views import (
ClubListView, ClubListView,
ClubMailingView, ClubMailingView,
ClubMembersView, ClubMembersView,
ClubNewsView,
ClubOldMembersView, ClubOldMembersView,
ClubPageEditView, ClubPageEditView,
ClubPageHistView, ClubPageHistView,
@@ -137,5 +136,4 @@ urlpatterns = [
PosterDeleteView.as_view(), PosterDeleteView.as_view(),
name="poster_delete", name="poster_delete",
), ),
path("<int:club_id>/news/", ClubNewsView.as_view(), name="news_list"),
] ]
+1 -35
View File
@@ -37,7 +37,6 @@ from django.contrib.messages.views import SuccessMessageMixin
from django.core.exceptions import NON_FIELD_ERRORS, PermissionDenied, ValidationError from django.core.exceptions import NON_FIELD_ERRORS, PermissionDenied, ValidationError
from django.core.paginator import InvalidPage, Paginator from django.core.paginator import InvalidPage, Paginator
from django.db.models import F, Prefetch, Q, Sum from django.db.models import F, Prefetch, Q, Sum
from django.db.models.expressions import OuterRef, Subquery
from django.db.models.functions import Length from django.db.models.functions import Length
from django.http import Http404, StreamingHttpResponse from django.http import Http404, StreamingHttpResponse
from django.shortcuts import get_object_or_404, redirect from django.shortcuts import get_object_or_404, redirect
@@ -72,7 +71,7 @@ from club.models import (
MailingSubscription, MailingSubscription,
Membership, Membership,
) )
from com.models import NewsDate, Poster from com.models import Poster
from com.views import ( from com.views import (
PosterCreateBaseView, PosterCreateBaseView,
PosterDeleteBaseView, PosterDeleteBaseView,
@@ -81,7 +80,6 @@ from com.views import (
) )
from core.auth.mixins import CanEditMixin, PermissionOrClubBoardRequiredMixin from core.auth.mixins import CanEditMixin, PermissionOrClubBoardRequiredMixin
from core.models import Page, PageRev from core.models import Page, PageRev
from core.utils import get_semester_code
from core.views import BasePageEditView, DetailFormView, UseFragmentsMixin from core.views import BasePageEditView, DetailFormView, UseFragmentsMixin
from core.views.mixins import ( from core.views.mixins import (
AllowFragment, AllowFragment,
@@ -136,11 +134,6 @@ class ClubTabsMixin(TabedViewMixin):
"slug": "history", "slug": "history",
"name": _("History"), "name": _("History"),
}, },
{
"url": reverse("club:news_list", kwargs={"club_id": self.object.id}),
"slug": "events",
"name": _("Events"),
},
] ]
if self.request.user.can_edit(self.object): if self.request.user.can_edit(self.object):
tab_list.extend( tab_list.extend(
@@ -942,30 +935,3 @@ class PosterDeleteView(ClubTabsMixin, PosterDeleteBaseView):
def get_success_url(self): def get_success_url(self):
return reverse_lazy("club:poster_list", kwargs={"club_id": self.club.id}) return reverse_lazy("club:poster_list", kwargs={"club_id": self.club.id})
class ClubNewsView(PermissionRequiredMixin, ClubTabsMixin, DetailView):
pk_url_kwarg = "club_id"
model = Club
permission_required = "club.view_club"
template_name = "club/club_news_list.jinja"
current_tab = "events"
def get_context_data(self, **kwargs: Any):
events = list(
self.object.news.viewable_by(self.request.user)
.annotate(
first_date=Subquery(
NewsDate.objects.filter(news_id=OuterRef("pk"))
.order_by("start_date")
.values("start_date")[:1]
),
)
.prefetch_related("dates")
.order_by("-first_date")
)
return super().get_context_data(**kwargs) | {
"events": itertools.groupby(
events, key=lambda event: get_semester_code(event.first_date.date())
),
}
-1
View File
@@ -5,7 +5,6 @@
margin-top: 20px; margin-top: 20px;
padding: 0.4em; padding: 0.4em;
width: 80%; width: 80%;
background: $white-color;
h4 { h4 {
margin-top: 1em; margin-top: 1em;
+8 -8
View File
@@ -32,7 +32,7 @@
h3 { h3 {
--box-shadow: rgb(60 64 67 / 30%) 0 1px 3px 0, rgb(60 64 67 / 15%) 0 3px 7px 2px; --box-shadow: rgb(60 64 67 / 30%) 0 1px 3px 0, rgb(60 64 67 / 15%) 0 3px 7px 2px;
background: lighten($second-color, 5%); background: var(--bg-yellow);
box-shadow: var(--box-shadow); box-shadow: var(--box-shadow);
padding: .75rem; padding: .75rem;
margin: 0 0 0.5em 0; margin: 0 0 0.5em 0;
@@ -85,7 +85,7 @@
#links_content { #links_content {
overflow: auto; overflow: auto;
box-shadow: $shadow-color 1px 1px 1px; box-shadow: var(--bg-darkened-off-white) 1px 1px 1px;
min-height: 20em; min-height: 20em;
padding: 1em; padding: 1em;
@@ -111,7 +111,7 @@
} }
#birthdays_content { #birthdays_content {
box-shadow: $shadow-color 1px 1px 1px; box-shadow: var(--bg-darkened-off-white) 1px 1px 1px;
padding: 1em; padding: 1em;
ul.birthdays_year { ul.birthdays_year {
@@ -123,7 +123,7 @@
padding: 0.5em; padding: 0.5em;
&:nth-child(even) { &:nth-child(even) {
background: $secondary-neutral-light-color; background: var(--bg-off-white);
} }
} }
@@ -141,7 +141,7 @@
/* EVENTS TODAY AND NEXT FEW DAYS */ /* EVENTS TODAY AND NEXT FEW DAYS */
.news_events_group { .news_events_group {
box-shadow: $shadow-color 1px 1px 1px; box-shadow: var(--bg-darkened-off-white) 1px 1px 1px;
margin-left: 0; margin-left: 0;
margin-bottom: 0.5em; margin-bottom: 0.5em;
@@ -153,8 +153,8 @@
display: table-cell; display: table-cell;
padding: 0.6em; padding: 0.6em;
vertical-align: middle; vertical-align: middle;
background: $primary-neutral-dark-color; background: var(--deepblue);
color: $white-color; color: var(--text-white);
text-transform: uppercase; text-transform: uppercase;
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
@@ -180,7 +180,7 @@
} }
.news_event:nth-of-type(even) { .news_event:nth-of-type(even) {
background: $primary-neutral-light-color; background: var(--bg-white);
} }
.news_event { .news_event {
-123
View File
@@ -1,123 +0,0 @@
/*--------------------------------RESET--------------------------------*/
/*--------------------------------RESET--------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
}
ol,
ul {
/* list-style: none;*/
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
+25 -29
View File
@@ -1,41 +1,37 @@
$first-color: hsl(220, 100%, 50%); /**
$second-color: hsl(48, 100%, 67%); * Sith theme variables
$primary-color: hsl(219.9, 53.7%, 50%); */
$secondary-color: hsl(204, 64%, 44%); :root {
$primary-color-text: hsl(0, 0%, 100%); --bg-yellow: #ffe270;
$secondary-color-text: hsla(0, 0%, 0%, 0.87); --bg-white: #f9fafb;
--bg-off-white: #f0f0f0;
--bg-darkened-off-white: #e3e3e3;
--bg-lightgrey: #d4d4d4;
$primary-light-color: hsl(219.8, 46.4%, 64.9%); --text-white: #f9fafb;
$primary-dark-color: hsl(203, 75%, 40%); --text-black: #2b2b2b;
--text-red: #eb2f06;
$secondary-light-color: hsl(40, 68%, 65%); --blue: #3b69c4;
$secondary-dark-color: hsl(40, 68%, 35%); --lightblue: #1a78b3;
// darkened-deepblue is 10% darker than deepblue
$primary-neutral-color: hsl(219.6, 20.8%, 50%); // This is explicitely declared, because the `darken` scss function
$primary-neutral-light-color: hsl(0, 0%, 94%); // isn't called at compile-time somehow.
$primary-neutral-dark-color: hsl(210, 29%, 29%); --deepblue: #354a5f;
--darkened-deepblue: #23313e;
$secondary-neutral-color: hsl(204, 64%, 44%); }
$secondary-neutral-light-color: hsl(0, 0%, 91%);
$secondary-neutral-dark-color: hsl(40, 57.6%, 17%);
$white-color: hsl(219.6, 20.8%, 98%);
$black-color: hsl(0, 0%, 17%);
$red-text-color: #eb2f06;
$hovered-red-text-color: #ff4d4d;
/**
* Brand colours.
* Those are officially defined by their respective companies,
* and so are more appropriate as scss variables.
*/
$faceblue: hsl(221, 44%, 41%); $faceblue: hsl(221, 44%, 41%);
$twitblue: hsl(206, 82%, 63%); $twitblue: hsl(206, 82%, 63%);
$discordblurple: #7289da; $discordblurple: #7289da;
$instagradient: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); $instagradient: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
$githubblack: rgb(22, 22, 20); $githubblack: rgb(22, 22, 20);
$shadow-color: rgb(223, 223, 223);
$background-button-color: hsl(0, 0%, 95%);
$deepblue: #354a5f;
@mixin shadow { @mixin shadow {
box-shadow: rgba(60, 64, 67, 0.3) 0 1px 3px 0, box-shadow: rgba(60, 64, 67, 0.3) 0 1px 3px 0,
rgba(60, 64, 67, 0.15) 0 4px 8px 3px; rgba(60, 64, 67, 0.15) 0 4px 8px 3px;
+3 -3
View File
@@ -17,7 +17,7 @@
} }
.card { .card {
background-color: $primary-neutral-light-color; background-color: var(--bg-off-white);
border-radius: 5px; border-radius: 5px;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
@@ -30,12 +30,12 @@
gap: 20px; gap: 20px;
&:disabled { &:disabled {
background-color: darken($primary-neutral-light-color, 5%); background-color: var(--bg-darkened-off-white);
opacity: 65%; opacity: 65%;
} }
&.clickable:not(:disabled):hover { &.clickable:not(:disabled):hover {
background-color: darken($primary-neutral-light-color, 5%); background-color: var(--bg-darkened-off-white);
} }
&.selected { &.selected {
+8 -4
View File
@@ -11,7 +11,7 @@ ui-tab-group {
.tab-headers { .tab-headers {
display: flex; display: flex;
flex-flow: row wrap; flex-flow: row wrap;
background-color: $primary-neutral-light-color; background-color: var(--bg-off-white);
padding: 3px 12px 12px; padding: 3px 12px 12px;
column-gap: 20px; column-gap: 20px;
border-top-left-radius: 5px; border-top-left-radius: 5px;
@@ -25,23 +25,27 @@ ui-tab-group {
background-color: unset; background-color: unset;
position: relative; position: relative;
&:hover {
background-color: var(--bg-lightgrey);
}
&:after { &:after {
content: ''; content: '';
position: absolute; position: absolute;
bottom: 0; bottom: 0;
left: 0; left: 0;
width: 100%; width: 100%;
border-bottom: 4px solid darken($primary-neutral-light-color, 10%); border-bottom: 4px solid var(--bg-lightgrey);
border-radius: 2px; border-radius: 2px;
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
} }
&:hover:after { &:hover:after {
border-bottom-color: darken($primary-neutral-light-color, 20%); filter: brightness(85%);
} }
&.active:after { &.active:after {
border-bottom-color: $primary-dark-color; border-bottom-color: var(--lightblue);
} }
} }
} }
+17 -34
View File
@@ -2,92 +2,75 @@
@import "devices"; @import "devices";
footer.bottom-links { footer.bottom-links {
>section>a { > section > a {
text-align: center; text-align: center;
} }
text-align: center;
hr {
border: none;
}
@media (max-width: $small-devices) { @media (max-width: $small-devices) {
margin-top: 0.6em; margin-top: 0.6em;
padding: 1.25em; padding: 1.25em;
background-color: $primary-neutral-dark-color; background-color: var(--deepblue);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center;
gap: 1.25em; gap: 1.25em;
>section { > section {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
gap: 0.8em; gap: 0.8em;
} }
a { a {
color: $white-color; color: var(--text-white);
width: auto;
&:hover { &:hover {
color: $white-color; text-shadow: 0.5px 0.5px 0.5px var(--bg-darkened-off-white);
text-shadow: 0.5px 0.5px 0.5px $shadow-color;
} }
} }
.fa-github { .fa-github {
color: $white-color; color: var(--text-white);
} }
hr { hr {
width: 100%; border-top: var(--bg-white) 1px solid;
height: 0px;
border: none;
border-top: 0.5px solid $white-color;
} }
} }
@media (min-width: $small-devices) { @media (min-width: $small-devices) {
width: 90%; width: 90%;
margin: 2em auto; margin: 2em auto;
font-size: 90%; font-size: 90%;
text-align: center;
vertical-align: middle;
section:first-of-type { section:first-of-type {
margin: 0.6em 0; margin: 0.6em 0;
color: $white-color;
border-radius: 5px; border-radius: 5px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
background-color: $primary-neutral-dark-color; background-color: var(--deepblue);
box-shadow: $shadow-color 0 0 15px;
a { a {
color: $white-color;
width: auto;
padding: 0.8em; padding: 0.8em;
flex: 1; flex: 1;
font-weight: bold; font-weight: bold;
color: var(--text-white);
&:hover { &:hover {
color: $white-color; text-shadow: 0.5px 0.5px 0.5px var(--bg-darkened-off-white);
text-shadow: 0.5px 0.5px 0.5px $shadow-color;
} }
} }
} }
.fa-github {
color: $githubblack;
}
hr {
border: none;
height: 5px;
}
} }
} }
+10 -14
View File
@@ -16,7 +16,6 @@
input[type="file"] { input[type="file"] {
border: none; border: none;
text-decoration: none; text-decoration: none;
background-color: $background-button-color;
padding: 0.4em; padding: 0.4em;
margin: 0.1em; margin: 0.1em;
font-size: 1.2em; font-size: 1.2em;
@@ -24,7 +23,7 @@
color: black; color: black;
&:not(.link-like):not(:disabled):hover { &:not(.link-like):not(:disabled):hover {
background: hsl(0, 0%, 83%); background: var(--bg-lightgrey);
} }
} }
@@ -53,7 +52,7 @@
.ts-control { .ts-control {
border: none; border: none;
text-decoration: none; text-decoration: none;
background-color: $background-button-color; //background-color: $background-button-color;
padding: 0.4em; padding: 0.4em;
margin: 0.1em; margin: 0.1em;
font-size: 1.2em; font-size: 1.2em;
@@ -64,7 +63,7 @@
textarea { textarea {
border: none; border: none;
text-decoration: none; text-decoration: none;
background-color: $background-button-color; //background-color: $background-button-color;
padding: 7px; padding: 7px;
font-size: 1.2em; font-size: 1.2em;
border-radius: 5px; border-radius: 5px;
@@ -75,7 +74,7 @@
border: none; border: none;
text-decoration: none; text-decoration: none;
font-size: 1.2em; font-size: 1.2em;
background-color: $background-button-color; //background-color: $background-button-color;
padding: 10px; padding: 10px;
border-radius: 5px; border-radius: 5px;
cursor: pointer; cursor: pointer;
@@ -83,14 +82,14 @@
a:not(.button) { a:not(.button) {
text-decoration: none; text-decoration: none;
color: $primary-dark-color; color: var(--lightblue);
&:hover { &:hover {
color: $primary-light-color; color: var(--blue);
} }
&:active { &:active {
color: $primary-color; color: var(--blue);
} }
} }
} }
@@ -762,16 +761,13 @@ form {
// a submit input that should look like a regular <a> // a submit input that should look like a regular <a>
input[type="submit"], button { input[type="submit"], button {
&.link-like { &.link-like {
color: $primary-dark-color; color: var(--lightblue);
&:hover { &:hover {
color: $primary-light-color; color: var(--blue);
} }
&.link-red { &.link-red {
color: $red-text-color; color: var(--text-red);
&:hover {
color: $hovered-red-text-color;
}
} }
font-weight: normal; font-weight: normal;
font-size: 100%; font-size: 100%;
+4 -4
View File
@@ -7,7 +7,7 @@ $background-color-hovered: #283747;
.header { .header {
box-sizing: border-box; box-sizing: border-box;
background-color: $deepblue; background-color: var(--deepblue);
box-shadow: 3px 3px 3px 0 #dfdfdf; box-shadow: 3px 3px 3px 0 #dfdfdf;
border-radius: 0; border-radius: 0;
width: 100%; width: 100%;
@@ -96,7 +96,7 @@ $background-color-hovered: #283747;
border-radius: 0; border-radius: 0;
margin: 0; margin: 0;
box-sizing: border-box; box-sizing: border-box;
background-color: $deepblue; background-color: var(--deepblue);
width: 45px; width: 45px;
height: 25px; height: 25px;
padding: 0; padding: 0;
@@ -212,7 +212,7 @@ $background-color-hovered: #283747;
background-position: center center; background-position: center center;
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;
background-color: $deepblue; background-color: var(--deepblue);
} }
>.options { >.options {
@@ -298,7 +298,7 @@ $background-color-hovered: #283747;
width: 10px; width: 10px;
height: 10px; height: 10px;
padding: 5px; padding: 5px;
background-color: $red-text-color; background-color: var(--text-red);
border-radius: 50%; border-radius: 50%;
position: absolute; position: absolute;
top: -50%; top: -50%;
+2 -5
View File
@@ -1,7 +1,4 @@
.markdown { .markdown {
--bg-lightgrey: rgb(240, 241, 245);
--border-lightgrey: rgb(215, 216, 220);
h1, h1,
h2, h2,
h3, h3,
@@ -28,8 +25,8 @@
font-size: 14px; font-size: 14px;
tab-size: 4; tab-size: 4;
border-radius: 4px; border-radius: 4px;
border: 1px solid var(--border-lightgrey); border: 1px solid var(--bg-lightgrey);
background-color: var(--bg-lightgrey); background-color: var(--bg-off-white);
padding: 1px 2px; padding: 1px 2px;
} }
+1 -1
View File
@@ -3,7 +3,7 @@
$desktop-size: 500px; $desktop-size: 500px;
nav.navbar { nav.navbar {
background-color: $primary-dark-color; background-color: var(--lightblue);
margin: 1em; margin: 1em;
color: white; color: white;
border-radius: 0.6em; border-radius: 0.6em;
+4 -10
View File
@@ -6,27 +6,21 @@
margin: 30px; margin: 30px;
button { button {
background-color: $secondary-neutral-light-color; background-color: var(--bg-off-white);
min-width: 37px; min-width: 37px;
&:hover { &:hover {
background-color: darken($secondary-neutral-light-color, 10%); background-color: var(--bg-lightgrey);
}
&:disabled {
color: #fff;
background-color: darken($secondary-neutral-light-color, 5%);
} }
&.active, &.active,
&.active:hover { &.active:hover {
background-color: $primary-neutral-color; background-color: var(--deepblue);
color: white; color: white;
border-radius: 50%; border-radius: 50%;
} }
&:first-of-type, .pagination-arrow {
&:last-of-type {
// previous and next buttons // previous and next buttons
&:disabled { &:disabled {
// Hide the arrows when they are disabled, without // Hide the arrows when they are disabled, without
+52 -94
View File
@@ -2,12 +2,21 @@
@import "forms"; @import "forms";
@import "devices"; @import "devices";
/*----- RESET -----*/
* {
margin: 0;
padding: 0;
}
/*--------------------------------GENERAL------------------------------*/ /*--------------------------------GENERAL------------------------------*/
body { body {
position: relative; position: relative;
width: 100%; width: 100%;
font-family: sans-serif; font-family: sans-serif;
background-color: var(--bg-white);
line-height: 1;
} }
[aria-busy] { [aria-busy] {
@@ -57,7 +66,7 @@ body {
.collapse-header { .collapse-header {
color: white; color: white;
background-color: $deepblue; background-color: var(--deepblue);
padding: 5px 10px; padding: 5px 10px;
display: flex; display: flex;
align-items: center; align-items: center;
@@ -141,7 +150,7 @@ body {
} }
#info_box { #info_box {
background: $primary-neutral-light-color; background: var(--bg-off-white);
&:before { &:before {
content: "\f05a"; content: "\f05a";
@@ -150,11 +159,11 @@ body {
} }
#alert_box { #alert_box {
background: $second-color; background: var(--bg-yellow);
&:before { &:before {
content: "\f06a"; content: "\f06a";
color: $white-color; color: var(--text-white);
} }
} }
} }
@@ -189,10 +198,10 @@ body {
border-radius: 5px; border-radius: 5px;
&.btn-blue { &.btn-blue {
background-color: $deepblue; background-color: var(--deepblue);
&:not(:disabled):hover { &:not(:disabled):hover {
background-color: darken($deepblue, 10%); background-color: var(--darkened-deepblue);
} }
&:disabled { &:disabled {
@@ -215,7 +224,7 @@ body {
&.btn-green { &.btn-green {
$bg-color: rgba(0, 210, 83, 0.4); $bg-color: rgba(0, 210, 83, 0.4);
background-color: $bg-color; background-color: $bg-color;
color: $black-color; color: var(--text-black);
&:not(:disabled):hover { &:not(:disabled):hover {
background-color: darken($bg-color, 15%); background-color: darken($bg-color, 15%);
@@ -272,8 +281,8 @@ body {
/*--------------------------------CONTENT------------------------------*/ /*--------------------------------CONTENT------------------------------*/
#content { #content {
padding: 1.5em 3%; padding: 1.5em 3%;
box-shadow: $shadow-color 0 5px 10px; box-shadow: var(--bg-darkened-off-white) 0 5px 10px;
background: $white-color; background: var(--bg-white);
overflow: auto; overflow: auto;
} }
@@ -343,7 +352,7 @@ body {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
float: right; float: right;
background: $primary-neutral-light-color; background: var(--bg-off-white);
padding: 5px; padding: 5px;
border-radius: 6px; border-radius: 6px;
text-align: center; text-align: center;
@@ -351,7 +360,7 @@ body {
a { a {
padding: 7px; padding: 7px;
display: inline-block; display: inline-block;
color: $black-color; color: var(--text-black);
font-weight: bold; font-weight: bold;
margin: 2px; margin: 2px;
flex: 1; flex: 1;
@@ -359,14 +368,14 @@ body {
white-space: nowrap; white-space: nowrap;
&.selected_tab { &.selected_tab {
background: $primary-color; background: var(--blue);
color: $white-color; color: var(--text-white);
border-radius: 6px; border-radius: 6px;
} }
&:hover { &:hover {
background: $primary-color; background: var(--blue);
color: $white-color; color: var(--text-white);
border-radius: 6px; border-radius: 6px;
} }
} }
@@ -398,28 +407,33 @@ body {
} }
} }
/* Fontawesome icons */ }
.fa-brands, .fa-link {
/* Fontawesome icons */
.fa-brands, .fa-link {
color: black; color: black;
} }
.fa-facebook { .fa-facebook {
color: $faceblue; color: $faceblue;
} }
.fa-discord { .fa-discord {
color: $discordblurple; color: $discordblurple;
} }
.fa-square-instagram::before, .fa-instagram::before { .fa-square-instagram::before, .fa-instagram::before {
background: $instagradient; background: $instagradient;
background-clip: text; background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
.fa-bluesky, .fa-square-bluesky { .fa-bluesky, .fa-square-bluesky {
color: #0f73ff; color: #0f73ff;
} }
.fa-github {
color: $githubblack;
} }
@media screen and (max-width: $small-devices) { @media screen and (max-width: $small-devices) {
@@ -481,16 +495,6 @@ dt {
margin-top: 25px; margin-top: 25px;
} }
.edit-bar {
display: block;
margin: 4px;
a {
display: inline-block;
margin: 4px;
}
}
.important { .important {
font-size: 1.2em; font-size: 1.2em;
font-weight: bold; font-weight: bold;
@@ -503,7 +507,6 @@ table {
border-collapse: collapse; border-collapse: collapse;
border-spacing: 0; border-spacing: 0;
border-radius: 5px; border-radius: 5px;
-moz-border-radius: 5px;
overflow: hidden; overflow: hidden;
box-shadow: rgba(60, 64, 67, 0.3) 0 1px 3px 0, box-shadow: rgba(60, 64, 67, 0.3) 0 1px 3px 0,
rgba(60, 64, 67, 0.15) 0 4px 8px 3px; rgba(60, 64, 67, 0.15) 0 4px 8px 3px;
@@ -515,25 +518,21 @@ table {
} }
} }
th {
padding: 4px;
}
td, td,
th { th {
vertical-align: middle; vertical-align: middle;
text-align: center; text-align: center;
padding: 5px 10px; padding: 5px 10px;
>input[type="checkbox"] { > input[type="checkbox"] {
padding: unset; padding: unset;
} }
>ul { > ul {
margin-top: 0; margin-top: 0;
} }
>input[type="checkbox"] { > input[type="checkbox"] {
padding: unset; padding: unset;
} }
} }
@@ -543,10 +542,6 @@ td {
border-collapse: collapse; border-collapse: collapse;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
>ul {
margin-top: 0;
}
} }
th, th,
@@ -556,23 +551,23 @@ thead td {
} }
thead { thead {
background-color: $deepblue; background-color: var(--deepblue);
color: white; color: white;
} }
tbody>tr { tbody > tr {
&:nth-child(even):not(.highlight) { &:nth-child(even):not(.highlight) {
background: $primary-neutral-light-color; background: var(--bg-off-white);
} }
&.clickable:hover { &.clickable:hover {
cursor: pointer; cursor: pointer;
background: $secondary-neutral-light-color; background: var(--bg-lightgrey);
width: 100%; width: 100%;
} }
&.highlight { &.highlight {
color: $primary-dark-color; color: var(--lightblue);
font-style: italic; font-style: italic;
} }
} }
@@ -598,7 +593,7 @@ em {
} }
.highlight { .highlight {
background: $second-color; background: var(--bg-yellow);
font-weight: bold; font-weight: bold;
} }
@@ -700,15 +695,15 @@ u,
height: 18em; height: 18em;
overflow: hidden; overflow: hidden;
border: 1px solid black; border: 1px solid black;
box-shadow: $shadow-color 1px 1px 1px; box-shadow: var(--bg-darkened-off-white) 1px 1px 1px;
&:hover { &:hover {
box-shadow: 1px 1px 5px $second-color; box-shadow: 1px 1px 5px var(--bg-yellow);
} }
} }
.matmat_user a { .matmat_user a {
color: $primary-neutral-dark-color; color: var(--deepblue);
height: 100%; height: 100%;
width: 100%; width: 100%;
margin: 0; margin: 0;
@@ -723,7 +718,6 @@ u,
display: block; display: block;
margin: 10px; margin: 10px;
padding: 10px; padding: 10px;
background: $white-color;
} }
textarea { textarea {
@@ -731,43 +725,7 @@ textarea {
margin-top: 10px; margin-top: 10px;
} }
.ui-dialog .ui-dialog-buttonpane {
bottom: 0;
position: absolute;
width: 97%;
}
#cash_summary_form label, #cash_summary_form label,
.inline { .inline {
display: inline; display: inline;
} }
.form_button {
width: 150px;
height: 120px;
padding: 2px;
display: inline-block;
font-size: 0.8em;
span {
width: 70px;
float: right;
}
img {
max-width: 50px;
max-height: 50px;
float: left;
}
strong {
font-weight: bold;
font-size: 1.2em;
}
button {
vertical-align: middle;
}
}
+1 -1
View File
@@ -71,7 +71,7 @@ main {
border-radius: 50%; border-radius: 50%;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
background-color: $primary-neutral-light-color; background-color: var(--bg-white);
> span { > span {
font-size: small; font-size: small;
+1 -1
View File
@@ -62,7 +62,7 @@
} }
&:enabled>.fa { &:enabled>.fa {
background-color: #354a5f; background-color: var(--deepblue);
color: white; color: white;
} }
-1
View File
@@ -23,7 +23,6 @@
<meta property="og:image" content="{{ request.build_absolute_uri(static("core/img/logo_no_text.png")) }}" /> <meta property="og:image" content="{{ request.build_absolute_uri(static("core/img/logo_no_text.png")) }}" />
{% endblock %} {% endblock %}
<link rel="shortcut icon" href="{{ static('core/img/favicon.ico') }}"> <link rel="shortcut icon" href="{{ static('core/img/favicon.ico') }}">
<link rel="stylesheet" href="{{ static('core/base.css') }}">
<link rel="stylesheet" href="{{ static('core/style.scss') }}"> <link rel="stylesheet" href="{{ static('core/style.scss') }}">
<link rel="stylesheet" href="{{ static('core/tooltips.scss') }}"> <link rel="stylesheet" href="{{ static('core/tooltips.scss') }}">
<link rel="stylesheet" href="{{ static('core/markdown.scss') }}"> <link rel="stylesheet" href="{{ static('core/markdown.scss') }}">
+10 -4
View File
@@ -102,6 +102,7 @@
@click.prevent="{{ page }}--" @click.prevent="{{ page }}--"
:disabled="{{ page }} <= 1" :disabled="{{ page }} <= 1"
@keyup.right.window="{{ page }} = Math.min({{ nb_pages }}, {{ page }} + 1)" @keyup.right.window="{{ page }} = Math.min({{ nb_pages }}, {{ page }} + 1)"
class="pagination-arrow"
> >
<i class="fa fa-caret-left"></i> <i class="fa fa-caret-left"></i>
</button> </button>
@@ -112,6 +113,7 @@
@click.prevent="{{ page }}++" @click.prevent="{{ page }}++"
:disabled="{{ page }} >= {{ nb_pages }}" :disabled="{{ page }} >= {{ nb_pages }}"
@keyup.left.window="{{ page }} = Math.max(1, {{ page }} - 1)" @keyup.left.window="{{ page }} = Math.max(1, {{ page }} - 1)"
class="pagination-arrow"
> >
<i class="fa fa-caret-right"></i> <i class="fa fa-caret-right"></i>
</button> </button>
@@ -163,12 +165,14 @@
href="?{{ querystring(request, page=current_page.previous_page_number()) }}" href="?{{ querystring(request, page=current_page.previous_page_number()) }}"
{%- endif -%} {%- endif -%}
> >
<button> <button class="pagination-arrow">
<i class="fa fa-caret-left"></i> <i class="fa fa-caret-left"></i>
</button> </button>
</a> </a>
{% else %} {% else %}
<button disabled="disabled"><i class="fa fa-caret-left"></i></button> <button disabled="disabled" class="pagination-arrow">
<i class="fa fa-caret-left"></i>
</button>
{% endif %} {% endif %}
{% for i in paginator.get_elided_page_range(current_page.number) %} {% for i in paginator.get_elided_page_range(current_page.number) %}
{% if i == current_page.number %} {% if i == current_page.number %}
@@ -201,12 +205,14 @@
{%- else -%} {%- else -%}
href="?{{querystring(request, page=current_page.next_page_number())}}" href="?{{querystring(request, page=current_page.next_page_number())}}"
{%- endif -%} {%- endif -%}
><button> ><button class="pagination-arrow">
<i class="fa fa-caret-right"></i> <i class="fa fa-caret-right"></i>
</button> </button>
</a> </a>
{% else %} {% else %}
<button disabled="disabled"><i class="fa fa-caret-right"></i></button> <button disabled="disabled" class="pagination-arrow">
<i class="fa fa-caret-right"></i>
</button>
{% endif %} {% endif %}
</nav> </nav>
{% endmacro %} {% endmacro %}
@@ -71,7 +71,7 @@
padding: 0.5em; padding: 0.5em;
margin: 0.2em; margin: 0.2em;
height: 100%; height: 100%;
background: $secondary-neutral-light-color; background: var(--bg-off-white);
img { img {
max-width: 70%; max-width: 70%;
+1 -1
View File
@@ -67,7 +67,7 @@
.fa-plus, .fa-plus,
.fa-minus { .fa-minus {
cursor: pointer; cursor: pointer;
background-color: #354a5f; background-color: var(--deepblue);
color: white; color: white;
border-radius: 50%; border-radius: 50%;
padding: 5px; padding: 5px;
+1 -1
View File
@@ -288,7 +288,7 @@ $min_col_width: 100px;
border: none; border: none;
color: black; color: black;
text-decoration: none; text-decoration: none;
background-color: $primary-neutral-light-color; background-color: var(--bg-white);
padding: 0.4em; padding: 0.4em;
margin: 0.1em; margin: 0.1em;
font-size: 1.18em; font-size: 1.18em;
+9 -8
View File
@@ -13,7 +13,8 @@
} }
.topic { .topic {
border: solid $primary-neutral-color 1px; border: solid var(--darkened-deepblue) 1px;
border-radius: 5px;
padding: 1px; padding: 1px;
margin: 1px; margin: 1px;
@@ -23,7 +24,7 @@
} }
a { a {
color: $black-color; color: var(--text-black);
} }
a:hover { a:hover {
@@ -56,7 +57,7 @@
} }
.forum { .forum {
background: $primary-neutral-light-color; background: var(--bg-white);
padding: 1px; padding: 1px;
margin: 1px; margin: 1px;
@@ -66,7 +67,7 @@
} }
a { a {
color: $black-color; color: var(--text-black);
} }
a:hover { a:hover {
text-decoration: underline; text-decoration: underline;
@@ -91,7 +92,7 @@
.category { .category {
margin-top: 5px; margin-top: 5px;
background: $secondary-color; background: var(--deepblue);
color: white; color: white;
border-radius: 10px 10px 0 0; border-radius: 10px 10px 0 0;
.title { .title {
@@ -105,12 +106,12 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 10px; gap: 10px;
background: $secondary-neutral-light-color; background: var(--bg-off-white);
border-radius: 5px; border-radius: 5px;
border: 1px darken($secondary-neutral-light-color, 10%) solid; border: 1px var(--bg-lightgrey) solid;
&:nth-child(odd) { &:nth-child(odd) {
background: $primary-neutral-light-color; background: var(--bg-white);
} }
.message-header { .message-header {
+24 -129
View File
@@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-25 12:04+0100\n" "POT-Creation-Date: 2026-10-19 19:45+0200\n"
"PO-Revision-Date: 2016-07-18\n" "PO-Revision-Date: 2016-07-18\n"
"Last-Translator: Maréchal <thomas.girod@utbm.fr\n" "Last-Translator: Maréchal <thomas.girod@utbm.fr\n"
"Language-Team: AE info <ae.info@utbm.fr>\n" "Language-Team: AE info <ae.info@utbm.fr>\n"
@@ -394,8 +394,7 @@ msgstr ""
"de la présidence." "de la présidence."
#: club/models.py core/models.py counter/models.py eboutic/models.py #: club/models.py core/models.py counter/models.py eboutic/models.py
#: election/models.py pedagogy/models.py sas/models.py timetable/models.py #: election/models.py pedagogy/models.py sas/models.py trombi/models.py
#: trombi/models.py
msgid "user" msgid "user"
msgstr "utilisateur" msgstr "utilisateur"
@@ -581,7 +580,6 @@ msgid "Role"
msgstr "Rôle" msgstr "Rôle"
#: club/templates/club/club_members.jinja #: club/templates/club/club_members.jinja
#: club/templates/club/club_news_list.jinja
#: club/templates/club/club_old_members.jinja #: club/templates/club/club_old_members.jinja
#: core/templates/core/group_list.jinja core/templates/core/user_clubs.jinja #: core/templates/core/group_list.jinja core/templates/core/user_clubs.jinja
msgid "Description" msgid "Description"
@@ -596,34 +594,6 @@ msgstr "Depuis"
msgid "There are no members in this club." msgid "There are no members in this club."
msgstr "Il n'y a pas de membres dans ce club." msgstr "Il n'y a pas de membres dans ce club."
#: club/templates/club/club_news_list.jinja
#: com/templates/com/news_admin_list.jinja com/templates/com/news_edit.jinja
#: com/templates/com/news_list.jinja core/templates/core/user_tools.jinja
msgid "Create news"
msgstr "Créer une nouvelle"
#: club/templates/club/club_news_list.jinja
#, python-format
msgid "Dates (%(nb_occurrences)s occurrences)"
msgstr "Dates (%(nb_occurrences)s occurrences)"
#: club/templates/club/club_news_list.jinja
msgid "Permalink"
msgstr "Permalien"
#: club/templates/club/club_news_list.jinja
#: com/templates/com/news_admin_list.jinja
msgid "Summary"
msgstr "Résumé"
#: club/templates/club/club_news_list.jinja
msgid "No summary"
msgstr "Pas de Résumé"
#: club/templates/club/club_news_list.jinja
msgid "No detailed description"
msgstr "Pas de description détaillée"
#: club/templates/club/club_old_members.jinja #: club/templates/club/club_old_members.jinja
msgid "Club old members" msgid "Club old members"
msgstr "Anciens membres du club" msgstr "Anciens membres du club"
@@ -1060,11 +1030,6 @@ msgstr "Anciens membres"
msgid "History" msgid "History"
msgstr "Historique" msgstr "Historique"
#: club/views.py com/templates/com/news_admin_list.jinja
#: core/templates/core/base/navbar.jinja
msgid "Events"
msgstr "Événements"
#: club/views.py core/templates/core/base/header.jinja core/views/user.py #: club/views.py core/templates/core/base/header.jinja core/views/user.py
#: sas/templates/sas/picture.jinja trombi/views.py #: sas/templates/sas/picture.jinja trombi/views.py
msgid "Tools" msgid "Tools"
@@ -1352,6 +1317,11 @@ msgstr "Administration des nouvelles"
msgid "News" msgid "News"
msgstr "Nouvelles" msgstr "Nouvelles"
#: com/templates/com/news_admin_list.jinja com/templates/com/news_edit.jinja
#: com/templates/com/news_list.jinja core/templates/core/user_tools.jinja
msgid "Create news"
msgstr "Créer une nouvelle"
#: com/templates/com/news_admin_list.jinja #: com/templates/com/news_admin_list.jinja
msgid "Weeklies" msgid "Weeklies"
msgstr "Événements hebdomadaires" msgstr "Événements hebdomadaires"
@@ -1366,6 +1336,10 @@ msgstr "Événements hebdomadaires affichées"
msgid "Title" msgid "Title"
msgstr "Titre" msgstr "Titre"
#: com/templates/com/news_admin_list.jinja
msgid "Summary"
msgstr "Résumé"
#: com/templates/com/news_admin_list.jinja com/templates/com/weekmail.jinja #: com/templates/com/news_admin_list.jinja com/templates/com/weekmail.jinja
#: forum/templates/forum/forum.jinja sas/models.py #: forum/templates/forum/forum.jinja sas/models.py
msgid "Author" msgid "Author"
@@ -1393,6 +1367,11 @@ msgstr "Dépublier"
msgid "Weeklies to moderate" msgid "Weeklies to moderate"
msgstr "Nouvelles hebdomadaires à modérer" msgstr "Nouvelles hebdomadaires à modérer"
#: com/templates/com/news_admin_list.jinja
#: core/templates/core/base/navbar.jinja
msgid "Events"
msgstr "Événements"
#: com/templates/com/news_admin_list.jinja #: com/templates/com/news_admin_list.jinja
msgid "Displayed events" msgid "Displayed events"
msgstr "Événements affichés" msgstr "Événements affichés"
@@ -1890,7 +1869,7 @@ msgstr "département"
msgid "dpt option" msgid "dpt option"
msgstr "Filière" msgstr "Filière"
#: core/models.py pedagogy/models.py timetable/models.py #: core/models.py pedagogy/models.py
msgid "semester" msgid "semester"
msgstr "semestre" msgstr "semestre"
@@ -2015,18 +1994,6 @@ msgstr ""
"Autorise les cotisants (ou les personnes whitelistées, si votre profil est " "Autorise les cotisants (ou les personnes whitelistées, si votre profil est "
"caché) à accéder aux statistiques de votre compte AE" "caché) à accéder aux statistiques de votre compte AE"
#: core/models.py
msgid "show your timetable to others"
msgstr "montrez votre emploi du temps aux autres"
#: core/models.py
msgid ""
"Allow subscribers to see your timetable and to compare it to theirs (if you "
"have filled it)"
msgstr ""
"Permet aux cotisants de voir votre emploi du temps et de le comparer au leur "
"(si vous l'avez enregistré)"
#: core/models.py #: core/models.py
msgid "get a notification for every click" msgid "get a notification for every click"
msgstr "avoir une notification pour chaque click" msgstr "avoir une notification pour chaque click"
@@ -5234,7 +5201,7 @@ msgstr "heures THE"
msgid "hours TE" msgid "hours TE"
msgstr "heures TE" msgstr "heures TE"
#: pedagogy/models.py timetable/models.py #: pedagogy/models.py
msgid "ue" msgid "ue"
msgstr "UE" msgstr "UE"
@@ -6032,46 +5999,6 @@ msgstr "Membre existant"
msgid "the groups that can create subscriptions" msgid "the groups that can create subscriptions"
msgstr "les groupes pouvant créer des cotisations" msgstr "les groupes pouvant créer des cotisations"
#: timetable/models.py
msgid "timetable"
msgstr "emploi du temps"
#: timetable/models.py
msgid "timetables"
msgstr "emplois du temps"
#: timetable/models.py
msgid "weekday"
msgstr "jour de la semaine"
#: timetable/models.py
msgid "start at"
msgstr "début"
#: timetable/models.py
msgid "end at"
msgstr "fin"
#: timetable/models.py
msgid "course type"
msgstr "type de cours"
#: timetable/models.py
msgid "room"
msgstr "salle"
#: timetable/models.py
msgid "week group"
msgstr "groupe de semaine"
#: timetable/models.py
msgid "timetable slot"
msgstr "créneau d'emploi du temps"
#: timetable/models.py
msgid "timetable slots"
msgstr "créneaux d'emploi du temps"
#: timetable/templates/timetable/generator.jinja #: timetable/templates/timetable/generator.jinja
msgid "Timetable generator" msgid "Timetable generator"
msgstr "Générateur d'emploi du temps" msgstr "Générateur d'emploi du temps"
@@ -6102,44 +6029,8 @@ msgid "Generate"
msgstr "Générer" msgstr "Générer"
#: timetable/templates/timetable/generator.jinja #: timetable/templates/timetable/generator.jinja
msgid "Save on your profile" msgid "Save to PNG"
msgstr "Enregistrer sur votre profil" msgstr "Sauver en PNG"
#: timetable/templates/timetable/generator.jinja
msgid "Make this timetable public"
msgstr "Rendre cet emploi du temps publique"
#: timetable/templates/timetable/generator.jinja
#, python-format
msgid ""
"You can change this at any time in <a href=\"%(url)s\">your preferences</a>"
msgstr ""
"Vous pouvez changer ceci n'importe quand dans <a href=\"%(url)s\">vos préférences</a>"
#: timetable/templates/timetable/generator.jinja
msgid "Save timetable"
msgstr "Enregistrer l'emploi du temps"
#: timetable/templates/timetable/generator.jinja
#: trombi/templates/trombi/detail.jinja
msgid "Export"
msgstr "Export"
#: timetable/templates/timetable/generator.jinja
msgid "Export to PNG"
msgstr "Exporter en PNG"
#: timetable/views.py
msgid "Timetables"
msgstr "Emplois du temps"
#: timetable/views.py
msgid "Generator"
msgstr "Générateur"
#: timetable/views.py
msgid "My timetables"
msgstr "Mes emplois du temps"
#: trombi/models.py #: trombi/models.py
msgid "subscription deadline" msgid "subscription deadline"
@@ -6254,6 +6145,10 @@ msgstr "Fin des inscriptions : "
msgid "Comment deadline: " msgid "Comment deadline: "
msgstr "Fin des commentaires : " msgstr "Fin des commentaires : "
#: trombi/templates/trombi/detail.jinja
msgid "Export"
msgstr "Exporter"
#: trombi/templates/trombi/detail.jinja #: trombi/templates/trombi/detail.jinja
msgid "Add user" msgid "Add user"
msgstr "Ajouter une personne" msgstr "Ajouter une personne"
+2 -6
View File
@@ -23,7 +23,6 @@ $pedagogy-white-text: #f0f0f0;
overflow-wrap: break-word; overflow-wrap: break-word;
.closed td.title { .closed td.title {
color: lighten($black-color, 10%);
font-style: italic; font-style: italic;
} }
@@ -69,9 +68,6 @@ $pedagogy-white-text: #f0f0f0;
min-width: 300px; min-width: 300px;
} }
.info-container { .info-container {
// Darken the background color just enough to make this part
// stand out a little, while not being too perceptible
background: darken($white-color, 1%);
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
border-radius: 5px; border-radius: 5px;
@@ -158,9 +154,9 @@ $pedagogy-white-text: #f0f0f0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 10px; gap: 10px;
background: $primary-neutral-light-color; background: var(--bg-off-white);
border-radius: 5px; border-radius: 5px;
border: 1px darken($secondary-neutral-light-color, 10%) solid; border: 1px var(--bg-lightgrey) solid;
&.reported { &.reported {
border: #fc8181 1px solid; border: #fc8181 1px solid;
+2 -2
View File
@@ -27,7 +27,7 @@ main {
font-size: 1.2em; font-size: 1.2em;
line-height: 1.2em; line-height: 1.2em;
color: black; color: black;
background-color: $primary-neutral-light-color; background-color: var(--bg-white);
border-radius: 5px; border-radius: 5px;
font-weight: bold; font-weight: bold;
@@ -36,7 +36,7 @@ main {
} }
&:disabled { &:disabled {
background-color: $primary-neutral-light-color; background-color: var(--bg-white);
color: #d4d4d4; color: #d4d4d4;
} }
} }
+1 -1
View File
@@ -239,7 +239,7 @@
>.tools { >.tools {
flex: 1; flex: 1;
.btn { .btn {
background-color: $primary-neutral-light-color; background-color: var(--bg-white);
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -6,7 +6,7 @@
display: block; display: block;
margin: 2em auto; margin: 2em auto;
.header { .header {
background-color: $white-color; background-color: var(--bg-white);
font-weight: bold; font-weight: bold;
box-shadow: none; box-shadow: none;
width: calc(100% - var(--hour-side-width) - 10px); width: calc(100% - var(--hour-side-width) - 10px);