Перейти к основному содержимому

Экраны

Зачем нужно

Документ фиксирует frontend/admin screen spec: поля, состояния, таблицы, фильтры, модалки, права видимости и ошибки.

Общие состояния

Каждый экран имеет:

  • loading skeleton;
  • empty state;
  • error state с retry;
  • success feedback;
  • permission denied state;
  • validation errors на уровне поля;
  • disabled state для действий без прав.

Auth pages

LoginPage

Поля:

  • identifier: email или phone;
  • password, если step активен;
  • OTP code, если step активен;
  • remember device;
  • saved accounts list.

Состояния:

  • identifier unknown: нейтральный текст;
  • invalid credentials;
  • rate limited with retry time;
  • MFA required;
  • account blocked;
  • provider callback error.

RegisterPage

Поля:

  • email или phone;
  • password;
  • password confirmation;
  • display name;
  • terms checkbox.

Компоненты:

  • password strength indicator;
  • contact verification step;
  • success redirect.

ForgotPasswordPage / ResetPasswordPage

Поля:

  • identifier;
  • code;
  • new password;
  • confirmation.

Правило: start response всегда нейтрален.

User dashboard

ProfilePage

Блоки:

  • avatar;
  • display name;
  • first/last name;
  • locale/timezone;
  • emails;
  • phones;
  • custom fields.

Модалки:

  • add email;
  • add phone;
  • verify contact;
  • remove contact;
  • change avatar.

SecurityPage

Tabs:

  • overview;
  • sessions;
  • devices;
  • auth methods;
  • activity;
  • recovery.

Actions:

  • change password;
  • revoke session;
  • revoke all sessions;
  • setup TOTP;
  • remove auth method;
  • request recovery code.

FamilyPage

Tables/cards:

  • family members;
  • student profiles;
  • linked user status;
  • child device authorization requests;
  • delegated sessions.

Actions:

  • create family;
  • add student profile;
  • link child user;
  • invite adult;
  • start child context;
  • approve/revoke child device authorization.

FamilyPage в пользовательском MVP не содержит self-service удаления семьи, выхода взрослого, удаления adult member, PIN и service access gating.

OrganizationsPage

Tables:

  • my organizations;
  • my teams;
  • invitations.

Actions:

  • search organization;
  • create organization;
  • request membership;
  • request ownership;
  • accept invitation;
  • switch organization context.

OrganizationDetailPage

Sections:

  • organization profile: type, country, region, settlement, status;
  • owner/admin/member summary;
  • membership status and current role;
  • duplicate warning if duplicate_status != none;
  • available actions by permission.

OrganizationMembersPage

Table columns:

  • user display name;
  • membership status;
  • role;
  • source;
  • approved at;
  • suspended at.

Actions:

  • approve/reject request;
  • invite member;
  • change role;
  • suspend/reactivate membership.

OrganizationInvitationsPage

States:

  • pending invitations;
  • accepted/rejected/expired/revoked history;
  • resend/revoke actions where allowed.

OrganizationOwnershipClaimPage

Fields:

  • applicant full name;
  • position or relation to organization;
  • evidence links;
  • comment;
  • contact confirmation status.

OrganizationOwnershipTransferPage

Flow:

  • choose active member or invite by email;
  • choose old owner new role;
  • confirm transfer;
  • recipient acceptance screen.

OrganizationStudentsPage

Table columns:

  • full name;
  • grade;
  • class letter;
  • status;
  • duplicate note;
  • created by.

Actions:

  • create student;
  • choose existing duplicate;
  • edit;
  • archive.

OrganizationTeamsPage

Table columns:

  • name;
  • status;
  • members count;
  • created by.

Actions:

  • create team;
  • edit team;
  • manage members;
  • archive team.

Notifications

NotificationCenter

Elements:

  • unread counter;
  • list grouped by date;
  • mark read;
  • archive;
  • link to related object.

NotificationSettingsPage

Table:

  • event;
  • in-app toggle;
  • email toggle;
  • SMS toggle;

Disabled toggles explain why channel is unavailable.

Admin

AdminDashboardPage

Widgets:

  • users count;
  • failed logins;
  • active sessions;
  • pending organizations;
  • plugin health;
  • transport failures.

UsersManagementPage

Table columns:

  • display name;
  • primary email;
  • primary phone;
  • status;
  • roles;
  • last login;
  • created at.

Filters:

  • search;
  • status;
  • role;
  • organization;
  • created date.

Actions:

  • open user;
  • create user;
  • block/unblock;
  • assign role;
  • revoke sessions;
  • anonymize.

RolesManagementPage

Sections:

  • system roles;
  • custom roles;
  • permissions matrix;
  • role assignments.

Actions:

  • create custom role;
  • edit role permissions;
  • assign role;
  • remove assignment.

OrganizationsManagementPage

Table columns:

  • name;
  • type;
  • country/region/settlement;
  • status;
  • duplicate status;
  • members count;
  • teams count;
  • verified at.

Actions:

  • open detail;
  • process ownership claim;
  • assign owner;
  • mark possible duplicate;
  • create/confirm/complete merge;
  • archive;
  • manage members;
  • manage teams;
  • view audit.

AdminOrganizationDetailPage

Sections:

  • organization profile and reference link;
  • owner, admins, members;
  • students;
  • teams;
  • invitations;
  • ownership claims and transfers;
  • possible duplicates;
  • merge history;
  • audit events.

AdminOwnershipClaimsPage

Filters:

  • status;
  • country;
  • region;
  • organization;
  • submitted date.

Actions:

  • approve;
  • reject;
  • request more info;
  • mark disputed.

AdminOrganizationMergePage

Flow:

  1. select primary organization;
  2. select duplicate organization;
  3. show impact preview;
  4. require confirmation;
  5. complete merge and write audit.

AdminOrganizationAuditPage

Filters:

  • actor;
  • organization;
  • event type;
  • target type;
  • date range.

OAuthClientsManagementPage

Fields:

  • client name;
  • client type;
  • redirect URIs;
  • post logout redirect URIs;
  • scopes;
  • consent policy;
  • status.

Actions:

  • create client;
  • rotate secret;
  • disable/enable;
  • delete;
  • view audit.

PluginsManagementPage

Table columns:

  • key;
  • version;
  • type;
  • status;
  • enabled at;
  • health.

Actions:

  • install;
  • validate manifest;
  • enable/disable;
  • edit settings;
  • delete;
  • view logs.

PlatformSettingsPage

Sections:

  • public settings;
  • branding;
  • navigation;
  • pages;
  • CORS;
  • security parameters;
  • i18n.

Danger changes require re-auth.

AuditLogsPage

Filters:

  • actor;
  • subject;
  • action;
  • resource;
  • date range;
  • status;
  • request id.

Export requires identity.audit.read and re-auth if PII included.

Visibility rules

UI areaVisibility
Admin navany admin permission
Users pageidentity.users.read
Roles pageidentity.roles.read
Organizations adminidentity.organizations.read
OAuth clientsidentity.oauth_clients.read
Pluginsplatform.plugins.read
Auditidentity.audit.read
Platform settingsplatform.settings.read

Готовность

  • каждый экран имеет поля и состояния;
  • все admin actions связаны с permissions;
  • dangerous actions требуют confirmation/re-auth;
  • empty/error/loading states описаны;
  • screen spec покрывает personal, family, organization и admin flows.