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