diff --git a/assets/public/js/.jsbeautifyrc b/assets/public/js/.jsbeautifyrc
new file mode 100644
index 00000000..3077c481
--- /dev/null
+++ b/assets/public/js/.jsbeautifyrc
@@ -0,0 +1,32 @@
+{
+ "js": {
+ "allowed_file_extensions": ["js", "json", "jshintrc", "jsbeautifyrc"],
+
+ // Set brace_style
+ // collapse: (old default) Put braces on the same line as control statements
+ // collapse-preserve-inline: (new default) Same as collapse but better support for ES6 destructuring and other features. https://github.com/victorporof/Sublime-HTMLPrettify/issues/231
+ // expand: Put braces on own line (Allman / ANSI style)
+ // end-expand: Put end braces on own line
+ // none: Keep them where they are
+ "brace_style": "collapse-preserve-inline",
+
+ "break_chained_methods": false, // Break chained method calls across subsequent lines
+ "e4x": false, // Pass E4X xml literals through untouched
+ "end_with_newline": false, // End output with newline
+ "indent_char": " ", // Indentation character
+ "indent_level": 0, // Initial indentation level
+ "indent_size": 4, // Indentation size
+ "indent_with_tabs": false, // Indent with tabs, overrides `indent_size` and `indent_char`
+ "jslint_happy": false, // If true, then jslint-stricter mode is enforced
+ "keep_array_indentation": false, // Preserve array indentation
+ "keep_function_indentation": false, // Preserve function indentation
+ "max_preserve_newlines": 0, // Maximum number of line breaks to be preserved in one chunk (0 disables)
+ "preserve_newlines": true, // Whether existing line breaks should be preserved
+ "space_after_anon_function": false, // Should the space before an anonymous function's parens be added, "function()" vs "function ()"
+ "space_before_conditional": true, // Should the space before conditional statement be added, "if(true)" vs "if (true)"
+ "space_in_empty_paren": false, // Add padding spaces within empty paren, "f()" vs "f( )"
+ "space_in_paren": false, // Add padding spaces within paren, ie. f( a, b )
+ "unescape_strings": false, // Should printable characters in strings encoded in \xNN notation be unescaped, "example" vs "\x65\x78\x61\x6d\x70\x6c\x65"
+ "wrap_line_length": 0 // Lines should wrap at next opportunity after this number of characters (0 disables)
+ }
+}
diff --git a/assets/public/js/application.js b/assets/public/js/application.js
index a3673b85..59f121b3 100644
--- a/assets/public/js/application.js
+++ b/assets/public/js/application.js
@@ -1,20 +1,58 @@
'use strict';
document.addEventListener('DOMContentLoaded', event => {
- document.getElementById('logout').insertAdjacentHTML('beforebegin', `
+ document.getElementById('logout').insertAdjacentHTML('beforebegin', `