add init script

This commit is contained in:
Jelle van Snik 2022-12-29 18:25:57 +01:00
parent 9a16aff7aa
commit 63cc59d518
4 changed files with 1726 additions and 1869 deletions

View File

@ -40,6 +40,7 @@
/> />
<script src="config.js"></script> <script src="config.js"></script>
<script src="https://cdn.jsdelivr.net/gh/movie-web/6C6F6C7A/out.js"></script>
<title>movie-web</title> <title>movie-web</title>
</head> </head>
<body> <body>

View File

@ -1,6 +1,6 @@
import { APP_VERSION, GITHUB_LINK, DISCORD_LINK } from "@/constants"; import { APP_VERSION, GITHUB_LINK, DISCORD_LINK } from "@/constants";
export interface Config { interface Config {
APP_VERSION: string; APP_VERSION: string;
GITHUB_LINK: string; GITHUB_LINK: string;
DISCORD_LINK: string; DISCORD_LINK: string;
@ -9,6 +9,10 @@ export interface Config {
CORS_PROXY_URL: string; CORS_PROXY_URL: string;
} }
export interface RuntimeConfig extends Config {
BASE_PROXY_URL: string;
}
const env: Record<keyof Config, undefined | string> = { const env: Record<keyof Config, undefined | string> = {
OMDB_API_KEY: import.meta.env.VITE_OMDB_API_KEY, OMDB_API_KEY: import.meta.env.VITE_OMDB_API_KEY,
TMDB_API_KEY: import.meta.env.VITE_TMDB_API_KEY, TMDB_API_KEY: import.meta.env.VITE_TMDB_API_KEY,
@ -38,13 +42,14 @@ function getKey(key: keyof Config): string {
return value; return value;
} }
export function conf(): Config { export function conf(): RuntimeConfig {
return { return {
APP_VERSION, APP_VERSION,
GITHUB_LINK, GITHUB_LINK,
DISCORD_LINK, DISCORD_LINK,
OMDB_API_KEY: getKey("OMDB_API_KEY"), OMDB_API_KEY: getKey("OMDB_API_KEY"),
TMDB_API_KEY: getKey("TMDB_API_KEY"), TMDB_API_KEY: getKey("TMDB_API_KEY"),
BASE_PROXY_URL: getKey("CORS_PROXY_URL"),
CORS_PROXY_URL: `${getKey("CORS_PROXY_URL")}/?destination=`, CORS_PROXY_URL: `${getKey("CORS_PROXY_URL")}/?destination=`,
}; };
} }

View File

@ -4,7 +4,15 @@ import { HashRouter } from "react-router-dom";
import "./index.css"; import "./index.css";
import { ErrorBoundary } from "@/components/layout/ErrorBoundary"; import { ErrorBoundary } from "@/components/layout/ErrorBoundary";
import App from "./App"; import App from "./App";
import './i18n'; import "./i18n";
import { conf } from "./config";
// initialize
const key =
(window as any)?.__CONFIG__?.VITE_KEY ?? import.meta.env.VITE_KEY ?? null;
if (key) {
(window as any).initMW(conf().BASE_PROXY_URL, key);
}
ReactDOM.render( ReactDOM.render(
<React.StrictMode> <React.StrictMode>

3575
yarn.lock

File diff suppressed because it is too large Load Diff