From 45a0b198f0d17a2f99abc6dabd6885d03ff2aa23 Mon Sep 17 00:00:00 2001 From: Kobe Date: Sun, 25 May 2025 20:53:58 +0200 Subject: [PATCH] separation of css --- static/css/room_members.css | 85 +++++++++++++++++++++++++++++++ static/js/rooms.js | 26 ++++++++++ templates/rooms/room_members.html | 81 +---------------------------- 3 files changed, 113 insertions(+), 79 deletions(-) create mode 100644 static/css/room_members.css create mode 100644 static/js/rooms.js diff --git a/static/css/room_members.css b/static/css/room_members.css new file mode 100644 index 0000000..83add9d --- /dev/null +++ b/static/css/room_members.css @@ -0,0 +1,85 @@ +.badge.bg-primary.rounded-pill { + display: inline-flex; + align-items: center; + font-weight: 500; + letter-spacing: 0.02em; + box-shadow: 0 1px 2px rgba(0,0,0,0.04); + font-size: 1em; + height: 32px; + border-radius: 5px; + padding: 0 18px; +} + +.btn-sm.member-action { + min-width: 70px; + height: 32px; + font-size: 1em; + border-radius: 5px; + display: flex; + align-items: center; + justify-content: center; + padding: 0 16px; +} + +.form-check-inline { + margin-right: 8px; +} + +.member-row { + align-items: center; + gap: 8px; +} + +.badge.creator-badge { + display: inline-flex; + align-items: center; + font-weight: 500; + letter-spacing: 0.02em; + font-size: 1em; + height: 32px; + border-radius: 5px; + padding: 0 18px; + background-color: rgba(22,118,123,0.08); + color: #16767b; + border: 1px solid #16767b22; +} + +.btn-save-member { + background-color: #16767b; + color: #fff; + border: 1px solid #16767b; + min-width: 70px; + height: 32px; + font-size: 1em; + border-radius: 5px; + display: flex; + align-items: center; + justify-content: center; + padding: 0 16px; + transition: background 0.2s, border 0.2s; +} + +.btn-save-member:hover { + background-color: #1a8a90; + border-color: #1a8a90; +} + +.btn-remove-member { + background-color: rgba(239,68,68,0.1); + color: #b91c1c; + border: 1px solid #b91c1c22; + min-width: 70px; + height: 32px; + font-size: 1em; + border-radius: 5px; + display: flex; + align-items: center; + justify-content: center; + padding: 0 16px; + transition: background 0.2s, color 0.2s; +} + +.btn-remove-member:hover { + background-color: #b91c1c; + color: #fff; +} \ No newline at end of file diff --git a/static/js/rooms.js b/static/js/rooms.js new file mode 100644 index 0000000..f78b858 --- /dev/null +++ b/static/js/rooms.js @@ -0,0 +1,26 @@ +// Debounce function +function debounce(func, wait) { + let timeout; + return function(...args) { + clearTimeout(timeout); + timeout = setTimeout(() => func.apply(this, args), wait); + }; +} + +document.addEventListener('DOMContentLoaded', function() { + const searchInput = document.getElementById('roomSearchInput'); + const form = document.getElementById('roomFilterForm'); + if (searchInput && form) { + searchInput.addEventListener('input', debounce(function() { + form.submit(); + }, 300)); + } + // Clear button logic + const clearBtn = document.getElementById('clearRoomsFilter'); + if (clearBtn && searchInput) { + clearBtn.addEventListener('click', function() { + searchInput.value = ''; + form.submit(); + }); + } +}); \ No newline at end of file diff --git a/templates/rooms/room_members.html b/templates/rooms/room_members.html index 632de2e..b9b2cda 100644 --- a/templates/rooms/room_members.html +++ b/templates/rooms/room_members.html @@ -6,85 +6,7 @@ {% block extra_css %} - + {% endblock %} {% block content %} @@ -216,6 +138,7 @@ $(document).ready(function() { placeholder: 'Search for a user...', allowClear: true }); + // Auto-submit permission form on checkbox change document.querySelectorAll('.auto-save-perms-form input[type="checkbox"]').forEach(function(checkbox) { checkbox.addEventListener('change', function() {