{% extends "base.html" %} {% block title %}Factcat — User Preferences{% endblock %} {% block extra_head %} {% endblock %} {% block extra_css %} .prefs-page { flex: 1; min-height: 0; width: 100%; box-sizing: border-box; padding: 1.5rem 1.75rem 2rem; overflow-y: auto; } .prefs-form { background: var(--fc-snow); border: 1px solid var(--fc-line); border-radius: 0.75rem; padding: 1.4rem 1.5rem 1.6rem; max-width: 42rem; } .prefs-head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin: 0 0 0.35rem; } .prefs-head h1 { margin: 0; } #theme-btn { margin: 0; width: 2rem; height: 2rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--fc-snow); color: var(--fc-ink); border: 1px solid var(--fc-line); border-radius: 0.25rem; } #theme-btn svg { width: 1.1rem; height: 1.1rem; display: block; } #theme-btn .icon-moon { display: none; } #theme-btn[data-theme="dark"] .icon-sun { display: none; } #theme-btn[data-theme="dark"] .icon-moon { display: block; } .hour-clock { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; margin: 0.15rem 0 0.65rem; } .hour-clock-btn { margin: 0; padding: 0.4rem 0.5rem; background: var(--fc-paper); color: var(--fc-ink); border: 1px solid var(--fc-line); border-radius: 0.35rem; font: inherit; font-size: 0.8rem; font-weight: 600; cursor: pointer; } .hour-clock-btn:hover { border-color: var(--fc-ochre); } .hour-clock-btn[aria-pressed="true"] { border-color: var(--fc-ochre); box-shadow: 0 0 0 1px var(--fc-ochre); background: var(--fc-snow); } .hour-panel[hidden] { display: none !important; } .hour-row { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0.55rem; margin: 0 0 0.2rem; padding: 0.35rem 0.45rem; border: 1px solid var(--fc-line); border-radius: 0.35rem; cursor: pointer; font-weight: 400; } .hour-row:has(input:checked) { border-color: var(--fc-ochre); box-shadow: 0 0 0 1px var(--fc-ochre); } .hour-row input { width: auto; margin: 0; } .hour-ticks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.35rem; font-variant-numeric: tabular-nums; font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace; font-size: 0.8rem; } .vocab-lede { margin: 0 0 0.75rem; font-size: 0.85rem; color: var(--fc-ink-soft); } #sql-options-wrap[hidden] { display: none !important; } #sql-options-wrap { margin: 0.85rem 0 0; } .vocab-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; } .vocab-card { margin: 0; padding: 0.9rem 0.7rem 1rem; border: 1px solid var(--fc-line); border-radius: 0.65rem; background: var(--fc-paper); color: var(--fc-ink); display: flex; flex-direction: column; align-items: center; gap: 0.7rem; cursor: pointer; font: inherit; text-align: center; box-shadow: 0 1px 0 rgba(28, 25, 23, 0.04); } .vocab-card img { width: 8rem; height: 8rem; object-fit: contain; border-radius: 0.4rem; } .vocab-card span { font-size: 0.78rem; line-height: 1.35; font-weight: 600; } .vocab-card:hover { border-color: var(--fc-ochre); } .vocab-card[aria-pressed="true"] { border-color: var(--fc-ochre); box-shadow: 0 0 0 1px var(--fc-ochre); background: var(--fc-snow); } {% endblock %} {% block body %}

User Preferences

Wording

Factcat will tailor its wording for you.

Example: 1,234.56

Calendar

Unlike everything else here, these two change the query: they decide which day and which week each event falls in. They are yours — a colleague working in this project keeps their own. Applied after the stored instant is converted; not the warehouse default.

Dates

{% for clock, styles in hour_styles %}
{% for value in styles %} {% endfor %}
{% endfor %}

{% endblock %}