diff --git a/src/App.vue b/src/App.vue index 769fed2..14f391d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -7,49 +7,55 @@ import MobileLayout from './components/MobileLayout.vue' import DesktopLayout from './components/DesktopLayout.vue' import WelcomeReveal from './components/WelcomeReveal.vue' -const router=useRouter() +const router = useRouter() -function resizeBrowserHandler (e) { - is_small.value = (e.target.innerWidth < 768) -} - -const is_small = ref(window.innerWidth < 768) const state = ref({ -'search': {'searchTerm': '', 'searchResults': []}, -'queue': [ ], -'room': useRoute().params.room, -'name': undefined, -'joined': false + 'search': {'searchTerm': '', 'searchResults': []}, + 'queue': [ ], + 'room': useRoute().params.room, + 'name': undefined, + 'joined': false, + 'server': window.location.protocol + "//" + window.location.host + "/", + 'socket': undefined, + 'is_small': window.innerWidth < 768 }) -onMounted(() => { - window.addEventListener("resize", resizeBrowserHandler) -}) +onMounted(() => { window.addEventListener("resize", (e) => { state.value.is_small = (e.target.innerWidth < 768) }) } ) -function setRoomCode(room) { -state.value.room = room -} - -function setName(name) { -state.value.name = name -} - -function updateSearchTerm(val) { -state.value.search.searchTerm = val -} - -const socket = io() +function setRoomCode(room) { state.value.room = room } +function setName(name) { state.value.name = name } +function setServer(server) { state.value.server = server } +function setSearchTerm(searchTerm) { state.value.search.searchTerm = searchTerm } function search() { - socket.emit("search", {"query": state.value.search.searchTerm }) + state.socket.emit("search", {"query": state.value.search.searchTerm }) } function append(entry) { - socket.emit("append", {"id": entry.id, "performer": state.value.name, "source": entry.source }) + state.socket.emit("append", {"id": entry.id, "performer": state.value.name, "source": entry.source }) +} + +function connect() { + state.socket = io(state.value.server) + console.log(state.socket) + registerSocketEvents(state.socket) +} + +function registerSocketEvents(socket) { + socket.on("search-results", (results) => { + state.value.search.searchResults = results + }) + + socket.on("connect", () => { joinRoom() }) + + socket.on("state", (val) => { + state.value.queue=val.queue + state.value.recent=val.recent + }) } function joinRoom() { - socket.emit("register-web", {"room": state.value.room}, (response) => { + state.socket.emit("register-web", {"room": state.value.room}, (response) => { if(response === true) { state.value.joined = true router.push({name: "room", params: {room: state.value.room}}) @@ -58,21 +64,6 @@ function joinRoom() { } }) } - -socket.on("search-results", (results) => { - state.value.search.searchResults = results -}) - -socket.on("connect", () => - { - joinRoom() - } - ) - -socket.on("state", (val) => { - state.value.queue=val.queue - state.value.recent=val.recent -}) @@ -18,7 +18,7 @@ const emit = defineEmits(['update:searchTerm', 'search'])
- +
diff --git a/src/components/SearchBar.vue b/src/components/SearchBar.vue index e84c911..1112bff 100644 --- a/src/components/SearchBar.vue +++ b/src/components/SearchBar.vue @@ -5,7 +5,15 @@ const emit = defineEmits(['update:searchTerm', 'search'])