Skip to content

Commit 9e504a7

Browse files
implemented suggestions
1 parent 6755553 commit 9e504a7

File tree

5 files changed

+28
-28
lines changed

5 files changed

+28
-28
lines changed

app/eventyay/base/services/room.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,9 @@ def key(r):
127127
return sys.maxsize, r.sorting_priority, r.name
128128

129129
all_rooms = list(
130-
event.rooms.filter(deleted=False).only("id", "name", "sorting_priority")
130+
event.rooms.filter(deleted=False)
131+
.only("id", "name", "sorting_priority")
132+
.order_by("sorting_priority", "name", "id")
131133
)
132134
all_rooms.sort(key=key)
133135
to_update = []

app/eventyay/webapp/src/App.vue

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
.fatal-error(v-if="currentFatalError") {{ currentFatalError.message || currentFatalError.code }}
4444
</template>
4545
<script>
46-
import { mapState } from 'vuex'
46+
import { mapState, mapGetters } from 'vuex'
4747
import AppBar from 'components/AppBar'
4848
import RoomsSidebar from 'components/RoomsSidebar'
4949
import MediaSource from 'components/MediaSource'
@@ -67,6 +67,7 @@ export default {
6767
...mapState(['fatalConnectionError', 'fatalError', 'connected', 'socketCloseCode', 'world', 'rooms', 'user', 'mediaSourcePlaceholderRect', 'userLocale', 'userTimezone', 'roomFatalErrors']),
6868
...mapState('notifications', ['askingPermission']),
6969
...mapState('chat', ['call']),
70+
...mapGetters(['visibleRooms']),
7071
currentFatalError() {
7172
if (this.room && this.roomFatalErrors?.[this.room.id]) {
7273
return this.roomFatalErrors[this.room.id]
@@ -77,10 +78,6 @@ export default {
7778
}
7879
return this.fatalError?.roomId ? (this.room && this.fatalError.roomId === this.room.id ? this.fatalError : null) : this.fatalError
7980
},
80-
visibleRooms() {
81-
if (!this.rooms) return []
82-
return this.rooms.filter(room => !room.hidden && !room.sidebar_hidden && room.setup_complete)
83-
},
8481
room() {
8582
const routeName = this.$route?.name
8683
if (!routeName) return
@@ -281,7 +278,7 @@ export default {
281278
if (this.room && !this.visibleRooms.includes(this.room)) {
282279
this.$router.push('/').catch(() => {})
283280
}
284-
if (!this.backgroundRoom && !this.rooms.includes(this.backgroundRoom)) {
281+
if (this.backgroundRoom && !this.rooms.includes(this.backgroundRoom)) {
285282
this.backgroundRoom = null
286283
}
287284
}

app/eventyay/webapp/src/components/RoomsSidebar.vue

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export default {
114114
...mapState('schedule', ['schedule']),
115115
...mapState('chat', ['joinedChannels', 'call']),
116116
...mapState('exhibition', ['staffedExhibitions']),
117-
...mapGetters(['hasPermission']),
117+
...mapGetters(['hasPermission', 'visibleRooms']),
118118
...mapGetters('chat', ['hasUnreadMessages', 'notificationCount']),
119119
...mapGetters('schedule', ['sessions', 'currentSessionPerRoom']),
120120
// showAdminConfigLink no longer needed; link is always visible and backend will enforce access
@@ -124,10 +124,6 @@ export default {
124124
transform: `translateX(${this.pointerMovementX}px)`
125125
}
126126
},
127-
visibleRooms() {
128-
if (!this.rooms) return []
129-
return this.rooms.filter(room => !room.hidden && !room.sidebar_hidden && room.setup_complete)
130-
},
131127
homeRoom() {
132128
return this.visibleRooms[0] || null
133129
},

app/eventyay/webapp/src/store/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ export default new Vuex.Store({
5555
lookup[room.id] = room
5656
return lookup
5757
}, {})
58+
},
59+
visibleRooms(state) {
60+
if (!state.rooms) return []
61+
return state.rooms.filter(room => !room.hidden && !room.sidebar_hidden && room.setup_complete)
5862
}
5963
},
6064
mutations: {

app/eventyay/webapp/src/views/admin/rooms/EditForm.vue

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -101,22 +101,8 @@ export default {
101101
immediate: true,
102102
handler(config) {
103103
if (!config) return
104-
if (config.hidden === undefined) config.hidden = false
105-
if (config.sidebar_hidden === undefined) {
106-
config.sidebar_hidden = !config.setup_complete
107-
}
108-
}
109-
},
110-
'config.hidden'(value) {
111-
if (value) {
112-
this.config.sidebar_hidden = true
113-
} else if (!this.config.setup_complete) {
114-
this.config.sidebar_hidden = true
115-
}
116-
},
117-
'config.setup_complete'(value) {
118-
if (!value) {
119-
this.config.sidebar_hidden = true
104+
this.applyVisibilityDefaults(config)
105+
this.syncSidebarHidden()
120106
}
121107
},
122108
inferredType(newType) {
@@ -140,6 +126,9 @@ export default {
140126
const videoTypes = ['stage', 'channel-bbb', 'channel-janus', 'channel-zoom', 'channel-roulette']
141127
return videoTypes.includes(this.inferredType?.id)
142128
},
129+
visibilityDependencies() {
130+
return [this.config?.hidden, this.config?.setup_complete]
131+
},
143132
sidebarHiddenDisabled() {
144133
return !this.config.setup_complete || this.config.hidden
145134
},
@@ -178,6 +167,18 @@ export default {
178167
return { config }
179168
},
180169
methods: {
170+
applyVisibilityDefaults(config) {
171+
if (config.hidden === undefined) config.hidden = false
172+
if (config.sidebar_hidden === undefined) {
173+
config.sidebar_hidden = !config.setup_complete
174+
}
175+
},
176+
syncSidebarHidden() {
177+
if (!this.config) return
178+
if (this.config.hidden || !this.config.setup_complete) {
179+
this.config.sidebar_hidden = true
180+
}
181+
},
181182
selectType(typeId) {
182183
const type = this.roomTypes.find(t => t.id === typeId)
183184
if (!type) return

0 commit comments

Comments
 (0)