refactor(ui): better font weight, icon hover states, etc

This commit is contained in:
liyasthomas
2021-08-13 16:44:02 +05:30
parent 08e3cffff8
commit 11816111ea
94 changed files with 547 additions and 514 deletions

View File

@@ -1,54 +1,26 @@
<template>
<div class="bg-dividerLight border-b border-divider flex justify-between">
<span class="flex">
<SmartLink
to="https://forms.gle/8yFiEynXB7h477Ns6"
blank
class="
flex
py-2
px-4
transition
relative
items-center
justify-center
group
"
>
<i class="mr-4 material-icons">science</i>
<span class="text-secondaryDark">
<span class="md:hidden"> Beta Layout </span>
<span class="hidden md:inline">
You're currently viewing an experimental beta layout
</span>
<div class="bg-error flex justify-between">
<span
class="
flex
py-2
px-4
transition
relative
items-center
justify-center
group
"
>
<i class="mr-2 material-icons">info_outline</i>
<span class="text-secondaryDark">
<span class="md:hidden">
{{ $t("helpers.offline_short") }}
</span>
<span
class="
border-l border-divider
flex
font-semibold
text-accent
ml-4
pl-4
transition
items-center
justify-center
group-hover:text-accentDark
"
>
<span class="md:hidden"> Give Feedback </span>
<span class="hidden md:inline"> Report a problem </span>
<span class="hidden md:inline">
{{ $t("helpers.offline") }}
</span>
</SmartLink>
<SmartLink
to="https://hoppscotch.io"
class="flex transition items-center justify-center group"
>
<span class="text-secondaryDark">
Switch back to the Hoppscotch website
</span>
</SmartLink>
</span>
</span>
<ButtonSecondary icon="close" />
</div>
</template>

View File

@@ -1,53 +1,56 @@
<template>
<header class="flex flex-1 py-2 px-4 items-center justify-between">
<div class="font-bold flex-shrink-0 inline-flex items-center">
<AppLogo />
</div>
<div class="space-x-2 flex-shrink-0 inline-flex items-center">
<AppGitHubStarButton class="flex mx-2 mt-1" />
<ButtonSecondary
id="installPWA"
v-tippy="{ theme: 'tooltip' }"
:title="$t('header.install_pwa')"
icon="offline_bolt"
@click.native="showInstallPrompt()"
/>
<ButtonPrimary
v-if="currentUser === null"
label="Login"
@click.native="showLogin = true"
/>
<span v-else>
<tippy ref="user" interactive trigger="click" theme="popover" arrow>
<template #trigger>
<ProfilePicture
v-if="currentUser.photoURL"
v-tippy="{ theme: 'tooltip' }"
:url="currentUser.photoURL"
:alt="currentUser.displayName"
:title="currentUser.displayName"
indicator
:indicator-styles="isOnLine ? 'bg-green-500' : 'bg-red-500'"
<div>
<header class="flex flex-1 py-2 px-4 items-center justify-between">
<div class="font-bold flex-shrink-0 inline-flex items-center">
Hoppscotch
</div>
<div class="space-x-2 flex-shrink-0 inline-flex items-center">
<AppGitHubStarButton class="flex mx-2 mt-1" />
<ButtonSecondary
id="installPWA"
v-tippy="{ theme: 'tooltip' }"
:title="$t('header.install_pwa')"
icon="offline_bolt"
@click.native="showInstallPrompt()"
/>
<ButtonPrimary
v-if="currentUser === null"
label="Login"
@click.native="showLogin = true"
/>
<span v-else>
<tippy ref="user" interactive trigger="click" theme="popover" arrow>
<template #trigger>
<ProfilePicture
v-if="currentUser.photoURL"
v-tippy="{ theme: 'tooltip' }"
:url="currentUser.photoURL"
:alt="currentUser.displayName"
:title="currentUser.displayName"
indicator
:indicator-styles="isOnLine ? 'bg-green-500' : 'bg-red-500'"
/>
<ButtonSecondary
v-else
v-tippy="{ theme: 'tooltip' }"
:title="$t('account')"
icon="account_circle"
/>
</template>
<SmartItem
to="/settings"
icon="settings"
:label="$t('navigation.settings')"
@click.native="$refs.user.tippy().hide()"
/>
<ButtonSecondary
v-else
v-tippy="{ theme: 'tooltip' }"
:title="$t('account')"
icon="account_circle"
/>
</template>
<SmartItem
to="/settings"
icon="settings"
:label="$t('navigation.settings')"
@click.native="$refs.user.tippy().hide()"
/>
<FirebaseLogout @confirm-logout="$refs.user.tippy().hide()" />
</tippy>
</span>
</div>
<FirebaseLogin :show="showLogin" @hide-modal="showLogin = false" />
</header>
<FirebaseLogout @confirm-logout="$refs.user.tippy().hide()" />
</tippy>
</span>
</div>
<FirebaseLogin :show="showLogin" @hide-modal="showLogin = false" />
</header>
<AppAnnouncement v-if="!isOnLine" />
</div>
</template>
<script>

View File

@@ -34,7 +34,7 @@
v-for="(map, mapIndex) in filteredMappings"
:key="`map-${mapIndex}`"
>
<h5 class="font-normal my-2 text-secondaryLight py-2 px-4">
<h5 class="my-2 text-secondaryLight py-2 px-4">
{{ map.section }}
</h5>
<div

View File

@@ -1,5 +1,5 @@
<template>
<section :id="label.toLowerCase()" class="flex flex-col flex-1">
<section :id="label.toLowerCase()" class="flex flex-col flex-1 relative">
<slot></slot>
</section>
</template>

View File

@@ -24,7 +24,7 @@
</a>
<button class="share-link" @click="copyAppLink">
<span class="font-icon h-6 text-xl w-6">{{ copyIcon }}</span>
<span class="font-medium mt-3">
<span class="mt-3">
{{ $t("app.copy") }}
</span>
</button>

View File

@@ -15,7 +15,11 @@
>
<h3 class="ml-4 heading">{{ $t("shortcuts") }}</h3>
<div class="flex">
<ButtonSecondary icon="close" @click.native="close()" />
<ButtonSecondary
icon="close"
class="rounded"
@click.native="close()"
/>
</div>
</div>
<div class="border-b border-dividerLight">
@@ -28,7 +32,6 @@
border border-dividerLight
rounded
flex
font-semibold font-mono
w-full
py-2
pr-2
@@ -54,7 +57,7 @@
:key="`map-${mapIndex}`"
class="space-y-4 py-4 px-6"
>
<h5 class="font-bold text-secondaryDark">
<h5 class="font-semibold text-secondaryDark">
{{ map.section }}
</h5>
<div

