diff --git a/res/botbg2.png b/res/botbg2.png deleted file mode 100644 index 632657c..0000000 Binary files a/res/botbg2.png and /dev/null differ diff --git a/res/error_openbox.png b/res/error_openbox.png deleted file mode 100644 index b54a081..0000000 Binary files a/res/error_openbox.png and /dev/null differ diff --git a/res/icons/book-plus.svg b/res/icons/book-plus.svg new file mode 100644 index 0000000..7d014d2 --- /dev/null +++ b/res/icons/book-plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/res/icons/loading.svg b/res/icons/loading.svg new file mode 100644 index 0000000..8dfd98b --- /dev/null +++ b/res/icons/loading.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/res/scripts/roomManager.js b/res/scripts/roomManager.js index 29537bf..67ed197 100644 --- a/res/scripts/roomManager.js +++ b/res/scripts/roomManager.js @@ -1,11 +1,11 @@ function confirmAction (intent, sender) { if (['rename', 'unconfirm', 'delete'].includes (intent) == false) return let href = sender.getAttribute('action') - let intentTitle = document.querySelector("#intentText") - let intentEdit = document.querySelector("#intentRename") - let intentEditPanel = document.querySelector("#intentEditPanel") + let intentTitle = document.querySelector("#modalOrderEditDialog #intentText") + let intentEdit = document.querySelector("#modalOrderEditDialog #intentRename") + let intentEditPanel = document.querySelector("#modalOrderEditDialog #intentEditPanel") let intentFormAction = document.querySelector("#intentFormAction") - let intentSend = document.querySelector("#intentSend") + let intentSend = document.querySelector("#modalOrderEditDialog #intentSend") // Resetting ui intentEdit.removeAttribute('required') intentEdit.removeAttribute('minlength') @@ -27,5 +27,29 @@ function confirmAction (intent, sender) { case 'delete': break } - document.getElementById('modalRoomconfirm').setAttribute('open', 'true'); + document.getElementById('modalOrderEditDialog').setAttribute('open', 'true'); +} + +function setLoading (){ + document.getElementById('loadingIndicator').style.visibility = 'unset'; +} + +function setLoaded (){ + document.getElementById('loadingIndicator').style.visibility = 'hidden'; +} + +async function roomGuestEditAction (intent, sender) { + if (['new', 'fromOrder'].includes (intent) == false) return + setLoaded (); + document.getElementById('roomGuestEditorDialog').setAttribute('open', 'true'); +} + +async function retrieveUsers (type) { + setLoading(); + + setLoaded(); +} + +function adaptRoomFormat (){ + } \ No newline at end of file diff --git a/res/styles/admin.css b/res/styles/admin.css index d1b0f9b..5385e04 100644 --- a/res/styles/admin.css +++ b/res/styles/admin.css @@ -3,6 +3,18 @@ div.room-actions { float: right; } +div.admin-actions-header { + container-name: room-actions; + float: unset !important; + max-height: 2rem; + margin: 1rem 0px; +} + +div.admin-actions-header img { + max-height: 1.5rem; +} + + div.room-actions > a { background-color: var(--card-background-color); font-size: 12pt; @@ -16,4 +28,26 @@ div.room-actions > a:hover { div.room-actions > a.act-del:hover { background-color: var(--del-color); +} + +/* Spinning animation */ +@keyframes spin { + from { + transform:rotate(0deg); + } + to { + transform:rotate(360deg); + } +} + +h3:has(.spin) { + overflow: hidden; +} + +.spin { + animation-name: spin; + animation-duration: 500ms; + animation-iteration-count: infinite; + animation-timing-function: linear; + max-height: 32px; } \ No newline at end of file diff --git a/res/styles/navbar.css b/res/styles/navbar.css index 4d34f22..43c99cd 100644 --- a/res/styles/navbar.css +++ b/res/styles/navbar.css @@ -14,7 +14,8 @@ nav#topbar { top: 0rem; transition: top 300ms; line-height: 2em; - max-width:98vw; + max-width:100%; + overflow-x: hidden; } nav#topbar a { diff --git a/tpl/nosecount.html b/tpl/nosecount.html index 20d59dd..7104f02 100644 --- a/tpl/nosecount.html +++ b/tpl/nosecount.html @@ -19,7 +19,16 @@ + + {% if order and order.isAdmin() %} +
+ New room +
+ + {% else %}

Welcome to the nosecount page! Here you can see all of the available rooms at the convention, as well as the occupants currently staying in each room. Use this page to find your friends and plan your meet-ups.

+ {% endif %} + {% if filtered and order %} {% for person in filtered.values() %} {% if loop.first %} @@ -47,6 +56,7 @@ {{o.room_name}} {% if order and order.isAdmin() %}
+ Add members Rename Unconfirm Delete @@ -135,7 +145,7 @@ {% endfor %}
- +

Confirm room edit

@@ -151,5 +161,17 @@
+
+ +
+ +

Room editor

+
+ +
+ +
+
+ {% endblock %}