diff --git a/packages/hoppscotch-app/components/app/Header.vue b/packages/hoppscotch-app/components/app/Header.vue
index 7afd19b96..f3572dd7a 100644
--- a/packages/hoppscotch-app/components/app/Header.vue
+++ b/packages/hoppscotch-app/components/app/Header.vue
@@ -5,7 +5,7 @@
>
diff --git a/packages/hoppscotch-app/components/app/Sidenav.vue b/packages/hoppscotch-app/components/app/Sidenav.vue
index 48c4bb92e..b2741365d 100644
--- a/packages/hoppscotch-app/components/app/Sidenav.vue
+++ b/packages/hoppscotch-app/components/app/Sidenav.vue
@@ -14,7 +14,7 @@
{{ navigation.title }}
@@ -24,13 +24,15 @@
diff --git a/packages/hoppscotch-app/components/realtime/Mqtt.vue b/packages/hoppscotch-app/components/realtime/Mqtt.vue
index 205cf0d35..8528f2e2a 100644
--- a/packages/hoppscotch-app/components/realtime/Mqtt.vue
+++ b/packages/hoppscotch-app/components/realtime/Mqtt.vue
@@ -1,11 +1,11 @@
@@ -148,9 +148,9 @@ import { Splitpanes, Pane } from "splitpanes"
import "splitpanes/dist/splitpanes.css"
import Paho from "paho-mqtt"
import debounce from "lodash/debounce"
+import { breakpointsTailwind, useBreakpoints } from "@vueuse/core"
import { logHoppRequestRunToAnalytics } from "~/helpers/fb/analytics"
import { useSetting } from "~/newstore/settings"
-import useWindowSize from "~/helpers/utils/useWindowSize"
import {
MQTTEndpoint$,
setMQTTEndpoint,
@@ -171,8 +171,11 @@ import { useStream } from "~/helpers/utils/composables"
export default defineComponent({
components: { Splitpanes, Pane },
setup() {
+ const breakpoints = useBreakpoints(breakpointsTailwind)
+ const mdAndLarger = breakpoints.greater("md")
+
return {
- windowInnerWidth: useWindowSize(),
+ mdAndLarger,
SIDEBAR: useSetting("SIDEBAR"),
COLUMN_LAYOUT: useSetting("COLUMN_LAYOUT"),
SIDEBAR_ON_LEFT: useSetting("SIDEBAR_ON_LEFT"),
diff --git a/packages/hoppscotch-app/components/realtime/Socketio.vue b/packages/hoppscotch-app/components/realtime/Socketio.vue
index ca0884b35..471d47129 100644
--- a/packages/hoppscotch-app/components/realtime/Socketio.vue
+++ b/packages/hoppscotch-app/components/realtime/Socketio.vue
@@ -1,11 +1,11 @@
@@ -306,9 +306,9 @@ import { io as ClientV4 } from "socket.io-client-v4"
import wildcard from "socketio-wildcard"
import debounce from "lodash/debounce"
+import { breakpointsTailwind, useBreakpoints } from "@vueuse/core"
import { logHoppRequestRunToAnalytics } from "~/helpers/fb/analytics"
import { useSetting } from "~/newstore/settings"
-import useWindowSize from "~/helpers/utils/useWindowSize"
import {
SIOEndpoint$,
setSIOEndpoint,
@@ -337,8 +337,11 @@ const socketIoClients = {
export default defineComponent({
components: { Splitpanes, Pane },
setup() {
+ const breakpoints = useBreakpoints(breakpointsTailwind)
+ const mdAndLarger = breakpoints.greater("md")
+
return {
- windowInnerWidth: useWindowSize(),
+ mdAndLarger,
SIDEBAR: useSetting("SIDEBAR"),
COLUMN_LAYOUT: useSetting("COLUMN_LAYOUT"),
SIDEBAR_ON_LEFT: useSetting("SIDEBAR_ON_LEFT"),
diff --git a/packages/hoppscotch-app/components/realtime/Websocket.vue b/packages/hoppscotch-app/components/realtime/Websocket.vue
index bacd72c4a..7d8884e23 100644
--- a/packages/hoppscotch-app/components/realtime/Websocket.vue
+++ b/packages/hoppscotch-app/components/realtime/Websocket.vue
@@ -1,11 +1,11 @@
@@ -186,8 +186,8 @@ import { defineComponent } from "@nuxtjs/composition-api"
import { Splitpanes, Pane } from "splitpanes"
import "splitpanes/dist/splitpanes.css"
import debounce from "lodash/debounce"
+import { breakpointsTailwind, useBreakpoints } from "@vueuse/core"
import { logHoppRequestRunToAnalytics } from "~/helpers/fb/analytics"
-import useWindowSize from "~/helpers/utils/useWindowSize"
import { useSetting } from "~/newstore/settings"
import {
setWSEndpoint,
@@ -213,8 +213,11 @@ import { useStream } from "~/helpers/utils/composables"
export default defineComponent({
components: { Splitpanes, Pane },
setup() {
+ const breakpoints = useBreakpoints(breakpointsTailwind)
+ const mdAndLarger = breakpoints.greater("md")
+
return {
- windowInnerWidth: useWindowSize(),
+ mdAndLarger,
SIDEBAR: useSetting("SIDEBAR"),
COLUMN_LAYOUT: useSetting("COLUMN_LAYOUT"),
SIDEBAR_ON_LEFT: useSetting("SIDEBAR_ON_LEFT"),
diff --git a/packages/hoppscotch-app/helpers/utils/useWindowSize.ts b/packages/hoppscotch-app/helpers/utils/useWindowSize.ts
deleted file mode 100644
index b85554c87..000000000
--- a/packages/hoppscotch-app/helpers/utils/useWindowSize.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import {
- Ref,
- onMounted,
- onUnmounted,
- reactive,
- toRefs,
-} from "@nuxtjs/composition-api"
-
-interface WindowSize {
- x: Ref
- y: Ref
-}
-
-export function useWindowSize(): WindowSize {
- const windowSize = reactive({ x: 0, y: 0 })
- const resizeListener = () => {
- ;({ innerWidth: windowSize.x, innerHeight: windowSize.y } = window)
- }
- onMounted(() => window.addEventListener("resize", resizeListener))
- onUnmounted(() => window.removeEventListener("resize", resizeListener))
- resizeListener()
- return toRefs(windowSize)
-}
-
-export default useWindowSize
diff --git a/packages/hoppscotch-app/layouts/default.vue b/packages/hoppscotch-app/layouts/default.vue
index 190728251..44f41a2a6 100644
--- a/packages/hoppscotch-app/layouts/default.vue
+++ b/packages/hoppscotch-app/layouts/default.vue
@@ -8,7 +8,7 @@
{
- if (windowInnerWidth.x.value < 768) {
+ if (mdAndLarger.value) {
rightSidebar.value = false
columnLayout.value = true
}
})
// Listen for updates
- watch(windowInnerWidth.x, () => {
- if (windowInnerWidth.x.value < 768) {
+ watch(mdAndLarger, () => {
+ if (!mdAndLarger.value) {
rightSidebar.value = false
columnLayout.value = true
}
@@ -172,8 +174,12 @@ export default defineComponent({
updateThemes()
setupSentry()
+
+ const breakpoints = useBreakpoints(breakpointsTailwind)
+ const mdAndLarger = breakpoints.greater("md")
+
return {
- windowInnerWidth: useWindowSize(),
+ mdAndLarger,
ZEN_MODE: useSetting("ZEN_MODE"),
}
},
diff --git a/packages/hoppscotch-app/pages/documentation.vue b/packages/hoppscotch-app/pages/documentation.vue
index 65443ffef..35c085abc 100644
--- a/packages/hoppscotch-app/pages/documentation.vue
+++ b/packages/hoppscotch-app/pages/documentation.vue
@@ -1,11 +1,11 @@
@@ -140,19 +140,22 @@ import { defineComponent } from "@nuxtjs/composition-api"
import { Splitpanes, Pane } from "splitpanes"
import "splitpanes/dist/splitpanes.css"
import Mustache from "mustache"
+import { breakpointsTailwind, useBreakpoints } from "@vueuse/core"
import { currentUser$ } from "~/helpers/fb/auth"
import DocsTemplate from "~/assets/md/docs.md"
import folderContents from "~/assets/md/folderContents.md"
import folderBody from "~/assets/md/folderBody.md"
import { useSetting } from "~/newstore/settings"
import { useReadonlyStream } from "~/helpers/utils/composables"
-import useWindowSize from "~/helpers/utils/useWindowSize"
export default defineComponent({
components: { Splitpanes, Pane },
setup() {
+ const breakpoints = useBreakpoints(breakpointsTailwind)
+ const mdAndLarger = breakpoints.greater("md")
+
return {
- windowInnerWidth: useWindowSize(),
+ mdAndLarger,
SIDEBAR: useSetting("SIDEBAR"),
COLUMN_LAYOUT: useSetting("COLUMN_LAYOUT"),
currentUser: useReadonlyStream(currentUser$, null),
diff --git a/packages/hoppscotch-app/pages/graphql.vue b/packages/hoppscotch-app/pages/graphql.vue
index ae9f9f4dd..cd17470c1 100644
--- a/packages/hoppscotch-app/pages/graphql.vue
+++ b/packages/hoppscotch-app/pages/graphql.vue
@@ -1,11 +1,11 @@
@@ -39,10 +39,10 @@
import { defineComponent, watch } from "@nuxtjs/composition-api"
import { Splitpanes, Pane } from "splitpanes"
import "splitpanes/dist/splitpanes.css"
+import { breakpointsTailwind, useBreakpoints } from "@vueuse/core"
import { useSetting } from "~/newstore/settings"
import { GQLConnection } from "~/helpers/GQLConnection"
import { useNuxt, useReadonlyStream } from "~/helpers/utils/composables"
-import useWindowSize from "~/helpers/utils/useWindowSize"
export default defineComponent({
components: { Splitpanes, Pane },
@@ -64,8 +64,11 @@ export default defineComponent({
else nuxt.value.$loading.finish()
})
+ const breakpoints = useBreakpoints(breakpointsTailwind)
+ const mdAndLarger = breakpoints.greater("md")
+
return {
- windowInnerWidth: useWindowSize(),
+ mdAndLarger,
SIDEBAR: useSetting("SIDEBAR"),
COLUMN_LAYOUT: useSetting("COLUMN_LAYOUT"),
SIDEBAR_ON_LEFT: useSetting("SIDEBAR_ON_LEFT"),
diff --git a/packages/hoppscotch-app/pages/index.vue b/packages/hoppscotch-app/pages/index.vue
index c5cd359f2..5ce4fa108 100644
--- a/packages/hoppscotch-app/pages/index.vue
+++ b/packages/hoppscotch-app/pages/index.vue
@@ -1,11 +1,11 @@
@@ -127,6 +127,7 @@ import {
HoppRESTAuthOAuth2,
safelyExtractRESTRequest,
} from "@hoppscotch/data"
+import { breakpointsTailwind, useBreakpoints } from "@vueuse/core"
import { useSetting } from "~/newstore/settings"
import {
restActiveParamsCount$,
@@ -150,7 +151,6 @@ import {
import { loadRequestFromSync, startRequestSync } from "~/helpers/fb/request"
import { onLoggedIn } from "~/helpers/fb/auth"
import { oauthRedirect } from "~/helpers/oauth"
-import useWindowSize from "~/helpers/utils/useWindowSize"
function bindRequestToURLParams() {
const { route } = useContext()
@@ -267,8 +267,11 @@ export default defineComponent({
setupRequestSync(confirmSync, requestForSync)
bindRequestToURLParams()
+ const breakpoints = useBreakpoints(breakpointsTailwind)
+ const mdAndLarger = breakpoints.greater("md")
+
return {
- windowInnerWidth: useWindowSize(),
+ mdAndLarger,
newActiveParamsCount$: useReadonlyStream(
restActiveParamsCount$.pipe(
map((e) => {