update to mabras rework
This commit is contained in:
@@ -13,6 +13,7 @@ server {
|
||||
proxy_ssl_server_name on;
|
||||
proxy_set_header Host "${API_URL}";
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
sub_filter 'https://${API_URL}/' '/appi/';
|
||||
}
|
||||
location /pocketbase/ {
|
||||
proxy_pass https://${POCKET_BASE_URL}/;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"dev": "vite --host",
|
||||
"build": "vue-tsc && vite build",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
|
||||
@@ -20,7 +20,7 @@ export const getMarketTypes = async (types: (string | number)[]): Promise<Market
|
||||
} else if (types.length === 1 && typeof types[0] === "number") {
|
||||
return [(await apiAxiosInstance.get<MarketType>(`/sde/types/${types[0]}/`)).data];
|
||||
}
|
||||
return (await apiAxiosInstance.post<MarketType[]>("/sde/types/search", types.map(t => {
|
||||
return (await apiAxiosInstance.post<MarketType[]>("/api/types/search", types.map(t => {
|
||||
if (typeof t === "number") {
|
||||
return { id: t };
|
||||
} else {
|
||||
@@ -49,9 +49,9 @@ const blueprintMarketGrous = [ // TODO add all groups
|
||||
]
|
||||
|
||||
export const searchMarketTypes = async (search: string): Promise<MarketType[]> => {
|
||||
return (await apiAxiosInstance.post<MarketType[]>("/sde/types/search", [{
|
||||
name__i: search,
|
||||
marketgroup_id__not: null,
|
||||
marketgroup_id__not__in: blueprintMarketGrous,
|
||||
return (await apiAxiosInstance.post<MarketType[]>("/api/types/search", [{
|
||||
name__icontains: search,
|
||||
marketgroup_id___not: null,
|
||||
marketgroup_id__in___not: blueprintMarketGrous,
|
||||
}])).data;
|
||||
}
|
||||
@@ -82,6 +82,7 @@ watchEffect(async () => {
|
||||
suggestions.value = [];
|
||||
} else {
|
||||
suggestions.value = await searchMarketTypes(search);
|
||||
scrollTo(0);
|
||||
}
|
||||
currentIndex.value = -1;
|
||||
})
|
||||
@@ -94,7 +95,7 @@ watchEffect(async () => {
|
||||
<input type="text" v-model="name" @keyup.enter="submit" @keyup.down="moveDown" @keyup.up="moveUp" />
|
||||
</div>
|
||||
<div v-if="suggestions.length > 1" class="z-10 absolute w-96">
|
||||
<div v-bind="containerProps" style="height: 300px">
|
||||
<div v-bind="containerProps" class="rounded-b" style="height: 300px">
|
||||
<div v-bind="wrapperProps">
|
||||
<div v-for="s in list" :key="s.index" class="hover:bg-slate-700" :class="{'bg-slate-500': s.index !== currentIndex, 'bg-emerald-500': s.index === currentIndex}" @click="select(s.data)">
|
||||
<MarketTypeLabel :id="s.data.id" :name="s.data.name" class="whitespace-nowrap overflow-hidden cursor-pointer" hideCopy />
|
||||
|
||||
@@ -20,6 +20,20 @@ export const apiAxiosInstance = axios.create({
|
||||
},
|
||||
})
|
||||
logResource(apiAxiosInstance)
|
||||
apiAxiosInstance.interceptors.response.use(async r => {
|
||||
const next = r.data?.next;
|
||||
let results = r.data?.results;
|
||||
|
||||
if (next) {
|
||||
results = results.concat((await apiAxiosInstance.request({
|
||||
...r.config,
|
||||
url: next,
|
||||
baseURL: '',
|
||||
})).data);
|
||||
}
|
||||
r.data = results;
|
||||
return r;
|
||||
})
|
||||
|
||||
export const evepraisalAxiosInstance = axios.create({
|
||||
baseURL: '/appraisal/',
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
@apply w-3;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
@apply bg-slate-500;
|
||||
@apply bg-slate-500 rounded;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
@apply bg-slate-600 hover:bg-slate-700;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import vue from '@vitejs/plugin-vue';
|
||||
import * as path from "path";
|
||||
import { defineConfig, loadEnv } from 'vite';
|
||||
import zlib from 'zlib';
|
||||
|
||||
export default defineConfig(({ mode }) => {
|
||||
const env = loadEnv(mode, process.cwd(), '');
|
||||
@@ -17,30 +18,66 @@ export default defineConfig(({ mode }) => {
|
||||
server: {
|
||||
port: 3000,
|
||||
strictPort: true,
|
||||
watch: {
|
||||
usePolling: true
|
||||
},
|
||||
proxy: {
|
||||
'/api/': {
|
||||
target: `https://${env.API_URL}/`,
|
||||
target: env.API_URL,
|
||||
changeOrigin: true,
|
||||
followRedirects: true,
|
||||
rewrite: (path) => path.replace(/^\/api/, ''),
|
||||
rewrite: path => path.replace(/^\/api/, ''),
|
||||
selfHandleResponse: true,
|
||||
configure: proxy => {
|
||||
proxy.on('proxyRes', (proxyRes, req, res) => {
|
||||
const chunks = [];
|
||||
|
||||
proxyRes.on("data", (chunk) => chunks.push(chunk));
|
||||
proxyRes.on("end", () => {
|
||||
const buffer = Buffer.concat(chunks);
|
||||
const encoding = proxyRes.headers["content-encoding"];
|
||||
const relace = (b: Buffer) => {
|
||||
let remoteBody = b.toString();
|
||||
const modifiedBody = remoteBody.replace(env.API_URL, '/api/');
|
||||
|
||||
res.write(modifiedBody);
|
||||
res.end();
|
||||
}
|
||||
|
||||
if (!encoding) {
|
||||
relace(buffer);
|
||||
} else if (encoding === "gzip" || encoding === "deflate") {
|
||||
zlib.unzip(buffer, (err, b) => {
|
||||
if (!err) {
|
||||
relace(b);
|
||||
} else {
|
||||
console.error(err);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.error(`Unsupported encoding: ${encoding}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
'/pocketbase/': {
|
||||
target: `https://${env.POCKET_BASE_URL}/`,
|
||||
target: env.POCKET_BASE_URL,
|
||||
changeOrigin: true,
|
||||
followRedirects: true,
|
||||
rewrite: (path) => path.replace(/^\/pocketbase/, ''),
|
||||
rewrite: path => path.replace(/^\/pocketbase/, ''),
|
||||
},
|
||||
'/appraisal/': {
|
||||
target: `https://${env.EVEPRAISAL_URL}/`,
|
||||
target: env.EVEPRAISAL_URL,
|
||||
changeOrigin: true,
|
||||
followRedirects: true,
|
||||
rewrite: (path) => path.replace(/^\/appraisal/, ''),
|
||||
rewrite: path => path.replace(/^\/appraisal/, ''),
|
||||
},
|
||||
'/esi/': {
|
||||
target: `https://${env.ESI_URL}/latest/`,
|
||||
target: env.ESI_URL,
|
||||
changeOrigin: true,
|
||||
followRedirects: true,
|
||||
rewrite: (path) => path.replace(/^\/esi/, ''),
|
||||
rewrite: path => path.replace(/^\/esi/, ''),
|
||||
headers: {
|
||||
'User-Agent': env.ESI_USER_AGENT
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user