Modules
Staff module for PhoenixKit.
Thin wrapper around PhoenixKit.Activity.log/1 so callers don't need to
duplicate the Code.ensure_loaded?/1 guard and rescue clause everywhere.
Safe to call from any LiveView — never crashes the caller.
CRUD for departments.
Atom → translated-string dispatcher for Staff context errors.
Tiny locale-aware date/time formatting helpers used by the staff UI.
Centralized path helpers for the Staff module.
Real-time updates for the staff module, backed by
PhoenixKit.PubSub.Manager (the shared in-process PubSub server).
Top-level organizational unit containing teams.
A person on staff. Always linked to a PhoenixKit user (decision A for MVP);
the user_uuid FK is required.
A team inside a department.
Join between Team and Person — represents a person's membership on a team.
Context for staff (people) and team memberships.
CRUD for teams.
Create or edit a department.
Show a department with its teams.
List departments.
Cross-LV helpers shared by the staff admin LiveViews.
Staff org overview — departments, teams, and people.
List staff.
Create or edit a staff person.
Show a staff person's full profile and team memberships.
Create or edit a team.
Show a team and manage its memberships.
List teams across all departments.