Added default '.env' config file. I'm keeping the '.env.example' in the repository, but an easier setup process a default configuration will from now on be included in the repository.
I'm switching from MySQL to SQLite for the same reason mentioned above. By adding the MySQL database setting from '.env.example' to the '.env' config, MySQL can still be used as the database.
Added dark mode CSS files for all studio pages.
Now, this one's a bit janky. The studio CSS files 'bootstrap.min' and 'style-dashboard' already had settings for dark mode in them.
The problem is that the PHP files for the studio sites:
app.blade.php, footer.blade.php, guest.blade.php, sidebar.blade.php and a few others specify the light classes in the PHP directly.
As I didn't want to create separate PHP pages for dark and light mode, I simply replaced the light mode values in the CSS files with the dark mode ones. This means in the files the classes are still labeled as light mode but are in fact for the dark mode.
Selection for the dark mode will be handled the same as on the other pages, with JavaScript and a cookie (see next commit).
Just a quick fix, the logo wasn't displaying correctly I probably should do this with a separate CSS file for all images, but I just did this quick and dirty with a style attribute
Just a quick fix, the logo wasn't displaying correctly I probably should do this with a separate CSS file for all images, but I just did this quick and dirty with a style attribute
Fixed the if-else statement responsible for loading the correct login/register image. The SVG wouldn't work, so I just used the new avatar@2x.png, so I guess that one is staying for now.
If it works it works, I could load the vector image by changing the logo to the SVG in:
confirm-password.blade.php, forgot-password.blade.php, login.blade.php, register.blade.php, reset-password.blade.php and verify-email.blade.php.
This works good enough, so imma leave it how it is now.
I removed avatar.png as it is no longer being used and has been replaced with logo.svg.
If an admin uploads a custom logo, this will take the place of avatar.png and will be used as the new logo.
As part of the new logo (https://github.com/JulianPrieber/littlelink-custom/milestone/1) I'm now using the new 'logo.svg' vector logo.
For this, I added an if-else statement in most cases, which first check for a custom logo uploaded by the admin or the avatar of an individual user. If the image doesn't exist, the default logo (logo.svg) is used.
Added automatic dark mode detection to littlelink.blade.php via a cookie with js.cookie.min.js (see previous commit).
Detecting the dark mode setting is done with JavaScript. The script detects the preferred dark mode setting in the client's browser and saves it with a cookie. If the script detects a change in this setting, it corrects the cookie.
Loading the appropriate skeleton.css is done via PHP with an if-else statement. If the cookie (saved by the previous script) color scheme equals 'dark' it will load skeleton-dark.css (found in /littlelink/css).
If dark mode is not detected OR nothing is detected/cookie is getting blocked, the statement defaults to skeleton-light.css (also found in /littlelink/css).
You could change what the if-else statement defaults to (i.e. which color scheme is loaded if the cookie fails to detect) by switching 'skeleton-dark.css' and 'skeleton-light.css' around (see comment in if statement).
Everything added is commented and marked with begin/end.
Credit to 'user1575941' on Stack Overflow who's commented code REALLY helped getting behind all this.
Added automatic dark mode detection to home.blade.php via a cookie with js.cookie.min.js (see previous commit).
Detecting the dark mode setting is done with JavaScript. The script detects the preferred dark mode setting in the client's browser and saves it with a cookie. If the script detects a change in this setting, it corrects the cookie.
Loading the appropriate skeleton.css is done via PHP with an if-else statement. If the cookie (saved by the previous script) color scheme equals 'dark' it will load skeleton-dark.css (found in /littlelink/css).
If dark mode is not detected OR nothing is detected/cookie is getting blocked, the statement defaults to skeleton-light.css (also found in /littlelink/css).
You could change what the if-else statement defaults to (i.e. which color scheme is loaded if the cookie fails to detect) by switching 'skeleton-dark.css' and 'skeleton-light.css' around (see comment in if statement).
Everything added is commented and marked with begin/end.
Credit to 'user1575941' on Stack Overflow who's commented code REALLY helped getting behind all this.
Added automatic dark mode detection to home.blade.php via a cookie with js.cookie.min.js (see previous commit).
Detecting the dark mode setting is done with JavaScript. The script detects the preferred dark mode setting in the client's browser and saves it with a cookie. If the script detects a change in this setting, it corrects the cookie.
Loading the appropriate skeleton.css is done via PHP with an if-else statement. If the cookie (saved by the previous script) color scheme equals 'dark' it will load skeleton-dark.css (found in /littlelink/css).
If dark mode is not detected OR nothing is detected/cookie is getting blocked, the statement defaults to skeleton-light.css (also found in /littlelink/css).
You could change what the if-else statement defaults to (i.e. which color scheme is loaded if the cookie fails to detect) by switching 'skeleton-dark.css' 'skeleton-light.css around' (see comment in if statement).
Everything added is commented and marked with begin/end.
Credit to 'user1575941' on Stack Overflow who's commented code REALLY helped getting behind all this.
Live demo: https://julianprieber.github.io/littlelink-admin-demo/button-entrance.html
Added an entrance animation for buttons on home.blade.php. This animation was made by the Animate.css project (https://github.com/animate-css/animate.css).
Each button entrance animation lasts 100ms. Every button after the first adds 100ms to the value of the previous button i.e. button 1 loads after 100ms, button 2 loads after 200ms, button 3 after 300ms and so on...
Timings for the buttons can be changed in /littlelink/css/animate.css
I put every button in a separate <div> Tag, so the animation wouldn't in interfere with the existing hover animation.
Live demo: https://julianprieber.github.io/littlelink-admin-demo/button-entrance.html
Added an entrance animation for buttons on littlelink.blade.php. This animation was made by the Animate.css project (https://github.com/animate-css/animate.css).
Each button entrance animation lasts 100ms. Every button after the first adds 100ms to the value of the previous button i.e. button 1 loads after 100ms, button 2 loads after 200ms, button 3 after 300ms and so on...
Timings for the buttons can be changed in /littlelink/css/animate.css
I put every button in a separate <div> Tag, so the animation wouldn't in interfere with the existing hover animation.
Likewise, I removed all <br> Tags.
This is the last major public path edit. For simplified usability, I am integrating the public Laravel directory into the root directory.
All files in /public have been moved into the root directory. This directory is no longer necessary and therefore has been removed.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
hover-min.css has been moved!
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
Added hover-min.css (button animations)
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
Changed path /public to root directory.
!!!NEEDS TO BE TESTED!!!
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
Changed path /public to root directory.
!!!NEEDS TO BE TESTED!!!
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.
This is one of multiple public path edits. For simplified usability, I am integrating the public Laravel directory into the root directory.
This edit is part of moving everything from root/public to root.