Packages
mob
0.5.10
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 ──────────────────────────────────────────────────────────────
# 0xFFA3E635 — bright lime green
primary: :lime_400,
# near-black with green tint — max contrast
on_primary: 0xFF141A00,
# 0xFFF59E0B — warm amber accent
secondary: :amber_500,
# near-black with warm tint
on_secondary: 0xFF1A1000,
# ── Surfaces ───────────────────────────────────────────────────────────
# near-black, olive-tinted
background: 0xFF111209,
# warm cream
on_background: 0xFFF0EDCF,
# dark warm card background
surface: 0xFF1C1E0F,
# slightly elevated card
surface_raised: 0xFF252715,
# warm cream
on_surface: 0xFFF0EDCF,
# muted olive — placeholder / secondary text
muted: 0xFF7A7A4A,
# ── Utility ────────────────────────────────────────────────────────────
error: :red_400,
on_error: :white,
# warm olive-tinted divider
border: 0xFF323420
)
end
end