diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b062476..a31c6fb 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,8 +31,9 @@ jobs: - name: Deploy to demo server run: | nix run nixpkgs#nixos-rebuild -- switch \ - --flake .#${{ github.event.workflow_run.head_branch == 'devel' && 'qs' || 'prod' }} \ + --flake github:archtika/archtika/${{ github.event.workflow_run.head_branch }}#${{ github.event.workflow_run.head_branch == 'devel' && 'qs' || 'prod' }} \ --fast \ + --refresh \ --build-host ${{ env.SERVER_USER }}@${{ github.event.workflow_run.head_branch == 'devel' && env.QS_SERVER_IP || env.PROD_SERVER_IP }} \ --target-host ${{ env.SERVER_USER }}@${{ github.event.workflow_run.head_branch == 'devel' && env.QS_SERVER_IP || env.PROD_SERVER_IP }} \ --use-remote-sudo diff --git a/nix/dev-vm.nix b/nix/dev-vm.nix index 48bacd4..33518f4 100644 --- a/nix/dev-vm.nix +++ b/nix/dev-vm.nix @@ -68,9 +68,9 @@ ]; locations = { "/" = { - root = "/var/www/archtika-websites/"; + root = "/var/www/archtika-websites"; index = "index.html"; - tryFiles = "$uri $uri/ $uri.html $uri/index.html index.html =404"; + tryFiles = "$uri $uri/ $uri.html =404"; extraConfig = '' autoindex on; ''; diff --git a/nix/module.nix b/nix/module.nix index 123a60e..d939861 100644 --- a/nix/module.nix +++ b/nix/module.nix @@ -160,14 +160,12 @@ in "/previews/" = { alias = "/var/www/archtika-websites/previews/"; index = "index.html"; - tryFiles = "$uri $uri/ $uri.html $uri/index.html index.html =404"; + tryFiles = "$uri $uri/ $uri.html =404"; }; "/api/" = { proxyPass = "http://localhost:${toString cfg.apiPort}/"; extraConfig = '' default_type application/json; - proxy_hide_header Content-Location; - add_header Content-Location /api/$upstream_http_content_location; proxy_set_header Connection ""; proxy_http_version 1.1; ''; @@ -179,9 +177,9 @@ in forceSSL = true; locations = { "/" = { - alias = "/var/www/archtika-websites/$subdomain/"; + root = "/var/www/archtika-websites/$subdomain"; index = "index.html"; - tryFiles = "$uri $uri/ $uri.html $uri/index.html index.html =404"; + tryFiles = "$uri $uri/ $uri.html =404"; }; }; }; diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.server.ts index a89f5db..533b4c0 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.server.ts +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.server.ts @@ -6,6 +6,8 @@ export const load: PageServerLoad = async ({ parent, fetch, params, cookies, url const userFilter = url.searchParams.get("logs_filter_user"); const resourceFilter = url.searchParams.get("logs_filter_resource"); const operationFilter = url.searchParams.get("logs_filter_operation"); + const currentPage = Number.parseInt(url.searchParams.get("logs_results_page") ?? "1"); + const resultOffset = currentPage === 1 ? 0 : currentPage * 50; const searchParams = new URLSearchParams(); @@ -23,7 +25,7 @@ export const load: PageServerLoad = async ({ parent, fetch, params, cookies, url searchParams.append("operation", `eq.${operationFilter.toUpperCase()}`); } - const constructedFetchUrl = `${baseFetchUrl}&${searchParams.toString()}`; + const constructedFetchUrl = `${baseFetchUrl}&${searchParams.toString()}&limit=50&offset=${resultOffset}`; const changeLogData = await fetch(constructedFetchUrl, { method: "GET", diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.svelte index 8cda235..b52db73 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.svelte +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/logs/+page.svelte @@ -42,6 +42,8 @@ const { user, change_log, media, ...restTables } = tables; resources = restTables; } + + let logsSection: HTMLElement; -
+

Logs

- {data.resultChangeLogCount} - results + {data.resultChangeLogCount.toLocaleString("en", { useGrouping: true })} + result(s)

@@ -111,6 +113,7 @@ > +
@@ -155,6 +158,106 @@ {/each} + {#snippet commonFilterInputs()} + + + + {/snippet} +
+ + diff --git a/web-app/src/routes/+layout.svelte b/web-app/src/routes/+layout.svelte index 866a528..75a5ce9 100644 --- a/web-app/src/routes/+layout.svelte +++ b/web-app/src/routes/+layout.svelte @@ -3,20 +3,11 @@ import { page } from "$app/stores"; import type { LayoutServerData } from "./$types"; import type { Snippet } from "svelte"; - import { beforeNavigate, afterNavigate } from "$app/navigation"; + import { navigating } from "$app/stores"; import LoadingSpinner from "$lib/components/LoadingSpinner.svelte"; const { data, children }: { data: LayoutServerData; children: Snippet } = $props(); - let loading = $state(false); - - beforeNavigate(() => { - loading = true; - }); - afterNavigate(() => { - loading = false; - }); - const isProjectRoute = $derived($page.url.pathname.startsWith("/website") && !$page.error); const routeName = $derived( $page.url.pathname === "/" @@ -25,7 +16,7 @@ ); -{#if loading} +{#if $navigating && ["link", "goto"].includes($navigating.type)} {/if}