Introduce component wrapper for svg icons
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("new_collection") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,8 +44,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("new_folder") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,8 +44,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
collection: Object,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<button class="icon" @click="toggleShowChildren">
|
||||
<i class="material-icons" v-show="!showChildren">arrow_right</i>
|
||||
<i class="material-icons" v-show="showChildren">arrow_drop_down</i>
|
||||
<i class="material-icons">folder</i>
|
||||
<folderIcon class="material-icons" />
|
||||
<span>{{ collection.name }}</span>
|
||||
</button>
|
||||
<div>
|
||||
@@ -35,7 +35,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<button class="icon" @click="removeCollection" v-close-popover>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
<span>{{ $t("delete") }}</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -98,8 +98,11 @@ ul li {
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import folderIcon from "~/static/icons/folder-24px.svg?inline"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { folderIcon, deleteIcon },
|
||||
props: {
|
||||
collectionIndex: Number,
|
||||
collection: Object,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("edit_collection") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,8 +44,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
editingCollection: Object,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("edit_folder") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -39,8 +39,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
collection: Object,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("edit_request") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -70,8 +70,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
collectionIndex: Number,
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<button class="icon" @click="removeFolder" v-close-popover>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
<span>{{ $t("delete") }}</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -72,8 +72,10 @@ ul li {
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { deleteIcon },
|
||||
props: {
|
||||
folder: Object,
|
||||
collectionIndex: Number,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("import_export") }} {{ $t("collections") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -77,8 +77,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
fb,
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<button class="icon" @click="removeRequest" v-close-popover>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
<span>{{ $t("delete") }}</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -47,8 +47,10 @@ ul li {
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { deleteIcon },
|
||||
props: {
|
||||
request: Object,
|
||||
collectionIndex: Number,
|
||||
@@ -68,13 +70,13 @@ export default {
|
||||
this.$store.commit("postwoman/selectRequest", { request: this.request })
|
||||
},
|
||||
removeRequest() {
|
||||
if (!confirm( this.$t("are_you_sure_remove_request"))) return
|
||||
if (!confirm(this.$t("are_you_sure_remove_request"))) return
|
||||
this.$store.commit("postwoman/removeRequest", {
|
||||
collectionIndex: this.collectionIndex,
|
||||
folderIndex: this.folderIndex,
|
||||
requestIndex: this.requestIndex,
|
||||
})
|
||||
this.$toast.error(this.$t("deleted"), {
|
||||
this.$toast.error(this.$t("deleted"), {
|
||||
icon: "delete",
|
||||
})
|
||||
this.syncCollections()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("save_request_as") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -79,8 +79,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
editingRequest: Object,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("new_environment") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,8 +44,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("edit_environment") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -75,7 +75,7 @@
|
||||
v-tooltip.bottom="$t('delete')"
|
||||
id="variable"
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</li>
|
||||
</div>
|
||||
@@ -107,8 +107,14 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
deleteIcon,
|
||||
},
|
||||
props: {
|
||||
show: Boolean,
|
||||
editingEnvironment: Object,
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<button class="icon" @click="removeEnvironment" v-close-popover>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
<span>{{ $t("delete") }}</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -47,8 +47,10 @@ ul li {
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { deleteIcon },
|
||||
props: {
|
||||
environment: Object,
|
||||
environmentIndex: Number,
|
||||
@@ -64,7 +66,7 @@ export default {
|
||||
removeEnvironment() {
|
||||
if (!confirm(this.$t("are_you_sure_remove_environment"))) return
|
||||
this.$store.commit("postwoman/removeEnvironment", this.environmentIndex)
|
||||
this.$toast.error(this.$t("deleted"), {
|
||||
this.$toast.error(this.$t("deleted"), {
|
||||
icon: "delete",
|
||||
})
|
||||
this.syncEnvironments()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<h3 class="title">{{ $t("import_export") }} {{ $t("environments") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="hideModal">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -77,8 +77,12 @@
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
fb,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</label>
|
||||
</li>
|
||||
<button class="icon" @click="deleteFeed(feed)">
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="show-on-large-screen">
|
||||
@@ -50,8 +50,10 @@ ol {
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { deleteIcon },
|
||||
data() {
|
||||
return {
|
||||
fb,
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
value="Save"
|
||||
@click="formPost"
|
||||
>
|
||||
<i class="material-icons">add</i>
|
||||
<addIcon class="material-icons" />
|
||||
<span>Add</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -47,8 +47,10 @@ ol {
|
||||
|
||||
<script>
|
||||
import { fb } from "~/helpers/fb"
|
||||
import addIcon from "~/static/icons/add-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { addIcon },
|
||||
data() {
|
||||
return {
|
||||
message: null,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<button class="icon" @click="logout" v-close-popover>
|
||||
<i class="material-icons">exit_to_app</i>
|
||||
<exitToAppIcon class="material-icons" />
|
||||
<span>{{ $t("logout") }}</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -10,8 +10,10 @@
|
||||
<script>
|
||||
import firebase from "firebase/app"
|
||||
import { fb } from "~/helpers/fb"
|
||||
import exitToAppIcon from "~/static/icons/exit_to_app-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { exitToAppIcon },
|
||||
data() {
|
||||
return {
|
||||
fb,
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
:aria-label="$t('delete')"
|
||||
v-close-popover
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
<span>{{ $t("delete") }}</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -238,7 +238,7 @@
|
||||
@click="disableHistoryClearing"
|
||||
v-tooltip="$t('no')"
|
||||
>
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -308,11 +308,17 @@ ol {
|
||||
<script>
|
||||
import { findStatusGroup } from "~/pages/index"
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
const updateOnLocalStorage = (propertyName, property) =>
|
||||
window.localStorage.setItem(propertyName, JSON.stringify(property))
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
deleteIcon,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
history:
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
<h3 class="title">{{ $t("extensions") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="showExtensions = false">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -182,7 +182,7 @@
|
||||
<h3 class="title">{{ $t("shortcuts") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="showShortcuts = false">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -217,7 +217,7 @@
|
||||
<h3 class="title">{{ $t("support_us") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="showSupport = false">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -269,8 +269,12 @@ import {
|
||||
import { getPlatformSpecialKey } from "~/helpers/platformutils"
|
||||
import firebase from "firebase/app"
|
||||
import { fb } from "~/helpers/fb"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// Once the PWA code is initialized, this holds a method
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#request" v-tooltip.right="$t('request')">
|
||||
<i class="material-icons">cloud_upload</i>
|
||||
<cloudUploadIcon class="material-icons" />
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@@ -85,7 +85,7 @@
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#request" v-tooltip.right="$t('request')">
|
||||
<i class="material-icons">cloud_upload</i>
|
||||
<cloudUploadIcon class="material-icons" />
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@@ -111,7 +111,7 @@
|
||||
</li>
|
||||
<li>
|
||||
<a href="#query" v-tooltip.right="$t('query')">
|
||||
<i class="material-icons">cloud_upload</i>
|
||||
<cloudUploadIcon class="material-icons" />
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@@ -127,7 +127,7 @@
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#import" v-tooltip.right="$t('import')">
|
||||
<i class="material-icons">folder</i>
|
||||
<folderIcon class="material-icons" />
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@@ -306,7 +306,14 @@ nav.secondary-nav {
|
||||
</style>
|
||||
|
||||
<script>
|
||||
import cloudUploadIcon from "~/static/icons/cloud_upload-24px.svg?inline"
|
||||
import folderIcon from "~/static/icons/folder-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
cloudUploadIcon,
|
||||
folderIcon,
|
||||
},
|
||||
methods: {
|
||||
linkActive(path) {
|
||||
return {
|
||||
@@ -315,14 +322,12 @@ export default {
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
mounted() {
|
||||
window.addEventListener("scroll", (event) => {
|
||||
let mainNavLinks = document.querySelectorAll("nav ul li a")
|
||||
let fromTop = window.scrollY
|
||||
mainNavLinks.forEach(({ hash, classList }) => {
|
||||
let section = document.querySelector(hash)
|
||||
|
||||
if (
|
||||
section &&
|
||||
section.offsetTop <= fromTop &&
|
||||
@@ -335,11 +340,10 @@ export default {
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
watch: {
|
||||
$route() {
|
||||
// this.$toast.clear();
|
||||
},
|
||||
},
|
||||
// watch: {
|
||||
// $route() {
|
||||
// // this.$toast.clear();
|
||||
// },
|
||||
// },
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -133,6 +133,8 @@ export default {
|
||||
"@nuxtjs/google-analytics",
|
||||
// Doc: https://github.com/nuxt-community/gtm-module
|
||||
"@nuxtjs/gtm",
|
||||
// Doc: https://github.com/nuxt-community/svg-module
|
||||
"@nuxtjs/svg",
|
||||
],
|
||||
/*
|
||||
** Nuxt.js modules
|
||||
|
||||
103
package-lock.json
generated
@@ -2196,6 +2196,67 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@nuxtjs/svg": {
|
||||
"version": "0.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@nuxtjs/svg/-/svg-0.1.11.tgz",
|
||||
"integrity": "sha512-XZ0tTl+cFWi99fe8hZDN83bSoEpUhmoJxvDV72s/2qcPTDl2R5eOBTpy1gcsIc24DW5ZREc1UCH8KyC1sv7Rzw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"file-loader": "^6.0.0",
|
||||
"raw-loader": "^4.0.0",
|
||||
"url-loader": "^4.1.0",
|
||||
"vue-svg-loader": "^0.16.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"file-loader": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz",
|
||||
"integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^2.6.5"
|
||||
}
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.44.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
|
||||
"integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.27",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
|
||||
"integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "1.44.0"
|
||||
}
|
||||
},
|
||||
"url-loader": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.0.tgz",
|
||||
"integrity": "sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "^2.0.0",
|
||||
"mime-types": "^2.1.26",
|
||||
"schema-utils": "^2.6.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@nuxtjs/toast": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@nuxtjs/toast/-/toast-3.3.1.tgz",
|
||||
@@ -10605,6 +10666,29 @@
|
||||
"unpipe": "1.0.0"
|
||||
}
|
||||
},
|
||||
"raw-loader": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz",
|
||||
"integrity": "sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^2.6.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"loader-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^2.1.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rc9": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/rc9/-/rc9-1.0.0.tgz",
|
||||
@@ -12046,6 +12130,15 @@
|
||||
"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
|
||||
"integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q="
|
||||
},
|
||||
"svg-to-vue": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/svg-to-vue/-/svg-to-vue-0.7.0.tgz",
|
||||
"integrity": "sha512-Tg2nMmf3BQorYCAjxbtTkYyWPVSeox5AZUFvfy4MoWK/5tuQlnA/h3LAlTjV3sEvOC5FtUNovRSj3p784l4KOA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"svgo": "^1.3.2"
|
||||
}
|
||||
},
|
||||
"svgo": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
|
||||
@@ -12948,6 +13041,16 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-svg-loader": {
|
||||
"version": "0.16.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-svg-loader/-/vue-svg-loader-0.16.0.tgz",
|
||||
"integrity": "sha512-2RtFXlTCYWm8YAEO2qAOZ2SuIF2NvLutB5muc3KDYoZq5ZeCHf8ggzSan3ksbbca7CJ/Aw57ZnDF4B7W/AkGtw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "^1.2.3",
|
||||
"svg-to-vue": "^0.7.0"
|
||||
}
|
||||
},
|
||||
"vue-template-compiler": {
|
||||
"version": "2.6.11",
|
||||
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz",
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
"@nuxtjs/dotenv": "^1.4.1",
|
||||
"@nuxtjs/google-analytics": "^2.4.0",
|
||||
"@nuxtjs/pwa": "^3.0.0",
|
||||
"@nuxtjs/svg": "^0.1.11",
|
||||
"eslint": "^7.7.0",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"husky": "^4.2.5",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
@click="$refs.collectionUpload.click()"
|
||||
v-tooltip="$t('json')"
|
||||
>
|
||||
<i class="material-icons">folder</i>
|
||||
<folderIcon class="material-icons" />
|
||||
<span>{{ $t("import_collections") }}</span>
|
||||
</button>
|
||||
</label>
|
||||
@@ -75,7 +75,7 @@
|
||||
<div>
|
||||
<span class="collection" v-for="(collection, index) in this.items" :key="index">
|
||||
<h2>
|
||||
<i class="material-icons">folder</i>
|
||||
<folderIcon class="material-icons" />
|
||||
{{ collection.name || $t("none") }}
|
||||
</h2>
|
||||
<span class="folder" v-for="(folder, index) in collection.folders" :key="index">
|
||||
@@ -326,7 +326,10 @@
|
||||
</style>
|
||||
|
||||
<script>
|
||||
import folderIcon from "~/static/icons/folder-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { folderIcon },
|
||||
data() {
|
||||
return {
|
||||
collectionJSON: "[]",
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
v-tooltip.bottom="$t('delete')"
|
||||
id="header"
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</li>
|
||||
</div>
|
||||
@@ -334,8 +334,10 @@ import * as gql from "graphql"
|
||||
import { commonHeaders } from "~/helpers/headers"
|
||||
import { getPlatformSpecialKey } from "~/helpers/platformutils"
|
||||
import { sendNetworkRequest } from "~/helpers/network"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
export default {
|
||||
components: { deleteIcon },
|
||||
data() {
|
||||
return {
|
||||
commonHeaders,
|
||||
|
||||
@@ -317,7 +317,7 @@
|
||||
v-tooltip.bottom="$t('delete')"
|
||||
id="delParam"
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</li>
|
||||
</div>
|
||||
@@ -500,7 +500,7 @@
|
||||
v-tooltip.bottom="$t('delete')"
|
||||
id="param"
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</li>
|
||||
</div>
|
||||
@@ -629,7 +629,7 @@
|
||||
@click="showTokenRequest = false"
|
||||
v-tooltip.bottom="$t('close')"
|
||||
>
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -782,7 +782,7 @@
|
||||
v-tooltip.bottom="$t('delete')"
|
||||
id="header"
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</li>
|
||||
</div>
|
||||
@@ -987,7 +987,7 @@
|
||||
<h3 class="title">{{ $t("import_curl") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="showModal = false">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1029,7 +1029,7 @@
|
||||
<h3 class="title">{{ $t("generate_code") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="isHidden = true">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1086,7 +1086,7 @@
|
||||
<h3 class="title">{{ $t("manage_token") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="showTokenList = false">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1142,7 +1142,7 @@
|
||||
@click="removeOAuthToken(index)"
|
||||
v-tooltip.bottom="$t('delete')"
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</li>
|
||||
</div>
|
||||
@@ -1162,7 +1162,7 @@
|
||||
<h3 class="title">{{ $t("manage_token_req") }}</h3>
|
||||
<div>
|
||||
<button class="icon" @click="showTokenRequestList = false">
|
||||
<i class="material-icons">close</i>
|
||||
<closeIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1189,7 +1189,7 @@
|
||||
@click="removeOAuthTokenReq"
|
||||
v-tooltip.bottom="$t('delete')"
|
||||
>
|
||||
<i class="material-icons">delete</i>
|
||||
<deleteIcon class="material-icons" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1258,6 +1258,8 @@ import { hasPathParams, addPathParamsToVariables, getQueryParams } from "~/helpe
|
||||
import { parseUrlAndPath } from "~/helpers/utils/uri.js"
|
||||
import { httpValid } from "~/helpers/utils/valid"
|
||||
import { knownContentTypes, isJSONContentType } from "~/helpers/utils/contenttypes"
|
||||
import closeIcon from "~/static/icons/close-24px.svg?inline"
|
||||
import deleteIcon from "~/static/icons/delete-24px.svg?inline"
|
||||
|
||||
const statusCategories = [
|
||||
{
|
||||
@@ -1308,7 +1310,12 @@ const parseHeaders = (xhr) => {
|
||||
}
|
||||
export const findStatusGroup = (responseStatus) =>
|
||||
statusCategories.find(({ statusCodeRegex }) => statusCodeRegex.test(responseStatus))
|
||||
|
||||
export default {
|
||||
components: {
|
||||
closeIcon,
|
||||
deleteIcon,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showModal: false,
|
||||
|
||||
1
static/icons/add-24px.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>
|
||||
|
After Width: | Height: | Size: 173 B |
1
static/icons/close-24px.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
||||
|
After Width: | Height: | Size: 239 B |
1
static/icons/cloud_upload-24px.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"/></svg>
|
||||
|
After Width: | Height: | Size: 318 B |
1
static/icons/delete-24px.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/></svg>
|
||||
|
After Width: | Height: | Size: 215 B |
1
static/icons/exit_to_app-24px.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 302 B |
1
static/icons/folder-24px.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/></svg>
|
||||
|
After Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
37
test/index.spec.js
Normal file
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* @jest-environment node
|
||||
*/
|
||||
import { Nuxt, Builder } from "nuxt"
|
||||
import { resolve } from "path"
|
||||
import { JSDOM } from "jsdom"
|
||||
|
||||
// We keep the nuxt and server instance
|
||||
// So we can close them at the end of the test
|
||||
let nuxt = null
|
||||
describe("Index page", () => {
|
||||
// Init Nuxt.js and create a server listening on localhost:4000
|
||||
beforeEach(async () => {
|
||||
const rootDir = resolve(__dirname, "..")
|
||||
let config = {}
|
||||
try {
|
||||
config = require(resolve(rootDir, "nuxt.config.js"))
|
||||
} catch (e) {}
|
||||
config.rootDir = rootDir // project folder
|
||||
config.dev = false // production build
|
||||
nuxt = new Nuxt(config)
|
||||
await new Builder(nuxt).build()
|
||||
await nuxt.listen(4000, "localhost")
|
||||
}, 30000)
|
||||
|
||||
// Example of testing only generated html
|
||||
test("Route / exits and render HTML", async () => {
|
||||
let context = {}
|
||||
const { html } = await nuxt.renderRoute("/", context)
|
||||
expect(html.includes("Hoppscotch")).toBeTruthy()
|
||||
})
|
||||
|
||||
// Close server and ask nuxt to stop listening to file changes
|
||||
afterEach(() => {
|
||||
nuxt.close()
|
||||
})
|
||||
})
|
||||