diff --git a/app/js/main.js b/app/js/main.js index 47b416a..805f466 100644 --- a/app/js/main.js +++ b/app/js/main.js @@ -95,25 +95,45 @@ $(document).ready(function() { }); document.addEventListener('DOMContentLoaded', function () { + const ttpDarkmode = document.getElementById('dark-mode-pref'); const toggleButton = document.getElementById('dark-mode-toggle'); const enableButton = document.getElementById('dark-mode-toggle-button'); const darkModeStylesheet = document.getElementById('dark-mode-stylesheet'); + let currentState = ''; - // Check if dark mode is saved in localStorage - if (localStorage.getItem('darkMode') === 'enabled') { + // Check if dark mode is set by ttp + if ( ttpDarkmode ) { + if ( 'true' == ttpDarkmode.value ) { + currentState = 'enabled'; + } + if ( 'false' == ttpDarkmode.value ) { + currentState = 'disabled'; + } + } + + // Check if dark mode is set in localStorage + if ( '' == currentState ) { + if ( localStorage.getItem('darkMode') === 'enabled' ) { + currentState = 'enabled'; + } + } + + // Update current button states + if ( 'enabled' == currentState ) { darkModeStylesheet.disabled = false; - + if ( toggleButton ) { toggleButton.checked = true; } - + if ( enableButton ) { enableButton.innerText = 'Disable Now'; } } + // Style striped table elements document.querySelectorAll('.table-striped').forEach((table) => { - if (localStorage.getItem('darkMode') === 'enabled') { + if ( 'enabled' == currentState ) { table.classList.add('table-dark'); } else { table.classList.add('table-light') @@ -122,7 +142,7 @@ document.addEventListener('DOMContentLoaded', function () { if ( enableButton ) { enableButton.addEventListener('click', function () { - if (darkModeStylesheet.disabled) { + if ( darkModeStylesheet.disabled ) { darkModeStylesheet.disabled = false; localStorage.setItem('darkMode', 'enabled'); enableButton.innerText = 'Disable Now'; @@ -138,21 +158,21 @@ document.addEventListener('DOMContentLoaded', function () { toggleButton.addEventListener('click', function () { if (darkModeStylesheet.disabled) { toggleDarkModePref( true ); - darkModeStylesheet.disabled = false; - localStorage.setItem('darkMode', 'enabled'); + darkModeStylesheet.disabled = false; + localStorage.setItem('darkMode', 'enabled'); + } else { + toggleDarkModePref( false ); + darkModeStylesheet.disabled = true; + localStorage.setItem('darkMode', 'disabled'); + } + + document.querySelectorAll('.table-striped').forEach((table) => { + if (localStorage.getItem('darkMode') === 'enabled') { + table.classList.add('table-dark'); + table.classList.remove('table-light'); } else { - toggleDarkModePref( false ); - darkModeStylesheet.disabled = true; - localStorage.setItem('darkMode', 'disabled'); - } - - document.querySelectorAll('.table-striped').forEach((table) => { - if (localStorage.getItem('darkMode') === 'enabled') { - table.classList.add('table-dark'); - table.classList.remove('table-light'); - } else { - table.classList.add('table-light'); - table.classList.remove('table-dark'); + table.classList.add('table-light'); + table.classList.remove('table-dark'); } }); }); diff --git a/app/models/group.php b/app/models/group.php index bbc512b..759dae7 100644 --- a/app/models/group.php +++ b/app/models/group.php @@ -31,7 +31,7 @@ class Group extends DatabaseModel { 'defaultGroup' => [ 'type' => 'customSelect', 'pretty' => 'The Default Group for new registrations.', - 'default' => 5, + 'default' => 4, ], ]; public $databaseMatrix = [ diff --git a/app/plugins/messages/controllers/messages.php b/app/plugins/messages/controllers/messages.php index 7bcd560..c07e8cc 100644 --- a/app/plugins/messages/controllers/messages.php +++ b/app/plugins/messages/controllers/messages.php @@ -19,6 +19,9 @@ use TheTempusProject\Houdini\Classes\Views; use TheTempusProject\Houdini\Classes\Issues; use TheTempusProject\Bedrock\Functions\Check; use TheTempusProject\Bedrock\Functions\Input; +use TheTempusProject\TheTempusProject as App; +use TheTempusProject\Hermes\Functions\Redirect; +use TheTempusProject\Bedrock\Functions\Session; class Messages extends Controller { private static $message; @@ -27,6 +30,10 @@ class Messages extends Controller { parent::__construct(); self::$title = 'Messages'; self::$message = new Message; + if ( ! App::$isLoggedIn ) { + Session::flash( 'error', 'You do not have permission to access this page.' ); + return Redirect::home(); + } } public function create() { @@ -71,8 +78,9 @@ class Messages extends Controller { } public function index() { - Views::view( 'messages.inbox', self::$message->getInbox() ); - Views::view( 'messages.outbox', self::$message->getOutbox() ); + Components::set( 'message_inbox', Views::simpleView( 'messages.inbox', self::$message->getInbox() ) ); + Components::set( 'message_outbox', Views::simpleView( 'messages.outbox', self::$message->getOutbox() ) ); + Views::view( 'messages.index' ); } public function read( $id = '' ) { diff --git a/app/plugins/messages/views/badge.html b/app/plugins/messages/views/badge.html index 9e3a4ca..0a248f2 100644 --- a/app/plugins/messages/views/badge.html +++ b/app/plugins/messages/views/badge.html @@ -1 +1 @@ -{MESSAGE_COUNT} \ No newline at end of file +{MESSAGE_COUNT} \ No newline at end of file diff --git a/app/plugins/messages/views/inbox.html b/app/plugins/messages/views/inbox.html index b1ababa..71b1c34 100644 --- a/app/plugins/messages/views/inbox.html +++ b/app/plugins/messages/views/inbox.html @@ -1,7 +1,6 @@