implemented theme changer
All checks were successful
Build and push / Pulling repo on server (push) Successful in 3s
All checks were successful
Build and push / Pulling repo on server (push) Successful in 3s
This commit is contained in:
parent
3614ba829c
commit
9bded6133e
@ -15,9 +15,10 @@ class User extends Model {
|
||||
'token' => ['type'=>'text','required','unique','autoValMethod'=>'uuid4'],
|
||||
'timezone' => ['type'=>'int'],
|
||||
'dogs' => ['type'=> 'array','default'=>[]],
|
||||
'tournaments' => ['type'=> 'array','default'=>[]],
|
||||
'photo' => ['type'=>'text','default'=>'https://pictshare.net/pj7vzx.jpg'],
|
||||
'active' => ['type'=>'int','default'=>0]
|
||||
'tournaments' =>['type'=> 'array','default'=>[]],
|
||||
'photo' => ['type'=>'text','default'=>'https://pictshare.net/pj7vzx.jpg'],
|
||||
'theme' => ['type'=>'text','default'=>'light'], //light/dark
|
||||
'active' => ['type'=>'int','default'=>0]
|
||||
);
|
||||
protected $hidden = ['password','token'];
|
||||
|
||||
|
34
web/pages/settings/controller.php
Normal file
34
web/pages/settings/controller.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
class Settings extends Page {
|
||||
|
||||
function index()
|
||||
{
|
||||
$this->set('userdata', $_SESSION['user']->data);
|
||||
$this->set('template', "settings.html");
|
||||
}
|
||||
|
||||
function edit()
|
||||
{
|
||||
$theme = $_REQUEST['theme'];
|
||||
switch($theme)
|
||||
{
|
||||
case 'light':
|
||||
case 'dark':
|
||||
$_SESSION['user']->data['theme'] = $theme;
|
||||
$_SESSION['user']->save();
|
||||
$this->redirect('/settings');
|
||||
break;
|
||||
default:
|
||||
return partial('error.html', ['errorMessage' => 'Dieses Theme existiert nicht']);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function maySeeThisPage(){
|
||||
if($_SESSION['user'])
|
||||
return true;
|
||||
else return false;
|
||||
}
|
||||
}
|
13
web/pages/settings/settings.html
Normal file
13
web/pages/settings/settings.html
Normal file
@ -0,0 +1,13 @@
|
||||
<form hx-post="/settings/edit" hx-target="#response">
|
||||
<div>
|
||||
<label for="theme">Farbschema</label>
|
||||
<select name="theme">
|
||||
<option value="light" <?= $_SESSION['user']->data['theme']=='light'?'selected':''; ?>>Hell</option>
|
||||
<option value="dark" <?= $_SESSION['user']->data['theme']=='dark'?'selected':''; ?>>Dunkel</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div id="response"></div>
|
||||
|
||||
<button type="submit" name="submit" value="true" class="btn btn-primary">Speichern</button>
|
||||
</form>
|
@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="h-100" data-bs-theme="auto">
|
||||
<html lang="en" class="h-100" data-bs-theme="<?= ($_SESSION['user'] && $_SESSION['user']->theme)?$_SESSION['user']->theme:'autoy' ?>">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
<script src="/js/htmx.min.js"></script>
|
||||
<script src="/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="/js/color-modes.js"></script>
|
||||
<?php if((!$_SESSION['user'] || !$_SESSION['user']->theme)): ?><script src="/js/color-modes.js"></script><?php endif; ?>
|
||||
</body>
|
||||
|
||||
</html>
|
Reference in New Issue
Block a user