Files
ELY-Browser/crates/ely_domain/src/lib.rs
T
ZacharyZhang-NY 71088bccb0 Add AppearanceSettings to ely_domain
Introduces a small persistent appearance contract: WallpaperTheme
(Dawn/Violet/Mint/Slate), ThemeMode (System/Light/Dark), reduce_motion.
Defaults to Dawn + System + motion-on. Field accessors and setters live
on the struct so the core can mutate without exposing internals; serde
support uses kebab-case so the on-disk form matches the design CSS
naming.

Tests cover defaults, mutation independence, and a JSON round-trip with
the kebab-case names. serde_json is added as a dev-dependency only —
the production crate does not depend on it.
2026-05-09 18:46:58 -04:00

72 lines
2.2 KiB
Rust

mod appearance;
mod archive;
mod bookmark;
mod command;
mod diagnostics;
mod download;
mod error;
mod favorite;
mod history;
mod identifiers;
mod new_tab;
mod note;
mod plugin;
mod privacy;
mod profile;
mod reading_list;
mod search;
mod site_permission;
mod space;
mod split;
mod sync;
mod tab;
mod tab_group;
mod update;
mod url_text;
pub use appearance::{AppearanceSettings, ThemeMode, WallpaperTheme};
pub use archive::{ArchiveSource, ArchivedTab};
pub use bookmark::BookmarkEntry;
pub use command::{CommandIntent, CommandScope};
pub use diagnostics::{
DiagnosticCode, DiagnosticEvent, DiagnosticEventKind, DiagnosticOutcome, WebViewCrashKind,
};
pub use download::{
DownloadChecksum, DownloadChecksumAlgorithm, DownloadDestination, DownloadEntry,
DownloadPolicy, DownloadSecurity, DownloadState,
};
pub use error::DomainError;
pub use favorite::FavoriteLimit;
pub use history::HistoryEntry;
pub use identifiers::{
BookmarkId, DownloadId, NoteId, ProfileId, ReadingListId, SpaceId, SplitId, TabGroupId, TabId,
WebViewId,
};
pub use new_tab::NewTabDestination;
pub use note::{NoteEntry, NoteTarget};
pub use plugin::{
PluginContributionPoint, PluginId, PluginManifest, PluginPermission, PluginPermissionRisk,
PluginSignature, PluginSignatureAlgorithm,
};
pub use privacy::{DiagnosticsReportingPolicy, HistoryRecordingPolicy};
pub use profile::{Profile, ProfileKind, ProfileSyncPolicy};
pub use reading_list::{ReadingListEntry, ReadingProgress, ReadingProgressPercent};
pub use search::SearchEngine;
pub use site_permission::{
SiteOrigin, SitePermissionAuditAction, SitePermissionAuditEvent, SitePermissionDecision,
SitePermissionEntry, SitePermissionFeature,
};
pub use space::{ArchivePolicy, COLLAPSED_SIDEBAR_WIDTH_PX, DEFAULT_SIDEBAR_WIDTH_PX, Space};
pub use split::{MAX_SPLIT_PANES, SplitAxis, SplitLayout, SplitPane};
pub use sync::{
SyncConnectionState, SyncObjectKind, SyncObjectPolicy, SyncObjectState, SyncObjectStatus,
SyncStatus,
};
pub use tab::{
BrowserTab, DEFAULT_ZOOM_PERCENT, MAX_ZOOM_PERCENT, MIN_ZOOM_PERCENT, TabFlags, TabState,
ZOOM_PERCENT_STEP, validate_zoom_percent,
};
pub use tab_group::TabGroup;
pub use update::UpdatePolicy;
pub use url_text::UrlText;