diff --git a/packages/hoppscotch-app/components/graphql/RequestOptions.vue b/packages/hoppscotch-app/components/graphql/RequestOptions.vue index 13c34e531..b2f6976f7 100644 --- a/packages/hoppscotch-app/components/graphql/RequestOptions.vue +++ b/packages/hoppscotch-app/components/graphql/RequestOptions.vue @@ -391,6 +391,19 @@ const copyVariablesIcon = ref("copy") const showSaveRequestModal = ref(false) +watch( + headers, + () => { + if ( + (headers.value[headers.value.length - 1]?.key !== "" || + headers.value[headers.value.length - 1]?.value !== "") && + headers.value.length + ) + addRequestHeader() + }, + { deep: true } +) + const editBulkHeadersLine = ( index: number, item?: { diff --git a/packages/hoppscotch-app/components/http/Headers.vue b/packages/hoppscotch-app/components/http/Headers.vue index a6b159bd9..2fc96b72c 100644 --- a/packages/hoppscotch-app/components/http/Headers.vue +++ b/packages/hoppscotch-app/components/http/Headers.vue @@ -223,6 +223,19 @@ watch(bulkHeaders, () => { const headers$ = useReadonlyStream(restHeaders$, []) +watch( + headers$, + (newValue) => { + if ( + (newValue[newValue.length - 1]?.key !== "" || + newValue[newValue.length - 1]?.value !== "") && + newValue.length + ) + addHeader() + }, + { deep: true } +) + onBeforeUpdate(() => editBulkHeadersLine(-1, null)) const editBulkHeadersLine = (index: number, item?: HoppRESTParam) => { diff --git a/packages/hoppscotch-app/components/http/Parameters.vue b/packages/hoppscotch-app/components/http/Parameters.vue index f12f99154..b702eaaeb 100644 --- a/packages/hoppscotch-app/components/http/Parameters.vue +++ b/packages/hoppscotch-app/components/http/Parameters.vue @@ -217,6 +217,19 @@ useCodemirror(bulkEditor, bulkParams, { const params$ = useReadonlyStream(restParams$, []) +watch( + params$, + (newValue) => { + if ( + (newValue[newValue.length - 1]?.key !== "" || + newValue[newValue.length - 1]?.value !== "") && + newValue.length + ) + addParam() + }, + { deep: true } +) + onBeforeUpdate(() => editBulkParamsLine(-1, null)) const editBulkParamsLine = (index: number, item?: HoppRESTParam) => { diff --git a/packages/hoppscotch-app/layouts/default.vue b/packages/hoppscotch-app/layouts/default.vue index f100e2ce8..31e19e3d2 100644 --- a/packages/hoppscotch-app/layouts/default.vue +++ b/packages/hoppscotch-app/layouts/default.vue @@ -174,9 +174,14 @@ export default defineComponent({ icon: "download_for_offline", duration: 0, action: [ + { + text: `${this.$t("action.dismiss")}`, + onClick: (_, toastObject) => { + toastObject.goAway(0) + }, + }, { text: `${this.$t("app.reload")}`, - class: "!ml-auto", onClick: (_, toastObject) => { toastObject.goAway(0) window.location.reload() diff --git a/packages/hoppscotch-app/locales/en.json b/packages/hoppscotch-app/locales/en.json index 1e1c98369..845f2c2f8 100644 --- a/packages/hoppscotch-app/locales/en.json +++ b/packages/hoppscotch-app/locales/en.json @@ -339,7 +339,7 @@ "experiments_notice": "This is a collection of experiments we're working on that might turn out to be useful, fun, both, or neither. They're not final and may not be stable, so if something overly weird happens, don't panic. Just turn the dang thing off. Jokes aside, ", "extension_ver_not_reported": "Not Reported", "extension_version": "Extension Version", - "extensions": "Browser extensions", + "extensions": "Browser extension", "extensions_use_toggle": "Use the browser extension to send requests (if present)", "font_size": "Font size", "font_size_large": "Large", diff --git a/packages/hoppscotch-app/static/banner.png b/packages/hoppscotch-app/static/banner.png index 7eb5dc8f1..566f546eb 100644 Binary files a/packages/hoppscotch-app/static/banner.png and b/packages/hoppscotch-app/static/banner.png differ