View File

@@ -130,7 +130,7 @@ export default defineComponent({
span {
@apply mt-2;
@apply font-semibold;
@apply font-font-medium;
}
&.exact-active-link {

View File

@@ -11,6 +11,7 @@
items-center
justify-center
focus:outline-none
focus-visible:bg-accentDark
"
:class="[
color

View File

@@ -4,7 +4,7 @@
:exact="exact"
:blank="blank"
class="
font-semibold
font-medium
py-2
transition
inline-flex
@@ -12,13 +12,14 @@
justify-center
hover:bg-primaryDark
focus:outline-none
focus-visible:bg-primaryDark
"
:class="[
color
? `text-${color}-500 hover:(text-${color}-600 text-${color}-600)`
: 'text-secondary hover:text-secondaryDark focus:text-secondaryDark',
label ? 'px-4' : 'px-2',
rounded ? 'rounded-full' : 'rounded',
label ? 'rounded px-4' : 'px-2',
{ 'rounded-full': rounded },
{ 'opacity-75 cursor-not-allowed': disabled },
{ 'flex-row-reverse': reverse },
{ 'px-6 py-4 text-lg': large },
@@ -53,14 +54,7 @@
<kbd
v-for="(key, index) in shortcut"
:key="`key-${index}`"
class="
bg-dividerLight
rounded
text-secondaryLight
ml-1
px-1
inline-flex
"
class="bg-dividerLight text-secondaryLight ml-1 px-1 inline-flex"
>
{{ key }}
</kbd>

View File

@@ -21,7 +21,6 @@
bg-primaryLight
border-b border-dividerLight
flex
font-semibold
w-full
py-2
px-4

View File

@@ -16,7 +16,7 @@
{{ $t("request.name") }}
</label>
</div>
<label class="font-semibold px-4 pt-4 pb-4">
<label class="px-4 pt-4 pb-4">
{{ $t("collection.select_location") }}
</label>
<CollectionsGraphql

View File

@@ -20,9 +20,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -20,9 +20,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -12,7 +12,6 @@
class="
cursor-pointer
flex
font-mono font-bold
mx-2
w-12
justify-center
@@ -28,9 +27,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -16,7 +16,6 @@
bg-primaryLight
border-b border-dividerLight
flex
font-semibold font-mono
w-full
py-2
pr-2
@@ -30,6 +29,7 @@
<ButtonSecondary
icon="add"
:label="$t('new')"
class="rounded-none"
@click.native="displayModalAdd(true)"
/>
<ButtonSecondary

View File

@@ -16,7 +16,6 @@
bg-primaryLight
border-b border-dividerLight
flex
font-semibold font-mono
w-full
py-2
pr-2
@@ -42,6 +41,7 @@
"
v-tippy="{ theme: 'tooltip' }"
disabled
class="rounded-none"
icon="add"
:title="$t('team.no_access')"
:label="$t('new')"
@@ -50,19 +50,29 @@
v-else
icon="add"
:label="$t('new')"
class="rounded-none"
@click.native="displayModalAdd(true)"
/>
<ButtonSecondary
v-if="!saveRequest"
v-tippy="{ theme: 'tooltip' }"
:disabled="
collectionsType.type == 'team-collections' &&
collectionsType.selectedTeam == undefined
"
icon="import_export"
:title="$t('modal.import_export')"
@click.native="displayModalImportExport(true)"
/>
<span class="flex">
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
to="https://docs.hoppscotch.io/"
blank
:title="$t('wiki')"
icon="help_outline"
/>
<ButtonSecondary
v-if="!saveRequest"
v-tippy="{ theme: 'tooltip' }"
:disabled="
collectionsType.type == 'team-collections' &&
collectionsType.selectedTeam == undefined
"
icon="import_export"
:title="$t('modal.import_export')"
@click.native="displayModalImportExport(true)"
/>
</span>
</div>
</div>
<div class="flex flex-col">
@@ -99,7 +109,6 @@
v-if="collections.length === 0"
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
>
<i class="opacity-75 pb-2 material-icons">create_new_folder</i>
<span class="text-center pb-4">
{{ $t("empty.collections") }}
</span>

View File

@@ -20,9 +20,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -20,9 +20,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -12,7 +12,6 @@
class="
cursor-pointer
flex
font-mono font-bold
mx-2
w-12
justify-center
@@ -36,9 +35,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -12,9 +12,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -12,9 +12,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -5,7 +5,6 @@
class="
cursor-pointer
flex
font-mono font-bold
mx-2
w-12
justify-center
@@ -29,9 +28,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -17,7 +17,7 @@
</label>
</div>
<div class="flex flex-1 justify-between items-center">
<label for="variableList" class="font-semibold p-4">
<label for="variableList" class="p-4">
{{ $t("env_variable_list") }}
</label>
<div class="flex">
@@ -25,12 +25,14 @@
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear')"
:icon="clearIcon"
class="rounded"
@click.native="clearContent()"
/>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
icon="add"
:title="$t('add.new')"
class="rounded"
@click.native="addEnvironmentVariable"
/>
</div>
@@ -45,9 +47,7 @@
v-model="variable.key"
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -60,9 +60,7 @@
v-model="variable.value"
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate

View File

@@ -9,9 +9,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -18,7 +18,6 @@
bg-primaryLight
border-b border-dividerLight
flex
font-semibold
w-full
py-2
px-4
@@ -43,6 +42,7 @@
<ButtonSecondary
icon="add"
:label="$t('new')"
class="rounded-none"
@click.native="displayModalAdd(true)"
/>
<ButtonSecondary

View File

@@ -64,7 +64,7 @@
<i class="text-accent material-icons !text-4xl">
mark_email_unread
</i>
<h3 class="font-bold my-2 text-center text-lg">
<h3 class="my-2 text-center text-lg">
{{ $t("auth.we_sent_magic_link") }}
</h3>
<p class="text-center">

View File

@@ -1,9 +1,6 @@
<template>
<div>
<div
class="font-semibold field-title"
:class="{ 'field-highlighted': isHighlighted }"
>
<div class="field-title" :class="{ 'field-highlighted': isHighlighted }">
{{ fieldName }}
<span v-if="fieldArgs.length > 0">
(
@@ -32,7 +29,6 @@
v-if="gqlField.isDeprecated"
class="
rounded
font-semibold
bg-yellow-200
my-1
text-black
@@ -48,7 +44,7 @@
<h5 class="my-2">Arguments:</h5>
<div class="border-divider border-l-2 pl-4">
<div v-for="(field, index) in fieldArgs" :key="`field-${index}`">
<span class="font-semibold">
<span>
{{ field.name }}:
<GraphqlTypeLink
:gql-type="field.type"

View File

@@ -11,7 +11,6 @@
bg-primaryLight
border border-divider
rounded-l
font-semibold font-mono
text-secondaryDark
w-full
py-2

View File

@@ -17,7 +17,7 @@
gqlRunQuery
"
>
<label for="gqlQuery" class="font-semibold">
<label class="font-semibold text-secondaryLight">
{{ $t("query") }}
</label>
<div class="flex">
@@ -25,7 +25,7 @@
:label="$t('run')"
:shortcut="[getSpecialKey(), 'Enter']"
icon="play_arrow"
class="!text-accent"
class="rounded-none !text-accent"
@click.native="runQuery()"
/>
<ButtonSecondary
@@ -83,7 +83,7 @@
justify-between
"
>
<label class="font-semibold">
<label class="font-semibold text-secondaryLight">
{{ $t("variables") }}
</label>
<div class="flex">
@@ -126,7 +126,7 @@
justify-between
"
>
<label class="font-semibold">
<label class="font-semibold text-secondaryLight">
{{ $t("headers") }}
</label>
<div class="flex">
@@ -163,9 +163,8 @@
styles="
bg-primaryLight
flex
font-semibold font-mono
flex-1
py-2
py-1
px-4
truncate
focus:outline-none
@@ -181,9 +180,7 @@
<input
class="
bg-primaryLight
flex
font-semibold font-mono
w-full
flex flex-1
py-2
px-4
truncate
@@ -248,13 +245,13 @@
justify-center
"
>
<i class="opacity-75 pb-2 material-icons">post_add</i>
<span class="text-center pb-4">
{{ $t("empty.headers") }}
</span>
<ButtonSecondary
:label="$t('add.new')"
outline
icon="add"
@click.native="addRequestHeader"
/>
</div>
@@ -273,6 +270,7 @@
<script lang="ts">
import {
defineComponent,
onMounted,
PropType,
ref,
useContext,
@@ -335,8 +333,24 @@ export default defineComponent({
const showSaveRequestModal = ref(false)
const schema = useReadonlyStream(props.conn.schemaString$, "")
watch(schema, () => {
console.log(schema.value)
watch(
headers,
() => {
console.log("changed")
if (
(headers.value[headers.value.length - 1]?.key !== "" ||
headers.value[headers.value.length - 1]?.value !== "") &&
headers.value.length
)
addRequestHeader()
},
{ deep: true }
)
onMounted(() => {
if (!headers.value?.length) {
addRequestHeader()
}
})
const copyQuery = () => {

View File

@@ -14,7 +14,7 @@
justify-between
"
>
<label class="font-semibold" for="responseField">
<label class="font-semibold text-secondaryLight">
{{ $t("response") }}
</label>
<div class="flex">
@@ -59,7 +59,7 @@
justify-center
"
>
<div class="flex space-x-2 pb-8">
<div class="flex space-x-2 pb-4">
<div class="flex flex-col space-y-4 items-end">
<span class="flex flex-1 items-center">
{{ $t("shortcut.send_request") }}
@@ -94,8 +94,10 @@
<ButtonSecondary
:label="$t('documentation')"
to="https://docs.hoppscotch.io"
icon="open_in_new"
blank
outline
reverse
/>
</div>
</AppSection>

View File

@@ -20,7 +20,6 @@
class="
bg-primaryLight
flex
font-semibold font-mono
w-full
py-2
pr-2
@@ -150,7 +149,7 @@
justify-between
"
>
<label class="font-semibold">
<label class="font-semibold text-secondaryLight">
{{ $t("schema") }}
</label>
<div class="flex">

View File

@@ -1,9 +1,6 @@
<template>
<div :id="`type_${gqlType.name}`" class="p-4">
<div
class="font-semibold type-title"
:class="{ 'text-accent': isHighlighted }"
>
<div class="type-title" :class="{ 'text-accent': isHighlighted }">
<span v-if="isInput" class="text-accent">input </span>
<span v-else-if="isInterface" class="text-accent">interface </span>
<span v-else-if="isEnum" class="text-accent">enum </span>

View File

@@ -1,7 +1,6 @@
<template>
<span
:class="isScalar ? 'text-secondaryLight' : 'cursor-pointer text-accent'"
class="font-mono"
@click="jumpToType"
>
{{ typeString }}

View File

@@ -4,9 +4,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2
@@ -51,14 +49,7 @@
<span
v-for="(line, index) in query"
:key="`line-${index}`"
class="
cursor-pointer
font-mono
text-secondaryLight
px-4
whitespace-pre
truncate
"
class="cursor-pointer text-secondaryLight px-4 whitespace-pre truncate"
data-testid="restore_history_entry"
@click="useEntry"
>{{ line }}</span

View File

@@ -17,7 +17,6 @@
class="
bg-primaryLight
flex
font-semibold font-mono
w-full
py-2
pr-2

View File

@@ -1,16 +1,7 @@
<template>
<div class="flex items-center group">
<span
class="
cursor-pointer
flex
font-mono font-bold
mx-2
w-12
justify-center
items-center
truncate
"
class="cursor-pointer flex mx-2 w-12 justify-center items-center truncate"
:class="entryStatus.className"
data-testid="restore_history_entry"
:title="duration"
@@ -21,9 +12,7 @@
<span
class="
cursor-pointer
flex
font-semibold
flex-1
flex flex-1
min-w-0
py-2
pr-2

View File

@@ -1,21 +1,22 @@
<template>
<div>
<div class="flex flex-1 p-2 items-center justify-between">
<span class="flex">
<span
class="
border
rounded-r-none rounded
border-divider border-r-0
font-semibold
text-secondaryLight
py-2
px-4
py-2
"
>
<div
class="
bg-primary
border-b border-dividerLight
flex flex-1
top-upperSecondaryStickyFold
pl-4
z-10
sticky
items-center
justify-between
"
>
<span class="flex items-center">
<label class="font-semibold text-secondaryLight">
{{ $t("authorization_type") }}
</span>
</label>
<tippy
ref="authTypeOptions"
interactive
@@ -27,9 +28,8 @@
<div class="flex">
<span class="select-wrapper">
<ButtonSecondary
class="rounded-l-none pr-8"
:label="authType.charAt(0).toUpperCase() + authType.slice(1)"
outline
class="rounded-none ml-2 pr-8"
:label="authName"
/>
</span>
</div>
@@ -38,20 +38,23 @@
label="None"
@click.native="
authType = 'none'
authName = 'None'
$refs.authTypeOptions.tippy().hide()
"
/>
<SmartItem
label="Basic"
label="Basic Auth"
@click.native="
authType = 'basic'
authName = 'Basic Auth'
$refs.authTypeOptions.tippy().hide()
"
/>
<SmartItem
label="Bearer"
label="Bearer Token"
@click.native="
authType = 'bearer'
authName = 'Bearer Token'
$refs.authTypeOptions.tippy().hide()
"
/>
@@ -60,11 +63,18 @@
<div class="flex">
<SmartToggle
:on="authActive"
class="mr-2 px-2"
class="px-2"
@change="authActive = !authActive"
>
{{ authActive ? $t("enabled") : $t("disabled") }}
</SmartToggle>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
to="https://docs.hoppscotch.io/"
blank
:title="$t('wiki')"
icon="help_outline"
/>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear')"
@@ -73,6 +83,22 @@
/>
</div>
</div>
<div
v-if="authType === 'none'"
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
>
<span class="text-center pb-4">
{{ $t("empty.authorization") }}
</span>
<ButtonSecondary
outline
:label="$t('action.learn_more')"
to="https://docs.hoppscotch.io"
blank
icon="open_in_new"
reverse
/>
</div>
<div v-if="authType === 'basic'" class="space-y-2 p-2">
<div class="flex relative">
<input
@@ -101,10 +127,21 @@
<ButtonSecondary
:icon="passwordFieldType === 'text' ? 'visibility' : 'visibility_off'"
outline
class="ml-2"
class="rounded ml-2"
@click.native="switchVisibility"
/>
</div>
<div class="p-2">
<div class="text-secondaryLight pb-2">
{{ $t("helpers.authorization") }}
</div>
<SmartAnchor
class="link"
:label="$t('action.learn_more')"
to="https://docs.hoppscotch.io/"
blank
/>
</div>
</div>
<div v-if="authType === 'bearer'" class="space-y-2 p-2">
<div class="flex relative">
@@ -117,6 +154,17 @@
/>
<label for="bearer_token"> Token </label>
</div>
<div class="p-2">
<div class="text-secondaryLight pb-2">
{{ $t("helpers.authorization") }}
</div>
<SmartAnchor
class="link"
:label="$t('action.learn_more')"
to="https://docs.hoppscotch.io/"
blank
/>
</div>
</div>
<!-- <button
v-if="authType === 'OAuth 2.0'"
@@ -157,11 +205,12 @@ export default defineComponent({
setup() {
const auth = useStream(
restAuth$,
{ authType: "none", authActive: true },
{ authType: "none", authName: "None", authActive: true },
setRESTAuth
)
const authType = pluckRef(auth, "authType")
const authName = pluckRef(auth, "authName")
const authActive = pluckRef(auth, "authActive")
const basicUsername = pluckRef(auth as Ref<HoppRESTAuthBasic>, "username")
@@ -176,6 +225,7 @@ export default defineComponent({
const clearContent = () => {
auth.value = {
authType: "none",
authName: "None",
authActive: true,
}
}
@@ -189,6 +239,7 @@ export default defineComponent({
return {
auth,
authType,
authName,
authActive,
basicUsername,
basicPassword,

View File

@@ -1,21 +1,19 @@
<template>
<div>
<div class="flex flex-1 p-2 items-center justify-between">
<span class="flex">
<span
class="
border
rounded-r-none rounded
border-divider border-r-0
font-semibold
text-secondaryLight
py-2
px-4
py-2
"
>
<div
class="
bg-primary
border-b border-dividerLight
flex flex-1
pl-4 pl-4
items-center
justify-between
"
>
<span class="flex items-center">
<label class="font-semibold text-secondaryLight">
{{ $t("content_type") }}
</span>
</label>
<tippy
ref="contentTypeOptions"
interactive
@@ -28,8 +26,7 @@
<span class="select-wrapper">
<ButtonSecondary
:label="contentType"
outline
class="rounded-l-none pr-8"
class="rounded-none ml-2 pr-8"
/>
</span>
</div>

View File

@@ -13,10 +13,17 @@
justify-between
"
>
<label class="font-semibold">
<label>
{{ $t("request_body") }}
</label>
<div class="flex">
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
to="https://docs.hoppscotch.io/"
blank
:title="$t('wiki')"
icon="help_outline"
/>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear')"
@@ -44,7 +51,7 @@
styles="
bg-primaryLight
flex
font-semibold font-mono
flex-1
py-1
px-4
@@ -62,9 +69,7 @@
v-else
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -89,7 +94,7 @@
styles="
bg-primaryLight
flex
font-semibold font-mono
flex-1
py-1
px-4
@@ -107,9 +112,7 @@
v-if="!EXPERIMENTAL_URL_BAR_ENABLED && !requestBodyParamIsFile(index)"
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -195,13 +198,13 @@
v-if="bodyParams.length === 0"
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
>
<i class="opacity-75 pb-2 material-icons">post_add</i>
<span class="text-center pb-4">
{{ $t("empty.parameters") }}
{{ $t("empty.body") }}
</span>
<ButtonSecondary
:label="$t('add.new')"
outline
icon="add"
@click.native="addBodyParam"
/>
</div>

View File

@@ -6,7 +6,7 @@
>
<template #body>
<div class="flex flex-col px-2">
<label for="requestType" class="font-semibold px-4 pb-4">
<label for="requestType" class="px-4 pb-4">
{{ $t("request.choose_language") }}
</label>
<div class="flex flex-1">
@@ -22,7 +22,7 @@
<ButtonSecondary
:label="codegens.find((x) => x.id === codegenType).name"
outline
class="w-full"
class="pr-8"
/>
</span>
</template>
@@ -40,7 +40,7 @@
</tippy>
</div>
<div class="flex flex-1 justify-between">
<label for="generatedCode" class="font-semibold px-4 pt-4 pb-4">
<label for="generatedCode" class="px-4 pt-4 pb-4">
{{ $t("request.generated_code") }}
</label>
</div>

View File

@@ -13,10 +13,17 @@
justify-between
"
>
<label for="headerList" class="font-semibold">
<label class="font-semibold text-secondaryLight">
{{ $t("header_list") }}
</label>
<div class="flex">
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
to="https://docs.hoppscotch.io/"
blank
:title="$t('wiki')"
icon="help_outline"
/>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear')"
@@ -46,13 +53,13 @@
styles="
bg-primaryLight
flex
font-semibold font-mono
flex-1
py-1
px-4
truncate
focus:outline-none
"
:class="{ '!flex flex-1': EXPERIMENTAL_URL_BAR_ENABLED }"
@input="
updateHeader(index, {
key: $event,
@@ -68,7 +75,6 @@
styles="
bg-primaryLight
flex
font-semibold font-mono
flex-1
py-1
px-4
@@ -86,9 +92,7 @@
v-else
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -146,13 +150,13 @@
v-if="headers$.length === 0"
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
>
<i class="opacity-75 pb-2 material-icons">post_add</i>
<span class="text-center pb-4">
{{ $t("empty.headers") }}
</span>
<ButtonSecondary
outline
:label="$t('add.new')"
icon="add"
@click.native="addHeader"
/>
</div>

View File

@@ -5,7 +5,7 @@
<textarea
id="import-curl"
v-model="curl"
class="font-mono textarea floating-input"
class="textarea floating-input"
autofocus
rows="8"
placeholder=" "
@@ -113,6 +113,7 @@ export default defineComponent({
testScript: "",
auth: {
authType: "none",
authName: "None",
authActive: true,
},
body: {

View File

@@ -13,10 +13,17 @@
justify-between
"
>
<label class="font-semibold">
<label class="font-semibold text-secondaryLight">
{{ $t("parameter_list") }}
</label>
<div class="flex">
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
to="https://docs.hoppscotch.io/"
blank
:title="$t('wiki')"
icon="help_outline"
/>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear_all')"
@@ -44,7 +51,6 @@
styles="
bg-primaryLight
flex
font-semibold font-mono
flex-1
py-1
px-4
@@ -62,9 +68,7 @@
v-else
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -89,7 +93,6 @@
styles="
bg-primaryLight
flex
font-semibold font-mono
flex-1
py-1
px-4
@@ -107,9 +110,7 @@
v-else
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -167,12 +168,12 @@
v-if="params$.length === 0"
class="flex flex-col text-secondaryLight p-4 items-center justify-center"
>
<i class="opacity-75 pb-2 material-icons">post_add</i>
<span class="text-center pb-4">
{{ $t("empty.parameters") }}
</span>
<ButtonSecondary
:label="$t('add.new')"
icon="add"
outline
@click.native="addParam"
/>

View File

@@ -13,7 +13,7 @@
justify-between
"
>
<label class="font-semibold">
<label>
{{ $t("javascript_code") }}
</label>
<ButtonSecondary
@@ -24,18 +24,44 @@
icon="help_outline"
/>
</div>
<SmartJsEditor
v-model="preRequestScript"
:options="{
maxLines: Infinity,
minLines: 16,
fontSize: '12px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false,
}"
complete-mode="pre"
/>
<div class="flex">
<div class="border-r border-dividerLight w-2/3">
<SmartJsEditor
v-model="preRequestScript"
:options="{
maxLines: Infinity,
minLines: 16,
fontSize: '12px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false,
}"
complete-mode="pre"
/>
</div>
<div
class="
h-full
max-w-1/3
top-upperTertiaryStickyFold
min-w-46
p-4
z-9
sticky
overflow-auto
"
>
<div class="text-secondaryLight pb-2">
{{ $t("helpers.pre_request_script") }}
</div>
<SmartAnchor
class="link"
:label="$t('action.learn_more')"
to="https://github.com/hoppscotch/hoppscotch/wiki/Pre-Request-Scripts"
blank
/>
</div>
</div>
</AppSection>
</template>

View File

@@ -13,10 +13,23 @@
justify-between
"
>
<label for="rawBody" class="font-semibold">
<label for="rawBody">
{{ $t("raw_request_body") }}
</label>
<div class="flex">
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
to="https://docs.hoppscotch.io/"
blank
:title="$t('wiki')"
icon="help_outline"
/>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear')"
icon="clear_all"
@click.native="clearContent('rawParams', $event)"
/>
<ButtonSecondary
v-if="contentType.endsWith('json')"
ref="prettifyRequest"
@@ -40,12 +53,6 @@
type="file"
@change="uploadPayload"
/>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear')"
icon="clear_all"
@click.native="clearContent('rawParams', $event)"
/>
</div>
</div>
<div class="relative">

View File

@@ -18,13 +18,14 @@
rounded-l
cursor-pointer
flex
font-semibold font-mono
font-semibold
text-secondaryDark
py-2
px-4
transition
w-28
truncate
hover:border-dividerDark
focus:border-accent focus:outline-none
"
:value="newMethod"
@@ -36,7 +37,6 @@
v-for="(method, index) in methods"
:key="`method-${index}`"
:label="method"
class="font-mono"
@click.native="onSelectMethod(method)"
/>
</tippy>
@@ -51,13 +51,13 @@
bg-primaryLight
border border-divider
flex
font-semibold font-mono
flex-1
text-secondaryDark
py-1
px-4
transition
truncate
hover:border-dividerDark
focus:outline-none focus:border-accent
"
@enter="newSendRequest()"
@@ -70,9 +70,7 @@
class="
bg-primaryLight
border border-divider
flex
font-semibold font-mono
flex-1
flex flex-1
text-secondaryDark
py-2
px-4
@@ -157,7 +155,7 @@
<ButtonSecondary
icon="keyboard_arrow_down"
outline
class="rounded-l-none"
class="rounded-r"
/>
</template>
<input
@@ -236,14 +234,14 @@ import { useSetting } from "~/newstore/settings"
const methods = [
"GET",
"HEAD",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE",
"PATCH",
"CUSTOM",
]

View File

@@ -9,7 +9,7 @@
justify-center
"
>
<div class="flex space-x-2 pb-8">
<div class="flex space-x-2 pb-4">
<div class="flex flex-col space-y-4 items-end">
<span class="flex flex-1 items-center">
{{ $t("shortcut.send_request") }}
@@ -44,8 +44,10 @@
<ButtonSecondary
:label="$t('documentation')"
to="https://docs.hoppscotch.io"
icon="open_in_new"
blank
outline
reverse
/>
</div>
<div v-else>
@@ -55,18 +57,18 @@
<div
v-else
:class="statusCategory.className"
class="font-mono font-semibold space-x-4"
class="font-semibold space-x-4"
>
<span v-if="response.statusCode">
<span class="text-secondaryDark"> Status: </span>
<span class="text-secondary"> Status: </span>
{{ response.statusCode || $t("waiting_send_req") }}
</span>
<span v-if="response.meta && response.meta.responseDuration">
<span class="text-secondaryDark"> Time: </span>
<span class="text-secondary"> Time: </span>
{{ `${response.meta.responseDuration} ms` }}
</span>
<span v-if="response.meta && response.meta.responseSize">
<span class="text-secondaryDark"> Size: </span>
<span class="text-secondary"> Size: </span>
{{ `${response.meta.responseSize} B` }}
</span>
</div>

View File

@@ -19,7 +19,7 @@
justify-between
"
>
<label class="font-semibold"> Test Report </label>
<label> Test Report </label>
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"
:title="$t('clear')"
@@ -35,13 +35,13 @@
:progress="(failedTests / totalTests) * 100"
/>
<div class="ml-2">
<span v-if="failedTests" class="font-semibold text-red-500">
<span v-if="failedTests" class="text-red-500">
{{ failedTests }} failing,
</span>
<span v-if="passedTests" class="font-semibold text-green-500">
<span v-if="passedTests" class="text-green-500">
{{ passedTests }} successful,
</span>
<span class="font-semibold"> out of {{ totalTests }} tests. </span>
<span> out of {{ totalTests }} tests. </span>
</div>
</div>
<div class="divide-y divide-dividerLight">
@@ -57,7 +57,6 @@
class="
border-b border-dividerLight
flex
font-semibold
text-secondaryDark
py-2
px-4
@@ -83,10 +82,7 @@
>
{{ result.status === "pass" ? "check" : "close" }}
</i>
<span
v-if="result.message"
class="font-semibold text-secondaryDark"
>
<span v-if="result.message" class="text-secondaryDark">
{{ result.message }}
</span>
<span class="text-secondaryLight">

View File

@@ -13,7 +13,7 @@
justify-between
"
>
<label class="font-semibold">
<label>
{{ $t("javascript_code") }}
</label>
<ButtonSecondary
@@ -24,18 +24,44 @@
icon="help_outline"
/>
</div>
<SmartJsEditor
v-model="testScript"
:options="{
maxLines: Infinity,
minLines: 16,
fontSize: '12px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false,
}"
complete-mode="test"
/>
<div class="flex">
<div class="border-r border-dividerLight w-2/3">
<SmartJsEditor
v-model="testScript"
:options="{
maxLines: Infinity,
minLines: 16,
fontSize: '12px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false,
}"
complete-mode="test"
/>
</div>
<div
class="
h-full
max-w-1/3
top-upperTertiaryStickyFold
min-w-46
p-4
z-9
sticky
overflow-auto
"
>
<div class="text-secondaryLight pb-2">
{{ $t("helpers.post_request_tests") }}
</div>
<SmartAnchor
class="link"
:label="$t('action.learn_more')"
to="https://github.com/hoppscotch/hoppscotch/wiki/Post-Request-Tests"
blank
/>
</div>
</div>
</AppSection>
</template>

View File

@@ -19,9 +19,7 @@
>
<i class="text-accent text-3xl material-icons">{{ cta.icon }}</i>
<div class="flex-grow">
<h2
class="font-semibold mt-4 text-lg text-secondaryDark mb-2 transition"
>
<h2 class="mt-4 text-lg text-secondaryDark mb-2 transition">
{{ cta.title }}
</h2>
<p>

View File

@@ -1,9 +1,7 @@
<template>
<div class="flex flex-col p-4">
<div class="flex flex-col items-center">
<p class="font-semibold my-4 text-center text-accent tracking-widest">
FEATURES
</p>
<p class="my-4 text-center text-accent tracking-widest">FEATURES</p>
</div>
<div class="grid gap-4 grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
<div
@@ -13,15 +11,7 @@
>
<i class="text-accent text-4xl material-icons">{{ feature.icon }}</i>
<div class="flex-grow">
<h2
class="
font-semibold
mt-4
text-lg text-secondaryDark
mb-2
transition
"
>
<h2 class="mt-4 text-lg text-secondaryDark mb-2 transition">
{{ feature.title }}
</h2>
<p>

View File

@@ -2,7 +2,7 @@
<footer class="flex flex-col p-6">
<nav class="grid gap-4 grid-cols-2 md:grid-cols-4">
<div class="flex flex-col space-y-2">
<h4 class="font-semibold my-2">Hoppscotch</h4>
<h4 class="my-2">Hoppscotch</h4>
<ul class="space-y-4">
<li>
<SmartChangeLanguage />
@@ -13,7 +13,7 @@
</ul>
</div>
<div class="flex flex-col space-y-2">
<h4 class="font-semibold my-2">Solutions</h4>
<h4 class="my-2">Solutions</h4>
<ul class="space-y-2">
<li
v-for="(item, index) in navigation.solutions"
@@ -28,7 +28,7 @@
</ul>
</div>
<div class="flex flex-col space-y-2">
<h4 class="font-semibold my-2">Platform</h4>
<h4 class="my-2">Platform</h4>
<ul class="space-y-2">
<li
v-for="(item, index) in navigation.platform"
@@ -43,7 +43,7 @@
</ul>
</div>
<div class="flex flex-col space-y-2">
<h4 class="font-semibold my-2">Company</h4>
<h4 class="my-2">Company</h4>
<ul class="space-y-2">
<li
v-for="(item, index) in navigation.company"

View File

@@ -3,7 +3,6 @@
<div class="flex flex-col mt-16 items-center justify-center">
<h2
class="
font-extrabold
text-accent text-center
leading-none
tracking-tighter
@@ -16,7 +15,6 @@
</h2>
<h3
class="
font-extrabold
my-4
text-center text-secondaryDark
leading-none

View File

@@ -1,7 +1,7 @@
<template>
<div class="flex font-mono space-x-16 p-6">
<div class="flex space-x-16 p-6">
<div v-for="(stat, index) in stats" :key="`stat-${index}`">
<span class="font-bold text-xl">
<span class="text-xl">
{{ stat.count }}<span class="text-secondaryLight">+</span>
</span>
<br />

View File

@@ -1,9 +1,7 @@
<template>
<div class="bg-primaryLight rounded flex flex-col mx-6 p-4">
<div class="flex flex-col items-center">
<p class="font-semibold my-4 text-center tracking-widest">
EMPOWERING DEVELOPERS FROM
</p>
<p class="my-4 text-center tracking-widest">EMPOWERING DEVELOPERS FROM</p>
</div>
<div class="grid gap-4 grid-cols-3 md:grid-cols-4 lg:grid-cols-6">
<div

View File

@@ -1,41 +1,19 @@
<template>
<div class="font-mono p-2">
<div class="p-2">
<div
v-for="(header, index) in headers"
:key="`header-${index}`"
class="flex items-center"
>
<span
class="
flex
font-semibold
min-w-0
p-2
transition
group-hover:text-secondaryDark
"
>
<span class="flex min-w-0 p-2 transition group-hover:text-secondaryDark">
<span class="rounded select-all truncate">
{{ header.key }}
</span>
</span>
<span class="flex mx-2 justify-center items-center truncate"> </span>
<span
class="
flex
font-mono font-bold
mx-2
justify-center
items-center
truncate
"
>
</span>
<span
class="
flex
font-semibold
flex-1
flex flex-1
min-w-0
p-2
transition

View File

@@ -6,13 +6,14 @@
border-b border-dividerLight
flex flex-1
top-lowerSecondaryStickyFold
pl-4
z-10
sticky
items-center
justify-between
"
>
<label for="body" class="font-semibold px-4">
<label class="font-semibold text-secondaryLight">
{{ $t("response_body") }}
</label>
<div class="flex">

View File

@@ -6,13 +6,14 @@
border-b border-dividerLight
flex flex-1
top-lowerSecondaryStickyFold
pl-4
z-10
sticky
items-center
justify-between
"
>
<label for="body" class="font-semibold px-4">
<label class="font-semibold text-secondaryLight">
{{ $t("response_body") }}
</label>
<div class="flex">

View File

@@ -6,13 +6,14 @@
border-b border-dividerLight
flex flex-1
top-lowerSecondaryStickyFold
pl-4
z-10
sticky
items-center
justify-between
"
>
<label for="body" class="font-semibold px-4">
<label class="font-semibold text-secondaryLight">
{{ $t("response_body") }}
</label>
<div class="flex">

View File

@@ -6,13 +6,14 @@
border-b border-dividerLight
flex flex-1
top-lowerSecondaryStickyFold
pl-4
z-10
sticky
items-center
justify-between
"
>
<label for="body" class="font-semibold px-4">
<label class="font-semibold text-secondaryLight">
{{ $t("response_body") }}
</label>
<div class="flex">

View File

@@ -6,13 +6,14 @@
border-b border-dividerLight
flex flex-1
top-lowerSecondaryStickyFold
pl-4
z-10
sticky
items-center
justify-between
"
>
<label for="body" class="font-semibold px-4">
<label class="font-semibold text-secondaryLight">
{{ $t("response_body") }}
</label>
<div class="flex">

View File

@@ -13,7 +13,9 @@
justify-between
"
>
<label for="log" class="font-semibold py-2">{{ title }}</label>
<label for="log" class="font-semibold text-secondaryLight py-2">
{{ title }}
</label>
</div>
<div ref="log" name="log" class="realtime-log">
<span v-if="log" class="space-y-2">
@@ -65,7 +67,6 @@ export default {
&,
span {
@apply font-mono font-semibold;
@apply select-text;
}

View File

@@ -16,7 +16,6 @@
bg-primaryLight
border border-divider
rounded-l
font-semibold font-mono
text-secondaryDark
w-full
py-2
@@ -56,7 +55,7 @@
>
<AppSection label="messages">
<div class="flex flex-col flex-1 p-4 inline-flex">
<label for="pub_topic" class="font-semibold">
<label for="pub_topic" class="font-semibold text-secondaryLight">
{{ $t("mqtt.topic") }}
</label>
</div>
@@ -71,7 +70,7 @@
/>
</div>
<div class="flex flex-1 p-4 items-center justify-between">
<label for="mqtt-message" class="font-semibold">{{
<label for="mqtt-message" class="font-semibold text-secondaryLight">{{
$t("communication")
}}</label>
</div>
@@ -102,7 +101,7 @@
inline-flex
"
>
<label for="sub_topic" class="font-semibold">{{
<label for="sub_topic" class="font-semibold text-secondaryLight">{{
$t("mqtt.topic")
}}</label>
</div>

View File

@@ -17,9 +17,7 @@
bg-primaryLight
border border-divider
rounded-l
flex
font-semibold font-mono
flex-1
flex flex-1
text-secondaryDark
w-full
py-2
@@ -38,9 +36,7 @@
class="
bg-primaryLight
border border-divider
flex
font-semibold font-mono
flex-1
flex flex-1
text-secondaryDark
w-full
py-2
@@ -81,7 +77,7 @@
>
<AppSection label="messages">
<div class="flex flex-col flex-1 p-4 inline-flex">
<label for="events" class="font-semibold">
<label for="events" class="font-semibold text-secondaryLight">
{{ $t("events") }}
</label>
</div>
@@ -97,7 +93,9 @@
/>
</div>
<div class="flex flex-1 p-4 items-center justify-between">
<label class="font-semibold">{{ $t("communication") }}</label>
<label class="font-semibold text-secondaryLight">{{
$t("communication")
}}</label>
<div class="flex">
<ButtonSecondary
v-tippy="{ theme: 'tooltip' }"

View File

@@ -13,9 +13,7 @@
bg-primaryLight
border border-divider
rounded-l
flex
font-semibold font-mono
flex-1
flex flex-1
text-secondaryDark
w-full
py-2
@@ -30,7 +28,15 @@
/>
<label
for="url"
class="bg-primaryLight border border-divider py-2 px-4 truncate"
class="
bg-primaryLight
border-t border-b border-divider
font-semibold
text-secondaryLight
py-2
px-4
truncate
"
>
{{ $t("event_type") }}
</label>
@@ -40,9 +46,7 @@
class="
bg-primaryLight
border border-divider
flex
font-semibold font-mono
flex-1
flex flex-1
text-secondaryDark
w-full
py-2

View File

@@ -14,7 +14,6 @@
bg-primaryLight
border border-divider
rounded-l
font-semibold font-mono
text-secondaryDark
w-full
py-2
@@ -54,7 +53,7 @@
justify-between
"
>
<label class="font-semibold">
<label class="font-semibold text-secondaryLight">
{{ $t("websocket.protocols") }}
</label>
<div class="flex">
@@ -86,9 +85,7 @@
v-model="protocol.value"
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -166,7 +163,10 @@
>
<AppSection label="messages">
<div class="flex flex-col flex-1 p-4 inline-flex">
<label for="websocket-message" class="font-semibold">
<label
for="websocket-message"
class="font-semibold text-secondaryLight"
>
{{ $t("communication") }}
</label>
</div>

View File

@@ -15,6 +15,7 @@
v-tippy="{ theme: 'tooltip' }"
:title="`${color.charAt(0).toUpperCase()}${color.slice(1)}`"
:class="[{ 'bg-primaryLight': color === active }]"
class="rounded"
icon="lens"
:color="color"
@click.native="setActiveColor(color)"

View File

@@ -6,9 +6,7 @@
class="
bg-primaryLight
border-t border-divider
flex flex-nowrap
font-mono
flex-1
flex flex-nowrap flex-1
py-1
px-4
bottom-0
@@ -23,7 +21,6 @@
:key="`p-${index}`"
class="
cursor-pointer
font-semibold
flex-grow-0 flex-shrink-0
text-secondaryLight
inline-flex
@@ -48,7 +45,6 @@
<SmartItem
v-for="(sibling, siblingIndex) in currentSibling"
:key="`p-${index}-sibling-${siblingIndex}`"
class="font-mono"
:label="sibling.key ? sibling.key.value : i"
@click.native="goToSibling(sibling)"
/>

View File

@@ -186,9 +186,7 @@ export default {
<style scoped lang="scss">
.autocomplete-wrapper {
@apply relative;
@apply flex;
@apply w-full;
@apply contents;
input:focus + ul.suggestions,
ul.suggestions:hover {
@@ -211,8 +209,7 @@ export default {
@apply w-full;
@apply block;
@apply py-2 px-4;
@apply text-secondaryLight;
@apply font-semibold font-mono;
@apply text-secondary;
&:last-child {
border-radius: 0 0 8px 8px;

View File

@@ -8,6 +8,7 @@
:class="{
'bg-primaryLight !text-accent hover:text-accent': color === active,
}"
class="rounded"
:icon="getIcon(color)"
@click.native="setBGMode(color)"
/>

View File

@@ -2,7 +2,7 @@
<SmartModal v-if="show" :title="$t('modal.confirm')" @close="hideModal">
<template #body>
<div class="flex flex-col px-2">
<label class="font-semibold">
<label>
{{ title }}
</label>
</div>

View File

@@ -2,7 +2,7 @@
<span class="chip">
<span><slot></slot></span>
<ButtonSecondary
class="p-2 close-button icon"
class="rounded p-2 close-button icon"
icon="close"
@click.native="$emit('chip-delete')"
/>
@@ -19,7 +19,7 @@
@apply pl-4;
@apply bg-primaryDark;
@apply text-secondary;
@apply font-mono font-semibold;
@apply border border-divider;
}

View File

@@ -464,12 +464,15 @@ export default defineComponent({
<style lang="scss" scoped>
[contenteditable="true"] {
@apply text-secondaryDark;
@apply font-medium;
&:empty {
line-height: 1.9;
&::before {
@apply text-secondary;
@apply opacity-75;
@apply text-secondaryDark;
@apply opacity-25;
@apply pointer-events-none;
content: attr(placeholder);
@@ -479,7 +482,7 @@ export default defineComponent({
.env-input-container {
@apply inline-grid;
@apply w-full;
@apply flex-1;
}
.env-input {

View File

@@ -5,7 +5,7 @@
:blank="blank"
class="
rounded
font-semibold
font-medium
py-2
px-4
transition
@@ -60,7 +60,7 @@
class="flex-1 inline-flex items-start"
:class="{ 'flex-col': description }"
>
<div class="font-semibold">
<div>
{{ label }}
</div>
<p v-if="description" class="my-2 text-left text-secondaryLight">

View File

@@ -57,6 +57,7 @@
<slot name="actions"></slot>
<ButtonSecondary
v-if="dimissible"
class="rounded"
icon="close"
@click.native="close"
/>

View File

@@ -97,7 +97,7 @@ export default {
@apply ml-2;
@apply text-8px;
@apply border border-divider;
@apply font-mono;
@apply rounded;
@apply text-secondaryLight;
}

View File

@@ -6,7 +6,7 @@
<label ref="toggle" class="toggle" :class="{ on: on }">
<span class="handle"></span>
</label>
<label class="cursor-pointer font-semibold pl-0 align-middle truncate">
<label class="cursor-pointer pl-0 align-middle truncate">
<slot></slot>
</label>
</div>

View File

@@ -5,7 +5,6 @@
:blank="blank"
class="
rounded
font-semibold
py-2
px-4
transition

View File

@@ -4,7 +4,6 @@
:exact="exact"
:blank="blank"
class="
font-semibold
flex-1
py-2
transform

View File

@@ -17,7 +17,7 @@
</label>
</div>
<div class="flex flex-1 justify-between items-center">
<label for="memberList" class="font-semibold p-4">
<label for="memberList" class="p-4">
{{ $t("team.members") }}
</label>
<div class="flex">
@@ -37,9 +37,7 @@
<input
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -62,9 +60,7 @@
<input
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -114,9 +110,7 @@
v-model="member.key"
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate
@@ -138,9 +132,7 @@
<input
class="
bg-primaryLight
flex
font-semibold font-mono
flex-1
flex flex-1
py-2
px-4
truncate

View File

@@ -3,12 +3,7 @@
<div class="flex flex-1 items-start">
<div class="p-4">
<label
class="
cursor-pointer
font-semibold
transition
hover:text-secondaryDark
"
class="cursor-pointer transition hover:text-secondaryDark"
@click="team.myRole === 'OWNER' ? $emit('edit-team') : ''"
>
{{ team.name || $t("nothing_found") }}

View File

@@ -1,6 +1,6 @@
<template>
<AppSection label="teams">
<h4 class="font-bold text-secondaryDark">
<h4 class="text-secondaryDark">
{{ $t("team.title") }}
</h4>
<div class="mt-1 text-secondaryLight">