-- cl_sdf_system_keys.lua — Bindings client : concommand console + commande chat.

SDFSystem = SDFSystem or {}

-- ─── Concommand console ────────────────────────────────────────────────────
-- Ouverture du menu admin via la console ("sdf_menu").
-- Le serveur re-vérifiera IsAdmin avant d'autoriser quoi que ce soit.
concommand.Add(SDFSystem.Config.ConCommand, function()
    -- Demande au serveur d'ouvrir le menu (le serveur vérifie la permission).
    net.Start("SDFSystem.RequestMenuSync")
    net.SendToServer()

    -- On ouvre aussi le menu directement côté client : le serveur nous enverra
    -- SDFSystem.OpenMenu si la permission est ok, et refusera les actions sinon.
    -- Note : on laisse le serveur déclencher l'ouverture via SDFSystem.OpenMenu
    -- pour ne pas contourner la vérification d'accès. Le concommand côté client
    -- est un simple raccourci console qui passe par le même canal net que le chat.

    -- Ouvrir directement (le check admin vrai est côté serveur sur chaque action).
    if SDFSystem.OpenAdminMenu then
        SDFSystem.OpenAdminMenu()
    end
end)

-- Note sur la commande chat "!sdf" :
-- Elle est gérée côté serveur dans sv_sdf_system_hooks.lua (hook PlayerSay).
-- Le serveur vérifie IsAdmin, puis envoie SDFSystem.OpenMenu au client.
-- cl_sdf_system_net.lua reçoit SDFSystem.OpenMenu et appelle SDFSystem.OpenAdminMenu().
