chartboard/app/Views/workspace/members.php
2026-03-30 09:51:33 +05:30

74 lines
3.5 KiB
PHP

<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<header class="cb-page-header cb-page-header--center">
<div>
<h1 class="cb-page-title">Workspace Members</h1>
<p class="cb-page-subtitle mb-0">Roles and access for people in this workspace.</p>
</div>
<div class="d-flex flex-wrap gap-2 justify-content-end">
<a class="btn cb-settings-back" href="<?= base_url('workspace/settings/' . $workspaceId) ?>">Settings</a>
<a class="btn cb-page-primary-btn text-nowrap" href="<?= base_url('workspace/invite/' . $workspaceId) ?>">+ Invite Member</a>
</div>
</header>
<div class="cb-page-body">
<?php if (session()->getFlashdata('success')): ?>
<div class="alert alert-success"><?= esc(session()->getFlashdata('success')) ?></div>
<?php endif; ?>
<?php if (session()->getFlashdata('error')): ?>
<div class="alert alert-danger"><?= esc(session()->getFlashdata('error')) ?></div>
<?php endif; ?>
<div class="cb-table-shell">
<div class="table-responsive">
<table class="table cb-data-table align-middle">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Role</th>
<th class="text-end">Actions</th>
</tr>
</thead>
<tbody>
<?php if ($members === []): ?>
<tr>
<td colspan="4" class="text-center text-muted py-5">No members yet. Invite someone to collaborate.</td>
</tr>
<?php endif; ?>
<?php foreach ($members as $member): ?>
<tr>
<td>
<div class="cb-cell-name"><?= esc($member['name']) ?></div>
</td>
<td class="text-muted small"><?= esc($member['email']) ?></td>
<td class="cb-table-cell--inline-form">
<form class="cb-member-role-form" method="post" action="<?= base_url('workspace/members/' . $workspaceId . '/role/' . $member['id']) ?>">
<?= csrf_field() ?>
<select name="role" class="form-select" aria-label="Role for <?= esc($member['name'], 'attr') ?>">
<option value="admin" <?= $member['role'] === 'admin' ? 'selected' : '' ?>>Admin</option>
<option value="editor" <?= $member['role'] === 'editor' ? 'selected' : '' ?>>Editor</option>
<option value="viewer" <?= $member['role'] === 'viewer' ? 'selected' : '' ?>>Viewer</option>
</select>
<button type="submit" class="cb-action-btn cb-action-btn--edit">Update</button>
</form>
</td>
<td class="text-end">
<div class="cb-table-actions">
<form method="post" action="<?= base_url('workspace/members/' . $workspaceId . '/remove/' . $member['id']) ?>" class="d-inline" onsubmit="return confirm('Remove member?');">
<?= csrf_field() ?>
<button type="submit" class="cb-action-btn cb-action-btn--delete">Remove</button>
</form>
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<?= $this->endSection() ?>