changes in a-look-back
authorPhiTux <redacted>
Fri, 15 Aug 2025 09:16:22 +0000 (11:16 +0200)
committerPhiTux <redacted>
Fri, 15 Aug 2025 09:16:22 +0000 (11:16 +0200)
backend/handlers/users.go
frontend/src/lib/ALookBack.svelte [moved from frontend/src/lib/OnThisDay.svelte with 99% similarity]
frontend/src/routes/(authed)/write/+page.svelte

index 5d9ef2f9cbb6cf92f2073c6ea711cda6b909d0bc..7582c02d3c252640539e31a935274f7d042128f3 100644 (file)
@@ -5,6 +5,7 @@ import (
        "encoding/base64"
        "encoding/json"
        "fmt"
+       "maps"
        "net/http"
        "strings"
        "sync"
@@ -416,6 +417,18 @@ func CheckLogin(w http.ResponseWriter, r *http.Request) {
        })
 }
 
+func GetDefaultSettings() map[string]any {
+       // Default settings
+       return map[string]any{
+               "autoloadImagesByDefault":    false,
+               "setAutoloadImagesPerDevice": true,
+               "useALookBack":               true,
+               "aLookBackYears":             []int{1, 5, 10},
+               "useBrowserTimezone":         true,
+               "timezone":                   "UTC",
+       }
+}
+
 // GetUserSettings retrieves user settings
 func GetUserSettings(w http.ResponseWriter, r *http.Request) {
        // Get user ID from context
@@ -440,14 +453,7 @@ func GetUserSettings(w http.ResponseWriter, r *http.Request) {
        }
 
        // Default settings
-       defaultSettings := map[string]any{
-               "autoloadImagesByDefault":    false,
-               "setAutoloadImagesPerDevice": true,
-               "useOnThisDay":               true,
-               "onThisDayYears":             []int{1, 5, 10},
-               "useBrowserTimezone":         true,
-               "timezone":                   "UTC",
-       }
+       defaultSettings := GetDefaultSettings()
 
        // If no settings found, return defaults
        if len(encryptedSettings) == 0 {
@@ -543,20 +549,11 @@ func SaveUserSettings(w http.ResponseWriter, r *http.Request) {
 
        // If no settings or empty, use defaults
        if len(currentSettings) == 0 {
-               currentSettings = map[string]any{
-                       "autoloadImagesByDefault":    false,
-                       "setAutoloadImagesPerDevice": true,
-                       "useOnThisDay":               true,
-                       "onThisDayYears":             []int{1, 5, 10},
-                       "useBrowserTimezone":         true,
-                       "timezone":                   "UTC",
-               }
+               currentSettings = GetDefaultSettings()
        }
 
        // Update settings
-       for key, value := range newSettings {
-               currentSettings[key] = value
-       }
+       maps.Copy(currentSettings, newSettings)
 
        // Encrypt settings
        settingsJSON, err := json.Marshal(currentSettings)
similarity index 99%
rename from frontend/src/lib/OnThisDay.svelte
rename to frontend/src/lib/ALookBack.svelte
index 73b9e7385ff0c3db1471924845c82f29fae97fb8..f1813d086aa6cb2578752a1e1c302a85139d2025 100644 (file)
                <button
                        onclick={() => {
                                $selectedDate = { year: log.year, month: log.month, day: log.day };
+                               closeModal();
                        }}
                        class="btn btn-primary"
                        id="closeZoom">Öffnen</button
index 32302658b6927ea7e70991eb960b804de17a2891..4b87a275b1c686dc1cb18a16c5436805f12b7d97 100644 (file)
@@ -33,7 +33,7 @@
        import ImageViewer from '$lib/ImageViewer.svelte';
        import TemplateDropdown from '$lib/TemplateDropdown.svelte';
        import { templates, insertTemplate } from '$lib/templateStore';
-       import OnThisDay from '$lib/OnThisDay.svelte';
+       import ALookBack from '$lib/ALookBack.svelte';
        import { marked } from 'marked';
 
        axios.interceptors.request.use((config) => {
 
                        logDateWritten = response.data.date_written;
 
-                       getOnThisDay();
+                       getALookBack();
 
                        return true;
                } catch (error) {
                }
        }
 
-       let onThisDay = $state([]);
+       let aLookBack = $state([]);
 
-       function getOnThisDay() {
-               if (!$settings.useOnThisDay) {
-                       onThisDay = [];
+       function getALookBack() {
+               if (!$settings.useALookBack) {
+                       aLookBack = [];
                        return;
                }
 
                axios
-                       .get(API_URL + '/logs/getOnThisDay', {
+                       .get(API_URL + '/logs/getALookBack', {
                                params: {
                                        day: $selectedDate.day,
                                        month: $selectedDate.month,
                                        year: $selectedDate.year,
-                                       last_years: $settings.onThisDayYears.join(',')
+                                       last_years: $settings.aLookBackYears.join(',')
                                }
                        })
                        .then((response) => {
-                               onThisDay = response.data;
+                               aLookBack = response.data;
                        })
                        .catch((error) => {
                                console.error(error);
                                {/if}
                        {/if}
 
-                       {#if $settings.useOnThisDay && onThisDay.length > 0}
+                       {#if $settings.useALookBack && aLookBack.length > 0}
                                <div class="mt-3 d-flex gap-2">
-                                       {#each onThisDay as log}
-                                               <OnThisDay {log} />
+                                       {#each aLookBack as log}
+                                               <ALookBack {log} />
                                        {/each}
                                </div>
                        {/if}
git clone https://git.99rst.org/PROJECT