chore: minor ui improvements
This commit is contained in:
@@ -91,6 +91,17 @@ body {
|
|||||||
@apply translate-x-full;
|
@apply translate-x-full;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bounce-enter-active,
|
||||||
|
.bounce-leave-active {
|
||||||
|
@apply transition;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bounce-enter-from,
|
||||||
|
.bounce-leave-to {
|
||||||
|
@apply transform;
|
||||||
|
@apply scale-95;
|
||||||
|
}
|
||||||
|
|
||||||
.svg-icons {
|
.svg-icons {
|
||||||
@apply flex-shrink-0;
|
@apply flex-shrink-0;
|
||||||
@apply overflow-hidden;
|
@apply overflow-hidden;
|
||||||
|
|||||||
@@ -423,7 +423,7 @@
|
|||||||
"extension_version": "Extension Version",
|
"extension_version": "Extension Version",
|
||||||
"extensions": "Browser extension",
|
"extensions": "Browser extension",
|
||||||
"extensions_use_toggle": "Use the browser extension to send requests (if present)",
|
"extensions_use_toggle": "Use the browser extension to send requests (if present)",
|
||||||
"follow": "Follow Us",
|
"follow": "Follow us",
|
||||||
"font_size": "Font size",
|
"font_size": "Font size",
|
||||||
"font_size_large": "Large",
|
"font_size_large": "Large",
|
||||||
"font_size_medium": "Medium",
|
"font_size_medium": "Medium",
|
||||||
|
|||||||
13
packages/hoppscotch-app/src/components.d.ts
vendored
13
packages/hoppscotch-app/src/components.d.ts
vendored
@@ -23,7 +23,6 @@ declare module '@vue/runtime-core' {
|
|||||||
AppShortcuts: typeof import('./components/app/Shortcuts.vue')['default']
|
AppShortcuts: typeof import('./components/app/Shortcuts.vue')['default']
|
||||||
AppShortcutsEntry: typeof import('./components/app/ShortcutsEntry.vue')['default']
|
AppShortcutsEntry: typeof import('./components/app/ShortcutsEntry.vue')['default']
|
||||||
AppSidenav: typeof import('./components/app/Sidenav.vue')['default']
|
AppSidenav: typeof import('./components/app/Sidenav.vue')['default']
|
||||||
AppSlideOver: typeof import('./components/app/SlideOver.vue')['default']
|
|
||||||
AppSupport: typeof import('./components/app/Support.vue')['default']
|
AppSupport: typeof import('./components/app/Support.vue')['default']
|
||||||
ButtonPrimary: typeof import('./components/button/Primary.vue')['default']
|
ButtonPrimary: typeof import('./components/button/Primary.vue')['default']
|
||||||
ButtonSecondary: typeof import('./components/button/Secondary.vue')['default']
|
ButtonSecondary: typeof import('./components/button/Secondary.vue')['default']
|
||||||
@@ -98,6 +97,17 @@ declare module '@vue/runtime-core' {
|
|||||||
HttpTestResultReport: typeof import('./components/http/TestResultReport.vue')['default']
|
HttpTestResultReport: typeof import('./components/http/TestResultReport.vue')['default']
|
||||||
HttpTests: typeof import('./components/http/Tests.vue')['default']
|
HttpTests: typeof import('./components/http/Tests.vue')['default']
|
||||||
HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default']
|
HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default']
|
||||||
|
IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default']
|
||||||
|
IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default']
|
||||||
|
IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default']
|
||||||
|
IconLucideInbox: typeof import('~icons/lucide/inbox')['default']
|
||||||
|
IconLucideInfo: typeof import('~icons/lucide/info')['default']
|
||||||
|
IconLucideLayers: typeof import('~icons/lucide/layers')['default']
|
||||||
|
IconLucideLoader: typeof import('~icons/lucide/loader')['default']
|
||||||
|
IconLucideMinus: typeof import('~icons/lucide/minus')['default']
|
||||||
|
IconLucideSearch: typeof import('~icons/lucide/search')['default']
|
||||||
|
IconLucideUser: typeof import('~icons/lucide/user')['default']
|
||||||
|
IconLucideUsers: typeof import('~icons/lucide/users')['default']
|
||||||
LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default']
|
LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default']
|
||||||
LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default']
|
LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default']
|
||||||
LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default']
|
LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default']
|
||||||
@@ -130,6 +140,7 @@ declare module '@vue/runtime-core' {
|
|||||||
SmartProgressRing: typeof import('./components/smart/ProgressRing.vue')['default']
|
SmartProgressRing: typeof import('./components/smart/ProgressRing.vue')['default']
|
||||||
SmartRadio: typeof import('./components/smart/Radio.vue')['default']
|
SmartRadio: typeof import('./components/smart/Radio.vue')['default']
|
||||||
SmartRadioGroup: typeof import('./components/smart/RadioGroup.vue')['default']
|
SmartRadioGroup: typeof import('./components/smart/RadioGroup.vue')['default']
|
||||||
|
SmartSlideOver: typeof import('./components/smart/SlideOver.vue')['default']
|
||||||
SmartSpinner: typeof import('./components/smart/Spinner.vue')['default']
|
SmartSpinner: typeof import('./components/smart/Spinner.vue')['default']
|
||||||
SmartTab: typeof import('./components/smart/Tab.vue')['default']
|
SmartTab: typeof import('./components/smart/Tab.vue')['default']
|
||||||
SmartTabs: typeof import('./components/smart/Tabs.vue')['default']
|
SmartTabs: typeof import('./components/smart/Tabs.vue')['default']
|
||||||
|
|||||||
@@ -3,13 +3,12 @@
|
|||||||
v-if="show"
|
v-if="show"
|
||||||
dialog
|
dialog
|
||||||
:title="t('app.options')"
|
:title="t('app.options')"
|
||||||
max-width="sm:max-w-md"
|
styles="sm:max-w-md"
|
||||||
class="text-sm"
|
|
||||||
@close="emit('hide-modal')"
|
@close="emit('hide-modal')"
|
||||||
>
|
>
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="flex flex-col space-y-2">
|
<div class="flex flex-col space-y-2">
|
||||||
<h2 class="p-2 font-semibold font-bold text-secondaryDark">
|
<h2 class="p-4 font-semibold font-bold text-secondaryDark">
|
||||||
{{ t("layout.name") }}
|
{{ t("layout.name") }}
|
||||||
</h2>
|
</h2>
|
||||||
<SmartItem
|
<SmartItem
|
||||||
@@ -28,7 +27,7 @@
|
|||||||
active
|
active
|
||||||
@click="expandCollection"
|
@click="expandCollection"
|
||||||
/>
|
/>
|
||||||
<h2 class="p-2 font-semibold font-bold text-secondaryDark">
|
<h2 class="p-4 font-semibold font-bold text-secondaryDark">
|
||||||
{{ t("support.title") }}
|
{{ t("support.title") }}
|
||||||
</h2>
|
</h2>
|
||||||
<SmartItem
|
<SmartItem
|
||||||
@@ -71,7 +70,7 @@
|
|||||||
active
|
active
|
||||||
@click="hideModal()"
|
@click="hideModal()"
|
||||||
/>
|
/>
|
||||||
<h2 class="p-2 font-semibold font-bold text-secondaryDark">
|
<h2 class="p-4 font-semibold font-bold text-secondaryDark">
|
||||||
{{ t("settings.follow") }}
|
{{ t("settings.follow") }}
|
||||||
</h2>
|
</h2>
|
||||||
<SmartItem
|
<SmartItem
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<SmartModal
|
<SmartModal
|
||||||
v-if="show"
|
v-if="show"
|
||||||
max-width="sm:max-w-lg"
|
styles="sm:max-w-lg"
|
||||||
full-width
|
full-width
|
||||||
@close="emit('hide-modal')"
|
@close="emit('hide-modal')"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<AppSlideOver :show="show" :title="t('app.shortcuts')" @close="close()">
|
<SmartSlideOver :show="show" :title="t('app.shortcuts')" @close="close()">
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="sticky top-0 z-10 flex flex-col bg-primary">
|
<div class="sticky top-0 z-10 flex flex-col bg-primary">
|
||||||
<div class="flex flex-col px-6 py-4 border-b border-dividerLight">
|
<div class="flex flex-col px-6 py-4 border-b border-dividerLight">
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</AppSlideOver>
|
</SmartSlideOver>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
v-if="show"
|
v-if="show"
|
||||||
dialog
|
dialog
|
||||||
:title="t('support.title')"
|
:title="t('support.title')"
|
||||||
max-width="sm:max-w-md"
|
styles="sm:max-w-md"
|
||||||
@close="emit('hide-modal')"
|
@close="emit('hide-modal')"
|
||||||
>
|
>
|
||||||
<template #body>
|
<template #body>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
v-if="show"
|
v-if="show"
|
||||||
dialog
|
dialog
|
||||||
:title="`${t('modal.collections')}`"
|
:title="`${t('modal.collections')}`"
|
||||||
max-width="sm:max-w-md"
|
styles="sm:max-w-md"
|
||||||
@close="hideModal"
|
@close="hideModal"
|
||||||
>
|
>
|
||||||
<template #actions>
|
<template #actions>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
v-if="show"
|
v-if="show"
|
||||||
dialog
|
dialog
|
||||||
:title="`${t('modal.collections')}`"
|
:title="`${t('modal.collections')}`"
|
||||||
max-width="sm:max-w-md"
|
styles="sm:max-w-md"
|
||||||
@close="hideModal"
|
@close="hideModal"
|
||||||
>
|
>
|
||||||
<template #actions>
|
<template #actions>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
v-if="show"
|
v-if="show"
|
||||||
dialog
|
dialog
|
||||||
:title="`${t('environment.title')}`"
|
:title="`${t('environment.title')}`"
|
||||||
max-width="sm:max-w-md"
|
styles="sm:max-w-md"
|
||||||
@close="hideModal"
|
@close="hideModal"
|
||||||
>
|
>
|
||||||
<template #actions>
|
<template #actions>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
v-if="show"
|
v-if="show"
|
||||||
dialog
|
dialog
|
||||||
:title="`${t('auth.login_to_hoppscotch')}`"
|
:title="`${t('auth.login_to_hoppscotch')}`"
|
||||||
max-width="sm:max-w-md"
|
styles="sm:max-w-md"
|
||||||
@close="hideModal"
|
@close="hideModal"
|
||||||
>
|
>
|
||||||
<template #body>
|
<template #body>
|
||||||
|
|||||||
@@ -315,7 +315,7 @@ import IconCircle from "~icons/lucide/circle"
|
|||||||
import IconCopy from "~icons/lucide/copy"
|
import IconCopy from "~icons/lucide/copy"
|
||||||
import IconCheck from "~icons/lucide/check"
|
import IconCheck from "~icons/lucide/check"
|
||||||
import IconInfo from "~icons/lucide/info"
|
import IconInfo from "~icons/lucide/info"
|
||||||
import IconWand from "~icons/lucide/wand"
|
import IconWand2 from "~icons/lucide/wand-2"
|
||||||
import { Ref, computed, reactive, ref, watch } from "vue"
|
import { Ref, computed, reactive, ref, watch } from "vue"
|
||||||
import * as gql from "graphql"
|
import * as gql from "graphql"
|
||||||
import * as E from "fp-ts/Either"
|
import * as E from "fp-ts/Either"
|
||||||
@@ -641,11 +641,11 @@ const copyVariablesIcon = refAutoReset<typeof IconCopy | typeof IconCheck>(
|
|||||||
1000
|
1000
|
||||||
)
|
)
|
||||||
const prettifyQueryIcon = refAutoReset<
|
const prettifyQueryIcon = refAutoReset<
|
||||||
typeof IconWand | typeof IconCheck | typeof IconInfo
|
typeof IconWand2 | typeof IconCheck | typeof IconInfo
|
||||||
>(IconWand, 1000)
|
>(IconWand2, 1000)
|
||||||
const prettifyVariablesIcon = refAutoReset<
|
const prettifyVariablesIcon = refAutoReset<
|
||||||
typeof IconWand | typeof IconCheck | typeof IconInfo
|
typeof IconWand2 | typeof IconCheck | typeof IconInfo
|
||||||
>(IconWand, 1000)
|
>(IconWand2, 1000)
|
||||||
|
|
||||||
const showSaveRequestModal = ref(false)
|
const showSaveRequestModal = ref(false)
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ import IconHelpCircle from "~icons/lucide/help-circle"
|
|||||||
import IconWrapText from "~icons/lucide/wrap-text"
|
import IconWrapText from "~icons/lucide/wrap-text"
|
||||||
import IconTrash2 from "~icons/lucide/trash-2"
|
import IconTrash2 from "~icons/lucide/trash-2"
|
||||||
import IconFilePlus from "~icons/lucide/file-plus"
|
import IconFilePlus from "~icons/lucide/file-plus"
|
||||||
import IconWand from "~icons/lucide/wand"
|
import IconWand2 from "~icons/lucide/wand-2"
|
||||||
import IconCheck from "~icons/lucide/check"
|
import IconCheck from "~icons/lucide/check"
|
||||||
import IconInfo from "~icons/lucide/info"
|
import IconInfo from "~icons/lucide/info"
|
||||||
import { computed, reactive, Ref, ref } from "vue"
|
import { computed, reactive, Ref, ref } from "vue"
|
||||||
@@ -102,8 +102,8 @@ const rawParamsBody = pluckRef(
|
|||||||
)
|
)
|
||||||
|
|
||||||
const prettifyIcon = refAutoReset<
|
const prettifyIcon = refAutoReset<
|
||||||
typeof IconWand | typeof IconCheck | typeof IconInfo
|
typeof IconWand2 | typeof IconCheck | typeof IconInfo
|
||||||
>(IconWand, 1000)
|
>(IconWand2, 1000)
|
||||||
|
|
||||||
const rawInputEditorLang = computed(() =>
|
const rawInputEditorLang = computed(() =>
|
||||||
getEditorLangForMimeType(props.contentType)
|
getEditorLangForMimeType(props.contentType)
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
import { useI18n } from "@composables/i18n"
|
import { useI18n } from "@composables/i18n"
|
||||||
|
|
||||||
import IconPlusCircle from "~icons/lucide/plus-circle"
|
import IconPlusCircle from "~icons/lucide/plus-circle"
|
||||||
import IconCheckCircle from "~icons/lucide/check-circle-2"
|
import IconCheckCircle2 from "~icons/lucide/check-circle-2"
|
||||||
import IconMinusCircle from "~icons/lucide/minus-circle"
|
import IconMinusCircle from "~icons/lucide/minus-circle"
|
||||||
|
|
||||||
type Status = "updations" | "additions" | "deletions"
|
type Status = "updations" | "additions" | "deletions"
|
||||||
@@ -63,7 +63,7 @@ const getIcon = (status: Status) => {
|
|||||||
case "additions":
|
case "additions":
|
||||||
return IconPlusCircle
|
return IconPlusCircle
|
||||||
case "updations":
|
case "updations":
|
||||||
return IconCheckCircle
|
return IconCheckCircle2
|
||||||
case "deletions":
|
case "deletions":
|
||||||
return IconMinusCircle
|
return IconMinusCircle
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ import IconSend from "~icons/lucide/send"
|
|||||||
import IconHelpCircle from "~icons/lucide/help-circle"
|
import IconHelpCircle from "~icons/lucide/help-circle"
|
||||||
import IconWrapText from "~icons/lucide/wrap-text"
|
import IconWrapText from "~icons/lucide/wrap-text"
|
||||||
import IconTrash2 from "~icons/lucide/trash-2"
|
import IconTrash2 from "~icons/lucide/trash-2"
|
||||||
import IconWand from "~icons/lucide/wand"
|
import IconWand2 from "~icons/lucide/wand-2"
|
||||||
import IconCheck from "~icons/lucide/check"
|
import IconCheck from "~icons/lucide/check"
|
||||||
import IconInfo from "~icons/lucide/info"
|
import IconInfo from "~icons/lucide/info"
|
||||||
import IconDone from "~icons/lucide/check"
|
import IconDone from "~icons/lucide/check"
|
||||||
@@ -163,7 +163,7 @@ const linewrapEnabled = ref(true)
|
|||||||
const wsCommunicationBody = ref<HTMLElement>()
|
const wsCommunicationBody = ref<HTMLElement>()
|
||||||
const payload = ref<HTMLInputElement>()
|
const payload = ref<HTMLInputElement>()
|
||||||
|
|
||||||
const prettifyIcon = refAutoReset<Component>(IconWand, 1000)
|
const prettifyIcon = refAutoReset<Component>(IconWand2, 1000)
|
||||||
|
|
||||||
const knownContentTypes = {
|
const knownContentTypes = {
|
||||||
JSON: "application/ld+json",
|
JSON: "application/ld+json",
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
ref="modal"
|
ref="modal"
|
||||||
class="fixed inset-0 z-50 overflow-y-auto transition"
|
class="fixed inset-0 z-50 overflow-y-auto transition"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-modal="true"
|
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block"
|
class="flex items-end justify-center min-h-screen text-center sm:block"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<AppPaneLayout layout-id="sse">
|
<AppPaneLayout layout-id="sse">
|
||||||
<template #primary>
|
<template #primary>
|
||||||
<div
|
<div
|
||||||
class="sticky top-0 z-10 flex flex-shrink-0 p-4 space-x-2 overflow-x-auto bg-primary"
|
class="sticky top-0 z-10 flex flex-shrink-0 p-4 overflow-x-auto space-x-2 bg-primary"
|
||||||
>
|
>
|
||||||
<div class="inline-flex flex-1 space-x-2">
|
<div class="inline-flex flex-1 space-x-2">
|
||||||
<div class="flex flex-1">
|
<div class="flex flex-1">
|
||||||
|
|||||||
Reference in New Issue
Block a user