Adds update checker with user preference
Introduces an update checker feature that respects the user's preference, allowing them to enable or disable automatic update checks. The setting is persisted in the config file and synced to the backend. Also introduces a page dedicated to listing music that inspired the project, and makes some minor UI improvements
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
import * as Sidebar from "$lib/components/ui/sidebar/index.js";
|
||||
import { dangerZoneEnabled } from "$lib/stores/app";
|
||||
import * as m from "$lib/paraglide/messages.js";
|
||||
import { Mail, Heart } from "@lucide/svelte/icons";
|
||||
import { Mail, Heart, Info } from "@lucide/svelte/icons";
|
||||
|
||||
const CLICK_WINDOW_MS = 4000;
|
||||
const REQUIRED_CLICKS = 10;
|
||||
@@ -46,7 +46,7 @@
|
||||
{
|
||||
title: m.sidebar_credits(),
|
||||
url: "/credits",
|
||||
icon: Heart,
|
||||
icon: Info,
|
||||
disabled: false,
|
||||
id: 3,
|
||||
},
|
||||
|
||||
@@ -11,6 +11,7 @@ const defaults: EMLy_GUI_Settings = {
|
||||
previewFileSupportedTypes: ["jpg", "jpeg", "png"],
|
||||
enableAttachedDebuggerProtection: true,
|
||||
useDarkEmailViewer: true,
|
||||
enableUpdateChecker: true,
|
||||
};
|
||||
|
||||
class SettingsStore {
|
||||
|
||||
19
frontend/src/lib/types.d.ts
vendored
19
frontend/src/lib/types.d.ts
vendored
@@ -9,6 +9,25 @@ interface EMLy_GUI_Settings {
|
||||
previewFileSupportedTypes?: SupportedFileTypePreview[];
|
||||
enableAttachedDebuggerProtection?: boolean;
|
||||
useDarkEmailViewer?: boolean;
|
||||
enableUpdateChecker?: boolean;
|
||||
}
|
||||
|
||||
type SupportedLanguages = "en" | "it";
|
||||
// Plugin System Types
|
||||
interface PluginFormatSupport {
|
||||
extensions: string[];
|
||||
mime_types?: string[];
|
||||
priority: number;
|
||||
}
|
||||
|
||||
interface PluginInfo {
|
||||
name: string;
|
||||
version: string;
|
||||
author: string;
|
||||
description: string;
|
||||
capabilities: string[];
|
||||
status: "unloaded" | "loading" | "active" | "error" | "disabled";
|
||||
enabled: boolean;
|
||||
last_error?: string;
|
||||
supported_formats?: PluginFormatSupport[];
|
||||
}
|
||||
Reference in New Issue
Block a user