refactor: minor ui improvements

This commit is contained in:
liyasthomas
2021-12-14 22:41:07 +05:30
parent 70555cd4a6
commit a2757a0335
58 changed files with 289 additions and 110 deletions

View File

@@ -64,10 +64,10 @@ body {
@apply font-medium; @apply font-medium;
@apply select-none; @apply select-none;
@apply overflow-x-hidden; @apply overflow-x-hidden;
@apply text-body;
@apply leading-body;
animation: fade 300ms forwards; animation: fade 300ms forwards;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none; -webkit-touch-callout: none;
} }
@@ -103,15 +103,15 @@ body {
.material-icons { .material-icons {
@apply flex-shrink-0; @apply flex-shrink-0;
font-size: var(--body-line-height) !important; font-size: var(--line-height-body) !important;
width: var(--body-line-height); width: var(--line-height-body);
} }
.svg-icons { .svg-icons {
@apply flex-shrink-0; @apply flex-shrink-0;
height: var(--body-line-height); height: var(--line-height-body);
width: var(--body-line-height); width: var(--line-height-body);
} }
a { a {
@@ -120,9 +120,8 @@ a {
@apply no-underline; @apply no-underline;
@apply outline-none; @apply outline-none;
@apply transition; @apply transition;
@apply text-body;
font-size: var(--body-font-size); @apply leading-body;
line-height: var(--body-line-height);
&.link { &.link {
@apply items-center; @apply items-center;
@@ -144,9 +143,9 @@ a {
@apply rounded; @apply rounded;
@apply truncate; @apply truncate;
@apply shadow; @apply shadow;
@apply leading-body;
font-size: 88%; font-size: 88%;
line-height: var(--body-line-height);
kbd { kbd {
@apply inline-flex; @apply inline-flex;
@@ -166,11 +165,10 @@ a {
@apply text-secondary; @apply text-secondary;
@apply p-2; @apply p-2;
@apply shadow-lg; @apply shadow-lg;
@apply text-body;
@apply leading-body;
@apply focus:outline-none; @apply focus:outline-none;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
.tippy-roundarrow svg { .tippy-roundarrow svg {
@apply fill-popover; @apply fill-popover;
} }
@@ -216,13 +214,12 @@ input,
select, select,
textarea, textarea,
button { button {
@apply focus:outline-none;
@apply truncate; @apply truncate;
@apply transition; @apply transition;
@apply text-body;
@apply leading-body;
@apply focus:outline-none;
@apply disabled:cursor-not-allowed; @apply disabled:cursor-not-allowed;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
} }
.input[type="file"], .input[type="file"],
@@ -323,9 +320,8 @@ pre.ace_editor {
@apply shadow; @apply shadow;
@apply font-medium; @apply font-medium;
@apply transition; @apply transition;
@apply text-body;
font-size: var(--body-font-size); @apply leading-body;
line-height: var(--body-line-height);
.action { .action {
@apply bg-gray-500; @apply bg-gray-500;
@@ -337,12 +333,11 @@ pre.ace_editor {
@apply rounded; @apply rounded;
@apply text-current; @apply text-current;
@apply normal-case; @apply normal-case;
@apply font-medium;
@apply text-body;
@apply leading-body;
@apply hover:bg-opacity-20; @apply hover:bg-opacity-20;
@apply hover:no-underline; @apply hover:no-underline;
@apply font-medium;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
} }
} }
@@ -451,6 +446,7 @@ pre.ace_editor {
} }
.shortcut-key { .shortcut-key {
@apply font-sans;
@apply bg-dividerLight; @apply bg-dividerLight;
@apply rounded; @apply rounded;
@apply ml-2; @apply ml-2;

View File

@@ -2,6 +2,7 @@
--font-sans: "Inter", sans-serif; --font-sans: "Inter", sans-serif;
--font-mono: "Roboto Mono", monospace; --font-mono: "Roboto Mono", monospace;
--font-icon: "Material Icons"; --font-icon: "Material Icons";
--font-size-tiny: calc(var(--font-size-body) - 0.062rem);
} }
@mixin dark-theme { @mixin dark-theme {
@@ -243,8 +244,8 @@
} }
@mixin font-small { @mixin font-small {
--body-font-size: 0.75rem; --font-size-body: 0.75rem;
--body-line-height: 1rem; --line-height-body: 1rem;
--upper-primary-sticky-fold: 4.125rem; --upper-primary-sticky-fold: 4.125rem;
--upper-secondary-sticky-fold: 6.125rem; --upper-secondary-sticky-fold: 6.125rem;
--upper-tertiary-sticky-fold: 8.188rem; --upper-tertiary-sticky-fold: 8.188rem;
@@ -255,8 +256,8 @@
} }
@mixin font-medium { @mixin font-medium {
--body-font-size: 0.875rem; --font-size-body: 0.875rem;
--body-line-height: 1.25rem; --line-height-body: 1.25rem;
--upper-primary-sticky-fold: 4.375rem; --upper-primary-sticky-fold: 4.375rem;
--upper-secondary-sticky-fold: 6.625rem; --upper-secondary-sticky-fold: 6.625rem;
--upper-tertiary-sticky-fold: 8.813rem; --upper-tertiary-sticky-fold: 8.813rem;
@@ -267,8 +268,8 @@
} }
@mixin font-large { @mixin font-large {
--body-font-size: 1rem; --font-size-body: 1rem;
--body-line-height: 1.5rem; --line-height-body: 1.5rem;
--upper-primary-sticky-fold: 4.625rem; --upper-primary-sticky-fold: 4.625rem;
--upper-secondary-sticky-fold: 7.125rem; --upper-secondary-sticky-fold: 7.125rem;
--upper-tertiary-sticky-fold: 9.5rem; --upper-tertiary-sticky-fold: 9.5rem;

View File

@@ -14,7 +14,7 @@
class="flex flex-col text-secondaryLight p-4 items-center justify-center" class="flex flex-col text-secondaryLight p-4 items-center justify-center"
> >
<i class="opacity-75 pb-2 material-icons">manage_search</i> <i class="opacity-75 pb-2 material-icons">manage_search</i>
<span class="text-center"> <span class="text-center my-2">
{{ t("state.nothing_found") }} "{{ search }}" {{ t("state.nothing_found") }} "{{ search }}"
</span> </span>
</div> </div>

View File

@@ -14,8 +14,29 @@
autocomplete="off" autocomplete="off"
name="command" name="command"
:placeholder="`${t('app.type_a_command_search')}`" :placeholder="`${t('app.type_a_command_search')}`"
class="bg-transparent border-b border-dividerLight flex flex-shrink-0 text-base text-secondaryDark p-6" class="bg-transparent flex flex-shrink-0 text-base text-secondaryDark p-6"
/> />
<div
class="flex pb-4 px-4 border-b text-tiny border-dividerLight justify-between text-secondaryLight whitespace-nowrap overflow-auto flex-shrink-0 hide-scrollbar"
>
<div class="flex items-center">
<kbd class="shortcut-key"></kbd>
<kbd class="shortcut-key"></kbd>
<span class="truncate ml-2">
{{ t("action.to_navigate") }}
</span>
<kbd class="shortcut-key"></kbd>
<span class="truncate ml-2">
{{ t("action.to_select") }}
</span>
</div>
<div class="flex items-center">
<kbd class="shortcut-key">ESC</kbd>
<span class="truncate ml-2">
{{ t("action.to_close") }}
</span>
</div>
</div>
<AppFuse <AppFuse
v-if="search && show" v-if="search && show"
:input="fuse" :input="fuse"

View File

@@ -43,7 +43,7 @@
class="flex flex-col text-secondaryLight p-4 items-center justify-center" class="flex flex-col text-secondaryLight p-4 items-center justify-center"
> >
<i class="opacity-75 pb-2 material-icons">manage_search</i> <i class="opacity-75 pb-2 material-icons">manage_search</i>
<span class="text-center"> <span class="text-center my-2">
{{ t("state.nothing_found") }} "{{ filterText }}" {{ t("state.nothing_found") }} "{{ filterText }}"
</span> </span>
</div> </div>

View File

@@ -103,9 +103,8 @@ const primaryNavigation = [
span { span {
@apply mt-2; @apply mt-2;
@apply font-font-medium; @apply font-medium;
@apply text-tiny;
font-size: calc(var(--body-font-size) - 0.062rem);
} }
&.exact-active-link { &.exact-active-link {

View File

@@ -16,7 +16,7 @@
> >
<SmartIcon <SmartIcon
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
:name="getCollectionIcon" :name="getCollectionIcon"
/> />
</span> </span>
@@ -24,7 +24,9 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark"
@click="toggleShowChildren()" @click="toggleShowChildren()"
> >
<span class="truncate"> {{ collection.name }} </span> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ collection.name }}
</span>
</span> </span>
<div class="flex"> <div class="flex">
<ButtonSecondary <ButtonSecondary

View File

@@ -16,7 +16,7 @@
> >
<SmartIcon <SmartIcon
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
:name="getCollectionIcon" :name="getCollectionIcon"
/> />
</span> </span>
@@ -24,7 +24,7 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark"
@click="toggleShowChildren()" @click="toggleShowChildren()"
> >
<span class="truncate"> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ folder.name ? folder.name : folder.title }} {{ folder.name ? folder.name : folder.title }}
</span> </span>
</span> </span>

View File

@@ -15,7 +15,7 @@
> >
<SmartIcon <SmartIcon
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
:name="isSelected ? 'check-circle' : 'file'" :name="isSelected ? 'check-circle' : 'file'"
/> />
</span> </span>
@@ -23,7 +23,9 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark"
@click="!doc ? selectRequest() : {}" @click="!doc ? selectRequest() : {}"
> >
<span class="truncate"> {{ request.name }} </span> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ request.name }}
</span>
</span> </span>
<div class="flex"> <div class="flex">
<ButtonSecondary <ButtonSecondary

View File

@@ -84,7 +84,7 @@
class="flex flex-col text-secondaryLight p-4 items-center justify-center" class="flex flex-col text-secondaryLight p-4 items-center justify-center"
> >
<i class="opacity-75 pb-2 material-icons">manage_search</i> <i class="opacity-75 pb-2 material-icons">manage_search</i>
<span class="text-center"> <span class="text-center my-2">
{{ $t("state.nothing_found") }} "{{ filterText }}" {{ $t("state.nothing_found") }} "{{ filterText }}"
</span> </span>
</div> </div>

View File

@@ -5,7 +5,7 @@
> >
<div <div
class="divide-dividerLight divide-y bg-primary border-b border-dividerLight rounded-t flex flex-col z-10 sticky" class="divide-dividerLight divide-y bg-primary border-b border-dividerLight rounded-t flex flex-col z-10 sticky"
:style="saveRequest ? 'top: calc(-1 * var(--body-font-size))' : 'top: 0'" :style="saveRequest ? 'top: calc(-1 * var(--font-size-body))' : 'top: 0'"
> >
<div v-if="!saveRequest" class="search-wrappe"> <div v-if="!saveRequest" class="search-wrappe">
<input <input
@@ -135,7 +135,7 @@
class="flex flex-col text-secondaryLight p-4 items-center justify-center" class="flex flex-col text-secondaryLight p-4 items-center justify-center"
> >
<i class="opacity-75 pb-2 material-icons">manage_search</i> <i class="opacity-75 pb-2 material-icons">manage_search</i>
<span class="text-center"> <span class="text-center my-2">
{{ $t("state.nothing_found") }} "{{ filterText }}" {{ $t("state.nothing_found") }} "{{ filterText }}"
</span> </span>
</div> </div>

View File

@@ -16,7 +16,7 @@
> >
<SmartIcon <SmartIcon
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
:name="getCollectionIcon" :name="getCollectionIcon"
/> />
</span> </span>
@@ -24,7 +24,9 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark"
@click="toggleShowChildren()" @click="toggleShowChildren()"
> >
<span class="truncate"> {{ collection.name }} </span> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ collection.name }}
</span>
</span> </span>
<div class="flex"> <div class="flex">
<ButtonSecondary <ButtonSecondary

View File

@@ -16,7 +16,7 @@
> >
<SmartIcon <SmartIcon
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
:name="getCollectionIcon" :name="getCollectionIcon"
/> />
</span> </span>
@@ -24,7 +24,7 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark"
@click="toggleShowChildren()" @click="toggleShowChildren()"
> >
<span class="truncate"> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ folder.name ? folder.name : folder.title }} {{ folder.name ? folder.name : folder.title }}
</span> </span>
</span> </span>

View File

@@ -17,7 +17,7 @@
<SmartIcon <SmartIcon
v-if="isSelected" v-if="isSelected"
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
name="check-circle" name="check-circle"
/> />
<span v-else class="truncate"> <span v-else class="truncate">
@@ -28,7 +28,9 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition items-center group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition items-center group-hover:text-secondaryDark"
@click="!doc ? selectRequest() : {}" @click="!doc ? selectRequest() : {}"
> >
<span class="truncate"> {{ request.name }} </span> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ request.name }}
</span>
<span <span
v-if=" v-if="
active && active &&

View File

@@ -10,7 +10,7 @@
> >
<SmartIcon <SmartIcon
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
:name="getCollectionIcon" :name="getCollectionIcon"
/> />
</span> </span>
@@ -18,7 +18,9 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark"
@click="toggleShowChildren()" @click="toggleShowChildren()"
> >
<span class="truncate"> {{ collection.title }} </span> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ collection.title }}
</span>
</span> </span>
<div class="flex"> <div class="flex">
<ButtonSecondary <ButtonSecondary

