diff --git a/src/App.vue b/src/App.vue index ad27b8c..98239fd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,6 +2,7 @@ import { computed, ref, onMounted, onDeactivated } from 'vue' import { io } from "socket.io-client" import { useRoute, useRouter } from 'vue-router' +import $ from 'jquery' import MobileLayout from './components/MobileLayout.vue' import DesktopLayout from './components/DesktopLayout.vue' @@ -17,21 +18,20 @@ const state = ref({ 'joined': false, 'server': window.location.protocol + "//" + window.location.host + "/", 'socket': undefined, - 'is_small': window.innerWidth < 768 + 'is_small': window.innerWidth < 768, + 'admin': false, + 'secret': undefined }) -onMounted(() => { window.addEventListener("resize", (e) => { state.value.is_small = (e.target.innerWidth < 768) }) } ) +onMounted(() => { + window.addEventListener("resize", (e) => { state.value.is_small = (e.target.innerWidth < 768) }); + $(document).foundation(); +}) function setRoomCode(room) { state.value.room = room } +function setSecret(secret) { state.value.secret = secret } function setName(name) { state.value.name = name } -function updateName(evt) { - if(evt.target.textContent !== "") { - console.log("Changed name to \"" + evt.target.textContent + "\""); - state.value.name = evt.target.textContent - } else { - evt.target.textContent = state.value.name; - } -} +function updateName(evt) { evt.target.textContent = state.value.name;} function setServer(server) { state.value.server = server } function setSearchTerm(searchTerm) { state.value.search.searchTerm = searchTerm } @@ -39,18 +39,18 @@ function search() { state.socket.emit("search", {"query": state.value.search.searchTerm }) } -function append(entry) { - state.socket.emit("append", {"id": entry.id, "performer": state.value.name, "source": entry.source }) +function append(entry) {_append(entry, state.value.name) } +function _append(entry, name) { + if(name == "" || name == undefined) { + $("#getusername").foundation("open") + } else { + state.socket.emit("append", {"id": entry.id, "performer": state.value.name, "source": entry.source }) + } } function connect() { - if(state.value.name !== undefined && state.value.name !== "") { - state.socket = io(state.value.server) - console.log(state.socket) - registerSocketEvents(state.socket) - } else { - console.log("name cannot be " + state.value.name) - } + state.socket = io(state.value.server) + registerSocketEvents(state.socket) } function registerSocketEvents(socket) { @@ -64,6 +64,10 @@ function registerSocketEvents(socket) { state.value.queue=val.queue state.value.recent=val.recent }) + + socket.on("register-admin", (response) => { + state.value.admin = response.success + }) } function joinRoom() { @@ -71,6 +75,9 @@ function joinRoom() { if(response === true) { state.value.joined = true router.push({name: "room", params: {room: state.value.room}}) + if (state.value.secret) { + state.socket.emit("register-admin", {"secret": state.value.secret}) + } } else { console.log("no such room") } @@ -86,10 +93,13 @@ function joinRoom() {
- + +
+ Test123 +
@@ -113,6 +123,10 @@ footer > .userName { border: none; border-bottom: 1px dashed #00F000; background-color: #008000; + min-width: 5em; + display: inline-block; + height: 70%; + text-align: center; } diff --git a/src/components/DesktopLayout.vue b/src/components/DesktopLayout.vue index 8a2f52e..0bc382c 100644 --- a/src/components/DesktopLayout.vue +++ b/src/components/DesktopLayout.vue @@ -11,7 +11,7 @@ const emit = defineEmits(['update:searchTerm', 'search', 'append']) diff --git a/src/components/MobileLayout.vue b/src/components/MobileLayout.vue index 5a334fe..4f11f85 100644 --- a/src/components/MobileLayout.vue +++ b/src/components/MobileLayout.vue @@ -19,8 +19,8 @@ const emit = defineEmits(['update:searchTerm', 'search', 'append' ])
- - + +
diff --git a/src/components/QueueDesktop.vue b/src/components/QueueDesktop.vue index c7fc4fc..6742091 100644 --- a/src/components/QueueDesktop.vue +++ b/src/components/QueueDesktop.vue @@ -1,12 +1,12 @@ diff --git a/src/components/QueueInner.vue b/src/components/QueueInner.vue index 0a0b200..9b3d7c3 100644 --- a/src/components/QueueInner.vue +++ b/src/components/QueueInner.vue @@ -1,11 +1,7 @@ -