- Story 1.1: Permission enum, config, AuthorizesPermissions & HasWorkspaceScope traits, member→worker migration - Story 1.2: Team page with member list, invitation system with queued email - Story 1.3: Role assignment (Manager/Worker) and member removal with activity logging - Story 1.4: Owner-only permission toggle matrix for Managers (manage team, view logs, configure portal) - Story 1.5: Role-based access enforcement — Workers see only assigned declarations/clients, sidebar scoping - Story 1.6: Workspace switcher dropdown for multi-workspace users with session-based switching - 83 new/modified files, 182 tests passing with zero regressions Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17 lines
532 B
Vue
17 lines
532 B
Vue
<script setup lang="ts">
|
|
import AppLogoIcon from '@/components/AppLogoIcon.vue';
|
|
</script>
|
|
|
|
<template>
|
|
<div
|
|
class="flex aspect-square size-8 items-center justify-center rounded-md bg-sidebar-primary text-sidebar-primary-foreground"
|
|
>
|
|
<AppLogoIcon class="size-5 fill-current text-white dark:text-black" />
|
|
</div>
|
|
<div class="ml-1 grid flex-1 text-left text-sm">
|
|
<span class="mb-0.5 truncate leading-tight font-semibold">{{
|
|
$page.props.name
|
|
}}</span>
|
|
</div>
|
|
</template>
|