View File

@@ -10,7 +10,7 @@
> >
<SmartIcon <SmartIcon
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
:name="getCollectionIcon" :name="getCollectionIcon"
/> />
</span> </span>
@@ -18,7 +18,7 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition group-hover:text-secondaryDark"
@click="toggleShowChildren()" @click="toggleShowChildren()"
> >
<span class="truncate"> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ folder.name ? folder.name : folder.title }} {{ folder.name ? folder.name : folder.title }}
</span> </span>
</span> </span>

View File

@@ -12,10 +12,10 @@
<SmartIcon <SmartIcon
v-if="isSelected" v-if="isSelected"
class="svg-icons" class="svg-icons"
:class="{ 'text-green-500': isSelected }" :class="{ 'text-accent': isSelected }"
name="check-circle" name="check-circle"
/> />
<span v-else> <span v-else class="truncate">
{{ request.method }} {{ request.method }}
</span> </span>
</span> </span>
@@ -23,7 +23,9 @@
class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition items-center group-hover:text-secondaryDark" class="cursor-pointer flex flex-1 min-w-0 py-2 pr-2 transition items-center group-hover:text-secondaryDark"
@click="!doc ? selectRequest() : {}" @click="!doc ? selectRequest() : {}"
> >
<span class="truncate"> {{ request.name }} </span> <span class="truncate" :class="{ 'text-accent': isSelected }">
{{ request.name }}
</span>
<span <span
v-if=" v-if="
active && active &&

