diff --git a/README.md b/README.md index c8d5080eda03670f8101d1b002035a926e11bd8c..0ee27ef92d7775b09dbf5d8ed472a5b2b9e5aa2d 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,5 @@ Il est nécessaire d'avoir python > 3.10, ainsi que les paquets suivants : - Django - Pillow - django-compressor -- django-libsass \ No newline at end of file +- django-libsass +- markdown \ No newline at end of file diff --git a/WSR/static/scss/components.scss b/WSR/static/scss/components.scss index 6ac10671c6ca3ee0f519de5779b74a6e8d0a3f50..c516308763515bf1eed81692c649ee8711580325 100644 --- a/WSR/static/scss/components.scss +++ b/WSR/static/scss/components.scss @@ -266,4 +266,40 @@ footer { } } } +} + +.race-types-container { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: map-get($spacers, 3); + + .card { + width: auto; + + .header { + margin-bottom: map-get($spacers, 2); + width: 100%; + + img { + width: inherit; + } + } + + .content { + .title { + display: flex; + align-items: center; + gap: map-get($spacers, 1); + color: $black; + font-size: 1.4rem; + + img { + filter: brightness(0); + } + } + .desc { + color: $dark-gray; + } + } + } } \ No newline at end of file diff --git a/WSR/templates/home.html b/WSR/templates/home.html index 4c0105b8a0a582efebce2385340333d191ae0b93..dfc90b05f96a4c047bb0c3aacf62a3fc1e3e6dcc 100644 --- a/WSR/templates/home.html +++ b/WSR/templates/home.html @@ -43,10 +43,10 @@ <div class="event-desc"> {% if race.participation_type == 'invitation' %} - <div class="eurostile w-75">{{ race.type_string }}<br>{{ race.name }}</div> + <div class="eurostile w-75">{{ race.type }}<br>{{ race.name }}</div> <div class="event-meta-info">{{ race.location }}, {{ race.circuit }}</div> {% else %} - <div class="eurostile w-75">{{ race.type_string }}<br>{{ race.location }}</div> + <div class="eurostile w-75">{{ race.type }}<br>{{ race.location }}</div> <div class="event-meta-info">{{ race.circuit }}</div> {% endif %} </div> diff --git a/WSR/templates/race-types.html b/WSR/templates/race-types.html new file mode 100644 index 0000000000000000000000000000000000000000..7fac1eea22db81e7b04459d0b6a9b787d3db8c92 --- /dev/null +++ b/WSR/templates/race-types.html @@ -0,0 +1,34 @@ +{% extends 'base.html' %} +{% load static %} + +{% block title %}WSR - Épreuves{% endblock %} + +{% block content %} + <div class="container mt-4"> + <div class="p-4 bg-white"> + <h4 class="eurostile title">Épreuves</h4> + <p>Les WSR n'ont pas froids aux yeux, ils sont toujours prêt à affronter n'importe quel épreuve.</p> + + <div class="race-types-container"> + {% for epreuve in epreuves %} + <div class="card"> + <div class="header"> + <img src="{% get_media_prefix %}{{ epreuve.image }}" alt="{{ epreuve.name }}"> + </div> + <div class="content"> + <div class="title eurostile"> + <img src="{% get_media_prefix %}{{ epreuve.icon }}" + alt="Logo {{ epreuve.name }}" width="32"> {{ epreuve.name }} + </div> + <div class="desc"> + {% autoescape off %} + {{ epreuve.description }} + {% endautoescape %} + </div> + </div> + </div> + {% endfor %} + </div> + </div> + </div> +{% endblock %} \ No newline at end of file diff --git a/WSR/templates/vehicles.html b/WSR/templates/vehicles.html index 786f29f88cc2ee558a7346f0c1a4f864ecf41f07..948ab163f5c2d340691e6c5cc79d8998d4a6c1d3 100644 --- a/WSR/templates/vehicles.html +++ b/WSR/templates/vehicles.html @@ -30,7 +30,7 @@ </div> <div class="content"> <div class="title eurostile">{{ vehicle.brand }}</div> - <div class="desc text-uppercase">{{ vehicle.model }}</div> + <div class="desc">{{ vehicle.model }}</div> </div> </div> {% endfor %} diff --git a/WSR/views.py b/WSR/views.py index f43a720c41d3f2ee9c0b04aa652c81a2e55d1700..d86d7e38419c1cd766532250030de573fc2639f8 100644 --- a/WSR/views.py +++ b/WSR/views.py @@ -1,3 +1,4 @@ +import markdown from django.shortcuts import render from WSR.models import * @@ -27,32 +28,7 @@ def home(request): for race in three_last_races[1:3]: pos_string = "1er" if race.finishing_position == 1 else str(race.finishing_position) + "ème" - type_string = "" - - match race.type: - case 'championship': - type_string = "Championnat" - case 'single_race': - type_string = "Course simple" - case 'face_to_face': - type_string = "Face à face" - case 'overtaking': - type_string = "Dépassements" - case 'against_time': - type_string = "Contre-la-montre" - case 'elimination': - type_string = "Elimination" - case 'endurance': - type_string = "Endurance" - case 'touge': - type_string = "Touge" - case 'checkpoint': - type_string = "Checkpoints" - case 'drift': - type_string = "Drift" - race.pos_string = pos_string - race.type_string = type_string second_frame_races.append(race) six_last_articles = Article.objects.order_by('-publication_date')[:6] @@ -94,7 +70,20 @@ def view_article(request, id): def races_types(request): - return None + epreuves = RaceType.objects.all() + md = markdown.Markdown() + + for epreuve in epreuves: + epreuve.description = md.convert(epreuve.description) + + return render( + request, + 'race-types.html', + { + 'epreuves': epreuves + } + ) + def vehicles(request): vehicles = Vehicle.objects.all() @@ -106,5 +95,6 @@ def vehicles(request): } ) + def seasons(request): - return None \ No newline at end of file + return None