Packages
mob
0.3.9
0.7.20
0.7.19
0.7.18
0.7.17
0.7.16
0.7.15
0.7.14
0.7.13
0.7.12
0.7.11
0.7.10
0.7.9
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.26
0.6.25
0.6.24
0.6.23
0.6.22
0.6.21
0.6.20
0.6.19
0.6.18
0.6.17
0.6.16
0.6.15
0.6.14
0.6.13
0.6.12
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.2
0.6.1
0.6.0
0.5.18
0.5.17
0.5.16
0.5.15
0.5.14
0.5.11
0.5.10
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.0
BEAM-on-device mobile framework for Elixir
Current section
Files
Jump to
Current section
Files
lib/mob/theme/citrus.ex
defmodule Mob.Theme.Citrus do
@moduledoc """
Citrus theme for Mob — warm charcoal with a lime-green accent.
High-contrast and energetic. Works well for utility apps, dashboards,
and anywhere you want punchy, readable UI with an earthy warmth.
## Usage
defmodule MyApp do
use Mob.App, theme: Mob.Theme.Citrus
end
## Overrides
use Mob.App, theme: {Mob.Theme.Citrus, primary: :lime_300}
## Publishing your own theme
Any module that exports `theme/0 :: Mob.Theme.t()` works as a Mob theme.
You can publish yours as a standalone Hex package and users import it the
same way:
use Mob.App, theme: AcmeCorp.Theme.Dark
"""
@doc "Returns the compiled Citrus theme struct."
@spec theme() :: Mob.Theme.t()
def theme do
Mob.Theme.build(
# ── Brand ──────────────────────────────────────────────────────────────
primary: :lime_400, # 0xFFA3E635 — bright lime green
on_primary: 0xFF141A00, # near-black with green tint — max contrast
secondary: :amber_500, # 0xFFF59E0B — warm amber accent
on_secondary: 0xFF1A1000, # near-black with warm tint
# ── Surfaces ───────────────────────────────────────────────────────────
background: 0xFF111209, # near-black, olive-tinted
on_background: 0xFFF0EDCF, # warm cream
surface: 0xFF1C1E0F, # dark warm card background
surface_raised: 0xFF252715, # slightly elevated card
on_surface: 0xFFF0EDCF, # warm cream
muted: 0xFF7A7A4A, # muted olive — placeholder / secondary text
# ── Utility ────────────────────────────────────────────────────────────
error: :red_400,
on_error: :white,
border: 0xFF323420 # warm olive-tinted divider
)
end
end