refactor: sort windi class names
This commit is contained in:
@@ -2,25 +2,31 @@
|
|||||||
<div class="bg-error flex justify-between">
|
<div class="bg-error flex justify-between">
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
flex
|
group
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
transition
|
|
||||||
relative
|
relative
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
group
|
px-4
|
||||||
|
py-2
|
||||||
|
transition
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<i class="mr-2 material-icons">info_outline</i>
|
<i class="material-icons mr-2">info_outline</i>
|
||||||
<span class="text-secondaryDark">
|
<span class="text-secondaryDark">
|
||||||
<span class="md:hidden">
|
<span class="md:hidden">
|
||||||
{{ $t("helpers.offline_short") }}
|
{{ t("helpers.offline_short") }}
|
||||||
</span>
|
</span>
|
||||||
<span class="hidden md:inline">
|
<span class="md:inline hidden">
|
||||||
{{ $t("helpers.offline") }}
|
{{ t("helpers.offline") }}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { useI18n } from "~/helpers/utils/composables"
|
||||||
|
|
||||||
|
const t = useI18n()
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -107,7 +107,7 @@
|
|||||||
@click.native="$refs.options.tippy().hide()"
|
@click.native="$refs.options.tippy().hide()"
|
||||||
/>
|
/>
|
||||||
<!-- <SmartItem :label="t('app.status')" /> -->
|
<!-- <SmartItem :label="t('app.status')" /> -->
|
||||||
<div class="flex opacity-50 py-2 px-4">
|
<div class="flex px-4 py-2 opacity-50">
|
||||||
{{ `${t("app.name")} ${t("app.version")}` }}
|
{{ `${t("app.name")} ${t("app.version")}` }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
@click.native="COLUMN_LAYOUT = !COLUMN_LAYOUT"
|
@click.native="COLUMN_LAYOUT = !COLUMN_LAYOUT"
|
||||||
/>
|
/>
|
||||||
<span
|
<span
|
||||||
class="transform transition"
|
class="transition transform"
|
||||||
:class="{
|
:class="{
|
||||||
'rotate-180': SIDEBAR_ON_LEFT,
|
'rotate-180': SIDEBAR_ON_LEFT,
|
||||||
}"
|
}"
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
v-if="searchResults.length === 0"
|
v-if="searchResults.length === 0"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="text-secondaryLight flex flex-col items-center justify-center p-4"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">manage_search</i>
|
<i class="material-icons pb-2 opacity-75">manage_search</i>
|
||||||
<span class="text-center">
|
<span class="text-center">
|
||||||
{{ t("state.nothing_found") }} "{{ search }}"
|
{{ t("state.nothing_found") }} "{{ search }}"
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<header
|
<header
|
||||||
class="flex space-x-2 flex-1 py-2 px-2 items-center justify-between"
|
class="flex items-center justify-between flex-1 px-2 py-2 space-x-2"
|
||||||
>
|
>
|
||||||
<div class="space-x-2 inline-flex items-center">
|
<div class="inline-flex items-center space-x-2">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
class="tracking-wide !font-bold !text-secondaryDark"
|
class="tracking-wide !font-bold !text-secondaryDark"
|
||||||
label="HOPPSCOTCH"
|
label="HOPPSCOTCH"
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
/>
|
/>
|
||||||
<AppGitHubStarButton class="mt-1.5 transition hidden sm:flex" />
|
<AppGitHubStarButton class="mt-1.5 transition hidden sm:flex" />
|
||||||
</div>
|
</div>
|
||||||
<div class="space-x-2 inline-flex items-center">
|
<div class="inline-flex items-center space-x-2">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
id="installPWA"
|
id="installPWA"
|
||||||
v-tippy="{ theme: 'tooltip' }"
|
v-tippy="{ theme: 'tooltip' }"
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
svg="upload-cloud"
|
svg="upload-cloud"
|
||||||
:label="t('header.save_workspace')"
|
:label="t('header.save_workspace')"
|
||||||
filled
|
filled
|
||||||
class="hidden md:flex"
|
class="md:flex hidden"
|
||||||
@click.native="showLogin = true"
|
@click.native="showLogin = true"
|
||||||
/>
|
/>
|
||||||
<ButtonPrimary
|
<ButtonPrimary
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
:label="t('header.login')"
|
:label="t('header.login')"
|
||||||
@click.native="showLogin = true"
|
@click.native="showLogin = true"
|
||||||
/>
|
/>
|
||||||
<div v-else class="space-x-2 inline-flex items-center">
|
<div v-else class="inline-flex items-center space-x-2">
|
||||||
<ButtonPrimary
|
<ButtonPrimary
|
||||||
v-tippy="{ theme: 'tooltip' }"
|
v-tippy="{ theme: 'tooltip' }"
|
||||||
:title="t('team.invite_tooltip')"
|
:title="t('team.invite_tooltip')"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex p-4 space-y-4 items-start flex-col">
|
<div class="flex flex-col items-start p-4 space-y-4">
|
||||||
<SmartToggle
|
<SmartToggle
|
||||||
:on="PROXY_ENABLED"
|
:on="PROXY_ENABLED"
|
||||||
@change="toggleSettingKey('PROXY_ENABLED')"
|
@change="toggleSettingKey('PROXY_ENABLED')"
|
||||||
|
|||||||
@@ -15,11 +15,14 @@
|
|||||||
name="command"
|
name="command"
|
||||||
:placeholder="`${t('app.type_a_command_search')}`"
|
:placeholder="`${t('app.type_a_command_search')}`"
|
||||||
class="
|
class="
|
||||||
bg-transparent
|
flex
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-shrink-0
|
text-secondaryDark
|
||||||
text-secondaryDark text-base
|
flex-shrink-0
|
||||||
p-6
|
p-6
|
||||||
|
text-base
|
||||||
|
bg-transparent
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<AppFuse
|
<AppFuse
|
||||||
@@ -31,12 +34,13 @@
|
|||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="
|
class="
|
||||||
divide-y divide-dividerLight
|
|
||||||
flex flex-col
|
flex flex-col
|
||||||
space-y-4
|
divide-dividerLight
|
||||||
flex-1
|
|
||||||
overflow-auto
|
|
||||||
hide-scrollbar
|
hide-scrollbar
|
||||||
|
flex-1
|
||||||
|
space-y-4
|
||||||
|
overflow-auto
|
||||||
|
divide-y
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -44,7 +48,7 @@
|
|||||||
:key="`map-${mapIndex}`"
|
:key="`map-${mapIndex}`"
|
||||||
class="flex flex-col"
|
class="flex flex-col"
|
||||||
>
|
>
|
||||||
<h5 class="my-2 text-secondaryLight py-2 px-6">
|
<h5 class="px-6 py-2 my-2 text-secondaryLight">
|
||||||
{{ t(map.section) }}
|
{{ t(map.section) }}
|
||||||
</h5>
|
</h5>
|
||||||
<AppPowerSearchEntry
|
<AppPowerSearchEntry
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<button
|
<button
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
|
||||||
flex flex-1
|
|
||||||
py-2
|
|
||||||
px-6
|
|
||||||
transition
|
|
||||||
items-center
|
|
||||||
search-entry
|
search-entry
|
||||||
focus:outline-none
|
focus:outline-none
|
||||||
|
flex
|
||||||
|
items-center
|
||||||
|
flex-1
|
||||||
|
px-6
|
||||||
|
py-2
|
||||||
|
transition
|
||||||
|
cursor-pointer
|
||||||
"
|
"
|
||||||
:class="{ active: active }"
|
:class="{ active: active }"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
@@ -16,7 +17,7 @@
|
|||||||
@keydown.enter="$emit('action', shortcut.action)"
|
@keydown.enter="$emit('action', shortcut.action)"
|
||||||
>
|
>
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
class="mr-4 opacity-50 transition svg-icons"
|
class="mr-4 opacity-50 svg-icons transition"
|
||||||
:class="{ 'opacity-100 text-secondaryDark': active }"
|
:class="{ 'opacity-100 text-secondaryDark': active }"
|
||||||
:name="shortcut.icon"
|
:name="shortcut.icon"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<section :id="label.toLowerCase()" class="flex flex-col flex-1 relative">
|
<section :id="label.toLowerCase()" class="relative flex flex-col flex-1">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -5,11 +5,11 @@
|
|||||||
@close="hideModal"
|
@close="hideModal"
|
||||||
>
|
>
|
||||||
<template #body>
|
<template #body>
|
||||||
<p class="text-secondaryLight mb-8 px-2">
|
<p class="text-secondaryLight px-2 mb-8">
|
||||||
{{ t("app.invite_description") }}
|
{{ t("app.invite_description") }}
|
||||||
</p>
|
</p>
|
||||||
<div class="flex flex-col space-y-2 px-2">
|
<div class="flex flex-col px-2 space-y-2">
|
||||||
<div class="grid gap-4 grid-cols-3">
|
<div class="grid grid-cols-3 gap-4">
|
||||||
<a
|
<a
|
||||||
v-for="(platform, index) in platforms"
|
v-for="(platform, index) in platforms"
|
||||||
:key="`platform-${index}`"
|
:key="`platform-${index}`"
|
||||||
@@ -17,13 +17,13 @@
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
class="share-link"
|
class="share-link"
|
||||||
>
|
>
|
||||||
<SmartIcon :name="platform.icon" class="h-6 w-6" />
|
<SmartIcon :name="platform.icon" class="w-6 h-6" />
|
||||||
<span class="mt-3">
|
<span class="mt-3">
|
||||||
{{ platform.name }}
|
{{ platform.name }}
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<button class="share-link" @click="copyAppLink">
|
<button class="share-link" @click="copyAppLink">
|
||||||
<SmartIcon class="h-6 text-xl w-6" :name="copyIcon" />
|
<SmartIcon class="w-6 h-6 text-xl" :name="copyIcon" />
|
||||||
<span class="mt-3">
|
<span class="mt-3">
|
||||||
{{ t("app.copy") }}
|
{{ t("app.copy") }}
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -4,14 +4,15 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex
|
sticky
|
||||||
p-2
|
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
sticky
|
|
||||||
justify-between
|
justify-between
|
||||||
|
p-2
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<h3 class="ml-4 heading">{{ t("app.shortcuts") }}</h3>
|
<h3 class="ml-4 heading">{{ t("app.shortcuts") }}</h3>
|
||||||
@@ -19,21 +20,22 @@
|
|||||||
<ButtonSecondary svg="x" class="rounded" @click.native="close()" />
|
<ButtonSecondary svg="x" class="rounded" @click.native="close()" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-primary border-b border-dividerLight">
|
<div class="border-b bg-primary border-dividerLight">
|
||||||
<div class="flex flex-col my-4 mx-6">
|
<div class="flex flex-col mx-6 my-4">
|
||||||
<input
|
<input
|
||||||
v-model="filterText"
|
v-model="filterText"
|
||||||
type="search"
|
type="search"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
class="
|
class="
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-dividerLight
|
border-dividerLight
|
||||||
rounded
|
focus-visible:border-divider
|
||||||
flex
|
flex
|
||||||
w-full
|
w-full
|
||||||
py-2
|
|
||||||
px-4
|
px-4
|
||||||
focus-visible:border-divider
|
py-2
|
||||||
|
border
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
:placeholder="`${t('action.search')}`"
|
:placeholder="`${t('action.search')}`"
|
||||||
/>
|
/>
|
||||||
@@ -42,16 +44,18 @@
|
|||||||
<div
|
<div
|
||||||
v-if="filterText"
|
v-if="filterText"
|
||||||
class="
|
class="
|
||||||
divide-y divide-dividerLight
|
flex flex-col
|
||||||
flex flex-col flex-1
|
divide-dividerLight
|
||||||
overflow-auto
|
|
||||||
hide-scrollbar
|
hide-scrollbar
|
||||||
|
flex-1
|
||||||
|
overflow-auto
|
||||||
|
divide-y
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-for="(map, mapIndex) in searchResults"
|
v-for="(map, mapIndex) in searchResults"
|
||||||
:key="`map-${mapIndex}`"
|
:key="`map-${mapIndex}`"
|
||||||
class="space-y-4 py-4 px-6"
|
class="px-6 py-4 space-y-4"
|
||||||
>
|
>
|
||||||
<h1 class="font-semibold text-secondaryDark">
|
<h1 class="font-semibold text-secondaryDark">
|
||||||
{{ t(map.item.section) }}
|
{{ t(map.item.section) }}
|
||||||
@@ -65,14 +69,15 @@
|
|||||||
<div
|
<div
|
||||||
v-if="searchResults.length === 0"
|
v-if="searchResults.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">manage_search</i>
|
<i class="pb-2 opacity-75 material-icons">manage_search</i>
|
||||||
<span class="text-center">
|
<span class="text-center">
|
||||||
{{ t("state.nothing_found") }} "{{ filterText }}"
|
{{ t("state.nothing_found") }} "{{ filterText }}"
|
||||||
</span>
|
</span>
|
||||||
@@ -81,16 +86,18 @@
|
|||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="
|
class="
|
||||||
divide-y divide-dividerLight
|
flex flex-col
|
||||||
flex flex-col flex-1
|
divide-dividerLight
|
||||||
overflow-auto
|
|
||||||
hide-scrollbar
|
hide-scrollbar
|
||||||
|
flex-1
|
||||||
|
overflow-auto
|
||||||
|
divide-y
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-for="(map, mapIndex) in mappings"
|
v-for="(map, mapIndex) in mappings"
|
||||||
:key="`map-${mapIndex}`"
|
:key="`map-${mapIndex}`"
|
||||||
class="space-y-4 py-4 px-6"
|
class="px-6 py-4 space-y-4"
|
||||||
>
|
>
|
||||||
<h1 class="font-semibold text-secondaryDark">
|
<h1 class="font-semibold text-secondaryDark">
|
||||||
{{ t(map.section) }}
|
{{ t(map.section) }}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<aside class="flex h-full justify-between md:flex-col">
|
<aside class="md:flex-col flex justify-between h-full">
|
||||||
<nav class="flex flex-nowrap md:flex-col flex-1 md:flex-none">
|
<nav class="flex-nowrap md:flex-col md:flex-none flex flex-1">
|
||||||
<NuxtLink
|
<NuxtLink
|
||||||
v-for="(navigation, index) in primaryNavigation"
|
v-for="(navigation, index) in primaryNavigation"
|
||||||
:key="`navigation-${index}`"
|
:key="`navigation-${index}`"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<transition v-if="show" name="fade" appear>
|
<transition v-if="show" name="fade" appear>
|
||||||
<div class="inset-0 transition-opacity z-20 fixed" @keydown.esc="close()">
|
<div class="fixed inset-0 z-20 transition-opacity" @keydown.esc="close()">
|
||||||
<div
|
<div
|
||||||
class="bg-primaryLight opacity-90 inset-0 absolute"
|
class="absolute inset-0 bg-primaryLight opacity-90"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
@click="close()"
|
@click="close()"
|
||||||
></div>
|
></div>
|
||||||
@@ -11,20 +11,21 @@
|
|||||||
</transition>
|
</transition>
|
||||||
<aside
|
<aside
|
||||||
class="
|
class="
|
||||||
|
flex
|
||||||
bg-primary
|
bg-primary
|
||||||
flex flex-col
|
w-96
|
||||||
|
fixed
|
||||||
|
top-0
|
||||||
|
right-0
|
||||||
|
z-30
|
||||||
|
flex-col
|
||||||
h-full
|
h-full
|
||||||
max-w-full
|
max-w-full
|
||||||
transform
|
|
||||||
transition
|
|
||||||
top-0
|
|
||||||
ease-in-out
|
|
||||||
right-0
|
|
||||||
w-96
|
|
||||||
z-30
|
|
||||||
duration-300
|
|
||||||
fixed
|
|
||||||
overflow-auto
|
overflow-auto
|
||||||
|
transition
|
||||||
|
duration-300
|
||||||
|
ease-in-out
|
||||||
|
transform
|
||||||
"
|
"
|
||||||
:class="show ? 'shadow-xl translate-x-0' : 'translate-x-full'"
|
:class="show ? 'shadow-xl translate-x-0' : 'translate-x-full'"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4,14 +4,14 @@
|
|||||||
:exact="exact"
|
:exact="exact"
|
||||||
:blank="blank"
|
:blank="blank"
|
||||||
class="
|
class="
|
||||||
font-bold
|
focus:outline-none
|
||||||
py-2
|
focus-visible:bg-accentDark
|
||||||
transition
|
|
||||||
inline-flex
|
inline-flex
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
focus:outline-none
|
py-2
|
||||||
focus-visible:bg-accentDark
|
font-bold
|
||||||
|
transition
|
||||||
"
|
"
|
||||||
:class="[
|
:class="[
|
||||||
color
|
color
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
<kbd
|
<kbd
|
||||||
v-for="(key, index) in shortcut"
|
v-for="(key, index) in shortcut"
|
||||||
:key="`key-${index}`"
|
:key="`key-${index}`"
|
||||||
class="bg-accentLight rounded ml-1 px-1 inline-flex"
|
class="inline-flex px-1 ml-1 rounded bg-accentLight"
|
||||||
>
|
>
|
||||||
{{ key }}
|
{{ key }}
|
||||||
</kbd>
|
</kbd>
|
||||||
|
|||||||
@@ -4,16 +4,16 @@
|
|||||||
:exact="exact"
|
:exact="exact"
|
||||||
:blank="blank"
|
:blank="blank"
|
||||||
class="
|
class="
|
||||||
font-semibold
|
|
||||||
py-2
|
|
||||||
transition
|
|
||||||
inline-flex
|
|
||||||
items-center
|
|
||||||
justify-center
|
|
||||||
whitespace-nowrap
|
whitespace-nowrap
|
||||||
hover:bg-primaryDark
|
hover:bg-primaryDark
|
||||||
focus:outline-none
|
focus:outline-none
|
||||||
focus-visible:bg-primaryDark
|
focus-visible:bg-primaryDark
|
||||||
|
inline-flex
|
||||||
|
items-center
|
||||||
|
justify-center
|
||||||
|
py-2
|
||||||
|
font-semibold
|
||||||
|
transition
|
||||||
"
|
"
|
||||||
:class="[
|
:class="[
|
||||||
color
|
color
|
||||||
@@ -58,11 +58,11 @@
|
|||||||
:key="`key-${index}`"
|
:key="`key-${index}`"
|
||||||
class="
|
class="
|
||||||
bg-dividerLight
|
bg-dividerLight
|
||||||
rounded
|
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
ml-1
|
|
||||||
px-1
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
px-1
|
||||||
|
ml-1
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ key }}
|
{{ key }}
|
||||||
|
|||||||
@@ -19,16 +19,17 @@
|
|||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
autofocus
|
autofocus
|
||||||
class="
|
class="
|
||||||
bg-transparent
|
border-dividerLight
|
||||||
border-t border-dividerLight
|
|
||||||
cursor-pointer
|
|
||||||
flex
|
|
||||||
font-semibold
|
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
appearance-none
|
|
||||||
hover:bg-primaryDark
|
hover:bg-primaryDark
|
||||||
|
flex
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
font-semibold
|
||||||
|
bg-transparent
|
||||||
|
border-t
|
||||||
|
appearance-none
|
||||||
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@change="updateSelectedTeam(myTeams[$event.target.value])"
|
@change="updateSelectedTeam(myTeams[$event.target.value])"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
>
|
>
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="flex flex-col px-2">
|
<div class="flex flex-col px-2">
|
||||||
<div class="flex relative">
|
<div class="relative flex">
|
||||||
<input
|
<input
|
||||||
id="selectLabelSaveReq"
|
id="selectLabelSaveReq"
|
||||||
v-model="requestName"
|
v-model="requestName"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
@dragend="dragging = false"
|
@dragend="dragging = false"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-4 justify-center items-center"
|
class="flex items-center justify-center px-4 cursor-pointer"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
@@ -21,13 +21,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
@@ -150,23 +151,25 @@
|
|||||||
collection.folders.length === 0 && collection.requests.length === 0
|
collection.folders.length === 0 && collection.requests.length === 0
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.collection')"
|
:alt="$t('empty.collection')"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
@dragend="dragging = false"
|
@dragend="dragging = false"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-4 justify-center items-center"
|
class="flex items-center justify-center px-4 cursor-pointer"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
@@ -21,13 +21,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
@@ -149,23 +150,25 @@
|
|||||||
folder.requests.length === 0
|
folder.requests.length === 0
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.folder')"
|
:alt="$t('empty.folder')"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -10,13 +10,13 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
|
||||||
flex
|
flex
|
||||||
px-2
|
|
||||||
w-16
|
|
||||||
justify-center
|
|
||||||
items-center
|
items-center
|
||||||
|
justify-center
|
||||||
|
w-16
|
||||||
|
px-2
|
||||||
truncate
|
truncate
|
||||||
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="!doc ? selectRequest() : {}"
|
@click="!doc ? selectRequest() : {}"
|
||||||
>
|
>
|
||||||
@@ -28,13 +28,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="!doc ? selectRequest() : {}"
|
@click="!doc ? selectRequest() : {}"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -5,12 +5,15 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
divide-y divide-dividerLight
|
flex
|
||||||
border-b border-dividerLight
|
divide-dividerLight
|
||||||
flex flex-col
|
border-dividerLight
|
||||||
|
sticky
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
sticky
|
flex-col
|
||||||
|
border-b
|
||||||
|
divide-y
|
||||||
"
|
"
|
||||||
:class="{ 'bg-primary': !savingMode }"
|
:class="{ 'bg-primary': !savingMode }"
|
||||||
>
|
>
|
||||||
@@ -20,9 +23,9 @@
|
|||||||
type="search"
|
type="search"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
:placeholder="$t('action.search')"
|
:placeholder="$t('action.search')"
|
||||||
class="bg-transparent flex w-full py-2 px-4"
|
class="flex w-full px-4 py-2 bg-transparent"
|
||||||
/>
|
/>
|
||||||
<div class="flex flex-1 justify-between">
|
<div class="flex justify-between flex-1">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
svg="plus"
|
svg="plus"
|
||||||
:label="$t('action.new')"
|
:label="$t('action.new')"
|
||||||
@@ -69,15 +72,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="collections.length === 0"
|
v-if="collections.length === 0"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="$t('empty.collections')"
|
:alt="$t('empty.collections')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ $t("empty.collections") }}
|
{{ $t("empty.collections") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
@@ -88,9 +91,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="!(filteredCollections.length !== 0 || collections.length === 0)"
|
v-if="!(filteredCollections.length !== 0 || collections.length === 0)"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">manage_search</i>
|
<i class="pb-2 opacity-75 material-icons">manage_search</i>
|
||||||
<span class="text-center">
|
<span class="text-center">
|
||||||
{{ $t("state.nothing_found") }} "{{ filterText }}"
|
{{ $t("state.nothing_found") }} "{{ filterText }}"
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -5,14 +5,17 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
divide-y divide-dividerLight
|
flex
|
||||||
|
divide-dividerLight
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
rounded-t
|
sticky
|
||||||
flex flex-col
|
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
sticky
|
flex-col
|
||||||
|
border-b
|
||||||
|
divide-y
|
||||||
|
rounded-t
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div v-if="!saveRequest" class="search-wrappe">
|
<div v-if="!saveRequest" class="search-wrappe">
|
||||||
@@ -21,7 +24,7 @@
|
|||||||
type="search"
|
type="search"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
:placeholder="$t('action.search')"
|
:placeholder="$t('action.search')"
|
||||||
class="bg-transparent flex w-full py-2 pr-2 pl-4"
|
class="flex w-full py-2 pl-4 pr-2 bg-transparent"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<CollectionsChooseType
|
<CollectionsChooseType
|
||||||
@@ -31,7 +34,7 @@
|
|||||||
@update-collection-type="updateCollectionType"
|
@update-collection-type="updateCollectionType"
|
||||||
@update-selected-team="updateSelectedTeam"
|
@update-selected-team="updateSelectedTeam"
|
||||||
/>
|
/>
|
||||||
<div class="flex flex-1 justify-between">
|
<div class="flex justify-between flex-1">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
v-if="
|
v-if="
|
||||||
collectionsType.type == 'team-collections' &&
|
collectionsType.type == 'team-collections' &&
|
||||||
@@ -107,15 +110,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="filteredCollections.length === 0 && filterText.length === 0"
|
v-if="filteredCollections.length === 0 && filterText.length === 0"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="$t('empty.collections')"
|
:alt="$t('empty.collections')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ $t("empty.collections") }}
|
{{ $t("empty.collections") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
@@ -140,9 +143,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="filterText.length !== 0 && filteredCollections.length === 0"
|
v-if="filterText.length !== 0 && filteredCollections.length === 0"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">manage_search</i>
|
<i class="pb-2 opacity-75 material-icons">manage_search</i>
|
||||||
<span class="text-center">
|
<span class="text-center">
|
||||||
{{ $t("state.nothing_found") }} "{{ filterText }}"
|
{{ $t("state.nothing_found") }} "{{ filterText }}"
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
@dragend="dragging = false"
|
@dragend="dragging = false"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-4 justify-center items-center"
|
class="flex items-center justify-center px-4 cursor-pointer"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
@@ -21,13 +21,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
@@ -176,23 +177,25 @@
|
|||||||
collection.requests.length === 0)
|
collection.requests.length === 0)
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.collection')"
|
:alt="$t('empty.collection')"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
@dragend="dragging = false"
|
@dragend="dragging = false"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-4 justify-center items-center"
|
class="flex items-center justify-center px-4 cursor-pointer"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
@@ -21,13 +21,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
@@ -158,23 +159,25 @@
|
|||||||
folder.requests.length === 0
|
folder.requests.length === 0
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.folder')"
|
:alt="$t('empty.folder')"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -10,13 +10,13 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
|
||||||
flex
|
flex
|
||||||
px-2
|
|
||||||
w-16
|
|
||||||
justify-center
|
|
||||||
items-center
|
items-center
|
||||||
|
justify-center
|
||||||
|
w-16
|
||||||
|
px-2
|
||||||
truncate
|
truncate
|
||||||
|
cursor-pointer
|
||||||
"
|
"
|
||||||
:class="getRequestLabelColor(request.method)"
|
:class="getRequestLabelColor(request.method)"
|
||||||
@click="!doc ? selectRequest() : {}"
|
@click="!doc ? selectRequest() : {}"
|
||||||
@@ -33,14 +33,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
group-hover:text-secondaryDark
|
||||||
flex flex-1
|
flex
|
||||||
|
items-center
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
items-center
|
cursor-pointer
|
||||||
group-hover:text-secondaryDark
|
|
||||||
"
|
"
|
||||||
@click="!doc ? selectRequest() : {}"
|
@click="!doc ? selectRequest() : {}"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
<div class="flex items-center group">
|
<div class="flex items-center group">
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-4 justify-center items-center"
|
class="flex items-center justify-center px-4 cursor-pointer"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
@@ -13,13 +13,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
@@ -170,23 +171,25 @@
|
|||||||
collection.requests.length === 0)
|
collection.requests.length === 0)
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.collection')"
|
:alt="$t('empty.collection')"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
<div class="flex items-center group">
|
<div class="flex items-center group">
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-4 justify-center items-center"
|
class="flex items-center justify-center px-4 cursor-pointer"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
@@ -13,13 +13,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="toggleShowChildren()"
|
@click="toggleShowChildren()"
|
||||||
>
|
>
|
||||||
@@ -151,23 +152,25 @@
|
|||||||
(folder.requests == undefined || folder.requests.length === 0)
|
(folder.requests == undefined || folder.requests.length === 0)
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
:src="`/images/states/${$colorMode.value}/pack.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.folder')"
|
:alt="$t('empty.folder')"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
<div class="flex items-center group">
|
<div class="flex items-center group">
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
|
||||||
flex
|
flex
|
||||||
px-2
|
|
||||||
w-16
|
|
||||||
justify-center
|
|
||||||
items-center
|
items-center
|
||||||
|
justify-center
|
||||||
|
w-16
|
||||||
|
px-2
|
||||||
truncate
|
truncate
|
||||||
|
cursor-pointer
|
||||||
"
|
"
|
||||||
:class="getRequestLabelColor(request.method)"
|
:class="getRequestLabelColor(request.method)"
|
||||||
@click="!doc ? selectRequest() : {}"
|
@click="!doc ? selectRequest() : {}"
|
||||||
@@ -26,14 +26,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
group-hover:text-secondaryDark
|
||||||
flex flex-1
|
flex
|
||||||
|
items-center
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
items-center
|
cursor-pointer
|
||||||
group-hover:text-secondaryDark
|
|
||||||
"
|
"
|
||||||
@click="!doc ? selectRequest() : {}"
|
@click="!doc ? selectRequest() : {}"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
>
|
>
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="flex flex-col px-2">
|
<div class="flex flex-col px-2">
|
||||||
<div class="flex relative">
|
<div class="relative flex">
|
||||||
<input
|
<input
|
||||||
id="selectLabelEnvEdit"
|
id="selectLabelEnvEdit"
|
||||||
v-model="name"
|
v-model="name"
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
{{ $t("action.label") }}
|
{{ $t("action.label") }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-1 justify-between items-center">
|
<div class="flex items-center justify-between flex-1">
|
||||||
<label for="variableList" class="p-4">
|
<label for="variableList" class="p-4">
|
||||||
{{ $t("environment.variable_list") }}
|
{{ $t("environment.variable_list") }}
|
||||||
</label>
|
</label>
|
||||||
@@ -43,21 +43,21 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="divide-y divide-dividerLight border-divider border rounded">
|
<div class="border rounded divide-dividerLight border-divider divide-y">
|
||||||
<div
|
<div
|
||||||
v-for="(variable, index) in vars"
|
v-for="(variable, index) in vars"
|
||||||
:key="`variable-${index}`"
|
:key="`variable-${index}`"
|
||||||
class="divide-x divide-dividerLight flex"
|
class="flex divide-dividerLight divide-x"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
v-model="variable.key"
|
v-model="variable.key"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
:placeholder="`${$t('count.variable', { count: index + 1 })}`"
|
:placeholder="`${$t('count.variable', { count: index + 1 })}`"
|
||||||
:name="'param' + index"
|
:name="'param' + index"
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
v-model="variable.value"
|
v-model="variable.value"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
:placeholder="`${$t('count.value', { count: index + 1 })}`"
|
:placeholder="`${$t('count.value', { count: index + 1 })}`"
|
||||||
:name="'value' + index"
|
:name="'value' + index"
|
||||||
/>
|
/>
|
||||||
@@ -75,27 +75,29 @@
|
|||||||
<div
|
<div
|
||||||
v-if="vars.length === 0"
|
v-if="vars.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/blockchain.svg`"
|
:src="`/images/states/${$colorMode.value}/blockchain.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.environments')"
|
:alt="$t('empty.environments')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ $t("empty.environments") }}
|
{{ $t("empty.environments") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex items-center group">
|
<div class="flex items-center group">
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-4 justify-center items-center"
|
class="flex items-center justify-center px-4 cursor-pointer"
|
||||||
@click="$emit('edit-environment')"
|
@click="$emit('edit-environment')"
|
||||||
>
|
>
|
||||||
<SmartIcon class="svg-icons" name="layers" />
|
<SmartIcon class="svg-icons" name="layers" />
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="$emit('edit-environment')"
|
@click="$emit('edit-environment')"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,27 +1,28 @@
|
|||||||
<template>
|
<template>
|
||||||
<AppSection :label="`${$t('environment.title')}`">
|
<AppSection :label="`${$t('environment.title')}`">
|
||||||
<div class="bg-primary rounded-t flex flex-col top-0 z-10 sticky">
|
<div class="sticky top-0 z-10 flex flex-col rounded-t bg-primary">
|
||||||
<tippy ref="options" interactive trigger="click" theme="popover" arrow>
|
<tippy ref="options" interactive trigger="click" theme="popover" arrow>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<span
|
<span
|
||||||
v-tippy="{ theme: 'tooltip' }"
|
v-tippy="{ theme: 'tooltip' }"
|
||||||
:title="`${$t('environment.select')}`"
|
:title="`${$t('environment.select')}`"
|
||||||
class="
|
class="
|
||||||
bg-transparent
|
border-dividerLight
|
||||||
border-b border-dividerLight
|
|
||||||
flex-1
|
|
||||||
select-wrapper
|
select-wrapper
|
||||||
|
flex-1
|
||||||
|
bg-transparent
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
v-if="selectedEnvironmentIndex !== -1"
|
v-if="selectedEnvironmentIndex !== -1"
|
||||||
:label="environments[selectedEnvironmentIndex].name"
|
:label="environments[selectedEnvironmentIndex].name"
|
||||||
class="rounded-none flex-1 pr-8"
|
class="flex-1 pr-8 rounded-none"
|
||||||
/>
|
/>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
v-else
|
v-else
|
||||||
:label="`${$t('environment.no_environment')}`"
|
:label="`${$t('environment.no_environment')}`"
|
||||||
class="rounded-none flex-1 pr-8"
|
class="flex-1 pr-8 rounded-none"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -50,7 +51,7 @@
|
|||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</tippy>
|
</tippy>
|
||||||
<div class="border-b border-dividerLight flex flex-1 justify-between">
|
<div class="flex justify-between flex-1 border-b border-dividerLight">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
svg="plus"
|
svg="plus"
|
||||||
:label="`${$t('action.new')}`"
|
:label="`${$t('action.new')}`"
|
||||||
@@ -104,15 +105,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="environments.length === 0"
|
v-if="environments.length === 0"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/blockchain.svg`"
|
:src="`/images/states/${$colorMode.value}/blockchain.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="$t('empty.environments')"
|
:alt="$t('empty.environments')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ $t("empty.environments") }}
|
{{ $t("empty.environments") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
@close="hideModal"
|
@close="hideModal"
|
||||||
>
|
>
|
||||||
<template #body>
|
<template #body>
|
||||||
<div v-if="mode === 'sign-in'" class="flex flex-col space-y-2 px-2">
|
<div v-if="mode === 'sign-in'" class="flex flex-col px-2 space-y-2">
|
||||||
<SmartItem
|
<SmartItem
|
||||||
:loading="signingInWithGitHub"
|
:loading="signingInWithGitHub"
|
||||||
svg="auth/github"
|
svg="auth/github"
|
||||||
@@ -56,9 +56,9 @@
|
|||||||
/>
|
/>
|
||||||
</form>
|
</form>
|
||||||
<div v-if="mode === 'email-sent'" class="flex flex-col px-4">
|
<div v-if="mode === 'email-sent'" class="flex flex-col px-4">
|
||||||
<div class="flex flex-col max-w-md justify-center items-center">
|
<div class="flex flex-col items-center justify-center max-w-md">
|
||||||
<SmartIcon class="h-6 text-accent w-6" name="inbox" />
|
<SmartIcon class="text-accent w-6 h-6" name="inbox" />
|
||||||
<h3 class="my-2 text-center text-lg">
|
<h3 class="my-2 text-lg text-center">
|
||||||
{{ $t("auth.we_sent_magic_link") }}
|
{{ $t("auth.we_sent_magic_link") }}
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-center">
|
<p class="text-center">
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p
|
<p
|
||||||
v-if="mode === 'email-sent'"
|
v-if="mode === 'email-sent'"
|
||||||
class="flex flex-1 text-secondaryLight justify-between"
|
class="text-secondaryLight flex justify-between flex-1"
|
||||||
>
|
>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
class="link"
|
class="link"
|
||||||
|
|||||||
@@ -21,28 +21,28 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="gqlField.description"
|
v-if="gqlField.description"
|
||||||
class="text-secondaryLight py-2 field-desc"
|
class="py-2 text-secondaryLight field-desc"
|
||||||
>
|
>
|
||||||
{{ gqlField.description }}
|
{{ gqlField.description }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="gqlField.isDeprecated"
|
v-if="gqlField.isDeprecated"
|
||||||
class="
|
class="
|
||||||
rounded
|
field-deprecated
|
||||||
bg-yellow-200
|
inline-block
|
||||||
|
px-2
|
||||||
|
py-1
|
||||||
my-1
|
my-1
|
||||||
text-black
|
text-black
|
||||||
py-1
|
bg-yellow-200
|
||||||
px-2
|
rounded
|
||||||
inline-block
|
|
||||||
field-deprecated
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ $t("state.deprecated") }}
|
{{ $t("state.deprecated") }}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="fieldArgs.length > 0">
|
<div v-if="fieldArgs.length > 0">
|
||||||
<h5 class="my-2">Arguments:</h5>
|
<h5 class="my-2">Arguments:</h5>
|
||||||
<div class="border-divider border-l-2 pl-4">
|
<div class="pl-4 border-l-2 border-divider">
|
||||||
<div v-for="(field, index) in fieldArgs" :key="`field-${index}`">
|
<div v-for="(field, index) in fieldArgs" :key="`field-${index}`">
|
||||||
<span>
|
<span>
|
||||||
{{ field.name }}:
|
{{ field.name }}:
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<div
|
<div
|
||||||
v-if="field.description"
|
v-if="field.description"
|
||||||
class="text-secondaryLight py-2 field-desc"
|
class="py-2 text-secondaryLight field-desc"
|
||||||
>
|
>
|
||||||
{{ field.description }}
|
{{ field.description }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="bg-primary flex p-4 top-0 z-10 sticky">
|
<div class="sticky top-0 z-10 flex p-4 bg-primary">
|
||||||
<div class="space-x-2 flex-1 inline-flex">
|
<div class="inline-flex flex-1 space-x-2">
|
||||||
<input
|
<input
|
||||||
id="url"
|
id="url"
|
||||||
v-model="url"
|
v-model="url"
|
||||||
@@ -9,14 +9,15 @@
|
|||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
class="
|
class="
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent focus-visible:border-dividerDark
|
focus-visible:bg-transparent focus-visible:border-dividerDark
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
border
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
:placeholder="`${t('request.url')}`"
|
:placeholder="`${t('request.url')}`"
|
||||||
:disabled="connected"
|
:disabled="connected"
|
||||||
|
|||||||
@@ -21,15 +21,17 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
gqlRunQuery
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
gqlRunQuery
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -66,14 +68,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -104,14 +108,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -153,9 +159,11 @@
|
|||||||
v-for="(header, index) in headers"
|
v-for="(header, index) in headers"
|
||||||
:key="`header-${String(index)}`"
|
:key="`header-${String(index)}`"
|
||||||
class="
|
class="
|
||||||
divide-x divide-dividerLight
|
divide-dividerLight
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex
|
flex
|
||||||
|
border-b
|
||||||
|
divide-x
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<SmartAutoComplete
|
<SmartAutoComplete
|
||||||
@@ -182,7 +190,7 @@
|
|||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
:placeholder="`${t('count.value', { count: index + 1 })}`"
|
:placeholder="`${t('count.value', { count: index + 1 })}`"
|
||||||
:name="`value ${String(index)}`"
|
:name="`value ${String(index)}`"
|
||||||
:value="header.value"
|
:value="header.value"
|
||||||
@@ -235,27 +243,29 @@
|
|||||||
<div
|
<div
|
||||||
v-if="headers.length === 0"
|
v-if="headers.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_category.svg`"
|
:src="`/images/states/${$colorMode.value}/add_category.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.headers')}`"
|
:alt="`${t('empty.headers')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ t("empty.headers") }}
|
{{ t("empty.headers") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<AppSection ref="response" label="response">
|
<AppSection ref="response" label="response">
|
||||||
<div
|
<div
|
||||||
v-if="responseString === 'loading'"
|
v-if="responseString === 'loading'"
|
||||||
class="flex flex-col p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4"
|
||||||
>
|
>
|
||||||
<SmartSpinner class="my-4" />
|
<SmartSpinner class="my-4" />
|
||||||
<span class="text-secondaryLight">{{ t("state.loading") }}</span>
|
<span class="text-secondaryLight">{{ t("state.loading") }}</span>
|
||||||
@@ -11,14 +11,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
sticky
|
||||||
pl-4
|
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
sticky
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -53,19 +55,21 @@
|
|||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="
|
class="
|
||||||
flex flex-col flex-1
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
flex-1
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="flex space-x-2 pb-4 my-4">
|
<div class="flex pb-4 my-4 space-x-2">
|
||||||
<div class="flex flex-col space-y-4 text-right items-end">
|
<div class="flex flex-col items-end text-right space-y-4">
|
||||||
<span class="flex flex-1 items-center">
|
<span class="flex items-center flex-1">
|
||||||
{{ t("shortcut.general.command_menu") }}
|
{{ t("shortcut.general.command_menu") }}
|
||||||
</span>
|
</span>
|
||||||
<span class="flex flex-1 items-center">
|
<span class="flex items-center flex-1">
|
||||||
{{ t("shortcut.general.help_menu") }}
|
{{ t("shortcut.general.help_menu") }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -35,38 +35,40 @@
|
|||||||
graphqlTypes.length === 0
|
graphqlTypes.length === 0
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_comment.svg`"
|
:src="`/images/states/${$colorMode.value}/add_comment.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.documentation')}`"
|
:alt="`${t('empty.documentation')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center mb-4">
|
<span class="mb-4 text-center">
|
||||||
{{ t("empty.documentation") }}
|
{{ t("empty.documentation") }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div class="bg-primary flex top-0 z-10 sticky">
|
<div class="sticky top-0 z-10 flex bg-primary">
|
||||||
<input
|
<input
|
||||||
v-model="graphqlFieldsFilterText"
|
v-model="graphqlFieldsFilterText"
|
||||||
type="search"
|
type="search"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
:placeholder="`${t('action.search')}`"
|
:placeholder="`${t('action.search')}`"
|
||||||
class="bg-transparent flex w-full p-4 py-2"
|
class="flex w-full p-4 py-2 bg-transparent"
|
||||||
/>
|
/>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
@@ -88,7 +90,7 @@
|
|||||||
:id="'queries'"
|
:id="'queries'"
|
||||||
:label="`${t('tab.queries')}`"
|
:label="`${t('tab.queries')}`"
|
||||||
:selected="true"
|
:selected="true"
|
||||||
class="divide-y divide-dividerLight"
|
class="divide-dividerLight divide-y"
|
||||||
>
|
>
|
||||||
<GraphqlField
|
<GraphqlField
|
||||||
v-for="(field, index) in filteredQueryFields"
|
v-for="(field, index) in filteredQueryFields"
|
||||||
@@ -102,7 +104,7 @@
|
|||||||
v-if="mutationFields.length > 0"
|
v-if="mutationFields.length > 0"
|
||||||
:id="'mutations'"
|
:id="'mutations'"
|
||||||
:label="`${t('graphql.mutations')}`"
|
:label="`${t('graphql.mutations')}`"
|
||||||
class="divide-y divide-dividerLight"
|
class="divide-dividerLight divide-y"
|
||||||
>
|
>
|
||||||
<GraphqlField
|
<GraphqlField
|
||||||
v-for="(field, index) in filteredMutationFields"
|
v-for="(field, index) in filteredMutationFields"
|
||||||
@@ -116,7 +118,7 @@
|
|||||||
v-if="subscriptionFields.length > 0"
|
v-if="subscriptionFields.length > 0"
|
||||||
:id="'subscriptions'"
|
:id="'subscriptions'"
|
||||||
:label="`${t('graphql.subscriptions')}`"
|
:label="`${t('graphql.subscriptions')}`"
|
||||||
class="divide-y divide-dividerLight"
|
class="divide-dividerLight divide-y"
|
||||||
>
|
>
|
||||||
<GraphqlField
|
<GraphqlField
|
||||||
v-for="(field, index) in filteredSubscriptionFields"
|
v-for="(field, index) in filteredSubscriptionFields"
|
||||||
@@ -131,7 +133,7 @@
|
|||||||
:id="'types'"
|
:id="'types'"
|
||||||
ref="typesTab"
|
ref="typesTab"
|
||||||
:label="`${t('tab.types')}`"
|
:label="`${t('tab.types')}`"
|
||||||
class="divide-y divide-dividerLight"
|
class="divide-dividerLight divide-y"
|
||||||
>
|
>
|
||||||
<GraphqlType
|
<GraphqlType
|
||||||
v-for="(type, index) in filteredGraphqlTypes"
|
v-for="(type, index) in filteredGraphqlTypes"
|
||||||
@@ -155,14 +157,16 @@
|
|||||||
v-if="schemaString"
|
v-if="schemaString"
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
flex flex-1
|
border-dividerLight
|
||||||
top-0
|
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
top-0
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
border-b border-dividerLight
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -203,27 +207,29 @@
|
|||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/blockchain.svg`"
|
:src="`/images/states/${$colorMode.value}/blockchain.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.schema')}`"
|
:alt="`${t('empty.schema')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center mb-4">
|
<span class="mb-4 text-center">
|
||||||
{{ t("empty.schema") }}
|
{{ t("empty.schema") }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<span v-else-if="isEnum" class="text-accent">enum </span>
|
<span v-else-if="isEnum" class="text-accent">enum </span>
|
||||||
{{ gqlType.name }}
|
{{ gqlType.name }}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="gqlType.description" class="text-secondaryLight py-2 type-desc">
|
<div v-if="gqlType.description" class="py-2 text-secondaryLight type-desc">
|
||||||
{{ gqlType.description }}
|
{{ gqlType.description }}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="interfaces.length > 0">
|
<div v-if="interfaces.length > 0">
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
<GraphqlTypeLink
|
<GraphqlTypeLink
|
||||||
:gql-type="gqlInterface"
|
:gql-type="gqlInterface"
|
||||||
:jump-type-callback="jumpTypeCallback"
|
:jump-type-callback="jumpTypeCallback"
|
||||||
class="border-divider border-l-2 pl-4"
|
class="pl-4 border-l-2 border-divider"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
:key="`child-${index}`"
|
:key="`child-${index}`"
|
||||||
:gql-type="child"
|
:gql-type="child"
|
||||||
:jump-type-callback="jumpTypeCallback"
|
:jump-type-callback="jumpTypeCallback"
|
||||||
class="border-divider border-l-2 pl-4"
|
class="pl-4 border-l-2 border-divider"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="gqlType.getFields">
|
<div v-if="gqlType.getFields">
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<GraphqlField
|
<GraphqlField
|
||||||
v-for="(field, index) in gqlType.getFields()"
|
v-for="(field, index) in gqlType.getFields()"
|
||||||
:key="`field-${index}`"
|
:key="`field-${index}`"
|
||||||
class="border-divider border-l-2 pl-4"
|
class="pl-4 border-l-2 border-divider"
|
||||||
:gql-field="field"
|
:gql-field="field"
|
||||||
:is-highlighted="isFieldHighlighted({ field })"
|
:is-highlighted="isFieldHighlighted({ field })"
|
||||||
:jump-type-callback="jumpTypeCallback"
|
:jump-type-callback="jumpTypeCallback"
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(value, index) in gqlType.getValues()"
|
v-for="(value, index) in gqlType.getValues()"
|
||||||
:key="`value-${index}`"
|
:key="`value-${index}`"
|
||||||
class="border-divider border-l-2 pl-4"
|
class="pl-4 border-l-2 border-divider"
|
||||||
v-text="value.name"
|
v-text="value.name"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,14 +3,15 @@
|
|||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
|
||||||
pl-4
|
pl-4
|
||||||
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
data-testid="restore_history_entry"
|
data-testid="restore_history_entry"
|
||||||
@click="useEntry"
|
@click="useEntry"
|
||||||
@@ -49,7 +50,7 @@
|
|||||||
<span
|
<span
|
||||||
v-for="(line, index) in query"
|
v-for="(line, index) in query"
|
||||||
:key="`line-${index}`"
|
:key="`line-${index}`"
|
||||||
class="cursor-pointer text-secondaryLight px-4 whitespace-pre truncate"
|
class="px-4 truncate whitespace-pre cursor-pointer text-secondaryLight"
|
||||||
data-testid="restore_history_entry"
|
data-testid="restore_history_entry"
|
||||||
@click="useEntry"
|
@click="useEntry"
|
||||||
>{{ line }}</span
|
>{{ line }}</span
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<AppSection label="history">
|
<AppSection label="history">
|
||||||
<div class="bg-primary border-b border-dividerLight flex top-0 z-10 sticky">
|
<div class="sticky top-0 z-10 flex border-b bg-primary border-dividerLight">
|
||||||
<input
|
<input
|
||||||
v-model="filterText"
|
v-model="filterText"
|
||||||
type="search"
|
type="search"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
class="bg-transparent flex w-full p-4 py-2"
|
class="flex w-full p-4 py-2 bg-transparent"
|
||||||
:placeholder="`${$t('action.search')}`"
|
:placeholder="`${$t('action.search')}`"
|
||||||
/>
|
/>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
@@ -49,24 +49,24 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="!(filteredHistory.length !== 0 || history.length === 0)"
|
v-if="!(filteredHistory.length !== 0 || history.length === 0)"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">manage_search</i>
|
<i class="pb-2 opacity-75 material-icons">manage_search</i>
|
||||||
<span class="text-center">
|
<span class="text-center">
|
||||||
{{ $t("state.nothing_found") }} "{{ filterText }}"
|
{{ $t("state.nothing_found") }} "{{ filterText }}"
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="history.length === 0"
|
v-if="history.length === 0"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/history.svg`"
|
:src="`/images/states/${$colorMode.value}/history.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="$t('empty.history')"
|
:alt="$t('empty.history')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center mb-4">
|
<span class="mb-4 text-center">
|
||||||
{{ $t("empty.history") }}
|
{{ $t("empty.history") }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex items-center group">
|
<div class="flex items-center group">
|
||||||
<span
|
<span
|
||||||
class="cursor-pointer flex px-2 w-16 justify-center items-center truncate"
|
class="flex items-center justify-center w-16 px-2 truncate cursor-pointer"
|
||||||
:class="entryStatus.className"
|
:class="entryStatus.className"
|
||||||
data-testid="restore_history_entry"
|
data-testid="restore_history_entry"
|
||||||
:title="`${duration}`"
|
:title="`${duration}`"
|
||||||
@@ -11,13 +11,14 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
flex
|
||||||
flex flex-1
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
min-w-0
|
min-w-0
|
||||||
py-2
|
py-2
|
||||||
pr-2
|
pr-2
|
||||||
transition
|
transition
|
||||||
group-hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
data-testid="restore_history_entry"
|
data-testid="restore_history_entry"
|
||||||
:title="`${duration}`"
|
:title="`${duration}`"
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="flex items-center">
|
<span class="flex items-center">
|
||||||
@@ -27,7 +29,7 @@
|
|||||||
<template #trigger>
|
<template #trigger>
|
||||||
<span class="select-wrapper">
|
<span class="select-wrapper">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
class="rounded-none ml-2 pr-8"
|
class="pr-8 ml-2 rounded-none"
|
||||||
:label="authName"
|
:label="authName"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@@ -93,15 +95,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="authType === 'none'"
|
v-if="authType === 'none'"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/login.svg`"
|
:src="`/images/states/${$colorMode.value}/login.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="$t('empty.authorization')"
|
:alt="$t('empty.authorization')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ $t("empty.authorization") }}
|
{{ $t("empty.authorization") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
@@ -114,16 +116,16 @@
|
|||||||
class="mb-4"
|
class="mb-4"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="authType === 'basic'" class="border-b border-dividerLight flex">
|
<div v-if="authType === 'basic'" class="flex border-b border-dividerLight">
|
||||||
<div class="border-r border-dividerLight w-2/3">
|
<div class="w-2/3 border-r border-dividerLight">
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<SmartEnvInput
|
<SmartEnvInput
|
||||||
v-model="basicUsername"
|
v-model="basicUsername"
|
||||||
:placeholder="$t('authorization.username')"
|
:placeholder="$t('authorization.username')"
|
||||||
styles="bg-transparent flex flex-1 py-1 px-4"
|
styles="bg-transparent flex flex-1 py-1 px-4"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<SmartEnvInput
|
<SmartEnvInput
|
||||||
v-model="basicPassword"
|
v-model="basicPassword"
|
||||||
:placeholder="$t('authorization.password')"
|
:placeholder="$t('authorization.password')"
|
||||||
@@ -134,18 +136,18 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
h-full
|
|
||||||
top-upperTertiaryStickyFold
|
top-upperTertiaryStickyFold
|
||||||
min-w-46
|
min-w-46
|
||||||
max-w-1/3
|
max-w-1/3
|
||||||
p-4
|
|
||||||
z-9
|
z-9
|
||||||
sticky
|
sticky
|
||||||
|
h-full
|
||||||
|
p-4
|
||||||
overflow-auto
|
overflow-auto
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="p-2">
|
<div class="p-2">
|
||||||
<div class="text-secondaryLight pb-2">
|
<div class="pb-2 text-secondaryLight">
|
||||||
{{ $t("helpers.authorization") }}
|
{{ $t("helpers.authorization") }}
|
||||||
</div>
|
</div>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
@@ -157,9 +159,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="authType === 'bearer'" class="border-b border-dividerLight flex">
|
<div v-if="authType === 'bearer'" class="flex border-b border-dividerLight">
|
||||||
<div class="border-r border-dividerLight w-2/3">
|
<div class="w-2/3 border-r border-dividerLight">
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<SmartEnvInput
|
<SmartEnvInput
|
||||||
v-model="bearerToken"
|
v-model="bearerToken"
|
||||||
placeholder="Token"
|
placeholder="Token"
|
||||||
@@ -170,18 +172,18 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
h-full
|
|
||||||
top-upperTertiaryStickyFold
|
top-upperTertiaryStickyFold
|
||||||
min-w-46
|
min-w-46
|
||||||
max-w-1/3
|
max-w-1/3
|
||||||
p-4
|
|
||||||
z-9
|
z-9
|
||||||
sticky
|
sticky
|
||||||
|
h-full
|
||||||
|
p-4
|
||||||
overflow-auto
|
overflow-auto
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="p-2">
|
<div class="p-2">
|
||||||
<div class="text-secondaryLight pb-2">
|
<div class="pb-2 text-secondaryLight">
|
||||||
{{ $t("helpers.authorization") }}
|
{{ $t("helpers.authorization") }}
|
||||||
</div>
|
</div>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
@@ -195,10 +197,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="authType === 'oauth-2'"
|
v-if="authType === 'oauth-2'"
|
||||||
class="border-b border-dividerLight flex"
|
class="flex border-b border-dividerLight"
|
||||||
>
|
>
|
||||||
<div class="border-r border-dividerLight w-2/3">
|
<div class="w-2/3 border-r border-dividerLight">
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<SmartEnvInput
|
<SmartEnvInput
|
||||||
v-model="oauth2Token"
|
v-model="oauth2Token"
|
||||||
placeholder="Token"
|
placeholder="Token"
|
||||||
@@ -210,18 +212,18 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
h-full
|
|
||||||
top-upperTertiaryStickyFold
|
top-upperTertiaryStickyFold
|
||||||
min-w-46
|
min-w-46
|
||||||
max-w-1/3
|
max-w-1/3
|
||||||
p-4
|
|
||||||
z-9
|
z-9
|
||||||
sticky
|
sticky
|
||||||
|
h-full
|
||||||
|
p-4
|
||||||
overflow-auto
|
overflow-auto
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="p-2">
|
<div class="p-2">
|
||||||
<div class="text-secondaryLight pb-2">
|
<div class="pb-2 text-secondaryLight">
|
||||||
{{ $t("helpers.authorization") }}
|
{{ $t("helpers.authorization") }}
|
||||||
</div>
|
</div>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="flex items-center">
|
<span class="flex items-center">
|
||||||
@@ -28,7 +30,7 @@
|
|||||||
<span class="select-wrapper">
|
<span class="select-wrapper">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
:label="contentType || $t('state.none').toLowerCase()"
|
:label="contentType || $t('state.none').toLowerCase()"
|
||||||
class="rounded-none ml-2 pr-8"
|
class="pr-8 ml-2 rounded-none"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -63,15 +65,15 @@
|
|||||||
<HttpRawBody v-else-if="contentType !== null" :content-type="contentType" />
|
<HttpRawBody v-else-if="contentType !== null" :content-type="contentType" />
|
||||||
<div
|
<div
|
||||||
v-if="contentType == null"
|
v-if="contentType == null"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/upload_single_file.svg`"
|
:src="`/images/states/${$colorMode.value}/upload_single_file.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="$t('empty.body')"
|
:alt="$t('empty.body')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ $t("empty.body") }}
|
{{ $t("empty.body") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperTertiaryStickyFold
|
top-upperTertiaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -41,7 +43,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(param, index) in bodyParams"
|
v-for="(param, index) in bodyParams"
|
||||||
:key="`param-${index}`"
|
:key="`param-${index}`"
|
||||||
class="divide-x divide-dividerLight border-b border-dividerLight flex"
|
class="flex border-b divide-dividerLight border-dividerLight divide-x"
|
||||||
>
|
>
|
||||||
<SmartEnvInput
|
<SmartEnvInput
|
||||||
v-model="param.key"
|
v-model="param.key"
|
||||||
@@ -63,7 +65,7 @@
|
|||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<div v-if="param.isFile" class="file-chips-container hide-scrollbar">
|
<div v-if="param.isFile" class="file-chips-container hide-scrollbar">
|
||||||
<div class="space-x-2 file-chips-wrapper">
|
<div class="file-chips-wrapper space-x-2">
|
||||||
<SmartDeletableChip
|
<SmartDeletableChip
|
||||||
v-for="(file, fileIndex) in param.value"
|
v-for="(file, fileIndex) in param.value"
|
||||||
:key="`param-${index}-file-${fileIndex}`"
|
:key="`param-${index}-file-${fileIndex}`"
|
||||||
@@ -151,15 +153,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="bodyParams.length === 0"
|
v-if="bodyParams.length === 0"
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/upload_single_file.svg`"
|
:src="`/images/states/${$colorMode.value}/upload_single_file.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="$t('empty.body')"
|
:alt="$t('empty.body')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ $t("empty.body") }}
|
{{ $t("empty.body") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</tippy>
|
</tippy>
|
||||||
<div class="flex flex-1 justify-between">
|
<div class="flex justify-between flex-1">
|
||||||
<label for="generatedCode" class="p-4">
|
<label for="generatedCode" class="p-4">
|
||||||
{{ t("request.generated_code") }}
|
{{ t("request.generated_code") }}
|
||||||
</label>
|
</label>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<div
|
<div
|
||||||
v-if="codegenType"
|
v-if="codegenType"
|
||||||
ref="generatedCode"
|
ref="generatedCode"
|
||||||
class="border border-dividerLight rounded"
|
class="border rounded border-dividerLight"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -51,7 +53,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(header, index) in headers$"
|
v-for="(header, index) in headers$"
|
||||||
:key="`header-${index}`"
|
:key="`header-${index}`"
|
||||||
class="divide-x divide-dividerLight border-b border-dividerLight flex"
|
class="flex border-b divide-dividerLight border-dividerLight divide-x"
|
||||||
>
|
>
|
||||||
<SmartAutoComplete
|
<SmartAutoComplete
|
||||||
:placeholder="`${t('count.header', { count: index + 1 })}`"
|
:placeholder="`${t('count.header', { count: index + 1 })}`"
|
||||||
@@ -136,27 +138,29 @@
|
|||||||
<div
|
<div
|
||||||
v-if="headers$.length === 0"
|
v-if="headers$.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_category.svg`"
|
:src="`/images/states/${$colorMode.value}/add_category.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.headers')}`"
|
:alt="`${t('empty.headers')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ t("empty.headers") }}
|
{{ t("empty.headers") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<SmartModal v-if="show" :title="`${t('import.curl')}`" @close="hideModal">
|
<SmartModal v-if="show" :title="`${t('import.curl')}`" @close="hideModal">
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="flex flex-col px-2">
|
<div class="flex flex-col px-2">
|
||||||
<div ref="curlEditor" class="border border-dividerLight rounded"></div>
|
<div ref="curlEditor" class="border rounded border-dividerLight"></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
|
|||||||
@@ -1,46 +1,46 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<input
|
<input
|
||||||
id="oidcDiscoveryURL"
|
id="oidcDiscoveryURL"
|
||||||
v-model="oidcDiscoveryURL"
|
v-model="oidcDiscoveryURL"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
placeholder="OpenID Connect Discovery URL"
|
placeholder="OpenID Connect Discovery URL"
|
||||||
name="oidcDiscoveryURL"
|
name="oidcDiscoveryURL"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<input
|
<input
|
||||||
id="authURL"
|
id="authURL"
|
||||||
v-model="authURL"
|
v-model="authURL"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
placeholder="Authentication URL"
|
placeholder="Authentication URL"
|
||||||
name="authURL"
|
name="authURL"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<input
|
<input
|
||||||
id="accessTokenURL"
|
id="accessTokenURL"
|
||||||
v-model="accessTokenURL"
|
v-model="accessTokenURL"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
placeholder="Access Token URL"
|
placeholder="Access Token URL"
|
||||||
name="accessTokenURL"
|
name="accessTokenURL"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<input
|
<input
|
||||||
id="clientID"
|
id="clientID"
|
||||||
v-model="clientID"
|
v-model="clientID"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
placeholder="Client ID"
|
placeholder="Client ID"
|
||||||
name="clientID"
|
name="clientID"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<input
|
<input
|
||||||
id="scope"
|
id="scope"
|
||||||
v-model="scope"
|
v-model="scope"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
placeholder="Scope"
|
placeholder="Scope"
|
||||||
name="scope"
|
name="scope"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -51,7 +53,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(param, index) in params$"
|
v-for="(param, index) in params$"
|
||||||
:key="`param-${index}`"
|
:key="`param-${index}`"
|
||||||
class="divide-x divide-dividerLight border-b border-dividerLight flex"
|
class="flex border-b divide-dividerLight border-dividerLight divide-x"
|
||||||
>
|
>
|
||||||
<SmartEnvInput
|
<SmartEnvInput
|
||||||
v-model="param.key"
|
v-model="param.key"
|
||||||
@@ -129,27 +131,29 @@
|
|||||||
<div
|
<div
|
||||||
v-if="params$.length === 0"
|
v-if="params$.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_files.svg`"
|
:src="`/images/states/${$colorMode.value}/add_files.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.parameters')}`"
|
:alt="`${t('empty.parameters')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ t("empty.parameters") }}
|
{{ t("empty.parameters") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -39,24 +41,24 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<div class="border-r border-dividerLight w-2/3">
|
<div class="w-2/3 border-r border-dividerLight">
|
||||||
<div ref="preRrequestEditor"></div>
|
<div ref="preRrequestEditor"></div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
h-full
|
|
||||||
top-upperTertiaryStickyFold
|
top-upperTertiaryStickyFold
|
||||||
min-w-46
|
min-w-46
|
||||||
max-w-1/3
|
max-w-1/3
|
||||||
p-4
|
|
||||||
z-9
|
z-9
|
||||||
sticky
|
sticky
|
||||||
|
h-full
|
||||||
|
p-4
|
||||||
overflow-auto
|
overflow-auto
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="text-secondaryLight pb-2">
|
<div class="pb-2 text-secondaryLight">
|
||||||
{{ t("helpers.pre_request_script") }}
|
{{ t("helpers.pre_request_script") }}
|
||||||
</div>
|
</div>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
@@ -64,7 +66,7 @@
|
|||||||
to="https://docs.hoppscotch.io/features/pre-request-script"
|
to="https://docs.hoppscotch.io/features/pre-request-script"
|
||||||
blank
|
blank
|
||||||
/>
|
/>
|
||||||
<h4 class="font-bold text-secondaryLight pt-6">
|
<h4 class="pt-6 font-bold text-secondaryLight">
|
||||||
{{ t("preRequest.snippets") }}
|
{{ t("preRequest.snippets") }}
|
||||||
</h4>
|
</h4>
|
||||||
<div class="flex flex-col pt-4">
|
<div class="flex flex-col pt-4">
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperTertiaryStickyFold
|
top-upperTertiaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
|
|||||||
@@ -2,18 +2,18 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
flex
|
hide-scrollbar
|
||||||
space-x-2
|
sticky
|
||||||
p-4
|
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
sticky
|
flex
|
||||||
|
p-4
|
||||||
|
space-x-2
|
||||||
overflow-x-auto
|
overflow-x-auto
|
||||||
hide-scrollbar
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="flex flex-1">
|
<div class="flex flex-1">
|
||||||
<div class="flex relative">
|
<div class="relative flex">
|
||||||
<label for="method">
|
<label for="method">
|
||||||
<tippy
|
<tippy
|
||||||
ref="methodOptions"
|
ref="methodOptions"
|
||||||
@@ -28,18 +28,19 @@
|
|||||||
id="method"
|
id="method"
|
||||||
class="
|
class="
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded-l
|
|
||||||
cursor-pointer
|
|
||||||
flex
|
|
||||||
font-semibold
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
w-26
|
w-26
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent
|
focus-visible:bg-transparent
|
||||||
focus-visible:border-dividerDark
|
focus-visible:border-dividerDark
|
||||||
|
flex
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
font-semibold
|
||||||
|
border
|
||||||
|
rounded-l
|
||||||
|
cursor-pointer
|
||||||
"
|
"
|
||||||
:value="newMethod"
|
:value="newMethod"
|
||||||
:readonly="!isCustomMethod"
|
:readonly="!isCustomMethod"
|
||||||
@@ -82,7 +83,7 @@
|
|||||||
<div class="flex">
|
<div class="flex">
|
||||||
<ButtonPrimary
|
<ButtonPrimary
|
||||||
id="send"
|
id="send"
|
||||||
class="rounded-r-none flex-1 min-w-20"
|
class="flex-1 rounded-r-none min-w-20"
|
||||||
:label="`${!loading ? t('action.send') : t('action.cancel')}`"
|
:label="`${!loading ? t('action.send') : t('action.cancel')}`"
|
||||||
@click.native="!loading ? newSendRequest() : cancelRequest()"
|
@click.native="!loading ? newSendRequest() : cancelRequest()"
|
||||||
/>
|
/>
|
||||||
@@ -131,7 +132,7 @@
|
|||||||
</tippy>
|
</tippy>
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
class="rounded rounded-r-none ml-2"
|
class="ml-2 rounded rounded-r-none"
|
||||||
:label="
|
:label="
|
||||||
windowInnerWidth.x.value >= 768 && COLUMN_LAYOUT
|
windowInnerWidth.x.value >= 768 && COLUMN_LAYOUT
|
||||||
? `${t('request.save')}`
|
? `${t('request.save')}`
|
||||||
|
|||||||
@@ -2,38 +2,40 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
flex
|
|
||||||
p-4
|
|
||||||
top-0
|
|
||||||
z-10
|
|
||||||
sticky
|
|
||||||
items-center
|
|
||||||
overflow-auto
|
|
||||||
hide-scrollbar
|
hide-scrollbar
|
||||||
whitespace-nowrap
|
whitespace-nowrap
|
||||||
|
sticky
|
||||||
|
top-0
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
|
items-center
|
||||||
|
p-4
|
||||||
|
overflow-auto
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-if="response == null"
|
v-if="response == null"
|
||||||
class="
|
class="
|
||||||
flex flex-col flex-1
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
flex-1
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="flex space-x-2 pb-4 my-4">
|
<div class="flex pb-4 my-4 space-x-2">
|
||||||
<div class="flex flex-col space-y-4 text-right items-end">
|
<div class="flex flex-col items-end text-right space-y-4">
|
||||||
<span class="flex flex-1 items-center">
|
<span class="flex items-center flex-1">
|
||||||
{{ t("shortcut.request.send_request") }}
|
{{ t("shortcut.request.send_request") }}
|
||||||
</span>
|
</span>
|
||||||
<span class="flex flex-1 items-center">
|
<span class="flex items-center flex-1">
|
||||||
{{ t("shortcut.general.show_all") }}
|
{{ t("shortcut.general.show_all") }}
|
||||||
</span>
|
</span>
|
||||||
<span class="flex flex-1 items-center">
|
<span class="flex items-center flex-1">
|
||||||
{{ t("shortcut.general.command_menu") }}
|
{{ t("shortcut.general.command_menu") }}
|
||||||
</span>
|
</span>
|
||||||
<span class="flex flex-1 items-center">
|
<span class="flex items-center flex-1">
|
||||||
{{ t("shortcut.general.help_menu") }}
|
{{ t("shortcut.general.help_menu") }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -73,25 +75,26 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="response.type === 'network_fail'"
|
v-if="response.type === 'network_fail'"
|
||||||
class="flex flex-col flex-1 p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/youre_lost.svg`"
|
:src="`/images/states/${$colorMode.value}/youre_lost.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-32
|
|
||||||
w-32
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-32
|
||||||
|
h-32
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('error.network_fail')}`"
|
:alt="`${t('error.network_fail')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center font-semibold mb-2">
|
<span class="mb-2 font-semibold text-center">
|
||||||
{{ t("error.network_fail") }}
|
{{ t("error.network_fail") }}
|
||||||
</span>
|
</span>
|
||||||
<span class="text-center text-secondaryLight mb-4 max-w-sm">
|
<span class="max-w-sm mb-4 text-center text-secondaryLight">
|
||||||
{{ t("helpers.network_fail") }}
|
{{ t("helpers.network_fail") }}
|
||||||
</span>
|
</span>
|
||||||
<AppInterceptor />
|
<AppInterceptor />
|
||||||
|
|||||||
@@ -9,14 +9,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-dividerLight border-b
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-lowerSecondaryStickyFold
|
top-lowerSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -29,7 +31,7 @@
|
|||||||
@click.native="clearContent()"
|
@click.native="clearContent()"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="divide-dividerLight border-dividerLight border-b divide-y-4">
|
<div class="border-b divide-dividerLight border-dividerLight divide-y-4">
|
||||||
<div v-if="testResults.tests" class="divide-dividerLight divide-y-4">
|
<div v-if="testResults.tests" class="divide-dividerLight divide-y-4">
|
||||||
<HttpTestResultEntry
|
<HttpTestResultEntry
|
||||||
v-for="(result, index) in testResults.tests"
|
v-for="(result, index) in testResults.tests"
|
||||||
@@ -48,7 +50,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(result, index) in testResults.expectResults"
|
v-for="(result, index) in testResults.expectResults"
|
||||||
:key="`result-${index}`"
|
:key="`result-${index}`"
|
||||||
class="flex py-2 px-4 items-center"
|
class="flex items-center px-4 py-2"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="mr-4 material-icons"
|
class="mr-4 material-icons"
|
||||||
@@ -74,18 +76,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
|
class="flex flex-col items-center justify-center p-4 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/validation.svg`"
|
:src="`/images/states/${$colorMode.value}/validation.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-16 w-16 inline-flex"
|
class="inline-flex flex-col object-contain object-center w-16 h-16 my-4"
|
||||||
:alt="`${t('empty.tests')}`"
|
:alt="`${t('empty.tests')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-2">
|
<span class="pb-2 text-center">
|
||||||
{{ t("empty.tests") }}
|
{{ t("empty.tests") }}
|
||||||
</span>
|
</span>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ t("helpers.tests") }}
|
{{ t("helpers.tests") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
<div>
|
<div>
|
||||||
<span
|
<span
|
||||||
v-if="testResults.description"
|
v-if="testResults.description"
|
||||||
class="flex font-bold text-secondaryDark py-2 px-4 items-center"
|
class="flex items-center px-4 py-2 font-bold text-secondaryDark"
|
||||||
>
|
>
|
||||||
{{ testResults.description }}
|
{{ testResults.description }}
|
||||||
</span>
|
</span>
|
||||||
<div v-if="testResults.expectResults" class="divide-y divide-dividerLight">
|
<div v-if="testResults.expectResults" class="divide-dividerLight divide-y">
|
||||||
<HttpTestResultReport
|
<HttpTestResultReport
|
||||||
v-if="testResults.expectResults.length"
|
v-if="testResults.expectResults.length"
|
||||||
:test-results="testResults"
|
:test-results="testResults"
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(result, index) in testResults.expectResults"
|
v-for="(result, index) in testResults.expectResults"
|
||||||
:key="`result-${index}`"
|
:key="`result-${index}`"
|
||||||
class="flex py-2 px-4 items-center"
|
class="flex items-center px-4 py-2"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
class="mr-4 material-icons"
|
class="mr-4 material-icons"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex p-2 items-center">
|
<div class="flex items-center p-2">
|
||||||
<SmartProgressRing
|
<SmartProgressRing
|
||||||
class="text-red-500"
|
class="text-red-500"
|
||||||
:radius="16"
|
:radius="16"
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperSecondaryStickyFold
|
top-upperSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -39,24 +41,24 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b border-dividerLight flex">
|
<div class="flex border-b border-dividerLight">
|
||||||
<div class="border-r border-dividerLight w-2/3">
|
<div class="w-2/3 border-r border-dividerLight">
|
||||||
<div ref="testScriptEditor"></div>
|
<div ref="testScriptEditor"></div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
h-full
|
|
||||||
top-upperTertiaryStickyFold
|
top-upperTertiaryStickyFold
|
||||||
min-w-46
|
min-w-46
|
||||||
max-w-1/3
|
max-w-1/3
|
||||||
p-4
|
|
||||||
z-9
|
z-9
|
||||||
sticky
|
sticky
|
||||||
|
h-full
|
||||||
|
p-4
|
||||||
overflow-auto
|
overflow-auto
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div class="text-secondaryLight pb-2">
|
<div class="pb-2 text-secondaryLight">
|
||||||
{{ t("helpers.post_request_tests") }}
|
{{ t("helpers.post_request_tests") }}
|
||||||
</div>
|
</div>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
@@ -64,7 +66,7 @@
|
|||||||
to="https://docs.hoppscotch.io/features/tests"
|
to="https://docs.hoppscotch.io/features/tests"
|
||||||
blank
|
blank
|
||||||
/>
|
/>
|
||||||
<h4 class="font-bold text-secondaryLight pt-6">
|
<h4 class="pt-6 font-bold text-secondaryLight">
|
||||||
{{ t("test.snippets") }}
|
{{ t("test.snippets") }}
|
||||||
</h4>
|
</h4>
|
||||||
<div class="flex flex-col pt-4">
|
<div class="flex flex-col pt-4">
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-lowerSecondaryStickyFold
|
top-lowerSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -31,37 +33,41 @@
|
|||||||
v-for="(header, index) in headers"
|
v-for="(header, index) in headers"
|
||||||
:key="`header-${index}`"
|
:key="`header-${index}`"
|
||||||
class="
|
class="
|
||||||
divide-x divide-dividerLight
|
divide-dividerLight
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex
|
|
||||||
group
|
group
|
||||||
|
flex
|
||||||
|
border-b
|
||||||
|
divide-x
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
flex flex-1
|
flex
|
||||||
min-w-0
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
transition
|
|
||||||
group-hover:text-secondaryDark
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
|
min-w-0
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
transition
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="rounded-sm select-all truncate">
|
<span class="truncate rounded-sm select-all">
|
||||||
{{ header.key }}
|
{{ header.key }}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
flex flex-1
|
flex
|
||||||
min-w-0
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
transition
|
|
||||||
group-hover:text-secondaryDark
|
group-hover:text-secondaryDark
|
||||||
|
flex-1
|
||||||
|
min-w-0
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
transition
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="rounded-sm select-all truncate">
|
<span class="truncate rounded-sm select-all">
|
||||||
{{ header.value }}
|
{{ header.value }}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-lowerSecondaryStickyFold
|
top-lowerSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-lowerSecondaryStickyFold
|
top-lowerSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -28,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<img
|
<img
|
||||||
class="border-b border-dividerLight flex max-w-full flex-1"
|
class="flex flex-1 max-w-full border-b border-dividerLight"
|
||||||
:src="imageSource"
|
:src="imageSource"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
:alt="imageSource"
|
:alt="imageSource"
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-lowerSecondaryStickyFold
|
top-lowerSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">{{
|
<label class="font-semibold text-secondaryLight">{{
|
||||||
@@ -47,15 +49,18 @@
|
|||||||
<div
|
<div
|
||||||
v-if="outlinePath"
|
v-if="outlinePath"
|
||||||
class="
|
class="
|
||||||
|
flex
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border-t border-dividerLight
|
border-dividerLight
|
||||||
flex flex-nowrap flex-1
|
flex-nowrap
|
||||||
px-2
|
hide-scrollbar
|
||||||
|
sticky
|
||||||
bottom-0
|
bottom-0
|
||||||
z-10
|
z-10
|
||||||
sticky
|
flex-1
|
||||||
|
px-2
|
||||||
overflow-auto
|
overflow-auto
|
||||||
hide-scrollbar
|
border-t
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -135,7 +140,7 @@
|
|||||||
</tippy>
|
</tippy>
|
||||||
<i
|
<i
|
||||||
v-if="index + 1 !== outlinePath.length"
|
v-if="index + 1 !== outlinePath.length"
|
||||||
class="text-secondaryLight opacity-50 material-icons"
|
class="opacity-50 text-secondaryLight material-icons"
|
||||||
>chevron_right</i
|
>chevron_right</i
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-lowerSecondaryStickyFold
|
top-lowerSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-lowerSecondaryStickyFold
|
top-lowerSecondaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cursor-pointer flex h-5 w-5 relative items-center justify-center">
|
<div class="relative flex items-center justify-center w-5 h-5 cursor-pointer">
|
||||||
<img
|
<img
|
||||||
class="
|
class="
|
||||||
bg-primaryDark bg-primaryLight
|
object-cover
|
||||||
rounded-full
|
bg-primaryDark
|
||||||
object-cover object-center
|
absolute
|
||||||
|
object-center
|
||||||
|
w-5
|
||||||
h-5
|
h-5
|
||||||
transition
|
transition
|
||||||
w-5
|
rounded-full
|
||||||
absolute
|
|
||||||
"
|
"
|
||||||
:src="url"
|
:src="url"
|
||||||
:alt="alt"
|
:alt="alt"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
<div class="rounded-full shadow-inner inset-0 absolute"></div>
|
<div class="absolute inset-0 rounded-full shadow-inner"></div>
|
||||||
<span
|
<span
|
||||||
v-if="indicator"
|
v-if="indicator"
|
||||||
class="
|
class="
|
||||||
|
|||||||
@@ -3,17 +3,19 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
sticky
|
||||||
pl-4
|
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
sticky
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label for="log" class="font-semibold text-secondaryLight py-2">
|
<label for="log" class="py-2 font-semibold text-secondaryLight">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
<Pane class="hide-scrollbar !overflow-auto">
|
<Pane class="hide-scrollbar !overflow-auto">
|
||||||
<AppSection label="request">
|
<AppSection label="request">
|
||||||
<div
|
<div
|
||||||
class="bg-primary flex flex-col space-y-4 p-4 top-0 z-10 sticky"
|
class="sticky top-0 z-10 flex flex-col p-4 bg-primary space-y-4"
|
||||||
>
|
>
|
||||||
<div class="space-x-2 flex-1 inline-flex">
|
<div class="inline-flex flex-1 space-x-2">
|
||||||
<input
|
<input
|
||||||
id="mqtt-url"
|
id="mqtt-url"
|
||||||
v-model="url"
|
v-model="url"
|
||||||
@@ -23,15 +23,16 @@
|
|||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
class="
|
class="
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent
|
focus-visible:bg-transparent
|
||||||
focus-visible:border-dividerDark
|
focus-visible:border-dividerDark
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
border
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
:placeholder="$t('mqtt.url')"
|
:placeholder="$t('mqtt.url')"
|
||||||
:disabled="connectionState"
|
:disabled="connectionState"
|
||||||
@@ -85,7 +86,7 @@
|
|||||||
class="hide-scrollbar !overflow-auto"
|
class="hide-scrollbar !overflow-auto"
|
||||||
>
|
>
|
||||||
<AppSection label="messages">
|
<AppSection label="messages">
|
||||||
<div class="flex flex-col flex-1 p-4 inline-flex">
|
<div class="flex inline-flex flex-col flex-1 p-4">
|
||||||
<label for="pub_topic" class="font-semibold text-secondaryLight">
|
<label for="pub_topic" class="font-semibold text-secondaryLight">
|
||||||
{{ $t("mqtt.topic") }}
|
{{ $t("mqtt.topic") }}
|
||||||
</label>
|
</label>
|
||||||
@@ -101,12 +102,12 @@
|
|||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-1 p-4 items-center justify-between">
|
<div class="flex items-center justify-between flex-1 p-4">
|
||||||
<label for="mqtt-message" class="font-semibold text-secondaryLight">
|
<label for="mqtt-message" class="font-semibold text-secondaryLight">
|
||||||
{{ $t("mqtt.communication") }}
|
{{ $t("mqtt.communication") }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex space-x-2 px-4">
|
<div class="flex px-4 space-x-2">
|
||||||
<input
|
<input
|
||||||
id="mqtt-message"
|
id="mqtt-message"
|
||||||
v-model="msg"
|
v-model="msg"
|
||||||
@@ -126,18 +127,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
border-t border-dividerLight
|
flex-col
|
||||||
flex flex-col flex-1
|
border-dividerLight
|
||||||
mt-4
|
flex
|
||||||
p-4
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-1
|
||||||
|
p-4
|
||||||
|
mt-4
|
||||||
|
border-t
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label for="sub_topic" class="font-semibold text-secondaryLight">
|
<label for="sub_topic" class="font-semibold text-secondaryLight">
|
||||||
{{ $t("mqtt.topic") }}
|
{{ $t("mqtt.topic") }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex space-x-2 px-4">
|
<div class="flex px-4 space-x-2">
|
||||||
<input
|
<input
|
||||||
id="sub_topic"
|
id="sub_topic"
|
||||||
v-model="sub_topic"
|
v-model="sub_topic"
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
||||||
<Pane class="hide-scrollbar !overflow-auto">
|
<Pane class="hide-scrollbar !overflow-auto">
|
||||||
<AppSection label="request">
|
<AppSection label="request">
|
||||||
<div class="bg-primary flex p-4 top-0 z-10 sticky">
|
<div class="sticky top-0 z-10 flex p-4 bg-primary">
|
||||||
<div class="space-x-2 flex-1 inline-flex">
|
<div class="inline-flex flex-1 space-x-2">
|
||||||
<div class="flex flex-1">
|
<div class="flex flex-1">
|
||||||
<label for="client-version">
|
<label for="client-version">
|
||||||
<tippy
|
<tippy
|
||||||
@@ -30,18 +30,19 @@
|
|||||||
title="socket.io-client version"
|
title="socket.io-client version"
|
||||||
class="
|
class="
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded-l
|
|
||||||
cursor-pointer
|
|
||||||
flex
|
|
||||||
font-semibold
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
w-26
|
w-26
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent
|
focus-visible:bg-transparent
|
||||||
focus-visible:border-dividerDark
|
focus-visible:border-dividerDark
|
||||||
|
flex
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
font-semibold
|
||||||
|
border
|
||||||
|
rounded-l
|
||||||
|
cursor-pointer
|
||||||
"
|
"
|
||||||
:value="`Client ${clientVersion}`"
|
:value="`Client ${clientVersion}`"
|
||||||
readonly
|
readonly
|
||||||
@@ -65,16 +66,18 @@
|
|||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
:class="{ error: !urlValid }"
|
:class="{ error: !urlValid }"
|
||||||
class="
|
class="
|
||||||
|
flex
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
flex flex-1
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent
|
focus-visible:bg-transparent
|
||||||
focus-visible:border-dividerDark
|
focus-visible:border-dividerDark
|
||||||
|
flex-1
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
border
|
||||||
"
|
"
|
||||||
:placeholder="$t('socketio.url')"
|
:placeholder="$t('socketio.url')"
|
||||||
:disabled="connectionState"
|
:disabled="connectionState"
|
||||||
@@ -84,17 +87,19 @@
|
|||||||
id="socketio-path"
|
id="socketio-path"
|
||||||
v-model="path"
|
v-model="path"
|
||||||
class="
|
class="
|
||||||
|
flex
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded-r
|
|
||||||
flex flex-1
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent
|
focus-visible:bg-transparent
|
||||||
focus-visible:border-dividerDark
|
focus-visible:border-dividerDark
|
||||||
|
flex-1
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
border
|
||||||
|
rounded-r
|
||||||
"
|
"
|
||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
:disabled="connectionState"
|
:disabled="connectionState"
|
||||||
@@ -132,7 +137,7 @@
|
|||||||
class="hide-scrollbar !overflow-auto"
|
class="hide-scrollbar !overflow-auto"
|
||||||
>
|
>
|
||||||
<AppSection label="messages">
|
<AppSection label="messages">
|
||||||
<div class="flex flex-col flex-1 p-4 inline-flex">
|
<div class="flex inline-flex flex-col flex-1 p-4">
|
||||||
<label for="events" class="font-semibold text-secondaryLight">
|
<label for="events" class="font-semibold text-secondaryLight">
|
||||||
{{ $t("socketio.events") }}
|
{{ $t("socketio.events") }}
|
||||||
</label>
|
</label>
|
||||||
@@ -149,7 +154,7 @@
|
|||||||
:disabled="!connectionState"
|
:disabled="!connectionState"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-1 p-4 items-center justify-between">
|
<div class="flex items-center justify-between flex-1 p-4">
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
{{ $t("socketio.communication") }}
|
{{ $t("socketio.communication") }}
|
||||||
</label>
|
</label>
|
||||||
@@ -163,7 +168,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col space-y-2 px-4 pb-4">
|
<div class="flex flex-col px-4 pb-4 space-y-2">
|
||||||
<div
|
<div
|
||||||
v-for="(input, index) of communication.inputs"
|
v-for="(input, index) of communication.inputs"
|
||||||
:key="`input-${index}`"
|
:key="`input-${index}`"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
||||||
<Pane class="hide-scrollbar !overflow-auto">
|
<Pane class="hide-scrollbar !overflow-auto">
|
||||||
<div class="bg-primary flex p-4 top-0 z-10 sticky">
|
<div class="sticky top-0 z-10 flex p-4 bg-primary">
|
||||||
<div class="space-x-2 flex-1 inline-flex">
|
<div class="inline-flex flex-1 space-x-2">
|
||||||
<div class="flex flex-1">
|
<div class="flex flex-1">
|
||||||
<input
|
<input
|
||||||
id="server"
|
id="server"
|
||||||
@@ -11,16 +11,18 @@
|
|||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
:class="{ error: !serverValid }"
|
:class="{ error: !serverValid }"
|
||||||
class="
|
class="
|
||||||
|
flex
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded-l
|
|
||||||
flex flex-1
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent focus-visible:border-dividerDark
|
focus-visible:bg-transparent focus-visible:border-dividerDark
|
||||||
|
flex-1
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
border
|
||||||
|
rounded-l
|
||||||
"
|
"
|
||||||
:placeholder="$t('sse.url')"
|
:placeholder="$t('sse.url')"
|
||||||
:disabled="connectionSSEState"
|
:disabled="connectionSSEState"
|
||||||
@@ -29,13 +31,15 @@
|
|||||||
<label
|
<label
|
||||||
for="event-type"
|
for="event-type"
|
||||||
class="
|
class="
|
||||||
|
border-t
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border-t border-b border-divider
|
border-divider
|
||||||
font-semibold
|
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
py-2
|
|
||||||
px-4
|
px-4
|
||||||
|
py-2
|
||||||
|
font-semibold
|
||||||
truncate
|
truncate
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ $t("sse.event_type") }}
|
{{ $t("sse.event_type") }}
|
||||||
@@ -44,16 +48,18 @@
|
|||||||
id="event-type"
|
id="event-type"
|
||||||
v-model="eventType"
|
v-model="eventType"
|
||||||
class="
|
class="
|
||||||
|
flex
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded-r
|
|
||||||
flex flex-1
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent focus-visible:border-dividerDark
|
focus-visible:bg-transparent focus-visible:border-dividerDark
|
||||||
|
flex-1
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
border
|
||||||
|
rounded-r
|
||||||
"
|
"
|
||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
:disabled="connectionSSEState"
|
:disabled="connectionSSEState"
|
||||||
|
|||||||
@@ -11,22 +11,23 @@
|
|||||||
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
||||||
<Pane class="hide-scrollbar !overflow-auto">
|
<Pane class="hide-scrollbar !overflow-auto">
|
||||||
<AppSection label="request">
|
<AppSection label="request">
|
||||||
<div class="bg-primary flex p-4 top-0 z-10 sticky">
|
<div class="sticky top-0 z-10 flex p-4 bg-primary">
|
||||||
<div class="space-x-2 flex-1 inline-flex">
|
<div class="inline-flex flex-1 space-x-2">
|
||||||
<input
|
<input
|
||||||
id="websocket-url"
|
id="websocket-url"
|
||||||
v-model="url"
|
v-model="url"
|
||||||
class="
|
class="
|
||||||
bg-primaryLight
|
bg-primaryLight
|
||||||
border border-divider
|
border-divider
|
||||||
rounded
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
w-full
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
hover:border-dividerDark
|
hover:border-dividerDark
|
||||||
focus-visible:bg-transparent
|
focus-visible:bg-transparent
|
||||||
focus-visible:border-dividerDark
|
focus-visible:border-dividerDark
|
||||||
|
w-full
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
border
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
type="url"
|
type="url"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
@@ -54,14 +55,16 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
|
||||||
top-upperPrimaryStickyFold
|
top-upperPrimaryStickyFold
|
||||||
pl-4
|
|
||||||
z-10
|
|
||||||
sticky
|
sticky
|
||||||
|
z-10
|
||||||
|
flex
|
||||||
items-center
|
items-center
|
||||||
justify-between
|
justify-between
|
||||||
|
flex-1
|
||||||
|
pl-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label class="font-semibold text-secondaryLight">
|
<label class="font-semibold text-secondaryLight">
|
||||||
@@ -86,14 +89,16 @@
|
|||||||
v-for="(protocol, index) of protocols"
|
v-for="(protocol, index) of protocols"
|
||||||
:key="`protocol-${index}`"
|
:key="`protocol-${index}`"
|
||||||
class="
|
class="
|
||||||
divide-x divide-dividerLight
|
divide-dividerLight
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex
|
flex
|
||||||
|
border-b
|
||||||
|
divide-x
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
v-model="protocol.value"
|
v-model="protocol.value"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
:placeholder="$t('count.protocol', { count: index + 1 })"
|
:placeholder="$t('count.protocol', { count: index + 1 })"
|
||||||
name="message"
|
name="message"
|
||||||
type="text"
|
type="text"
|
||||||
@@ -137,27 +142,29 @@
|
|||||||
<div
|
<div
|
||||||
v-if="protocols.length === 0"
|
v-if="protocols.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_category.svg`"
|
:src="`/images/states/${$colorMode.value}/add_category.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="$t('empty.protocols')"
|
:alt="$t('empty.protocols')"
|
||||||
/>
|
/>
|
||||||
<span class="text-center mb-4">
|
<span class="mb-4 text-center">
|
||||||
{{ $t("empty.protocols") }}
|
{{ $t("empty.protocols") }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -180,7 +187,7 @@
|
|||||||
class="hide-scrollbar !overflow-auto"
|
class="hide-scrollbar !overflow-auto"
|
||||||
>
|
>
|
||||||
<AppSection label="messages">
|
<AppSection label="messages">
|
||||||
<div class="flex flex-col flex-1 p-4 inline-flex">
|
<div class="flex inline-flex flex-col flex-1 p-4">
|
||||||
<label
|
<label
|
||||||
for="websocket-message"
|
for="websocket-message"
|
||||||
class="font-semibold text-secondaryLight"
|
class="font-semibold text-secondaryLight"
|
||||||
@@ -188,7 +195,7 @@
|
|||||||
{{ $t("websocket.communication") }}
|
{{ $t("websocket.communication") }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex space-x-2 px-4">
|
<div class="flex px-4 space-x-2">
|
||||||
<input
|
<input
|
||||||
id="websocket-message"
|
id="websocket-message"
|
||||||
v-model="communication.input"
|
v-model="communication.input"
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
cursor-pointer
|
|
||||||
flex-nowrap
|
flex-nowrap
|
||||||
group
|
group
|
||||||
|
hover:text-secondaryDark
|
||||||
inline-flex
|
inline-flex
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
transition
|
transition
|
||||||
hover:text-secondaryDark
|
cursor-pointer
|
||||||
"
|
"
|
||||||
@click="$emit('change')"
|
@click="$emit('change')"
|
||||||
>
|
>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
/>
|
/>
|
||||||
<label
|
<label
|
||||||
for="checkbox"
|
for="checkbox"
|
||||||
class="cursor-pointer pl-0 align-middle font-semibold"
|
class="pl-0 font-semibold align-middle cursor-pointer"
|
||||||
>
|
>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</label>
|
</label>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<span class="chip">
|
<span class="chip">
|
||||||
<i class="opacity-75 material-icons">attachment</i>
|
<i class="opacity-75 material-icons">attachment</i>
|
||||||
<span class="max-w-64 px-2 truncate"><slot></slot></span>
|
<span class="px-2 truncate max-w-64"><slot></slot></span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
class="rounded close-button"
|
class="rounded close-button"
|
||||||
svg="x"
|
svg="x"
|
||||||
|
|||||||
@@ -4,16 +4,16 @@
|
|||||||
:exact="exact"
|
:exact="exact"
|
||||||
:blank="blank"
|
:blank="blank"
|
||||||
class="
|
class="
|
||||||
rounded
|
|
||||||
transition
|
|
||||||
flex-shrink-0
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
inline-flex
|
|
||||||
items-center
|
|
||||||
hover:bg-primaryDark hover:text-secondaryDark
|
hover:bg-primaryDark hover:text-secondaryDark
|
||||||
focus:outline-none
|
focus:outline-none
|
||||||
focus-visible:bg-primaryDark focus-visible:text-secondaryDark
|
focus-visible:bg-primaryDark focus-visible:text-secondaryDark
|
||||||
|
inline-flex
|
||||||
|
items-center
|
||||||
|
flex-shrink-0
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
|
transition
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
:class="[
|
:class="[
|
||||||
{ 'opacity-75 cursor-not-allowed': disabled },
|
{ 'opacity-75 cursor-not-allowed': disabled },
|
||||||
@@ -55,10 +55,10 @@
|
|||||||
</span>
|
</span>
|
||||||
<SmartSpinner v-else class="mr-4 text-secondaryDark" />
|
<SmartSpinner v-else class="mr-4 text-secondaryDark" />
|
||||||
<div
|
<div
|
||||||
class="flex-1 inline-flex truncate items-start"
|
class="inline-flex items-start flex-1 truncate"
|
||||||
:class="{ 'flex-col': description }"
|
:class="{ 'flex-col': description }"
|
||||||
>
|
>
|
||||||
<div class="truncate font-semibold">
|
<div class="font-semibold truncate">
|
||||||
{{ label }}
|
{{ label }}
|
||||||
</div>
|
</div>
|
||||||
<p
|
<p
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<i
|
<i
|
||||||
v-if="infoIcon"
|
v-if="infoIcon"
|
||||||
class="ml-6 self-center material-icons items-center"
|
class="items-center self-center ml-6 material-icons"
|
||||||
:class="{ 'text-accent': activeInfoIcon }"
|
:class="{ 'text-accent': activeInfoIcon }"
|
||||||
>
|
>
|
||||||
{{ infoIcon }}
|
{{ infoIcon }}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="text-sm text-secondaryLight animate-pulse">
|
<div class="text-sm text-secondaryLight animate-pulse">
|
||||||
<AppLogo class="h-8 w-8" />
|
<AppLogo class="w-8 h-8" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
<transition name="fade" appear @leave="onTransitionLeaveStart">
|
<transition name="fade" appear @leave="onTransitionLeaveStart">
|
||||||
<div
|
<div
|
||||||
ref="modal"
|
ref="modal"
|
||||||
class="inset-0 transition z-10 z-50 fixed hide-scrollbar overflow-y-auto"
|
class="fixed inset-0 z-10 z-50 overflow-y-auto hide-scrollbar transition"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex min-h-screen text-center items-end justify-center sm:block"
|
class="flex items-end justify-center min-h-screen text-center sm:block"
|
||||||
>
|
>
|
||||||
<transition name="fade" appear>
|
<transition name="fade" appear>
|
||||||
<div
|
<div
|
||||||
class="bg-primaryLight opacity-90 inset-0 transition fixed"
|
class="fixed inset-0 bg-primaryLight opacity-90 transition"
|
||||||
@touchstart="!dialog ? close() : null"
|
@touchstart="!dialog ? close() : null"
|
||||||
@touchend="!dialog ? close() : null"
|
@touchend="!dialog ? close() : null"
|
||||||
@mouseup="!dialog ? close() : null"
|
@mouseup="!dialog ? close() : null"
|
||||||
@@ -25,24 +25,24 @@
|
|||||||
<transition
|
<transition
|
||||||
appear
|
appear
|
||||||
enter-active-class="transition"
|
enter-active-class="transition"
|
||||||
enter-class="translate-y-4 scale-95"
|
enter-class="scale-95 translate-y-4"
|
||||||
enter-to-class="translate-y-0 scale-100"
|
enter-to-class="scale-100 translate-y-0"
|
||||||
leave-active-class="transition"
|
leave-active-class="transition"
|
||||||
leave-class="translate-y-0 scale-100"
|
leave-class="scale-100 translate-y-0"
|
||||||
leave-to-class="translate-y-4 scale-95"
|
leave-to-class="scale-95 translate-y-4"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
shadow-lg
|
|
||||||
text-left
|
|
||||||
w-full
|
|
||||||
transform
|
|
||||||
transition-all
|
|
||||||
inline-block
|
|
||||||
align-bottom
|
|
||||||
overflow-hidden
|
|
||||||
sm:align-middle sm:rounded-xl
|
sm:align-middle sm:rounded-xl
|
||||||
|
inline-block
|
||||||
|
w-full
|
||||||
|
overflow-hidden
|
||||||
|
text-left
|
||||||
|
align-bottom
|
||||||
|
transition-all
|
||||||
|
transform
|
||||||
|
shadow-lg
|
||||||
"
|
"
|
||||||
:class="[
|
:class="[
|
||||||
{ 'mt-24 md:mb-8': placement === 'top' },
|
{ 'mt-24 md:mb-8': placement === 'top' },
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-if="title"
|
v-if="title"
|
||||||
class="flex mb-4 pl-2 items-center justify-between"
|
class="flex items-center justify-between pl-2 mb-4"
|
||||||
>
|
>
|
||||||
<h3 class="heading">{{ title }}</h3>
|
<h3 class="heading">{{ title }}</h3>
|
||||||
<span class="flex">
|
<span class="flex">
|
||||||
@@ -66,14 +66,14 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col max-h-md overflow-y-auto hide-scrollbar"
|
class="flex flex-col overflow-y-auto max-h-md hide-scrollbar"
|
||||||
:class="{ 'py-2': !fullWidth }"
|
:class="{ 'py-2': !fullWidth }"
|
||||||
>
|
>
|
||||||
<slot name="body"></slot>
|
<slot name="body"></slot>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="hasFooterSlot"
|
v-if="hasFooterSlot"
|
||||||
class="flex flex-1 mt-4 p-2 items-center justify-between"
|
class="flex items-center justify-between flex-1 p-2 mt-4"
|
||||||
>
|
>
|
||||||
<slot name="footer"></slot>
|
<slot name="footer"></slot>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="flex flex-nowrap flex-1 h-full"
|
class="flex flex-1 h-full flex-nowrap"
|
||||||
:class="{ 'flex-col h-auto': !vertical }"
|
:class="{ 'flex-col h-auto': !vertical }"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="tabs hide-scrollbar relative"
|
class="relative tabs hide-scrollbar"
|
||||||
:class="[{ 'border-r border-dividerLight': vertical }, styles]"
|
:class="[{ 'border-r border-dividerLight': vertical }, styles]"
|
||||||
>
|
>
|
||||||
<div class="flex flex-1">
|
<div class="flex flex-1">
|
||||||
<div
|
<div
|
||||||
class="flex flex-1 justify-between"
|
class="flex justify-between flex-1"
|
||||||
:class="{ 'flex-col': vertical }"
|
:class="{ 'flex-col': vertical }"
|
||||||
>
|
>
|
||||||
<div class="flex" :class="{ 'flex-col space-y-2 p-2': vertical }">
|
<div class="flex" :class="{ 'flex-col space-y-2 p-2': vertical }">
|
||||||
@@ -35,18 +35,18 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
v-if="tab.indicator"
|
v-if="tab.indicator"
|
||||||
class="bg-accentLight h-1 w-1 ml-2 rounded-full"
|
class="w-1 h-1 ml-2 rounded-full bg-accentLight"
|
||||||
></span>
|
></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-center items-center">
|
<div class="flex items-center justify-center">
|
||||||
<slot name="actions"></slot>
|
<slot name="actions"></slot>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="contents h-full w-full"
|
class="w-full h-full contents"
|
||||||
:class="{
|
:class="{
|
||||||
'!flex flex-col flex-1 overflow-y-auto hide-scrollbar': vertical,
|
'!flex flex-col flex-1 overflow-y-auto hide-scrollbar': vertical,
|
||||||
}"
|
}"
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="cursor-pointer flex-nowrap inline-flex items-center justify-center"
|
class="inline-flex items-center justify-center cursor-pointer flex-nowrap"
|
||||||
@click="$emit('change')"
|
@click="$emit('change')"
|
||||||
>
|
>
|
||||||
<label ref="toggle" class="toggle" :class="{ on: on }">
|
<label ref="toggle" class="toggle" :class="{ on: on }">
|
||||||
<span class="handle"></span>
|
<span class="handle"></span>
|
||||||
</label>
|
</label>
|
||||||
<label class="cursor-pointer pl-0 align-middle font-semibold">
|
<label class="pl-0 font-semibold align-middle cursor-pointer">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,14 +4,14 @@
|
|||||||
:exact="exact"
|
:exact="exact"
|
||||||
:blank="blank"
|
:blank="blank"
|
||||||
class="
|
class="
|
||||||
rounded
|
focus:outline-none
|
||||||
py-2
|
|
||||||
transition
|
|
||||||
px-4
|
|
||||||
inline-flex
|
inline-flex
|
||||||
items-center
|
items-center
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
truncate
|
truncate
|
||||||
focus:outline-none
|
transition
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
:class="[
|
:class="[
|
||||||
color
|
color
|
||||||
|
|||||||
@@ -4,17 +4,17 @@
|
|||||||
:exact="exact"
|
:exact="exact"
|
||||||
:blank="blank"
|
:blank="blank"
|
||||||
class="
|
class="
|
||||||
font-semibold
|
|
||||||
flex-1
|
|
||||||
py-2
|
|
||||||
transition
|
|
||||||
transform
|
|
||||||
inline-flex
|
|
||||||
items-center
|
|
||||||
truncate
|
|
||||||
hover:translate-x-2
|
hover:translate-x-2
|
||||||
focus:outline-none
|
focus:outline-none
|
||||||
focus-visible:translate-x-2
|
focus-visible:translate-x-2
|
||||||
|
inline-flex
|
||||||
|
items-center
|
||||||
|
flex-1
|
||||||
|
py-2
|
||||||
|
font-semibold
|
||||||
|
truncate
|
||||||
|
transition
|
||||||
|
transform
|
||||||
"
|
"
|
||||||
:class="[
|
:class="[
|
||||||
label ? 'px-3' : 'px-2',
|
label ? 'px-3' : 'px-2',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<SmartModal v-if="show" :title="t('team.edit')" @close="hideModal">
|
<SmartModal v-if="show" :title="t('team.edit')" @close="hideModal">
|
||||||
<template #body>
|
<template #body>
|
||||||
<div class="flex flex-col px-2">
|
<div class="flex flex-col px-2">
|
||||||
<div class="flex relative">
|
<div class="relative flex">
|
||||||
<input
|
<input
|
||||||
id="selectLabelTeamEdit"
|
id="selectLabelTeamEdit"
|
||||||
v-model="name"
|
v-model="name"
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
{{ t("action.label") }}
|
{{ t("action.label") }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex pt-4 flex-1 justify-between items-center">
|
<div class="flex items-center justify-between flex-1 pt-4">
|
||||||
<label for="memberList" class="p-4">
|
<label for="memberList" class="p-4">
|
||||||
{{ t("team.members") }}
|
{{ t("team.members") }}
|
||||||
</label>
|
</label>
|
||||||
@@ -47,32 +47,34 @@
|
|||||||
E.isRight(teamDetails.data) &&
|
E.isRight(teamDetails.data) &&
|
||||||
teamDetails.data.right.team.teamMembers
|
teamDetails.data.right.team.teamMembers
|
||||||
"
|
"
|
||||||
class="divide-y divide-dividerLight border-divider border rounded"
|
class="border rounded divide-dividerLight border-divider divide-y"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-if="teamDetails.data.right.team.teamMembers === 0"
|
v-if="teamDetails.data.right.team.teamMembers === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_group.svg`"
|
:src="`/images/states/${$colorMode.value}/add_group.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.members')}`"
|
:alt="`${t('empty.members')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ t("empty.members") }}
|
{{ t("empty.members") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
@@ -89,10 +91,10 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(member, index) in membersList"
|
v-for="(member, index) in membersList"
|
||||||
:key="`member-${index}`"
|
:key="`member-${index}`"
|
||||||
class="divide-x divide-dividerLight flex"
|
class="flex divide-dividerLight divide-x"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
:placeholder="`${t('team.email')}`"
|
:placeholder="`${t('team.email')}`"
|
||||||
:name="'param' + index"
|
:name="'param' + index"
|
||||||
:value="member.email"
|
:value="member.email"
|
||||||
@@ -110,11 +112,11 @@
|
|||||||
<span class="select-wrapper">
|
<span class="select-wrapper">
|
||||||
<input
|
<input
|
||||||
class="
|
class="
|
||||||
|
flex flex-1
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
bg-transparent
|
bg-transparent
|
||||||
cursor-pointer
|
cursor-pointer
|
||||||
flex flex-1
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
"
|
"
|
||||||
:placeholder="`${t('team.permissions')}`"
|
:placeholder="`${t('team.permissions')}`"
|
||||||
:name="'value' + index"
|
:name="'value' + index"
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
<SmartModal v-if="show" :title="t('team.invite')" @close="hideModal">
|
<SmartModal v-if="show" :title="t('team.invite')" @close="hideModal">
|
||||||
<template #body>
|
<template #body>
|
||||||
<div v-if="sendInvitesResult.length" class="flex flex-col px-4">
|
<div v-if="sendInvitesResult.length" class="flex flex-col px-4">
|
||||||
<div class="flex flex-col max-w-md justify-center items-center">
|
<div class="flex flex-col items-center justify-center max-w-md">
|
||||||
<SmartIcon class="h-6 text-accent w-6" name="users" />
|
<SmartIcon class="w-6 h-6 text-accent" name="users" />
|
||||||
<h3 class="my-2 text-center text-lg">
|
<h3 class="my-2 text-lg text-center">
|
||||||
{{ t("team.we_sent_invite_link") }}
|
{{ t("team.we_sent_invite_link") }}
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-center">
|
<p class="text-center">
|
||||||
@@ -14,12 +14,13 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
flex
|
flex
|
||||||
border border-dividerLight
|
border-dividerLight
|
||||||
mt-8
|
|
||||||
rounded
|
|
||||||
flex-col
|
flex-col
|
||||||
space-y-6
|
|
||||||
p-4
|
p-4
|
||||||
|
mt-8
|
||||||
|
space-y-6
|
||||||
|
border
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -28,7 +29,7 @@
|
|||||||
>
|
>
|
||||||
<p class="flex items-center">
|
<p class="flex items-center">
|
||||||
<i
|
<i
|
||||||
class="material-icons mr-4"
|
class="mr-4 material-icons"
|
||||||
:class="
|
:class="
|
||||||
invitee.status === 'error' ? 'text-red-500' : 'text-green-500'
|
invitee.status === 'error' ? 'text-red-500' : 'text-green-500'
|
||||||
"
|
"
|
||||||
@@ -41,7 +42,7 @@
|
|||||||
</i>
|
</i>
|
||||||
<span class="truncate">{{ invitee.email }}</span>
|
<span class="truncate">{{ invitee.email }}</span>
|
||||||
</p>
|
</p>
|
||||||
<p v-if="invitee.status === 'error'" class="ml-8 text-red-500 mt-2">
|
<p v-if="invitee.status === 'error'" class="mt-2 ml-8 text-red-500">
|
||||||
{{ getErrorMessage(invitee.error) }}
|
{{ getErrorMessage(invitee.error) }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -49,20 +50,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="sendingInvites"
|
v-else-if="sendingInvites"
|
||||||
class="flex p-4 items-center justify-center"
|
class="flex items-center justify-center p-4"
|
||||||
>
|
>
|
||||||
<SmartSpinner />
|
<SmartSpinner />
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="flex flex-col px-2">
|
<div v-else class="flex flex-col px-2">
|
||||||
<div class="flex flex-1 justify-between items-center">
|
<div class="flex items-center justify-between flex-1">
|
||||||
<label for="memberList" class="pb-4 px-4">
|
<label for="memberList" class="px-4 pb-4">
|
||||||
{{ t("team.pending_invites") }}
|
{{ t("team.pending_invites") }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="divide-y divide-dividerLight border-divider border rounded">
|
<div class="border rounded divide-dividerLight border-divider divide-y">
|
||||||
<div
|
<div
|
||||||
v-if="pendingInvites.loading"
|
v-if="pendingInvites.loading"
|
||||||
class="flex p-4 items-center justify-center"
|
class="flex items-center justify-center p-4"
|
||||||
>
|
>
|
||||||
<SmartSpinner />
|
<SmartSpinner />
|
||||||
</div>
|
</div>
|
||||||
@@ -74,16 +75,17 @@
|
|||||||
v-for="(invitee, index) in pendingInvites.data.right.team
|
v-for="(invitee, index) in pendingInvites.data.right.team
|
||||||
.teamInvitations"
|
.teamInvitations"
|
||||||
:key="`invitee-${index}`"
|
:key="`invitee-${index}`"
|
||||||
class="divide-x divide-dividerLight flex"
|
class="flex divide-dividerLight divide-x"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
v-if="invitee"
|
v-if="invitee"
|
||||||
class="
|
class="
|
||||||
bg-transparent
|
flex
|
||||||
flex flex-1
|
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
py-2
|
flex-1
|
||||||
px-4
|
px-4
|
||||||
|
py-2
|
||||||
|
bg-transparent
|
||||||
"
|
"
|
||||||
:placeholder="`${t('team.email')}`"
|
:placeholder="`${t('team.email')}`"
|
||||||
:name="'param' + index"
|
:name="'param' + index"
|
||||||
@@ -92,11 +94,12 @@
|
|||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
class="
|
class="
|
||||||
bg-transparent
|
flex
|
||||||
flex flex-1
|
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
py-2
|
flex-1
|
||||||
px-4
|
px-4
|
||||||
|
py-2
|
||||||
|
bg-transparent
|
||||||
"
|
"
|
||||||
:placeholder="`${t('team.permissions')}`"
|
:placeholder="`${t('team.permissions')}`"
|
||||||
:name="'value' + index"
|
:name="'value' + index"
|
||||||
@@ -124,11 +127,12 @@
|
|||||||
pendingInvites.data.right.team.teamInvitations.length === 0
|
pendingInvites.data.right.team.teamInvitations.length === 0
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="text-center">
|
<span class="text-center">
|
||||||
@@ -137,14 +141,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="!pendingInvites.loading && E.isLeft(pendingInvites.data)"
|
v-if="!pendingInvites.loading && E.isLeft(pendingInvites.data)"
|
||||||
class="flex flex-col p-4 items-center"
|
class="flex flex-col items-center p-4"
|
||||||
>
|
>
|
||||||
<i class="mb-4 material-icons">help_outline</i>
|
<i class="mb-4 material-icons">help_outline</i>
|
||||||
{{ t("error.something_went_wrong") }}
|
{{ t("error.something_went_wrong") }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex pt-4 flex-1 justify-between items-center">
|
<div class="flex items-center justify-between flex-1 pt-4">
|
||||||
<label for="memberList" class="p-4">
|
<label for="memberList" class="p-4">
|
||||||
{{ t("team.invite_tooltip") }}
|
{{ t("team.invite_tooltip") }}
|
||||||
</label>
|
</label>
|
||||||
@@ -157,15 +161,15 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="divide-y divide-dividerLight border-divider border rounded">
|
<div class="border rounded divide-dividerLight border-divider divide-y">
|
||||||
<div
|
<div
|
||||||
v-for="(invitee, index) in newInvites"
|
v-for="(invitee, index) in newInvites"
|
||||||
:key="`new-invitee-${index}`"
|
:key="`new-invitee-${index}`"
|
||||||
class="divide-x divide-dividerLight flex"
|
class="flex divide-dividerLight divide-x"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
v-model="invitee.key"
|
v-model="invitee.key"
|
||||||
class="bg-transparent flex flex-1 py-2 px-4"
|
class="flex flex-1 px-4 py-2 bg-transparent"
|
||||||
:placeholder="`${t('team.email')}`"
|
:placeholder="`${t('team.email')}`"
|
||||||
:name="'invitee' + index"
|
:name="'invitee' + index"
|
||||||
autofocus
|
autofocus
|
||||||
@@ -182,11 +186,11 @@
|
|||||||
<span class="select-wrapper">
|
<span class="select-wrapper">
|
||||||
<input
|
<input
|
||||||
class="
|
class="
|
||||||
|
flex flex-1
|
||||||
|
px-4
|
||||||
|
py-2
|
||||||
bg-transparent
|
bg-transparent
|
||||||
cursor-pointer
|
cursor-pointer
|
||||||
flex flex-1
|
|
||||||
py-2
|
|
||||||
px-4
|
|
||||||
"
|
"
|
||||||
:placeholder="`${t('team.permissions')}`"
|
:placeholder="`${t('team.permissions')}`"
|
||||||
:name="'value' + index"
|
:name="'value' + index"
|
||||||
@@ -242,27 +246,29 @@
|
|||||||
<div
|
<div
|
||||||
v-if="newInvites.length === 0"
|
v-if="newInvites.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_group.svg`"
|
:src="`/images/states/${$colorMode.value}/add_group.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-4
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.invites')}`"
|
:alt="`${t('empty.invites')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center pb-4">
|
<span class="pb-4 text-center">
|
||||||
{{ t("empty.invites") }}
|
{{ t("empty.invites") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
@@ -275,30 +281,33 @@
|
|||||||
<div
|
<div
|
||||||
v-if="newInvites.length"
|
v-if="newInvites.length"
|
||||||
class="
|
class="
|
||||||
px-4
|
flex
|
||||||
mt-4
|
border-dividerLight
|
||||||
py-4
|
flex-col
|
||||||
rounded
|
|
||||||
border border-dividerLight
|
|
||||||
flex flex-col
|
|
||||||
items-start
|
items-start
|
||||||
|
px-4
|
||||||
|
py-4
|
||||||
|
mt-4
|
||||||
|
border
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
mb-4
|
bg-primaryDark
|
||||||
|
border-divider
|
||||||
|
flex
|
||||||
|
items-center
|
||||||
|
justify-center
|
||||||
px-2
|
px-2
|
||||||
py-1
|
py-1
|
||||||
flex
|
mb-4
|
||||||
justify-center
|
|
||||||
items-center
|
|
||||||
font-semibold
|
font-semibold
|
||||||
|
border
|
||||||
rounded-full
|
rounded-full
|
||||||
bg-primaryDark
|
|
||||||
border border-divider
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<i class="text-secondaryLight mr-2 material-icons">help_outline</i>
|
<i class="mr-2 text-secondaryLight material-icons">help_outline</i>
|
||||||
{{ t("profile.roles") }}
|
{{ t("profile.roles") }}
|
||||||
</span>
|
</span>
|
||||||
<p>
|
<p>
|
||||||
@@ -310,12 +319,12 @@
|
|||||||
<li class="flex">
|
<li class="flex">
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
font-semibold
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
uppercase
|
|
||||||
truncate
|
|
||||||
max-w-16
|
max-w-16
|
||||||
w-1/4
|
w-1/4
|
||||||
|
font-semibold
|
||||||
|
uppercase
|
||||||
|
truncate
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ t("profile.owner") }}
|
{{ t("profile.owner") }}
|
||||||
@@ -327,12 +336,12 @@
|
|||||||
<li class="flex">
|
<li class="flex">
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
font-semibold
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
uppercase
|
|
||||||
truncate
|
|
||||||
max-w-16
|
max-w-16
|
||||||
w-1/4
|
w-1/4
|
||||||
|
font-semibold
|
||||||
|
uppercase
|
||||||
|
truncate
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ t("profile.editor") }}
|
{{ t("profile.editor") }}
|
||||||
@@ -344,12 +353,12 @@
|
|||||||
<li class="flex">
|
<li class="flex">
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
font-semibold
|
|
||||||
text-secondaryDark
|
text-secondaryDark
|
||||||
uppercase
|
|
||||||
truncate
|
|
||||||
max-w-16
|
max-w-16
|
||||||
w-1/4
|
w-1/4
|
||||||
|
font-semibold
|
||||||
|
uppercase
|
||||||
|
truncate
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ t("profile.viewer") }}
|
{{ t("profile.viewer") }}
|
||||||
@@ -365,7 +374,7 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<p
|
<p
|
||||||
v-if="sendInvitesResult.length"
|
v-if="sendInvitesResult.length"
|
||||||
class="flex flex-1 text-secondaryLight justify-between"
|
class="flex justify-between flex-1 text-secondaryLight"
|
||||||
>
|
>
|
||||||
<SmartAnchor
|
<SmartAnchor
|
||||||
class="link"
|
class="link"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="border border-divider rounded flex flex-col flex-1">
|
<div class="flex flex-col flex-1 border rounded border-divider">
|
||||||
<div
|
<div
|
||||||
class="flex flex-1 items-start"
|
class="flex items-start flex-1"
|
||||||
:class="
|
:class="
|
||||||
compact
|
compact
|
||||||
? team.myRole === 'OWNER'
|
? team.myRole === 'OWNER'
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
>
|
>
|
||||||
{{ team.name || t("state.nothing_found") }}
|
{{ team.name || t("state.nothing_found") }}
|
||||||
</label>
|
</label>
|
||||||
<div class="flex -space-x-1 mt-2 overflow-hidden">
|
<div class="flex mt-2 overflow-hidden -space-x-1">
|
||||||
<img
|
<img
|
||||||
v-for="(member, index) in team.teamMembers"
|
v-for="(member, index) in team.teamMembers"
|
||||||
:key="`member-${index}`"
|
:key="`member-${index}`"
|
||||||
@@ -32,13 +32,13 @@
|
|||||||
:title="member.user.displayName"
|
:title="member.user.displayName"
|
||||||
:src="member.user.photoURL || undefined"
|
:src="member.user.photoURL || undefined"
|
||||||
:alt="member.user.displayName"
|
:alt="member.user.displayName"
|
||||||
class="rounded-full h-5 ring-primary ring-2 w-5 inline-block"
|
class="inline-block w-5 h-5 rounded-full ring-primary ring-2"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!compact" class="flex flex-shrink-0 items-end justify-between">
|
<div v-if="!compact" class="flex items-end justify-between flex-shrink-0">
|
||||||
<span>
|
<span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
v-if="team.myRole === 'OWNER'"
|
v-if="team.myRole === 'OWNER'"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<AppSection label="teams">
|
<AppSection label="teams">
|
||||||
<div class="space-y-4 p-4">
|
<div class="p-4 space-y-4">
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
:label="`${t('team.create_new')}`"
|
:label="`${t('team.create_new')}`"
|
||||||
outline
|
outline
|
||||||
@@ -20,27 +20,29 @@
|
|||||||
myTeams.data.right.myTeams.length === 0
|
myTeams.data.right.myTeams.length === 0
|
||||||
"
|
"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/add_group.svg`"
|
:src="`/images/states/${$colorMode.value}/add_group.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
mb-8
|
|
||||||
object-contain object-center
|
|
||||||
h-16
|
|
||||||
w-16
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-16
|
||||||
|
h-16
|
||||||
|
mb-8
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.teams')}`"
|
:alt="`${t('empty.teams')}`"
|
||||||
/>
|
/>
|
||||||
<span class="text-center mb-4">
|
<span class="mb-4 text-center">
|
||||||
{{ t("empty.teams") }}
|
{{ t("empty.teams") }}
|
||||||
</span>
|
</span>
|
||||||
<ButtonSecondary
|
<ButtonSecondary
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex h-screen w-screen">
|
<div class="flex w-screen h-screen">
|
||||||
<Splitpanes class="no-splitter" :dbl-click-splitter="false" horizontal>
|
<Splitpanes class="no-splitter" :dbl-click-splitter="false" horizontal>
|
||||||
<Pane v-if="!ZEN_MODE" style="height: auto">
|
<Pane v-if="!ZEN_MODE" style="height: auto">
|
||||||
<AppHeader />
|
<AppHeader />
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<img
|
<img
|
||||||
:src="`/images/states/${$colorMode.value}/youre_lost.svg`"
|
:src="`/images/states/${$colorMode.value}/youre_lost.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="flex-col my-4 object-contain object-center h-46 w-46 inline-flex"
|
class="inline-flex flex-col object-contain object-center my-4 h-46 w-46"
|
||||||
:alt="message"
|
:alt="message"
|
||||||
/>
|
/>
|
||||||
<h1 class="mb-4 text-4xl heading">{{ statusCode }}</h1>
|
<h1 class="mb-4 text-4xl heading">{{ statusCode }}</h1>
|
||||||
|
|||||||
@@ -11,18 +11,18 @@
|
|||||||
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
<Splitpanes class="smart-splitter" :horizontal="COLUMN_LAYOUT">
|
||||||
<Pane class="hide-scrollbar !overflow-auto">
|
<Pane class="hide-scrollbar !overflow-auto">
|
||||||
<AppSection label="import">
|
<AppSection label="import">
|
||||||
<div class="flex p-4 items-start justify-between">
|
<div class="flex items-start justify-between p-4">
|
||||||
<label>
|
<label>
|
||||||
{{ $t("documentation.generate_message") }}
|
{{ $t("documentation.generate_message") }}
|
||||||
</label>
|
</label>
|
||||||
<span
|
<span
|
||||||
class="
|
class="
|
||||||
bg-accentDark
|
bg-accentDark
|
||||||
rounded
|
|
||||||
text-accentContrast
|
text-accentContrast
|
||||||
py-1
|
|
||||||
px-2
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
px-2
|
||||||
|
py-1
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
BETA
|
BETA
|
||||||
@@ -31,13 +31,14 @@
|
|||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex
|
sticky
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
|
flex
|
||||||
items-start
|
items-start
|
||||||
justify-between
|
justify-between
|
||||||
sticky
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<label for="collectionUpload">
|
<label for="collectionUpload">
|
||||||
@@ -67,21 +68,23 @@
|
|||||||
<textarea-autosize
|
<textarea-autosize
|
||||||
id="import-curl"
|
id="import-curl"
|
||||||
v-model="collectionJSON"
|
v-model="collectionJSON"
|
||||||
class="font-mono p-4 bg-primary"
|
class="p-4 font-mono bg-primary"
|
||||||
autofocus
|
autofocus
|
||||||
rows="8"
|
rows="8"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="
|
class="
|
||||||
|
border-t
|
||||||
bg-primary
|
bg-primary
|
||||||
border-t border-b border-dividerLight
|
border-dividerLight
|
||||||
flex
|
sticky
|
||||||
p-4
|
|
||||||
bottom-0
|
bottom-0
|
||||||
z-10
|
z-10
|
||||||
justify-between
|
flex
|
||||||
items-start
|
items-start
|
||||||
sticky
|
justify-between
|
||||||
|
p-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<ButtonPrimary
|
<ButtonPrimary
|
||||||
@@ -97,14 +100,15 @@
|
|||||||
<div
|
<div
|
||||||
v-if="items.length === 0"
|
v-if="items.length === 0"
|
||||||
class="
|
class="
|
||||||
flex flex-col
|
flex
|
||||||
text-secondaryLight
|
text-secondaryLight
|
||||||
p-4
|
flex-col
|
||||||
items-center
|
items-center
|
||||||
justify-center
|
justify-center
|
||||||
|
p-4
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">topic</i>
|
<i class="pb-2 opacity-75 material-icons">topic</i>
|
||||||
<span class="text-center">
|
<span class="text-center">
|
||||||
{{ $t("helpers.generate_documentation_first") }}
|
{{ $t("helpers.generate_documentation_first") }}
|
||||||
</span>
|
</span>
|
||||||
@@ -112,13 +116,15 @@
|
|||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="
|
class="
|
||||||
|
flex
|
||||||
bg-primary
|
bg-primary
|
||||||
border-b border-dividerLight
|
border-dividerLight
|
||||||
flex flex-1
|
sticky
|
||||||
p-4
|
|
||||||
top-0
|
top-0
|
||||||
z-10
|
z-10
|
||||||
sticky
|
flex-1
|
||||||
|
p-4
|
||||||
|
border-b
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex flex-col min-h-screen items-center justify-center">
|
<div class="flex flex-col items-center justify-center min-h-screen">
|
||||||
<SmartSpinner v-if="signingInWithEmail" />
|
<SmartSpinner v-if="signingInWithEmail" />
|
||||||
<SmartLoadingIndicator v-else />
|
<SmartLoadingIndicator v-else />
|
||||||
<pre v-if="error">{{ error }}</pre>
|
<pre v-if="error">{{ error }}</pre>
|
||||||
|
|||||||
@@ -1,26 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex flex-col min-h-screen items-center justify-between">
|
<div class="flex flex-col items-center justify-between min-h-screen">
|
||||||
<div
|
<div
|
||||||
v-if="invalidLink"
|
v-if="invalidLink"
|
||||||
class="flex flex-1 items-center justify-center flex-col"
|
class="flex flex-col items-center justify-center flex-1"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">error_outline</i>
|
<i class="pb-2 opacity-75 material-icons">error_outline</i>
|
||||||
<h1 class="heading text-center">
|
<h1 class="text-center heading">
|
||||||
{{ $t("team.invalid_invite_link") }}
|
{{ $t("team.invalid_invite_link") }}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-center mt-2">
|
<p class="mt-2 text-center">
|
||||||
{{ $t("team.invalid_invite_link_description") }}
|
{{ $t("team.invalid_invite_link_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="loadingCurrentUser"
|
v-else-if="loadingCurrentUser"
|
||||||
class="flex-col flex-1 p-4 flex items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<SmartSpinner />
|
<SmartSpinner />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="currentUser === null"
|
v-else-if="currentUser === null"
|
||||||
class="flex-col flex-1 p-4 flex items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<h1 class="heading">{{ $t("team.login_to_continue") }}</h1>
|
<h1 class="heading">{{ $t("team.login_to_continue") }}</h1>
|
||||||
<p class="mt-2">{{ $t("team.login_to_continue_description") }}</p>
|
<p class="mt-2">{{ $t("team.login_to_continue_description") }}</p>
|
||||||
@@ -30,17 +30,17 @@
|
|||||||
@click.native="showLogin = true"
|
@click.native="showLogin = true"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="flex-col flex-1 p-4 flex items-center justify-center">
|
<div v-else class="flex flex-col items-center justify-center flex-1 p-4">
|
||||||
<div
|
<div
|
||||||
v-if="inviteDetails.loading"
|
v-if="inviteDetails.loading"
|
||||||
class="flex-col flex-1 p-4 flex items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<SmartSpinner />
|
<SmartSpinner />
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div
|
<div
|
||||||
v-if="!inviteDetails.loading && E.isLeft(inviteDetails.data)"
|
v-if="!inviteDetails.loading && E.isLeft(inviteDetails.data)"
|
||||||
class="flex flex-col p-4 items-center"
|
class="flex flex-col items-center p-4"
|
||||||
>
|
>
|
||||||
<i class="mb-4 material-icons">error_outline</i>
|
<i class="mb-4 material-icons">error_outline</i>
|
||||||
<p>
|
<p>
|
||||||
@@ -48,13 +48,14 @@
|
|||||||
</p>
|
</p>
|
||||||
<p
|
<p
|
||||||
class="
|
class="
|
||||||
p-4
|
|
||||||
items-center
|
|
||||||
mt-8
|
|
||||||
rounded
|
|
||||||
flex-col
|
|
||||||
border border-dividerLight
|
|
||||||
flex
|
flex
|
||||||
|
border-dividerLight
|
||||||
|
flex-col
|
||||||
|
items-center
|
||||||
|
p-4
|
||||||
|
mt-8
|
||||||
|
border
|
||||||
|
rounded
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="mb-4">
|
<span class="mb-4">
|
||||||
@@ -74,7 +75,7 @@
|
|||||||
E.isRight(inviteDetails.data) &&
|
E.isRight(inviteDetails.data) &&
|
||||||
!joinTeamSuccess
|
!joinTeamSuccess
|
||||||
"
|
"
|
||||||
class="flex-col flex-1 p-4 flex items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<h1 class="heading">
|
<h1 class="heading">
|
||||||
{{
|
{{
|
||||||
@@ -83,7 +84,7 @@
|
|||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-secondaryLight mt-2">
|
<p class="mt-2 text-secondaryLight">
|
||||||
{{
|
{{
|
||||||
$t("team.invited_to_team", {
|
$t("team.invited_to_team", {
|
||||||
owner:
|
owner:
|
||||||
@@ -111,7 +112,7 @@
|
|||||||
E.isRight(inviteDetails.data) &&
|
E.isRight(inviteDetails.data) &&
|
||||||
joinTeamSuccess
|
joinTeamSuccess
|
||||||
"
|
"
|
||||||
class="flex-col flex-1 p-4 flex items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<h1 class="heading">
|
<h1 class="heading">
|
||||||
{{
|
{{
|
||||||
@@ -120,7 +121,7 @@
|
|||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-secondaryLight mt-2">
|
<p class="mt-2 text-secondaryLight">
|
||||||
{{
|
{{
|
||||||
$t("team.joined_team_description", {
|
$t("team.joined_team_description", {
|
||||||
team: inviteDetails.data.right.teamInvitation.team.name,
|
team: inviteDetails.data.right.teamInvitation.team.name,
|
||||||
|
|||||||
@@ -10,16 +10,17 @@
|
|||||||
:src="`/images/states/${$colorMode.value}/login.svg`"
|
:src="`/images/states/${$colorMode.value}/login.svg`"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="
|
class="
|
||||||
flex-col
|
object-contain
|
||||||
my-4
|
|
||||||
object-contain object-center
|
|
||||||
h-24
|
|
||||||
w-24
|
|
||||||
inline-flex
|
inline-flex
|
||||||
|
flex-col
|
||||||
|
object-center
|
||||||
|
w-24
|
||||||
|
h-24
|
||||||
|
my-4
|
||||||
"
|
"
|
||||||
:alt="`${t('empty.parameters')}`"
|
:alt="`${t('empty.parameters')}`"
|
||||||
/>
|
/>
|
||||||
<p class="text-center pb-4 text-secondaryLight">
|
<p class="pb-4 text-center text-secondaryLight">
|
||||||
{{ t("empty.profile") }}
|
{{ t("empty.profile") }}
|
||||||
</p>
|
</p>
|
||||||
<ButtonPrimary
|
<ButtonPrimary
|
||||||
@@ -30,15 +31,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else class="space-y-8">
|
<div v-else class="space-y-8">
|
||||||
<div
|
<div
|
||||||
class="bg-primaryLight h-24 md:h-32 -mb-11 rounded"
|
class="h-24 rounded bg-primaryLight md:h-32 -mb-11"
|
||||||
style="background-image: url('/images/cover.svg')"
|
style="background-image: url('/images/cover.svg')"
|
||||||
></div>
|
></div>
|
||||||
<div class="flex px-4 flex-col md:flex-row space-y-8 justify-between">
|
<div class="flex flex-col justify-between px-4 md:flex-row space-y-8">
|
||||||
<div class="flex items-end">
|
<div class="flex items-end">
|
||||||
<img
|
<img
|
||||||
v-if="currentUser.photoURL"
|
v-if="currentUser.photoURL"
|
||||||
:src="currentUser.photoURL"
|
:src="currentUser.photoURL"
|
||||||
class="rounded-lg ring-4 ring-primary h-16 w-16"
|
class="w-16 h-16 rounded-lg ring-4 ring-primary"
|
||||||
:alt="currentUser.displayName"
|
:alt="currentUser.displayName"
|
||||||
/>
|
/>
|
||||||
<SmartIcon v-else name="user" class="svg-icons" />
|
<SmartIcon v-else name="user" class="svg-icons" />
|
||||||
@@ -46,7 +47,7 @@
|
|||||||
<label class="heading">
|
<label class="heading">
|
||||||
{{ currentUser.displayName || t("state.nothing_found") }}
|
{{ currentUser.displayName || t("state.nothing_found") }}
|
||||||
</label>
|
</label>
|
||||||
<p class="flex text-secondaryLight items-center">
|
<p class="flex items-center text-secondaryLight">
|
||||||
{{ currentUser.email }}
|
{{ currentUser.email }}
|
||||||
<SmartIcon
|
<SmartIcon
|
||||||
v-if="currentUser.emailVerified"
|
v-if="currentUser.emailVerified"
|
||||||
@@ -56,7 +57,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex space-x-2 items-end">
|
<div class="flex items-end space-x-2">
|
||||||
<div>
|
<div>
|
||||||
<SmartItem
|
<SmartItem
|
||||||
to="/settings"
|
to="/settings"
|
||||||
@@ -86,7 +87,7 @@
|
|||||||
{{ t("settings.profile_name") }}
|
{{ t("settings.profile_name") }}
|
||||||
</label>
|
</label>
|
||||||
<form
|
<form
|
||||||
class="flex md:max-w-sm mt-2"
|
class="flex mt-2 md:max-w-sm"
|
||||||
@submit.prevent="updateDisplayName"
|
@submit.prevent="updateDisplayName"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@@ -114,7 +115,7 @@
|
|||||||
<div class="mt-1 text-secondaryLight">
|
<div class="mt-1 text-secondaryLight">
|
||||||
{{ t("settings.sync_description") }}
|
{{ t("settings.sync_description") }}
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 py-4">
|
<div class="py-4 space-y-4">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<SmartToggle
|
<SmartToggle
|
||||||
:on="SYNC_COLLECTIONS"
|
:on="SYNC_COLLECTIONS"
|
||||||
|
|||||||
@@ -2,33 +2,33 @@
|
|||||||
<div class="flex flex-col items-center justify-between">
|
<div class="flex flex-col items-center justify-between">
|
||||||
<div
|
<div
|
||||||
v-if="invalidLink"
|
v-if="invalidLink"
|
||||||
class="flex flex-1 items-center justify-center flex-col"
|
class="flex flex-col items-center justify-center flex-1"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">error_outline</i>
|
<i class="material-icons pb-2 opacity-75">error_outline</i>
|
||||||
<h1 class="heading text-center">
|
<h1 class="heading text-center">
|
||||||
{{ $t("error.invalid_link") }}
|
{{ $t("error.invalid_link") }}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-center mt-2">
|
<p class="mt-2 text-center">
|
||||||
{{ $t("error.invalid_link_description") }}
|
{{ $t("error.invalid_link_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="flex-col flex-1 p-4 flex items-center justify-center">
|
<div v-else class="flex flex-col items-center justify-center flex-1 p-4">
|
||||||
<div
|
<div
|
||||||
v-if="shortcodeDetails.loading"
|
v-if="shortcodeDetails.loading"
|
||||||
class="flex-col flex-1 p-4 flex items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<SmartSpinner />
|
<SmartSpinner />
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div
|
<div
|
||||||
v-if="!shortcodeDetails.loading && E.isLeft(shortcodeDetails.data)"
|
v-if="!shortcodeDetails.loading && E.isLeft(shortcodeDetails.data)"
|
||||||
class="flex flex-col p-4 items-center"
|
class="flex flex-col items-center p-4"
|
||||||
>
|
>
|
||||||
<i class="opacity-75 pb-2 material-icons">error_outline</i>
|
<i class="material-icons pb-2 opacity-75">error_outline</i>
|
||||||
<h1 class="heading text-center">
|
<h1 class="heading text-center">
|
||||||
{{ $t("error.invalid_link") }}
|
{{ $t("error.invalid_link") }}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-center mt-2">
|
<p class="mt-2 text-center">
|
||||||
{{ $t("error.invalid_link_description") }}
|
{{ $t("error.invalid_link_description") }}
|
||||||
</p>
|
</p>
|
||||||
<p class="mt-4">
|
<p class="mt-4">
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="!shortcodeDetails.loading && E.isRight(shortcodeDetails.data)"
|
v-if="!shortcodeDetails.loading && E.isRight(shortcodeDetails.data)"
|
||||||
class="flex-col flex-1 p-4 flex items-center justify-center"
|
class="flex flex-col items-center justify-center flex-1 p-4"
|
||||||
>
|
>
|
||||||
<h1 class="heading">
|
<h1 class="heading">
|
||||||
{{ $t("state.loading") }}
|
{{ $t("state.loading") }}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="divide-y divide-dividerLight container space-y-8">
|
<div class="container divide-dividerLight space-y-8 divide-y">
|
||||||
<div class="md:grid md:gap-4 md:grid-cols-3">
|
<div class="md:grid md:gap-4 md:grid-cols-3">
|
||||||
<div class="p-8 md:col-span-1">
|
<div class="p-8 md:col-span-1">
|
||||||
<h3 class="heading">
|
<h3 class="heading">
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
{{ $t("settings.theme_description") }}
|
{{ $t("settings.theme_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-8 p-8 md:col-span-2">
|
<div class="p-8 md:col-span-2 space-y-8">
|
||||||
<section>
|
<section>
|
||||||
<h4 class="font-semibold text-secondaryDark">
|
<h4 class="font-semibold text-secondaryDark">
|
||||||
{{ $t("settings.background") }}
|
{{ $t("settings.background") }}
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
{{ $t("app.contact_us") }} </SmartLink
|
{{ $t("app.contact_us") }} </SmartLink
|
||||||
>.
|
>.
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 py-4">
|
<div class="py-4 space-y-4">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<SmartToggle :on="TELEMETRY_ENABLED" @change="showConfirmModal">
|
<SmartToggle :on="TELEMETRY_ENABLED" @change="showConfirmModal">
|
||||||
{{ $t("settings.telemetry") }}
|
{{ $t("settings.telemetry") }}
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
{{ $t("settings.interceptor_description") }}
|
{{ $t("settings.interceptor_description") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-8 p-8 md:col-span-2">
|
<div class="p-8 md:col-span-2 space-y-8">
|
||||||
<section>
|
<section>
|
||||||
<h4 class="font-semibold text-secondaryDark">
|
<h4 class="font-semibold text-secondaryDark">
|
||||||
{{ $t("settings.extensions") }}
|
{{ $t("settings.extensions") }}
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
{{ $t("settings.extension_ver_not_reported") }}
|
{{ $t("settings.extension_ver_not_reported") }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col space-y-2 py-4">
|
<div class="flex flex-col py-4 space-y-2">
|
||||||
<span>
|
<span>
|
||||||
<SmartItem
|
<SmartItem
|
||||||
to="https://addons.mozilla.org/en-US/firefox/addon/hoppscotch"
|
to="https://addons.mozilla.org/en-US/firefox/addon/hoppscotch"
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 py-4">
|
<div class="py-4 space-y-4">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<SmartToggle
|
<SmartToggle
|
||||||
:on="EXTENSIONS_ENABLED"
|
:on="EXTENSIONS_ENABLED"
|
||||||
@@ -180,7 +180,7 @@
|
|||||||
{{ $t("app.proxy_privacy_policy") }} </SmartLink
|
{{ $t("app.proxy_privacy_policy") }} </SmartLink
|
||||||
>.
|
>.
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 py-4">
|
<div class="py-4 space-y-4">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<SmartToggle
|
<SmartToggle
|
||||||
:on="PROXY_ENABLED"
|
:on="PROXY_ENABLED"
|
||||||
@@ -190,8 +190,8 @@
|
|||||||
</SmartToggle>
|
</SmartToggle>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex space-x-2 py-4 items-center">
|
<div class="flex items-center py-4 space-x-2">
|
||||||
<div class="flex flex-1 flex-col relative">
|
<div class="relative flex flex-col flex-1">
|
||||||
<input
|
<input
|
||||||
id="url"
|
id="url"
|
||||||
v-model="PROXY_URL"
|
v-model="PROXY_URL"
|
||||||
|
|||||||
Reference in New Issue
Block a user