mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-01 10:09:56 +00:00
2b1af707c3
* Beginning work on websocket -> http client conversion. * About 30% done. * half done. * more done. * Almost passing lint. * Passing lint, but untested. * Add back in event listeners. * Fixing some community forms. * Remove webpack cache. * fixing some more. * Fixed ISOwrappers. * A few more fixes. * Refactor utils * Fix instance add/remove buttons * Not catching errors in isoWrapper. * Wrap Http client * Fixing up tagline and ratelimit forms. * Make all http client wrapping be in one place * Reworking some more forms. * Upgrading lemmy-js-client. * Fixing verify email. * Fix linting errors * Upgrading woodpecker node. * Fix comment scrolling rerender bug. * Fixing a few things, commenting out props for now. * v0.18.0-beta.1 * Trying to fix woodpecker, 1. * Trying to fix woodpecker, 2. * Handroll prompt * Add navigation prompt to other pages * Fix prompt navigation bug * Fix prompt bug introduced from last bug fix * Fix PWA bug * Fix isoData not working * Fix search page update url * Fix sharp issue. * v0.18.0-beta.2 * Make create post pre-fetch communities * Fix bug from last commit * Fix issue of posts/comments not being switched when changing select options * Fix unnecessary fetches on home screen * Make circular icon buttons not look stupid * Prevent unnecessary fetches * Make login experience smoother * Add PWA shortcuts * Add related application to PWA * Update translations * Forgot to add post editing. * Fixing site setup. * Deploy script setup. * v0.18.0-beta.4 * Sanitize again. * Adding sanitize json function. * Upping version. * Another sanitize fix. * Upping version. * Prevent search nav item from disappearing when on search page * Allow admin and mod actions on non-local comments. * Fix mobile menu collapse bug * Completely fix prompt component * Fix undefined value checks in use_http_client_2 (#1230) * fix: filter out undefined from posts * fix: emoji initialisation passing undefined * fix: || => ?? to be more explicit * linting --------- Co-authored-by: Alex Maras <alexmaras@gmail.com> * Re-add accidentally removed state * Fix dropdown bug * Use linkEvent where appropriate * Fix navigation warnings. --------- Co-authored-by: Dessalines <tyhou13@gmx.com> Co-authored-by: Alex Maras <dev@alexmaras.com> Co-authored-by: Alex Maras <alexmaras@gmail.com>
66 lines
1.4 KiB
TypeScript
66 lines
1.4 KiB
TypeScript
import { isBrowser } from "./utils";
|
|
|
|
const testHost = "0.0.0.0:8536";
|
|
|
|
function getInternalHost() {
|
|
return !isBrowser()
|
|
? process.env.LEMMY_UI_LEMMY_INTERNAL_HOST ?? testHost
|
|
: testHost; // used for local dev
|
|
}
|
|
|
|
export function getExternalHost() {
|
|
return isBrowser()
|
|
? `${window.location.hostname}${
|
|
["1234", "1235"].includes(window.location.port)
|
|
? ":8536"
|
|
: window.location.port == ""
|
|
? ""
|
|
: `:${window.location.port}`
|
|
}`
|
|
: process.env.LEMMY_UI_LEMMY_EXTERNAL_HOST || testHost;
|
|
}
|
|
|
|
function getSecure() {
|
|
return (
|
|
isBrowser()
|
|
? window.location.protocol.includes("https")
|
|
: process.env.LEMMY_UI_HTTPS === "true"
|
|
)
|
|
? "s"
|
|
: "";
|
|
}
|
|
|
|
function getHost() {
|
|
return isBrowser() ? getExternalHost() : getInternalHost();
|
|
}
|
|
|
|
function getBaseLocal(s = "") {
|
|
return `http${s}://${getHost()}`;
|
|
}
|
|
|
|
export function getHttpBaseInternal() {
|
|
return getBaseLocal(); // Don't use secure here
|
|
}
|
|
|
|
export function getHttpBaseExternal() {
|
|
return `http${getSecure()}://${getExternalHost()}`;
|
|
}
|
|
|
|
export function getHttpBase() {
|
|
return getBaseLocal(getSecure());
|
|
}
|
|
|
|
export function isHttps() {
|
|
return getSecure() === "s";
|
|
}
|
|
|
|
console.log(`httpbase: ${getHttpBase()}`);
|
|
console.log(`isHttps: ${isHttps()}`);
|
|
|
|
// This is for html tags, don't include port
|
|
export function httpExternalPath(path: string) {
|
|
return `http${getSecure()}://${getExternalHost().replace(
|
|
/:\d+/g,
|
|
""
|
|
)}${path}`;
|
|
}
|