mirror of
https://github.com/coracle-social/flotilla.git
synced 2025-12-10 10:57:04 +00:00
Add setting for font size
This commit is contained in:
@@ -105,7 +105,7 @@
|
|||||||
{#if url && $reports.length > 0}
|
{#if url && $reports.length > 0}
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
data-tip="{`This content has been reported as "${displayList(reportReasons)}".`}}"
|
data-tip={`This content has been reported as "${displayList(reportReasons)}".`}
|
||||||
class="btn btn-error btn-xs tooltip-right flex items-center gap-1 rounded-full"
|
class="btn btn-error btn-xs tooltip-right flex items-center gap-1 rounded-full"
|
||||||
class:tooltip={!noTooltip && !isMobile}
|
class:tooltip={!noTooltip && !isMobile}
|
||||||
onclick={stopPropagation(preventDefault(onReportClick))}>
|
onclick={stopPropagation(preventDefault(onReportClick))}>
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ export type Settings = {
|
|||||||
report_usage: boolean
|
report_usage: boolean
|
||||||
report_errors: boolean
|
report_errors: boolean
|
||||||
send_delay: number
|
send_delay: number
|
||||||
|
font_size: number
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,6 +306,7 @@ export const defaultSettings = {
|
|||||||
report_usage: true,
|
report_usage: true,
|
||||||
report_errors: true,
|
report_errors: true,
|
||||||
send_delay: 3000,
|
send_delay: 3000,
|
||||||
|
font_size: 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const settings = deriveEventsMapped<Settings>(repository, {
|
export const settings = deriveEventsMapped<Settings>(repository, {
|
||||||
|
|||||||
@@ -3,20 +3,28 @@
|
|||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
label?: Snippet
|
label?: Snippet
|
||||||
|
secondary?: Snippet
|
||||||
input?: Snippet
|
input?: Snippet
|
||||||
info?: Snippet
|
info?: Snippet
|
||||||
[key: string]: any
|
[key: string]: any
|
||||||
}
|
}
|
||||||
|
|
||||||
const {label, input, info, ...props}: Props = $props()
|
const {label, secondary, input, info, ...props}: Props = $props()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="flex flex-col gap-2 {props.class}">
|
<div class="flex flex-col gap-2 {props.class}">
|
||||||
{#if label}
|
<div class="flex items-center justify-between">
|
||||||
<label class="flex items-center gap-2 font-bold">
|
{#if label}
|
||||||
{@render label()}
|
<label class="flex items-center gap-2 font-bold">
|
||||||
</label>
|
{@render label()}
|
||||||
{/if}
|
</label>
|
||||||
|
{/if}
|
||||||
|
{#if secondary}
|
||||||
|
<label class="flex items-center gap-2">
|
||||||
|
{@render secondary()}
|
||||||
|
</label>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
{@render input?.()}
|
{@render input?.()}
|
||||||
{#if info}
|
{#if info}
|
||||||
<p class="text-sm">
|
<p class="text-sm">
|
||||||
|
|||||||
@@ -51,7 +51,13 @@
|
|||||||
import {setupTracking} from "@app/tracking"
|
import {setupTracking} from "@app/tracking"
|
||||||
import {setupAnalytics} from "@app/analytics"
|
import {setupAnalytics} from "@app/analytics"
|
||||||
import {nsecDecode} from "@lib/util"
|
import {nsecDecode} from "@lib/util"
|
||||||
import {INDEXER_RELAYS, userMembership, ensureUnwrapped, canDecrypt} from "@app/state"
|
import {
|
||||||
|
INDEXER_RELAYS,
|
||||||
|
userMembership,
|
||||||
|
userSettingValues,
|
||||||
|
ensureUnwrapped,
|
||||||
|
canDecrypt,
|
||||||
|
} from "@app/state"
|
||||||
import {loadUserData, listenForNotifications} from "@app/requests"
|
import {loadUserData, listenForNotifications} from "@app/requests"
|
||||||
import {theme} from "@app/theme"
|
import {theme} from "@app/theme"
|
||||||
import * as commands from "@app/commands"
|
import * as commands from "@app/commands"
|
||||||
@@ -126,6 +132,12 @@
|
|||||||
document.body.setAttribute("data-theme", $theme)
|
document.body.setAttribute("data-theme", $theme)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Sync font size
|
||||||
|
userSettingValues.subscribe($userSettingValues => {
|
||||||
|
// @ts-ignore
|
||||||
|
document.documentElement.style["font-size"] = `${$userSettingValues.font_size}rem`
|
||||||
|
})
|
||||||
|
|
||||||
if (!db) {
|
if (!db) {
|
||||||
setupTracking()
|
setupTracking()
|
||||||
setupAnalytics()
|
setupAnalytics()
|
||||||
|
|||||||
@@ -166,6 +166,24 @@
|
|||||||
<p>Choose a media server type and url for files you upload to {PLATFORM_NAME}.</p>
|
<p>Choose a media server type and url for files you upload to {PLATFORM_NAME}.</p>
|
||||||
{/snippet}
|
{/snippet}
|
||||||
</Field>
|
</Field>
|
||||||
|
<strong class="text-lg">Accessibility</strong>
|
||||||
|
<Field>
|
||||||
|
{#snippet label()}
|
||||||
|
<p>Font size</p>
|
||||||
|
{/snippet}
|
||||||
|
{#snippet secondary()}
|
||||||
|
<p>{Math.round(settings.font_size * 100)}%</p>
|
||||||
|
{/snippet}
|
||||||
|
{#snippet input()}
|
||||||
|
<input
|
||||||
|
class="range range-primary"
|
||||||
|
type="range"
|
||||||
|
min="0.8"
|
||||||
|
max="1.3"
|
||||||
|
step="0.05"
|
||||||
|
bind:value={settings.font_size} />
|
||||||
|
{/snippet}
|
||||||
|
</Field>
|
||||||
<div class="mt-4 flex flex-row items-center justify-between gap-4">
|
<div class="mt-4 flex flex-row items-center justify-between gap-4">
|
||||||
<Button class="btn btn-neutral" onclick={reset}>Discard Changes</Button>
|
<Button class="btn btn-neutral" onclick={reset}>Discard Changes</Button>
|
||||||
<Button type="submit" class="btn btn-primary">Save Changes</Button>
|
<Button type="submit" class="btn btn-primary">Save Changes</Button>
|
||||||
|
|||||||
Reference in New Issue
Block a user