"encoding/base64"
"encoding/json"
"fmt"
+ "maps"
"net/http"
"strings"
"sync"
})
}
+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
}
// 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 {
// 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)
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}