room restructure part 1

This commit is contained in:
2025-05-25 12:23:53 +02:00
parent e853bb6a86
commit 259e4dca20
11 changed files with 387 additions and 361 deletions

View File

@@ -0,0 +1,60 @@
{% macro room_card(room, current_user) %}
<div class="col">
<div class="card h-100 shadow-sm hover-shadow">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-3">
<div>
<h5 class="card-title mb-0">{{ room.name }}</h5>
<div class="text-muted small mt-1">Created on {{ room.created_at.strftime('%b %d, %Y') }}</div>
</div>
<span class="badge bg-light text-dark">
<i class="fas fa-users"></i> {{ room.member_permissions|length }}
</span>
</div>
<p class="card-text text-muted">{{ room.description or 'No description' }}</p>
<div class="d-flex align-items-center mt-3">
<img src="{{ url_for('profile_pic', filename=room.creator.profile_picture) if room.creator.profile_picture else url_for('static', filename='default-avatar.png') }}"
alt="Creator"
class="rounded-circle me-2"
style="width: 32px; height: 32px; object-fit: cover;">
<div>
<small class="text-muted">Created by</small>
<div class="fw-medium">{{ room.creator.username }} {{ room.creator.last_name }}</div>
</div>
</div>
</div>
<div class="card-footer bg-transparent border-top-0">
<div class="d-flex gap-2">
<a href="{{ url_for('rooms.room', room_id=room.id) }}" class="btn btn-primary flex-grow-1">
<i class="fas fa-door-open me-2"></i>Open Room
</a>
{% if current_user.is_admin %}
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="roomActions{{ room.id }}" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-ellipsis-v"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="roomActions{{ room.id }}">
<li>
<a class="dropdown-item" href="{{ url_for('rooms.edit_room', room_id=room.id) }}">
<i class="fas fa-edit me-2"></i>Edit Room
</a>
</li>
<li>
<a class="dropdown-item" href="{{ url_for('rooms.room_members', room_id=room.id) }}">
<i class="fas fa-users me-2"></i>Manage Members
</a>
</li>
<li><hr class="dropdown-divider"></li>
<li>
<button type="button" class="dropdown-item text-danger" data-bs-toggle="modal" data-bs-target="#deleteRoomModal{{ room.id }}">
<i class="fas fa-trash me-2"></i>Delete Room
</button>
</li>
</ul>
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% endmacro %}