mirror of
https://github.com/thiloho/archtika.git
synced 2025-11-22 10:51:36 +01:00
Put API prefix in server only file to access process.env
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { redirect } from "@sveltejs/kit";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const handle = async ({ event, resolve }) => {
|
||||
if (!event.url.pathname.startsWith("/api/")) {
|
||||
|
||||
3
web-app/src/lib/server/utils.ts
Normal file
3
web-app/src/lib/server/utils.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import { dev } from "$app/environment";
|
||||
|
||||
export const API_BASE_PREFIX = dev ? "http://localhost:3000" : `${process.env.ORIGIN}/api`;
|
||||
@@ -113,7 +113,7 @@ export const md = markdownit({
|
||||
md.core.ruler.push("header_sections", addSections);
|
||||
});
|
||||
|
||||
export const handleImagePaste = async (event: ClipboardEvent) => {
|
||||
export const handleImagePaste = async (event: ClipboardEvent, API_BASE_PREFIX: string) => {
|
||||
const clipboardItems = Array.from(event.clipboardData?.items || []);
|
||||
const file = clipboardItems.find((item) => item.type.startsWith("image/"));
|
||||
|
||||
@@ -145,6 +145,3 @@ export const handleImagePaste = async (event: ClipboardEvent) => {
|
||||
|
||||
return newContent;
|
||||
};
|
||||
|
||||
export const API_BASE_PREFIX = dev ? "http://localhost:3000" : `${import.meta.env.PUBLIC_ORIGIN}/api`;
|
||||
export const NGINX_BASE_PREFIX = dev ? "http://localhost:18000" : "";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const actions: Actions = {
|
||||
default: async ({ request, cookies, fetch }) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const actions: Actions = {
|
||||
default: async ({ request, fetch }) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions, PageServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const load: PageServerLoad = async ({ fetch, cookies, url, locals }) => {
|
||||
const searchQuery = url.searchParams.get("website_search_query");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions, PageServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const load: PageServerLoad = async ({ locals }) => {
|
||||
return {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { LayoutServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
import { error } from "@sveltejs/kit";
|
||||
|
||||
export const load: LayoutServerLoad = async ({ params, fetch, cookies }) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions, PageServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const load: PageServerLoad = async ({ params, fetch, cookies, url }) => {
|
||||
const globalSettingsData = await fetch(
|
||||
@@ -39,7 +39,8 @@ export const load: PageServerLoad = async ({ params, fetch, cookies, url }) => {
|
||||
return {
|
||||
globalSettings,
|
||||
header,
|
||||
footer
|
||||
footer,
|
||||
API_BASE_PREFIX
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
import SuccessOrError from "$lib/components/SuccessOrError.svelte";
|
||||
import type { ActionData, PageServerData } from "./$types";
|
||||
import Modal from "$lib/components/Modal.svelte";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
|
||||
const { data, form } = $props<{ data: PageServerData; form: ActionData }>();
|
||||
|
||||
@@ -19,7 +18,7 @@
|
||||
};
|
||||
|
||||
const handlePaste = async (event: ClipboardEvent) => {
|
||||
const newContent = await handleImagePaste(event);
|
||||
const newContent = await handleImagePaste(event, data.API_BASE_PREFIX);
|
||||
previewContent = newContent;
|
||||
};
|
||||
</script>
|
||||
@@ -72,7 +71,7 @@
|
||||
{#if data.globalSettings.favicon_image}
|
||||
<Modal id="preview-favicon-global-{data.globalSettings.website_id}" text="Preview">
|
||||
<img
|
||||
src={`${API_BASE_PREFIX}/rpc/retrieve_file?id=${data.globalSettings.favicon_image}`}
|
||||
src={`${data.API_BASE_PREFIX}/rpc/retrieve_file?id=${data.globalSettings.favicon_image}`}
|
||||
alt=""
|
||||
/>
|
||||
</Modal>
|
||||
@@ -125,7 +124,10 @@
|
||||
</label>
|
||||
{#if data.header.logo_image}
|
||||
<Modal id="preview-logo-header-{data.header.website_id}" text="Preview">
|
||||
<img src={`${API_BASE_PREFIX}/rpc/retrieve_file?id=${data.header.logo_image}`} alt="" />
|
||||
<img
|
||||
src={`${data.API_BASE_PREFIX}/rpc/retrieve_file?id=${data.header.logo_image}`}
|
||||
alt=""
|
||||
/>
|
||||
</Modal>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions, PageServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const load: PageServerLoad = async ({ params, fetch, cookies, url, parent, locals }) => {
|
||||
const searchQuery = url.searchParams.get("article_search_query");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions, PageServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const load: PageServerLoad = async ({ parent, params, cookies, fetch }) => {
|
||||
const articleData = await fetch(`${API_BASE_PREFIX}/article?id=eq.${params.articleId}`, {
|
||||
@@ -14,7 +14,7 @@ export const load: PageServerLoad = async ({ parent, params, cookies, fetch }) =
|
||||
const article = await articleData.json();
|
||||
const { website } = await parent();
|
||||
|
||||
return { website, article };
|
||||
return { website, article, API_BASE_PREFIX };
|
||||
};
|
||||
|
||||
export const actions: Actions = {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import SuccessOrError from "$lib/components/SuccessOrError.svelte";
|
||||
import type { ActionData, PageServerData } from "./$types";
|
||||
import Modal from "$lib/components/Modal.svelte";
|
||||
import { API_BASE_PREFIX, handleImagePaste } from "$lib/utils";
|
||||
import { handleImagePaste } from "$lib/utils";
|
||||
|
||||
const { data, form } = $props<{ data: PageServerData; form: ActionData }>();
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
};
|
||||
|
||||
const handlePaste = async (event: ClipboardEvent) => {
|
||||
const newContent = await handleImagePaste(event);
|
||||
const newContent = await handleImagePaste(event, data.API_BASE_PREFIX);
|
||||
previewContent = newContent;
|
||||
};
|
||||
</script>
|
||||
@@ -86,7 +86,7 @@
|
||||
{#if data.article.cover_image}
|
||||
<Modal id="preview-cover-article-{data.article.id}" text="Preview">
|
||||
<img
|
||||
src={`${API_BASE_PREFIX}/rpc/retrieve_file?id=${data.article.cover_image}`}
|
||||
src={`${data.API_BASE_PREFIX}/rpc/retrieve_file?id=${data.article.cover_image}`}
|
||||
alt=""
|
||||
/>
|
||||
</Modal>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Actions, PageServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
|
||||
export const load: PageServerLoad = async ({ parent, params, fetch, cookies }) => {
|
||||
const { website, home } = await parent();
|
||||
|
||||
@@ -2,12 +2,13 @@ import { readFile, mkdir, writeFile } from "node:fs/promises";
|
||||
import { join } from "node:path";
|
||||
import { md } from "$lib/utils";
|
||||
import type { Actions, PageServerLoad } from "./$types";
|
||||
import { API_BASE_PREFIX, NGINX_BASE_PREFIX } from "$lib/utils";
|
||||
import { API_BASE_PREFIX } from "$lib/server/utils";
|
||||
import { render } from "svelte/server";
|
||||
import BlogIndex from "$lib/templates/blog/BlogIndex.svelte";
|
||||
import BlogArticle from "$lib/templates/blog/BlogArticle.svelte";
|
||||
import DocsIndex from "$lib/templates/docs/DocsIndex.svelte";
|
||||
import DocsEntry from "$lib/templates/docs/DocsEntry.svelte";
|
||||
import { dev } from "$app/environment";
|
||||
|
||||
export const load: PageServerLoad = async ({ params, fetch, cookies }) => {
|
||||
const websiteOverviewData = await fetch(
|
||||
@@ -26,7 +27,7 @@ export const load: PageServerLoad = async ({ params, fetch, cookies }) => {
|
||||
|
||||
generateStaticFiles(websiteOverview);
|
||||
|
||||
const websitePreviewUrl = `${NGINX_BASE_PREFIX}/previews/${websiteOverview.id}/index.html`;
|
||||
const websitePreviewUrl = `${dev ? "http://localhost:18000" : ""}/previews/${websiteOverview.id}/index.html`;
|
||||
|
||||
return {
|
||||
websiteOverview,
|
||||
|
||||
Reference in New Issue
Block a user