forked from hiway/freedive
Add service icons
This commit is contained in:
parent
e950e9fc60
commit
80a8efd582
2 changed files with 31 additions and 0 deletions
25
lib/freedive/api/service/icons.ex
Normal file
25
lib/freedive/api/service/icons.ex
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
defmodule Freedive.Api.Service.Icons do
|
||||||
|
def icon_for_service(name) do
|
||||||
|
case name do
|
||||||
|
"automountd" -> "hard-drive"
|
||||||
|
"autounmountd" -> "hard-drive"
|
||||||
|
"caddy" -> "globe"
|
||||||
|
"cron" -> "clock"
|
||||||
|
"dbus" -> "bus"
|
||||||
|
"devd" -> "usb"
|
||||||
|
"ip6addrctl" -> "network"
|
||||||
|
"lockd" -> "lock"
|
||||||
|
"moused" -> "mouse"
|
||||||
|
"ntpd" -> "clock"
|
||||||
|
"pf" -> "shield"
|
||||||
|
"pflog" -> "newspaper"
|
||||||
|
"powerd" -> "utility-pole"
|
||||||
|
"sddm" -> "user"
|
||||||
|
"sshd" -> "lock"
|
||||||
|
"statd" -> "braces"
|
||||||
|
"syslogd" -> "newspaper"
|
||||||
|
"tailscaled" -> "shield"
|
||||||
|
_ -> "puzzle"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -5,6 +5,7 @@ defmodule Freedive.Api.Service do
|
||||||
use GenServer
|
use GenServer
|
||||||
require Logger
|
require Logger
|
||||||
import Freedive.Api.Service.Cli
|
import Freedive.Api.Service.Cli
|
||||||
|
import Freedive.Api.Service.Icons
|
||||||
|
|
||||||
def start_link(opts) do
|
def start_link(opts) do
|
||||||
GenServer.start_link(__MODULE__, opts, name: __MODULE__)
|
GenServer.start_link(__MODULE__, opts, name: __MODULE__)
|
||||||
|
@ -24,6 +25,11 @@ defmodule Freedive.Api.Service do
|
||||||
@impl true
|
@impl true
|
||||||
def handle_continue(_opts, state) do
|
def handle_continue(_opts, state) do
|
||||||
{:ok, services} = list_services()
|
{:ok, services} = list_services()
|
||||||
|
services = services
|
||||||
|
|> Enum.map(fn {name, service} ->
|
||||||
|
{name, Map.put(service, :icon, icon_for_service(name))}
|
||||||
|
end)
|
||||||
|
|> Enum.into(%{}, &{&1[:name], &1})
|
||||||
state = %{state | services: services}
|
state = %{state | services: services}
|
||||||
{:noreply, state}
|
{:noreply, state}
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue