GeoLeaf Core API - v3.19.0
    Preparing search index...
    • Whether the active profile is a MODULAR profile without a themes block — one that declares no theme.

      A modular profile resolves its themes INTO the active profile, which is where ThemeLoader reads them without a request. Without that block, the loader falls back to the legacy profiles/<id>/themes.json, which can only 404 for such a profile — retried after 1 s. The two callers of the loader ask this first: the boot's theme engine, whose request the reveal waited for, and the theme selector, whose request came after it. A LEGACY profile still goes through the loader: its themes do live in that file.

      ⚠️ Asked by the CALLERS, not inside the loader: its fallback to the legacy file is a documented contract, and a profile whose shape cannot be read must still reach it.

      Parameters

      • config: Record<string, unknown> | null = ...

        The GeoLeaf.Config facade, read loosely. Defaults to the live one.

      Returns boolean

      true only when the active profile is readable, modular, and carries no themes.

      if (!declaresNoThemes()) {
      const themes = await ThemeLoader.loadThemesConfig(profileId);
      }