diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index f5c565c..c060393 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -94,6 +94,12 @@ jobs: if: steps.check-release-docs.outputs.has_docs != 'true' run: cp -a /tmp/dist-nightly/. ./dist/ + - name: Write version.json + run: | + VERSION="${{ steps.release-ref.outputs.ref }}" + RELEASE_URL="https://github.com/${{ github.repository }}/releases/tag/${VERSION}" + printf '{"version":"%s","release_url":"%s"}\n' "$VERSION" "$RELEASE_URL" > ./dist/version.json + - uses: peaceiris/actions-gh-pages@v4 if: steps.check-release-docs.outputs.has_docs == 'true' with: diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 76e205b..7530043 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -25,6 +25,4 @@ services: GIT_SHA: ${GIT_SHA:-unknown} ports: - "8001:80" - depends_on: - - backend restart: unless-stopped diff --git a/docker-compose.yml b/docker-compose.yml index 801d087..6e1bb0d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,6 +16,4 @@ services: image: ghcr.io/codebude/librislog/librislog:latest ports: - "8001:80" - depends_on: - - backend restart: unless-stopped diff --git a/frontend/src/lib/components/UserMenu.svelte b/frontend/src/lib/components/UserMenu.svelte index c8c7875..25e6af8 100644 --- a/frontend/src/lib/components/UserMenu.svelte +++ b/frontend/src/lib/components/UserMenu.svelte @@ -2,12 +2,13 @@ import { goto } from '$app/navigation'; import { api } from '$lib/api'; import { broadcastLogout, currentUser, csrfToken } from '$lib/stores/auth'; + import type { UpdateInfo } from '$lib/stores/updateCheck'; import { _ } from '$lib/i18n'; import { cycleTheme, applyThemeToDocument, saveThemeToStorage, getThemeMode, getThemeIcon, getCustomTheme, getThemeVersion } from '$lib/stores/theme'; import AnimalAvatar from '$lib/components/AnimalAvatar.svelte'; - import { Sun, Moon, Palette } from '@lucide/svelte'; + import { Sun, Moon, Palette, CloudDownload } from '@lucide/svelte'; - let { floating = true }: { floating?: boolean } = $props(); + let { floating = true, updateInfo = null }: { floating?: boolean; updateInfo?: UpdateInfo | null } = $props(); let open = $state(false); let themeIcon = $state(getThemeIcon()); @@ -71,26 +72,40 @@