♻️ Refactor
This commit is contained in:
@@ -69,8 +69,8 @@ _Customized themes are synced with local session storage_
|
|||||||
- Instant loading with [Service Workers](https://developers.google.com/web/fundamentals/primers/service-workers)
|
- Instant loading with [Service Workers](https://developers.google.com/web/fundamentals/primers/service-workers)
|
||||||
- Offline support
|
- Offline support
|
||||||
- Low RAM/memory and CPU usage
|
- Low RAM/memory and CPU usage
|
||||||
- [Add to Home Screen](https://developers.google.com/web/fundamentals/app-install-banners) (button in footer)
|
- Add to Home Screen
|
||||||
- [Desktop PWA](https://developers.google.com/web/progressive-web-apps/desktop) support (button in footer)
|
- Desktop PWA
|
||||||
- ([full features](https://developers.google.com/web/progressive-web-apps))
|
- ([full features](https://developers.google.com/web/progressive-web-apps))
|
||||||
|
|
||||||
🚀 **Request**: Retrieve response from endpoint instantly.
|
🚀 **Request**: Retrieve response from endpoint instantly.
|
||||||
|
|||||||
@@ -7,9 +7,8 @@ const DEFAULT_THEME = "twilight";
|
|||||||
|
|
||||||
import ace from "ace-builds";
|
import ace from "ace-builds";
|
||||||
import * as gql from "graphql";
|
import * as gql from "graphql";
|
||||||
|
|
||||||
import "ace-builds/webpack-resolver";
|
import "ace-builds/webpack-resolver";
|
||||||
import debounce from '../../functions/utils/debounce';
|
import debounce from "../../functions/utils/debounce";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
@@ -71,9 +70,7 @@ export default {
|
|||||||
editor.on("change", () => {
|
editor.on("change", () => {
|
||||||
const content = editor.getValue();
|
const content = editor.getValue();
|
||||||
this.$emit("input", content);
|
this.$emit("input", content);
|
||||||
|
this.parseContents(content);
|
||||||
this.parseContents(content)
|
|
||||||
|
|
||||||
this.cacheValue = content;
|
this.cacheValue = content;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -91,16 +88,18 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
parseContents: debounce(function (content) {
|
parseContents: debounce(function(content) {
|
||||||
try {
|
try {
|
||||||
gql.parse(content);
|
gql.parse(content);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.editor.session.setAnnotations([{
|
this.editor.session.setAnnotations([
|
||||||
row: e.locations[0].line - 1,
|
{
|
||||||
column: e.locations[0].column - 1,
|
row: e.locations[0].line - 1,
|
||||||
text: e.message,
|
column: e.locations[0].column - 1,
|
||||||
type: "error"
|
text: e.message,
|
||||||
}]);
|
type: "error"
|
||||||
|
}
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}, 2000)
|
}, 2000)
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
|
||||||
const axiosWithProxy = async (req, store) => {
|
const axiosWithProxy = async (req, { state }) => {
|
||||||
const { data } = await axios.post(
|
const { data } = await axios.post(
|
||||||
store.state.postwoman.settings.PROXY_URL ||
|
state.postwoman.settings.PROXY_URL || "https://postwoman.apollotv.xyz/",
|
||||||
"https://postwoman.apollotv.xyz/",
|
|
||||||
req
|
req
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
}
|
};
|
||||||
|
|
||||||
const axiosWithoutProxy = async (req, _store) => {
|
const axiosWithoutProxy = async (req, _store) => {
|
||||||
const res = await axios(req);
|
const res = await axios(req);
|
||||||
@@ -19,6 +18,6 @@ const axiosStrategy = (req, store) => {
|
|||||||
return axiosWithProxy(req, store);
|
return axiosWithProxy(req, store);
|
||||||
}
|
}
|
||||||
return axiosWithoutProxy(req, store);
|
return axiosWithoutProxy(req, store);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default axiosStrategy;
|
export default axiosStrategy;
|
||||||
|
|||||||
@@ -1,45 +1,50 @@
|
|||||||
|
const firefoxWithProxy = (req, { state }) =>
|
||||||
|
new Promise((resolve, reject) => {
|
||||||
|
const eventListener = event => {
|
||||||
|
window.removeEventListener("firefoxExtSendRequestComplete", event);
|
||||||
|
|
||||||
const firefoxWithProxy = (req, store) => new Promise((resolve, reject) => {
|
if (event.detail.error) {
|
||||||
const eventListener = (event) => {
|
reject(JSON.parse(event.detail.error));
|
||||||
window.removeEventListener("firefoxExtSendRequestComplete", event);
|
} else {
|
||||||
|
resolve(JSON.parse(event.detail.response));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if (event.detail.error) {
|
window.addEventListener("firefoxExtSendRequestComplete", eventListener);
|
||||||
reject(JSON.parse(event.detail.error));
|
|
||||||
} else {
|
|
||||||
resolve(JSON.parse(event.detail.response));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
window.addEventListener("firefoxExtSendRequestComplete", eventListener);
|
window.firefoxExtSendRequest({
|
||||||
|
method: "post",
|
||||||
window.firefoxExtSendRequest({
|
url:
|
||||||
method: "post",
|
state.postwoman.settings.PROXY_URL || "https://postwoman.apollotv.xyz/",
|
||||||
url: store.state.postwoman.settings.PROXY_URL || "https://postwoman.apollotv.xyz/",
|
data: req
|
||||||
data: req
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
const firefoxWithoutProxy = (req, _store) => new Promise((resolve, reject) => {
|
const firefoxWithoutProxy = (req, _store) =>
|
||||||
const eventListener = (event) => {
|
new Promise((resolve, reject) => {
|
||||||
window.removeEventListener("firefoxExtSendRequestComplete", eventListener);
|
const eventListener = ({ detail }) => {
|
||||||
|
window.removeEventListener(
|
||||||
|
"firefoxExtSendRequestComplete",
|
||||||
|
eventListener
|
||||||
|
);
|
||||||
|
|
||||||
if (event.detail.error) {
|
if (detail.error) {
|
||||||
reject(JSON.parse(event.detail.error));
|
reject(JSON.parse(detail.error));
|
||||||
} else {
|
} else {
|
||||||
resolve(JSON.parse(event.detail.response));
|
resolve(JSON.parse(detail.response));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
window.addEventListener("firefoxExtSendRequestComplete", eventListener);
|
window.addEventListener("firefoxExtSendRequestComplete", eventListener);
|
||||||
|
|
||||||
window.firefoxExtSendRequest(req);
|
window.firefoxExtSendRequest(req);
|
||||||
});
|
});
|
||||||
|
|
||||||
const firefoxStrategy = (req, store) => {
|
const firefoxStrategy = (req, store) => {
|
||||||
if (store.state.postwoman.settings.PROXY_ENABLED) {
|
if (store.state.postwoman.settings.PROXY_ENABLED) {
|
||||||
return firefoxWithProxy(req, store);
|
return firefoxWithProxy(req, store);
|
||||||
}
|
}
|
||||||
return firefoxWithoutProxy(req, store);
|
return firefoxWithoutProxy(req, store);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default firefoxStrategy;
|
export default firefoxStrategy;
|
||||||
|
|||||||
@@ -619,8 +619,7 @@ export default {
|
|||||||
showExtensions: false,
|
showExtensions: false,
|
||||||
showShortcuts: false,
|
showShortcuts: false,
|
||||||
showSupport: false,
|
showSupport: false,
|
||||||
firefoxExtInstalled:
|
firefoxExtInstalled: window.firefoxExtSendRequest,
|
||||||
window.firefoxExtSendRequest !== undefined ? true : false,
|
|
||||||
chromeExtInstalled: false
|
chromeExtInstalled: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -820,7 +820,7 @@ export default {
|
|||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$nuxt.$loading.finish();
|
this.$nuxt.$loading.finish();
|
||||||
this.schemaString = `${error}. ${check_console_details}`;
|
this.schemaString = `${error}. ${this.$t("check_console_details")}`;
|
||||||
this.$toast.error(`${error} ${this.$t("f12_details")}`, {
|
this.$toast.error(`${error} ${this.$t("f12_details")}`, {
|
||||||
icon: "error"
|
icon: "error"
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user