App Workspace
팀 · 권한 · 감사
실제 app/team.php · audit.php 컴포넌트를 그대로 재현했습니다 — 역할 뱃지 · 팀원 행 · 초대 링크 카드 · RBAC 권한 · 감사 로그. 멤버·이메일·토큰은 전부 샘플입니다.
역할 뱃지
.rbadge — 역할별 고정 색 + 아이콘. Owner(앰버)·Admin(인디고)·Editor(그린)·Viewer(뮤트). 색이 역할의 1차 식별자.
.rbadge{color:역할색} + icon(shield/settings/edit/eye)
팀원 행
아바타 + 이름/이메일 + 역할 셀렉트(표시용) + 상태(대기/활성) + 액션. 본인 행은 셀렉트 대신 뱃지로 잠금.
.tmv-who(.tmv-av + 이름/이메일) · select(표시용·disabled) · .tmv-st.pending/.active · 본인=뱃지 잠금
초대 링크 카드
.tm-inv — 역할 뱃지 + 메타 칩(코드·만료·사용) + .copyrow(모노 입력 + 복사). 토큰은 마스킹.
.tm-inv · .tm-chip(코드·만료·사용·.bad) · .copyrow input(mono·마스킹) · revoke=icon(x)
권한 (RBAC)
.tm-role <details> — 역할을 펼치면 .tm-can 허용(check)/제한(li.no, x) 체크리스트. 샘플 권한.
Owner 모든 권한 · 워크스페이스 소유자
- 팀원 초대 · 역할 변경 · 멤버 제거
- 워크스페이스 설정 · 결제 · 감사 로그
- 통합 · 도메인 · API 등 모든 설정
- 링크 · 카탈로그 생성/편집/발행/삭제
Admin 세부 설정 + 콘텐츠 편집 (팀·결제 제외)
- 통합 · 웹훅 · 도메인 관리
- 링크 · 카탈로그 생성/편집/발행
- 팀 관리 · 역할 변경
- 워크스페이스 결제
Editor 콘텐츠 편집 (설정·통합 제외)
- 링크 · 카탈로그 생성/편집
- 담당 아티스트로 범위 제한 가능
- 통합 · 도메인 · API 설정
- 팀 · 결제 · 발행 정책
Viewer 읽기 전용
- 대시보드 · 애널리틱스 열람
- 링크 · 카탈로그 보기
- 모든 편집 · 설정 · 발행
.tm-role details · summary(.tm-role-ic/-nm/-sub) · .tm-can li(허용·check) / li.no(제한·x)
감사 로그
시각(mono·KST) · 유저 · 액션 뱃지(create=live·update=draft·delete=archived) · 대상 · 상세. 모든 권한 변경이 기록됩니다.
td.mono(시각) · .tmv-badge.live/draft/archived(액션 색코드) · 대상=entity #id · 상세=detail
사용 규칙
- · 역할 색·아이콘은
$roleMeta한 곳에서만 정의 — 전 화면 일관 - · 초대 링크의 토큰은 항상 마스킹(
••••)해 표시 - · 감사 액션은 색 코드로 구분(create=green·update=muted·delete=흐림)
- · 시각은
mono + tabular, 본인 행 역할은 셀렉트 대신 뱃지로 잠금
- · 실제 이메일·초대 토큰을 평문 그대로 노출
- · 이모지로 역할/상태 표시 — 반드시
icon()SVG - · 권한 없는 액션(제거·역할 변경)을 활성처럼 표기
- · 역할마다 색·아이콘을 제각각 하드코딩
source: app/team.php·audit.php — 샘플 데이터