O que é
Esta feature reúne as preferências persistidas e o controle interno de estado da interface. Ela garante que o Sanctuary se adapte ao estilo de leitura do usuário e consiga alternar entre modos sem perder coerência visual.
Objetivo no produto
O objetivo é tornar a experiência mais confortável e estável, principalmente em leitura longa. Tema, fonte, layout, painel lateral e estados de estudo influenciam diretamente o uso contínuo.
Preferências persistidas
O produto salva localmente:
- tema;
- tamanho da fonte;
- layout do Reader;
- idioma do Reader;
- notas, tinta e linhas dos cards;
- progresso e fechamento do estudo guiado;
- rascunhos do editor quando disponíveis.
Valor entregue
- evita reconfiguração a cada abertura;
- mantém sensação de ambiente pessoal;
- reduz atrito quando o usuário alterna entre leitura comum, guiada e editor.
Evidências no código
src/layouts/BaseLayout.astrorestaura tema, fonte e layout antes da pintura inicial e centraliza o recebimento do documento pendente.src/scripts/reader/reader-core.jslê e salva preferências do Reader, como fonte, layout e idioma.src/scripts/reader/reader-cards.jspersiste notas, tinta e linhas dos cards emlocalStorage.src/scripts/reader/reader-lens.jssalva progresso e fechamento do estudo guiado por documento.src/components/app/StorageNotice.astroesrc/scripts/reader/storage-status-view.jsexpõem o status e a limpeza dos dados locais.
O que essa feature revela sobre o produto
O Sanctuary foi pensado para uso recorrente, ainda que sem conta de usuário. A persistência local mostra cuidado com continuidade de experiência.
O sistema de modos também mostra maturidade de interação. Em vez de ligar e desligar classes isoladas, o app gerencia transições, restaura snapshots e evita conflitos entre experiências exclusivas.
Limitações e comportamento implícito
- a persistência é local ao navegador e ao dispositivo atual;
- parte do documento atual e dos rascunhos pode ficar salva para recuperação local;
- se
localStoragefalhar, o produto volta aos padrões sem quebrar a UI; - a UI de versão depende de
version.json, mas mantém fallback coerente com os metadados embutidos no build.
Papel da feature no produto
Esta feature não é a mais visível, mas sustenta a sensação de produto acabado. Ela ajuda o Sanctuary a parecer um ambiente estável de leitura e estudo, e não apenas uma página que renderiza Markdown.