Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbsrvprg/projekt/slutprojekt/

board_random.php
board_travel.php
board_vgy.php
create_comment.php
create_post.php
create_tables.php
darkmode.js
fetch_comments.php
fetch_posts.php
fetch_posts_random.php
forgot_password.php
index.php
login.php
nav.css
nav.php
post.php
register.php
reset_password.php
sql_inject.php
verify.php

darkmode.js

36 lines UTF-8 Windows (CRLF)
console.log('Darkmode.js loaded, toggle exists?', !!document.getElementById('themeToggle'));

(function() {
  const toggle = document.getElementById('themeToggle');
  const cookieName = 'darkModeEnabled';

  // läs cookie
  function getCookie(name) {
    const v = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
    return v ? v.pop() : '';
  }
  // sätt cookie
  function setCookie(name, value) {
    const d = new Date();
    d.setTime(d.getTime() + 30*24*60*60*1000);
    document.cookie = `${name}=${value}; path=/; expires=${d.toUTCString()}`;
  }

  // spplicera tema utifrån cookie
  function applyTheme() {
    const enabled = getCookie(cookieName) === 'true';
    document.body.classList.toggle('dark', enabled);
    toggle.textContent = enabled ? 'Light Mode' : 'Dark Mode';
  }

  // växla tema när knappen klickas
  toggle.addEventListener('click', () => {
    const enabled = document.body.classList.toggle('dark');
    setCookie(cookieName, enabled);
    toggle.textContent = enabled ? 'Light Mode' : ' Dark Mode';
  });

  // kör på sidladdning
  applyTheme();
})();