130 lines
7.7 KiB
PHP
130 lines
7.7 KiB
PHP
<?= $this->extend('layouts/main') ?>
|
|
|
|
<?php $tp = $themePreference ?? 'light'; ?>
|
|
|
|
<?= $this->section('content') ?>
|
|
<header class="cb-page-header cb-page-header--center">
|
|
<h1 class="cb-page-title mb-0">Workspace preferences</h1>
|
|
<a class="btn cb-settings-back" href="<?= base_url('dashboard') ?>">Back</a>
|
|
</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; ?>
|
|
<?php if (session()->getFlashdata('errors')): ?>
|
|
<div class="alert alert-danger">
|
|
<ul class="mb-0">
|
|
<?php foreach (session()->getFlashdata('errors') as $err): ?>
|
|
<li><?= esc(is_array($err) ? json_encode($err) : $err) ?></li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<div class="cb-settings-form-card mb-4">
|
|
<h2 class="cb-settings-section-title">Appearance</h2>
|
|
<p class="cb-settings-section-hint mb-0">Choose how Chart Board looks for your account. System follows your device setting.</p>
|
|
<div class="cb-theme-tiles mt-4">
|
|
<form method="post" action="<?= base_url('settings/theme') ?>" class="cb-theme-tile-form">
|
|
<?= csrf_field() ?>
|
|
<input type="hidden" name="theme" value="light">
|
|
<button type="submit" class="cb-theme-tile <?= $tp === 'light' ? 'active' : '' ?>" aria-pressed="<?= $tp === 'light' ? 'true' : 'false' ?>">
|
|
<span class="material-symbols-outlined cb-theme-tile-icon" aria-hidden="true">light_mode</span>
|
|
<span class="cb-theme-tile-title">Light</span>
|
|
<span class="cb-theme-tile-desc">Bright interface</span>
|
|
</button>
|
|
</form>
|
|
<form method="post" action="<?= base_url('settings/theme') ?>" class="cb-theme-tile-form">
|
|
<?= csrf_field() ?>
|
|
<input type="hidden" name="theme" value="dark">
|
|
<button type="submit" class="cb-theme-tile <?= $tp === 'dark' ? 'active' : '' ?>" aria-pressed="<?= $tp === 'dark' ? 'true' : 'false' ?>">
|
|
<span class="material-symbols-outlined cb-theme-tile-icon" aria-hidden="true">dark_mode</span>
|
|
<span class="cb-theme-tile-title">Dark</span>
|
|
<span class="cb-theme-tile-desc">Easier in low light</span>
|
|
</button>
|
|
</form>
|
|
<form method="post" action="<?= base_url('settings/theme') ?>" class="cb-theme-tile-form">
|
|
<?= csrf_field() ?>
|
|
<input type="hidden" name="theme" value="system">
|
|
<button type="submit" class="cb-theme-tile <?= $tp === 'system' ? 'active' : '' ?>" aria-pressed="<?= $tp === 'system' ? 'true' : 'false' ?>">
|
|
<span class="material-symbols-outlined cb-theme-tile-icon" aria-hidden="true">brightness_auto</span>
|
|
<span class="cb-theme-tile-title">System</span>
|
|
<span class="cb-theme-tile-desc">Match this device</span>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="cb-settings-form-card">
|
|
<h2 class="cb-settings-section-title mb-3">Workspace</h2>
|
|
<form method="post" action="<?= base_url('settings/workspace') ?>" enctype="multipart/form-data">
|
|
<?= csrf_field() ?>
|
|
<div class="mb-3">
|
|
<label class="form-label">Workspace name</label>
|
|
<input type="text" name="name" class="form-control" value="<?= esc(old('name', $workspace['name'])) ?>" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">Slug</label>
|
|
<input type="text" name="slug" class="form-control" value="<?= esc(old('slug', $workspace['slug'])) ?>">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">Description</label>
|
|
<textarea name="description" rows="3" class="form-control"><?= esc(old('description', $workspace['description'] ?? '')) ?></textarea>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">Logo</label>
|
|
<input type="file" name="logo" class="form-control" accept="image/*">
|
|
<?php if (! empty($workspace['logo'])): ?>
|
|
<div class="form-text">Current: <?= esc($workspace['logo']) ?></div>
|
|
<?php endif; ?>
|
|
</div>
|
|
<div class="cb-settings-grid-3">
|
|
<div>
|
|
<label class="form-label">Timezone</label>
|
|
<?php $tz = old('timezone', $workspace['timezone']); ?>
|
|
<select name="timezone" class="form-select">
|
|
<?php foreach (['UTC', 'Asia/Kolkata', 'America/New_York', 'America/Los_Angeles', 'Europe/Berlin'] as $zone): ?>
|
|
<option value="<?= esc($zone) ?>" <?= $tz === $zone ? 'selected' : '' ?>><?= esc($zone) ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label class="form-label">Default refresh</label>
|
|
<?php $ref = (string) old('default_refresh', (string) $workspace['default_refresh']); ?>
|
|
<select name="default_refresh" class="form-select">
|
|
<option value="60" <?= $ref === '60' ? 'selected' : '' ?>>1 minute</option>
|
|
<option value="300" <?= $ref === '300' ? 'selected' : '' ?>>5 minutes</option>
|
|
<option value="900" <?= $ref === '900' ? 'selected' : '' ?>>15 minutes</option>
|
|
<option value="3600" <?= $ref === '3600' ? 'selected' : '' ?>>1 hour</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label class="form-label">Default theme (new dashboards)</label>
|
|
<?php $dt = old('default_theme', $default_theme); ?>
|
|
<select name="default_theme" class="form-select">
|
|
<option value="light" <?= $dt === 'light' ? 'selected' : '' ?>>Light</option>
|
|
<option value="dark" <?= $dt === 'dark' ? 'selected' : '' ?>>Dark</option>
|
|
<option value="system" <?= $dt === 'system' ? 'selected' : '' ?>>System</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label class="form-label">Status</label>
|
|
<?php $active = (string) old('is_active', (string) $workspace['is_active']); ?>
|
|
<select name="is_active" class="form-select">
|
|
<option value="1" <?= $active === '1' ? 'selected' : '' ?>>Active</option>
|
|
<option value="0" <?= $active === '0' ? 'selected' : '' ?>>Archived</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="mt-4">
|
|
<button type="submit" class="btn btn-primary">Save preferences</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<?= $this->endSection() ?>
|