View File

@@ -1,7 +1,12 @@
<template> <template>
<div> <div>
<SmartTabs styles="sticky bg-primary top-upperPrimaryStickyFold z-10"> <SmartTabs styles="sticky bg-primary top-upperPrimaryStickyFold z-10">
<SmartTab :id="'query'" :label="`${t('tab.query')}`" :selected="true"> <SmartTab
:id="'query'"
:label="`${t('tab.query')}`"
:selected="true"
:indicator="gqlQueryString.length > 0"
>
<AppSection label="query"> <AppSection label="query">
<div <div
class="bg-primary border-b border-dividerLight flex flex-1 top-upperSecondaryStickyFold pl-4 z-10 sticky items-center justify-between gqlRunQuery" class="bg-primary border-b border-dividerLight flex flex-1 top-upperSecondaryStickyFold pl-4 z-10 sticky items-center justify-between gqlRunQuery"
@@ -30,6 +35,12 @@
:title="t('app.wiki')" :title="t('app.wiki')"
svg="help-circle" svg="help-circle"
/> />
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="t('action.clear_all')"
svg="trash-2"
@click.native="clearGQLQuery()"
/>
<ButtonSecondary <ButtonSecondary
v-tippy="{ theme: 'tooltip' }" v-tippy="{ theme: 'tooltip' }"
:title="t('action.prettify')" :title="t('action.prettify')"
@@ -48,7 +59,11 @@
</AppSection> </AppSection>
</SmartTab> </SmartTab>
<SmartTab :id="'variables'" :label="`${t('tab.variables')}`"> <SmartTab
:id="'variables'"
:label="`${t('tab.variables')}`"
:indicator="variableString.length > 0"
>
<AppSection label="variables"> <AppSection label="variables">
<div <div
class="bg-primary border-b border-dividerLight flex flex-1 top-upperSecondaryStickyFold pl-4 z-10 sticky items-center justify-between" class="bg-primary border-b border-dividerLight flex flex-1 top-upperSecondaryStickyFold pl-4 z-10 sticky items-center justify-between"
@@ -64,6 +79,12 @@
:title="t('app.wiki')" :title="t('app.wiki')"
svg="help-circle" svg="help-circle"
/> />
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="t('action.clear_all')"
svg="trash-2"
@click.native="clearGQLVariables()"
/>
<ButtonSecondary <ButtonSecondary
v-tippy="{ theme: 'tooltip' }" v-tippy="{ theme: 'tooltip' }"
:title="t('action.copy')" :title="t('action.copy')"
@@ -76,7 +97,11 @@
</AppSection> </AppSection>
</SmartTab> </SmartTab>
<SmartTab :id="'headers'" :label="`${t('tab.headers')}`"> <SmartTab
:id="'headers'"
:label="`${t('tab.headers')}`"
:info="activeGQLHeadersCount === 0 ? null : `${activeGQLHeadersCount}`"
>
<AppSection label="headers"> <AppSection label="headers">
<div <div
class="bg-primary border-b border-dividerLight flex flex-1 top-upperSecondaryStickyFold pl-4 z-10 sticky items-center justify-between" class="bg-primary border-b border-dividerLight flex flex-1 top-upperSecondaryStickyFold pl-4 z-10 sticky items-center justify-between"
@@ -96,7 +121,7 @@
v-tippy="{ theme: 'tooltip' }" v-tippy="{ theme: 'tooltip' }"
:title="t('action.clear_all')" :title="t('action.clear_all')"
svg="trash-2" svg="trash-2"
@click.native="clearContent()" @click.native="clearHeaders()"
/> />
<ButtonSecondary <ButtonSecondary
v-tippy="{ theme: 'tooltip' }" v-tippy="{ theme: 'tooltip' }"
@@ -230,7 +255,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, ref, watch } from "@nuxtjs/composition-api" import { computed, onMounted, ref, watch } from "@nuxtjs/composition-api"
import clone from "lodash/clone" import clone from "lodash/clone"
import * as gql from "graphql" import * as gql from "graphql"
import { GQLHeader, makeGQLRequest } from "@hoppscotch/data" import { GQLHeader, makeGQLRequest } from "@hoppscotch/data"
@@ -310,6 +335,12 @@ useCodemirror(bulkEditor, bulkHeaders, {
environmentHighlights: false, environmentHighlights: false,
}) })
const activeGQLHeadersCount = computed(
() =>
headers.value.filter((x) => x.active && (x.key !== "" || x.value !== ""))
.length
)
const variableEditor = ref<any | null>(null) const variableEditor = ref<any | null>(null)
useCodemirror(variableEditor, variableString, { useCodemirror(variableEditor, variableString, {
@@ -507,8 +538,16 @@ const removeRequestHeader = (index: number) => {
} }
} }
const clearContent = () => { const clearHeaders = () => {
headers.value = [] headers.value = []
clearBulkEditor() clearBulkEditor()
} }
const clearGQLQuery = () => {
gqlQueryString.value = ""
}
const clearGQLVariables = () => {
variableString.value = ""
}
</script> </script>

View File

@@ -36,7 +36,7 @@
@click.native="$emit('toggle-star')" @click.native="$emit('toggle-star')"
/> />
</div> </div>
<div class="flex flex-col"> <div class="flex flex-col text-tiny">
<span <span
v-for="(line, index) in query" v-for="(line, index) in query"
:key="`line-${index}`" :key="`line-${index}`"

View File

@@ -52,7 +52,7 @@
class="flex flex-col text-secondaryLight p-4 items-center justify-center" class="flex flex-col text-secondaryLight p-4 items-center justify-center"
> >
<i class="opacity-75 pb-2 material-icons">manage_search</i> <i class="opacity-75 pb-2 material-icons">manage_search</i>
<span class="text-center"> <span class="text-center my-2">
{{ $t("state.nothing_found") }} "{{ filterText }}" {{ $t("state.nothing_found") }} "{{ filterText }}"
</span> </span>
</div> </div>

View File

@@ -3,9 +3,9 @@
:to="`${/^\/(?!\/).*$/.test(to) ? localePath(to) : to}`" :to="`${/^\/(?!\/).*$/.test(to) ? localePath(to) : to}`"
:exact="exact" :exact="exact"
:blank="blank" :blank="blank"
class="font-semibold flex-1 py-2 transform transition inline-flex items-center truncate hover:translate-x-2 focus:outline-none focus-visible:translate-x-2" class="font-semibold py-2 transform transition inline-flex items-center hover:translate-x-2 focus:outline-none focus-visible:translate-x-2"
:class="[ :class="[
label ? 'px-3' : 'px-2', label ? 'px-4' : 'px-2',
active active
? color ? color
? `text-${color}-500 hover:text-${color}-600 focus-visible:text-${color}-600` ? `text-${color}-500 hover:text-${color}-600 focus-visible:text-${color}-600`
@@ -32,7 +32,9 @@
:class="label ? 'mr-4 opacity-75' : ''" :class="label ? 'mr-4 opacity-75' : ''"
class="svg-icons" class="svg-icons"
/> />
{{ label }} <span class="truncate">
{{ label }}
</span>
</SmartLink> </SmartLink>
</template> </template>

View File

@@ -30,7 +30,7 @@ import { lintKeymap } from "@codemirror/lint"
export const baseTheme = EditorView.theme({ export const baseTheme = EditorView.theme({
"&": { "&": {
fontSize: "var(--body-font-size)", fontSize: "var(--font-size-body)",
}, },
".cm-content": { ".cm-content": {
caretColor: "var(--secondary-light-color)", caretColor: "var(--secondary-light-color)",

View File

@@ -17,7 +17,7 @@ export default [
label: "shortcut.general.show_all", label: "shortcut.general.show_all",
}, },
{ {
keys: ["Esc"], keys: ["ESC"],
label: "shortcut.general.close_current_menu", label: "shortcut.general.close_current_menu",
}, },
], ],

View File

@@ -29,6 +29,9 @@
"send": "Stuur", "send": "Stuur",
"start": "Begin", "start": "Begin",
"stop": "Stop", "stop": "Stop",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Skakel af", "turn_off": "Skakel af",
"turn_on": "Sit aan", "turn_on": "Sit aan",
"undo": "Ontdoen", "undo": "Ontdoen",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Bepalings en privaatheid", "terms_and_privacy": "Bepalings en privaatheid",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Tik 'n opdrag of soek ...", "type_a_command_search": "Tik 'n opdrag of soek ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Ons gebruik koekies", "we_use_cookies": "Ons gebruik koekies",
"whats_new": "Wat's nuut?", "whats_new": "Wat's nuut?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "يرسل", "send": "يرسل",
"start": "يبدأ", "start": "يبدأ",
"stop": "قف", "stop": "قف",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "اطفئه", "turn_off": "اطفئه",
"turn_on": "شغله", "turn_on": "شغله",
"undo": "الغاء التحميل", "undo": "الغاء التحميل",

View File

@@ -29,6 +29,9 @@
"send": "Envia", "send": "Envia",
"start": "Començar", "start": "Començar",
"stop": "Atura", "stop": "Atura",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Tanca", "turn_off": "Tanca",
"turn_on": "Encendre", "turn_on": "Encendre",
"undo": "Desfés", "undo": "Desfés",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Condicions i privadesa", "terms_and_privacy": "Condicions i privadesa",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Escriviu una ordre o cerqueu ...", "type_a_command_search": "Escriviu una ordre o cerqueu ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Utilitzem cookies", "we_use_cookies": "Utilitzem cookies",
"whats_new": "Que hi ha de nou?", "whats_new": "Que hi ha de nou?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "发送", "send": "发送",
"start": "开始", "start": "开始",
"stop": "停止", "stop": "停止",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "关闭", "turn_off": "关闭",
"turn_on": "开启", "turn_on": "开启",
"undo": "撤消", "undo": "撤消",
@@ -63,7 +66,7 @@
"terms_and_privacy": "隐私条款", "terms_and_privacy": "隐私条款",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "输入命令或搜索内容……", "type_a_command_search": "输入命令或搜索内容……",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "我们使用 cookies", "we_use_cookies": "我们使用 cookies",
"whats_new": "新增内容", "whats_new": "新增内容",
"wiki": "帮助" "wiki": "帮助"

View File

@@ -29,6 +29,9 @@
"send": "Poslat", "send": "Poslat",
"start": "Start", "start": "Start",
"stop": "Stop", "stop": "Stop",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Vypnout", "turn_off": "Vypnout",
"turn_on": "Zapnout", "turn_on": "Zapnout",
"undo": "vrátit", "undo": "vrátit",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Podmínky a soukromí", "terms_and_privacy": "Podmínky a soukromí",
"twitter": "Cvrlikání", "twitter": "Cvrlikání",
"type_a_command_search": "Zadejte příkaz nebo hledejte…", "type_a_command_search": "Zadejte příkaz nebo hledejte…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Používáme cookies", "we_use_cookies": "Používáme cookies",
"whats_new": "Co je nového?", "whats_new": "Co je nového?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Sende", "send": "Sende",
"start": "Start", "start": "Start",
"stop": "Hold op", "stop": "Hold op",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Sluk", "turn_off": "Sluk",
"turn_on": "Tænde for", "turn_on": "Tænde for",
"undo": "Fortryd", "undo": "Fortryd",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Vilkår og fortrolighed", "terms_and_privacy": "Vilkår og fortrolighed",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Skriv en kommando eller søg ...", "type_a_command_search": "Skriv en kommando eller søg ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Vi bruger cookies", "we_use_cookies": "Vi bruger cookies",
"whats_new": "Hvad er nyt?", "whats_new": "Hvad er nyt?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Senden", "send": "Senden",
"start": "Start", "start": "Start",
"stop": "Stopp", "stop": "Stopp",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Ausschalten", "turn_off": "Ausschalten",
"turn_on": "Einschalten", "turn_on": "Einschalten",
"undo": "Rückgängig machen", "undo": "Rückgängig machen",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Allgemeine Geschäftsbedingungen und Datenschutzerklärung", "terms_and_privacy": "Allgemeine Geschäftsbedingungen und Datenschutzerklärung",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Geben Sie einen Befehl ein oder suchen Sie…", "type_a_command_search": "Geben Sie einen Befehl ein oder suchen Sie…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Wir verwenden Cookies", "we_use_cookies": "Wir verwenden Cookies",
"whats_new": "Was gibt's Neues?", "whats_new": "Was gibt's Neues?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Στείλετε", "send": "Στείλετε",
"start": "Αρχή", "start": "Αρχή",
"stop": "Να σταματήσει", "stop": "Να σταματήσει",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Σβήνω", "turn_off": "Σβήνω",
"turn_on": "Ανάβω", "turn_on": "Ανάβω",
"undo": "Ξεκάνω", "undo": "Ξεκάνω",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Όροι και απόρρητο", "terms_and_privacy": "Όροι και απόρρητο",
"twitter": "Κελάδημα", "twitter": "Κελάδημα",
"type_a_command_search": "Πληκτρολογήστε μια εντολή ή αναζήτηση…", "type_a_command_search": "Πληκτρολογήστε μια εντολή ή αναζήτηση…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Χρησιμοποιούμε cookies", "we_use_cookies": "Χρησιμοποιούμε cookies",
"whats_new": "Τι νέα?", "whats_new": "Τι νέα?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Send", "send": "Send",
"start": "Start", "start": "Start",
"stop": "Stop", "stop": "Stop",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Turn off", "turn_off": "Turn off",
"turn_on": "Turn on", "turn_on": "Turn on",
"undo": "Undo", "undo": "Undo",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Terms and privacy", "terms_and_privacy": "Terms and privacy",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Type a command or search…", "type_a_command_search": "Type a command or search…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "We use cookies", "we_use_cookies": "We use cookies",
"whats_new": "What's new?", "whats_new": "What's new?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Enviar", "send": "Enviar",
"start": "Empezar", "start": "Empezar",
"stop": "Detener", "stop": "Detener",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Desactivar", "turn_off": "Desactivar",
"turn_on": "Activar", "turn_on": "Activar",
"undo": "Deshacer", "undo": "Deshacer",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Términos y privacidad", "terms_and_privacy": "Términos y privacidad",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Escribe un comando o busca…", "type_a_command_search": "Escribe un comando o busca…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Usamos cookies", "we_use_cookies": "Usamos cookies",
"whats_new": "¿Qué hay de nuevo?", "whats_new": "¿Qué hay de nuevo?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Lähettää", "send": "Lähettää",
"start": "alkaa", "start": "alkaa",
"stop": "Lopettaa", "stop": "Lopettaa",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Sammuttaa", "turn_off": "Sammuttaa",
"turn_on": "Kiihottua", "turn_on": "Kiihottua",
"undo": "Kumoa", "undo": "Kumoa",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Ehdot ja yksityisyys", "terms_and_privacy": "Ehdot ja yksityisyys",
"twitter": "Viserrys", "twitter": "Viserrys",
"type_a_command_search": "Kirjoita komento tai hae…", "type_a_command_search": "Kirjoita komento tai hae…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Käytämme evästeitä", "we_use_cookies": "Käytämme evästeitä",
"whats_new": "Mikä on uutta?", "whats_new": "Mikä on uutta?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Envoyer", "send": "Envoyer",
"start": "Démarrer", "start": "Démarrer",
"stop": "Arrêter", "stop": "Arrêter",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Éteindre", "turn_off": "Éteindre",
"turn_on": "Allumer", "turn_on": "Allumer",
"undo": "Annuler", "undo": "Annuler",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Conditions et confidentialité", "terms_and_privacy": "Conditions et confidentialité",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Tapez une commande ou recherchez…", "type_a_command_search": "Tapez une commande ou recherchez…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Nous utilisons des cookies", "we_use_cookies": "Nous utilisons des cookies",
"whats_new": "Quoi de neuf?", "whats_new": "Quoi de neuf?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "לִשְׁלוֹחַ", "send": "לִשְׁלוֹחַ",
"start": "הַתחָלָה", "start": "הַתחָלָה",
"stop": "תפסיק", "stop": "תפסיק",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "לכבות", "turn_off": "לכבות",
"turn_on": "להדליק", "turn_on": "להדליק",
"undo": "לבטל", "undo": "לבטל",
@@ -63,7 +66,7 @@
"terms_and_privacy": "תנאים ופרטיות", "terms_and_privacy": "תנאים ופרטיות",
"twitter": "טוויטר", "twitter": "טוויטר",
"type_a_command_search": "הקלד פקודה או חפש ...", "type_a_command_search": "הקלד פקודה או חפש ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "אנו משתמשים בעוגיות", "we_use_cookies": "אנו משתמשים בעוגיות",
"whats_new": "מה חדש?", "whats_new": "מה חדש?",
"wiki": "ויקי" "wiki": "ויקי"

View File

@@ -29,6 +29,9 @@
"send": "Küld", "send": "Küld",
"start": "Rajt", "start": "Rajt",
"stop": "Álljon meg", "stop": "Álljon meg",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Kikapcsolni", "turn_off": "Kikapcsolni",
"turn_on": "Bekapcsol", "turn_on": "Bekapcsol",
"undo": "Visszavonás", "undo": "Visszavonás",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Feltételek és adatvédelem", "terms_and_privacy": "Feltételek és adatvédelem",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Írjon be parancsot vagy keresést…", "type_a_command_search": "Írjon be parancsot vagy keresést…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Sütiket használunk", "we_use_cookies": "Sütiket használunk",
"whats_new": "Mi újság?", "whats_new": "Mi újság?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Invia", "send": "Invia",
"start": "Avvia", "start": "Avvia",
"stop": "Interrompi", "stop": "Interrompi",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Spegni", "turn_off": "Spegni",
"turn_on": "Accendi", "turn_on": "Accendi",
"undo": "Annulla", "undo": "Annulla",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Termini e privacy", "terms_and_privacy": "Termini e privacy",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Digita un comando o cerca...", "type_a_command_search": "Digita un comando o cerca...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Utilizziamo i cookie", "we_use_cookies": "Utilizziamo i cookie",
"whats_new": "Cosa c'è di nuovo?", "whats_new": "Cosa c'è di nuovo?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "送信", "send": "送信",
"start": "始める", "start": "始める",
"stop": "ストップ", "stop": "ストップ",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "消す", "turn_off": "消す",
"turn_on": "オンにする", "turn_on": "オンにする",
"undo": "元に戻す", "undo": "元に戻す",
@@ -63,7 +66,7 @@
"terms_and_privacy": "利用規約とプライバシー", "terms_and_privacy": "利用規約とプライバシー",
"twitter": "ツイッター", "twitter": "ツイッター",
"type_a_command_search": "コマンドを入力するか、検索してください…", "type_a_command_search": "コマンドを入力するか、検索してください…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "クッキーを使用しています", "we_use_cookies": "クッキーを使用しています",
"whats_new": "新着情報?", "whats_new": "新着情報?",
"wiki": "ウィキ" "wiki": "ウィキ"

View File

@@ -29,6 +29,9 @@
"send": "보내기", "send": "보내기",
"start": "시작", "start": "시작",
"stop": "정지", "stop": "정지",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "끄기", "turn_off": "끄기",
"turn_on": "켜기", "turn_on": "켜기",
"undo": "실행 취소", "undo": "실행 취소",
@@ -63,7 +66,7 @@
"terms_and_privacy": "약관 및 개인정보 보호", "terms_and_privacy": "약관 및 개인정보 보호",
"twitter": "트위터", "twitter": "트위터",
"type_a_command_search": "명령을 입력하거나 검색...", "type_a_command_search": "명령을 입력하거나 검색...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "우리는 쿠키를 사용중입니다", "we_use_cookies": "우리는 쿠키를 사용중입니다",
"whats_new": "새로운 소식?", "whats_new": "새로운 소식?",
"wiki": "위키" "wiki": "위키"

View File

@@ -29,6 +29,9 @@
"send": "Versturen", "send": "Versturen",
"start": "Begin", "start": "Begin",
"stop": "Stop", "stop": "Stop",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Uitschakelen", "turn_off": "Uitschakelen",
"turn_on": "Inschakelen", "turn_on": "Inschakelen",
"undo": "Ongedaan maken", "undo": "Ongedaan maken",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Voorwaarden en privacy", "terms_and_privacy": "Voorwaarden en privacy",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Typ een opdracht of zoek...", "type_a_command_search": "Typ een opdracht of zoek...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Wij gebruiken cookies", "we_use_cookies": "Wij gebruiken cookies",
"whats_new": "Wat is er nieuw?", "whats_new": "Wat is er nieuw?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Sende", "send": "Sende",
"start": "Start", "start": "Start",
"stop": "Stoppe", "stop": "Stoppe",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Skru av", "turn_off": "Skru av",
"turn_on": "Slå på", "turn_on": "Slå på",
"undo": "Angre", "undo": "Angre",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Vilkår og personvern", "terms_and_privacy": "Vilkår og personvern",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Skriv inn en kommando eller søk ...", "type_a_command_search": "Skriv inn en kommando eller søk ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Vi bruker informasjonskapsler", "we_use_cookies": "Vi bruker informasjonskapsler",
"whats_new": "Hva er nytt?", "whats_new": "Hva er nytt?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Wyślij", "send": "Wyślij",
"start": "Rozpocznij", "start": "Rozpocznij",
"stop": "Zatrzymaj", "stop": "Zatrzymaj",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Wyłącz", "turn_off": "Wyłącz",
"turn_on": "Włącz", "turn_on": "Włącz",
"undo": "Cofnij", "undo": "Cofnij",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Warunki i prywatność", "terms_and_privacy": "Warunki i prywatność",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Wpisz polecenie lub wyszukaj…", "type_a_command_search": "Wpisz polecenie lub wyszukaj…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Używamy plików cookie", "we_use_cookies": "Używamy plików cookie",
"whats_new": "Co nowego?", "whats_new": "Co nowego?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Mandar", "send": "Mandar",
"start": "Começar", "start": "Começar",
"stop": "Pare", "stop": "Pare",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Desligar", "turn_off": "Desligar",
"turn_on": "Ligar", "turn_on": "Ligar",
"undo": "Desfazer", "undo": "Desfazer",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Termos e privacidade", "terms_and_privacy": "Termos e privacidade",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Digite um comando ou pesquise ...", "type_a_command_search": "Digite um comando ou pesquise ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Usamos cookies", "we_use_cookies": "Usamos cookies",
"whats_new": "O que há de novo?", "whats_new": "O que há de novo?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Mandar", "send": "Mandar",
"start": "Começar", "start": "Começar",
"stop": "Pare", "stop": "Pare",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Desligar", "turn_off": "Desligar",
"turn_on": "Ligar", "turn_on": "Ligar",
"undo": "Desfazer", "undo": "Desfazer",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Termos e privacidade", "terms_and_privacy": "Termos e privacidade",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Digite um comando ou pesquise ...", "type_a_command_search": "Digite um comando ou pesquise ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Usamos cookies", "we_use_cookies": "Usamos cookies",
"whats_new": "O que há de novo?", "whats_new": "O que há de novo?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Trimite", "send": "Trimite",
"start": "start", "start": "start",
"stop": "Stop", "stop": "Stop",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Opriți", "turn_off": "Opriți",
"turn_on": "Aprinde", "turn_on": "Aprinde",
"undo": "Anula", "undo": "Anula",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Termeni și confidențialitate", "terms_and_privacy": "Termeni și confidențialitate",
"twitter": "Stare de nervozitate", "twitter": "Stare de nervozitate",
"type_a_command_search": "Tastați o comandă sau căutați ...", "type_a_command_search": "Tastați o comandă sau căutați ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Folosim cookie-uri", "we_use_cookies": "Folosim cookie-uri",
"whats_new": "Ce mai e nou?", "whats_new": "Ce mai e nou?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Отправить", "send": "Отправить",
"start": "Начать", "start": "Начать",
"stop": "Стоп", "stop": "Стоп",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Выключить", "turn_off": "Выключить",
"turn_on": "Включить", "turn_on": "Включить",
"undo": "Отменить", "undo": "Отменить",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Условия и конфиденциальность", "terms_and_privacy": "Условия и конфиденциальность",
"twitter": "Твиттер", "twitter": "Твиттер",
"type_a_command_search": "Введите команду или выполните поиск…", "type_a_command_search": "Введите команду или выполните поиск…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Мы используем куки", "we_use_cookies": "Мы используем куки",
"whats_new": "Что нового?", "whats_new": "Что нового?",
"wiki": "Вики" "wiki": "Вики"

View File

@@ -29,6 +29,9 @@
"send": "Пошаљи", "send": "Пошаљи",
"start": "Почетак", "start": "Почетак",
"stop": "Зауставити", "stop": "Зауставити",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Искључити", "turn_off": "Искључити",
"turn_on": "Укључити", "turn_on": "Укључити",
"undo": "Поништи", "undo": "Поништи",

View File

@@ -29,6 +29,9 @@
"send": "Skicka", "send": "Skicka",
"start": "Start", "start": "Start",
"stop": "Sluta", "stop": "Sluta",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Stäng av", "turn_off": "Stäng av",
"turn_on": "Sätta på", "turn_on": "Sätta på",
"undo": "Ångra", "undo": "Ångra",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Villkor och sekretess", "terms_and_privacy": "Villkor och sekretess",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Skriv ett kommando eller sök ...", "type_a_command_search": "Skriv ett kommando eller sök ...",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Vi använder cookies", "we_use_cookies": "Vi använder cookies",
"whats_new": "Vad är nytt?", "whats_new": "Vad är nytt?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "Gönder", "send": "Gönder",
"start": "Başla", "start": "Başla",
"stop": "Dur", "stop": "Dur",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Kapat", "turn_off": "Kapat",
"turn_on": "Aç", "turn_on": "Aç",
"undo": "Geri al", "undo": "Geri al",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Şartlar ve gizlilik", "terms_and_privacy": "Şartlar ve gizlilik",
"twitter": "heyecan", "twitter": "heyecan",
"type_a_command_search": "Bir komut yazın veya arayın…", "type_a_command_search": "Bir komut yazın veya arayın…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "çerez kullanıyoruz", "we_use_cookies": "çerez kullanıyoruz",
"whats_new": "Ne var ne yok?", "whats_new": "Ne var ne yok?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -29,6 +29,9 @@
"send": "傳送", "send": "傳送",
"start": "開始", "start": "開始",
"stop": "停止", "stop": "停止",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "關閉", "turn_off": "關閉",
"turn_on": "開啟", "turn_on": "開啟",
"undo": "復原", "undo": "復原",
@@ -63,7 +66,7 @@
"terms_and_privacy": "隱私條款", "terms_and_privacy": "隱私條款",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "輸入命令或搜尋內容……", "type_a_command_search": "輸入命令或搜尋內容……",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "我們使用 cookies", "we_use_cookies": "我們使用 cookies",
"whats_new": "新增內容", "whats_new": "新增內容",
"wiki": "幫助" "wiki": "幫助"

View File

@@ -29,6 +29,9 @@
"send": "Надіслати", "send": "Надіслати",
"start": "Почати", "start": "Почати",
"stop": "Стій", "stop": "Стій",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Вимкнути", "turn_off": "Вимкнути",
"turn_on": "Ввімкнути", "turn_on": "Ввімкнути",
"undo": "Скасувати", "undo": "Скасувати",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Умови та конфіденційність", "terms_and_privacy": "Умови та конфіденційність",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Введіть команду або виконайте пошук…", "type_a_command_search": "Введіть команду або виконайте пошук…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Ми використовуємо файли cookie", "we_use_cookies": "Ми використовуємо файли cookie",
"whats_new": "Що нового?", "whats_new": "Що нового?",
"wiki": "Вікі" "wiki": "Вікі"

View File

@@ -29,6 +29,9 @@
"send": "Gửi", "send": "Gửi",
"start": "Bắt đầu", "start": "Bắt đầu",
"stop": "Ngừng lại", "stop": "Ngừng lại",
"to_navigate": "to navigate",
"to_select": "to select",
"to_close": "to close",
"turn_off": "Tắt", "turn_off": "Tắt",
"turn_on": "Bật", "turn_on": "Bật",
"undo": "Hoàn tác", "undo": "Hoàn tác",
@@ -63,7 +66,7 @@
"terms_and_privacy": "Điều khoản và quyền riêng tư", "terms_and_privacy": "Điều khoản và quyền riêng tư",
"twitter": "Twitter", "twitter": "Twitter",
"type_a_command_search": "Nhập lệnh hoặc tìm kiếm…", "type_a_command_search": "Nhập lệnh hoặc tìm kiếm…",
"version": "v2.0", "version": "v2.1.0",
"we_use_cookies": "Chúng tôi sử dụng cookie", "we_use_cookies": "Chúng tôi sử dụng cookie",
"whats_new": "Có gì mới?", "whats_new": "Có gì mới?",
"wiki": "Wiki" "wiki": "Wiki"

View File

@@ -11,7 +11,7 @@ export const options = {
keywords: keywords:
"hoppscotch, hopp scotch, hoppscotch online, hoppscotch app, postwoman, postwoman chrome, postwoman online, postwoman for mac, postwoman app, postwoman for windows, postwoman google chrome, postwoman chrome app, get postwoman, postwoman web, postwoman android, postwoman app for chrome, postwoman mobile app, postwoman web app, api, request, testing, tool, rest, websocket, sse, graphql, socketio", "hoppscotch, hopp scotch, hoppscotch online, hoppscotch app, postwoman, postwoman chrome, postwoman online, postwoman for mac, postwoman app, postwoman for windows, postwoman google chrome, postwoman chrome app, get postwoman, postwoman web, postwoman android, postwoman app for chrome, postwoman mobile app, postwoman web app, api, request, testing, tool, rest, websocket, sse, graphql, socketio",
loading: { loading: {
color: "var(--accent-color)", color: "var(--divider-light-color)",
background: "var(--primary-color)", background: "var(--primary-color)",
}, },
app: { app: {

View File

@@ -46,11 +46,16 @@
<SmartTab <SmartTab
:id="'preRequestScript'" :id="'preRequestScript'"
:label="`${$t('tab.pre_request_script')}`" :label="`${$t('tab.pre_request_script')}`"
:indicator="preRequestScript.length > 0"
> >
<HttpPreRequestScript /> <HttpPreRequestScript />
</SmartTab> </SmartTab>
<SmartTab :id="'tests'" :label="`${$t('tab.tests')}`"> <SmartTab
:id="'tests'"
:label="`${$t('tab.tests')}`"
:indicator="testScript.length > 0"
>
<HttpTests /> <HttpTests />
</SmartTab> </SmartTab>
</SmartTabs> </SmartTabs>
@@ -129,6 +134,8 @@ import {
setRESTRequest, setRESTRequest,
setRESTAuth, setRESTAuth,
restAuth$, restAuth$,
useTestScript,
usePreRequestScript,
} from "~/newstore/RESTSession" } from "~/newstore/RESTSession"
import { translateExtURLParams } from "~/helpers/RESTExtURLParams" import { translateExtURLParams } from "~/helpers/RESTExtURLParams"
import { import {
@@ -211,6 +218,9 @@ export default defineComponent({
setup() { setup() {
const requestForSync = ref<HoppRESTRequest | null>(null) const requestForSync = ref<HoppRESTRequest | null>(null)
const testScript = useTestScript()
const preRequestScript = usePreRequestScript()
const confirmSync = ref(false) const confirmSync = ref(false)
const syncRequest = () => { const syncRequest = () => {
@@ -247,6 +257,8 @@ export default defineComponent({
syncRequest, syncRequest,
oAuthURL, oAuthURL,
requestForSync, requestForSync,
testScript,
preRequestScript,
} }
}, },
}) })

View File

@@ -79,7 +79,7 @@
<h4 class="font-semibold text-secondaryDark"> <h4 class="font-semibold text-secondaryDark">
{{ t("settings.profile") }} {{ t("settings.profile") }}
</h4> </h4>
<div class="mt-1 text-secondaryLight"> <div class="my-1 text-secondaryLight">
{{ t("settings.profile_description") }} {{ t("settings.profile_description") }}
</div> </div>
<div class="py-4"> <div class="py-4">
@@ -141,7 +141,7 @@
<h4 class="font-semibold text-secondaryDark"> <h4 class="font-semibold text-secondaryDark">
{{ t("settings.sync") }} {{ t("settings.sync") }}
</h4> </h4>
<div class="mt-1 text-secondaryLight"> <div class="my-1 text-secondaryLight">
{{ t("settings.sync_description") }} {{ t("settings.sync_description") }}
</div> </div>
<div class="space-y-4 py-4"> <div class="space-y-4 py-4">

View File

@@ -6,7 +6,7 @@
<h3 class="heading"> <h3 class="heading">
{{ $t("settings.theme") }} {{ $t("settings.theme") }}
</h3> </h3>
<p class="mt-1 text-secondaryLight"> <p class="my-1 text-secondaryLight">
{{ $t("settings.theme_description") }} {{ $t("settings.theme_description") }}
</p> </p>
</div> </div>
@@ -15,7 +15,7 @@
<h4 class="font-semibold text-secondaryDark"> <h4 class="font-semibold text-secondaryDark">
{{ $t("settings.background") }} {{ $t("settings.background") }}
</h4> </h4>
<div class="mt-1 text-secondaryLight"> <div class="my-1 text-secondaryLight">
<ColorScheme placeholder="..." tag="span"> <ColorScheme placeholder="..." tag="span">
{{ $t(getColorModeName($colorMode.preference)) }} {{ $t(getColorModeName($colorMode.preference)) }}
<span v-if="$colorMode.preference === 'system'"> <span v-if="$colorMode.preference === 'system'">
@@ -31,7 +31,7 @@
<h4 class="font-semibold text-secondaryDark"> <h4 class="font-semibold text-secondaryDark">
{{ $t("settings.accent_color") }} {{ $t("settings.accent_color") }}
</h4> </h4>
<div class="mt-1 text-secondaryLight"> <div class="my-1 text-secondaryLight">
{{ active.charAt(0).toUpperCase() + active.slice(1) }} {{ active.charAt(0).toUpperCase() + active.slice(1) }}
</div> </div>
<div class="mt-4"> <div class="mt-4">
@@ -58,7 +58,7 @@
<h4 class="font-semibold text-secondaryDark"> <h4 class="font-semibold text-secondaryDark">
{{ $t("settings.experiments") }} {{ $t("settings.experiments") }}
</h4> </h4>
<div class="mt-1 text-secondaryLight"> <div class="my-1 text-secondaryLight">
{{ $t("settings.experiments_notice") }} {{ $t("settings.experiments_notice") }}
<SmartLink <SmartLink
class="link" class="link"
@@ -105,7 +105,7 @@
<h3 class="heading"> <h3 class="heading">
{{ $t("settings.interceptor") }} {{ $t("settings.interceptor") }}
</h3> </h3>
<p class="mt-1 text-secondaryLight"> <p class="my-1 text-secondaryLight">
{{ $t("settings.interceptor_description") }} {{ $t("settings.interceptor_description") }}
</p> </p>
</div> </div>
@@ -114,7 +114,7 @@
<h4 class="font-semibold text-secondaryDark"> <h4 class="font-semibold text-secondaryDark">
{{ $t("settings.extensions") }} {{ $t("settings.extensions") }}
</h4> </h4>
<div class="mt-1 text-secondaryLight"> <div class="my-1 text-secondaryLight">
<span v-if="extensionVersion != null"> <span v-if="extensionVersion != null">
{{ {{
`${$t("settings.extension_version")}: v${ `${$t("settings.extension_version")}: v${
@@ -166,7 +166,7 @@
<h4 class="font-semibold text-secondaryDark"> <h4 class="font-semibold text-secondaryDark">
{{ $t("settings.proxy") }} {{ $t("settings.proxy") }}
</h4> </h4>
<div class="mt-1 text-secondaryLight"> <div class="my-1 text-secondaryLight">
{{ {{
`${$t("settings.official_proxy_hosting")} ${$t( `${$t("settings.official_proxy_hosting")} ${$t(
"settings.read_the" "settings.read_the"

View File

@@ -41,6 +41,13 @@ export default defineConfig({
mono: "var(--font-mono)", mono: "var(--font-mono)",
icon: "var(--font-icon)", icon: "var(--font-icon)",
}, },
fontSize: {
tiny: "var(--font-size-tiny)",
body: "var(--font-size-body)",
},
lineHeight: {
body: "var(--line-height-body)",
},
cursor: { cursor: {
nsResize: "ns-resize", nsResize: "ns-resize",
}, },