This commit is contained in:
Jonas Heinrich 2025-04-24 20:43:43 +02:00
parent 217c36030a
commit b3bbfc5d30
3 changed files with 158 additions and 76 deletions

View file

@ -25,9 +25,7 @@
<meta property="og:description" content="VerwaltungsTracker zeigt transparent, wie weit kommunale Projekte in Karlsruhe vorangeschritten sind von der Planung bis zur Umsetzung. So behalten Sie den Überblick über die Entwicklung Ihrer Stadt." />
<meta property="og:site_name" content="VerwaltungsTracker" />
<link rel="canonical" href="https://getbootstrap.com/docs/5.3/examples/starter-template/">
<link rel="canonical" href="{{ request.build_absolute_uri }}">
<link rel="stylesheet" href="{% static 'froide_govplan/css/docsearch.css' %}">
<!-- Favicons -->

View file

@ -68,23 +68,9 @@
</ul>
</div>
<svg xmlns="http://www.w3.org/2000/svg" class="d-none">
<symbol id="arrow-right-circle" viewBox="0 0 16 16">
<path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z" />
</symbol>
<symbol id="bootstrap" viewBox="0 0 118 94">
<title>Bootstrap</title>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z"></path>
</symbol>
</svg>
<div class="col-lg-10 mx-auto p-4 py-md-5">
<header class="d-flex align-items-center pb-3 mb-5 border-bottom">
<a href="/" class="d-flex align-items-center text-body-emphasis text-decoration-none text-reset">
<!-- <svg class="bi me-2" width="40" height="32">
<use xlink:href="#bootstrap" />
</svg> -->
<img src="{% static 'froide_govplan/images/apple-touch-icon.png' %}" class="bi me-2" height="32">
<span class="fs-4">VerwaltungsTracker</span>
</a>

View file

@ -1,11 +1,21 @@
{% load markup %}
{% for update in updates %}
{% if wrapper_classes %}<div class="{{ wrapper_classes }}">{% endif %}
<div class="box-card border-blue shadow-blue bg-body" id="update-{{ update.pk }}">
<div class="py-3">
<h1 class="text-body-emphasis">Aktuelles</h1>
<p class="fs-5 col-md-8">
Hier finden Sie aktuelle Artikel und Links zu Blogs zu den Fortschritten der Stadtverwaltung Karlsruhe.
</p>
</div>
<div id="cardCarousel" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<div class="row">
{% for update in updates|slice:":3" %}
<div class="col">
<div class="card mb-4 rounded-3 shadow-sm">
<a href="{{ update.get_absolute_url }}" class="text-body text-decoration-none">
<div class="box-card-header text-bg-callout d-flex justify-content-center p-3 p-md-4 tight-margin flex-column">
<div>
<div class="card-header p-3 tight-margin text-start">
{% if show_context %}
<span class="badge text-bg-blue-100 rounded-pill float-md-right mb-2 mb-md-0">
{{ update.plan.get_section }}
@ -17,7 +27,7 @@
{% else %}
<h3 class="h4 mt-0">{{ update.title }}</h3>
{% endif %}
</div>
<div class="small">
<time datetime="{{ update.timestamp|date:'c' }}">{{ update.timestamp|date:"DATE_FORMAT" }}</time>
@ -28,8 +38,82 @@
</span>
{% endif %}
</div>
</div>
</a>
<div class="card-body tight-margin text-start">
{% if update.content or show_context %}
<div class="tight-margin">
{% if show_context %}
<h4 class="h5">{{ update.title }}</h4>
{% endif %}
{% with update.content|markdown as content %}
{% if show_context %}
{{ content|truncatewords_html:50 }}
{% else %}
{{ content }}
{% endif %}
{% endwith %}
</div>
{% endif %}
{% if update.url or update.foirequest or show_context %}
<div class="{% if update.content %}box-card-links{% else %}d-flex mt-auto{% endif %}">
{% if show_context %}
<a href="{{ update.get_absolute_url }}" class="action-link">→ zum Vorhaben</a>
{% else %}
{% if update.url %}
<a href="{{ update.url }}" class="action-link me-3" target="_blank" rel="noopener">→ mehr auf {{ update.get_url_domain }} lesen…</a>
{% endif %}
{% if update.foirequest %}
<a href="{{ update.foirequest.get_absolute_url }}" class="action-link">→ zur Anfrage</a>
{% endif %}
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="carousel-item">
<div class="row">
{% for update in updates|slice:"3:6" %}
<div class="col">
<div class="card mb-4 rounded-3 shadow-sm">
<a href="{{ update.get_absolute_url }}" class="text-body text-decoration-none">
<div class="card-header p-3 tight-margin text-start">
{% if show_context %}
<span class="badge text-bg-blue-100 rounded-pill float-md-right mb-2 mb-md-0">
{{ update.plan.get_section }}
</span>
{% endif %}
{% if show_context %}
<h3 class="h5 mt-0">{{ update.plan }}</h3>
{% else %}
<h3 class="h4 mt-0">{{ update.title }}</h3>
{% endif %}
<div class="small">
<time datetime="{{ update.timestamp|date:'c' }}">{{ update.timestamp|date:"DATE_FORMAT" }}</time>
{% if update.user or update.organization %}
<span>
von {{ update.user.get_full_name }}{% if update.user and update.organization %},{% endif %}
{{ update.organization.name }}
</span>
{% endif %}
</div>
</div>
</a>
<div class="card-body tight-margin text-start">
{% if update.content or show_context %}
<div class="p-3 p-md-4 tight-margin">
@ -62,6 +146,20 @@
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#cardCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Zurück</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#cardCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Weiter</span>
</button>
</div>
{% if wrapper_classes %}</div>{% endif %}
{% endfor %}