TextTheme view removed
[KiwiIRC.git] / client / src / index.html.tmpl
index 1d45d51b4d2ffabf2dc1d210e21af61ab4ca8d15..f244e999b6c28961f7353c155c43a7ddb6cc3294 100644 (file)
@@ -23,6 +23,7 @@
                 <div class="app_tools">\r
                     <ul class="main">\r
                         <li class="settings"><i class="icon-cogs" title="Settings"></i></li>\r
+                        <li class="startup"><i class="icon-home" title="Home"></i></li>\r
                         <li><a href="https://kiwiirc.com/" target="_blank"><img src="<%base_path%>/assets/img/ico.png" alt="KiwiIRC" title="KiwiIRC" /></a></li>\r
                     </ul>\r
                 </div>\r
 \r
             <a class="close_menu query"><i class="icon-comment"></i><%= message %></a>\r
             <a class="close_menu info"><i class="icon-info-sign"></i><%= info %></a>\r
-            <a class="close_menu slap"><i class="icon-user-md"></i><%= slap %></a>\r
+            <a class="close_menu ignore"><label><i><input type="checkbox" /></i><%= ignore %></label></a>\r
         </div>\r
     </script>\r
 \r
                                 <%= timestamps %>\r
                             </label>\r
                         </div>\r
+                        <div class="checkbox">\r
+                            <label>\r
+                                <input data-setting="use_24_hour_timestamps" type="checkbox">\r
+                                <%= timestamp_24 %>\r
+                            </label>\r
+                        </div>\r
                         <div class="checkbox">\r
                             <label>\r
                                 <input data-setting="mute_sounds" type="checkbox">\r
                     <h6>Language</h6>\r
                     <div class="control-group">\r
                         <select data-setting="locale">\r
+                            <option value=""></li>\r
                             <% _.forEach(languages, function(lang) { %>\r
                                 <option value="<%= lang.tag %>"><%= lang.language %></li>\r
                             <% }); %>\r
 \r
 \r
     <script type="text/html" id="tmpl_channel_list">\r
-        <div>\r
-            <table style="margin:1em 2em;">\r
+        <div class="applet_chanlist">\r
+            <table>\r
                 <thead style="font-weight: bold;">\r
                     <tr>\r
-                        <td><%= channel_name %></td>\r
-                        <td><%= users %></td>\r
+                        <td><a class="channel_name_title"><%= channel_name %></a></td>\r
+                        <td><a class="users_title"><%= users %></a></td>\r
                         <td style="padding-left: 2em;"><%= topic %></td>\r
                     </tr>\r
                 </thead>\r
         }\r
     }\r
 \r
-    (function () {\r
-        var base_path = '<%base_path%>', // Entry path for the kiwi application\r
-            scripts = [],\r
-            opts = {\r
-                container: $('body'),\r
-                base_path: base_path,\r
-                settings_path: base_path + '/assets/settings.json'\r
-            };\r
+    /**\r
+     * Get alerted when a group of jobs have been completed.\r
+     * Eg. .registerJob('job1'); .registerJob('job2');\r
+     *     .onFinish(function(){ alert('Jobs finished!'); });\r
+     *     .finishJob('job1');\r
+     *     .finishJob('job2');\r
+     */\r
+    function JobManager() {\r
+        var completed_jobs = {  };\r
 \r
-        normalizeConsole();\r
+        // Functions to call once all jobs have completed\r
+        var completed_callbacks = [];\r
 \r
-        /**\r
-         * Job bootup manager\r
-         * Once all jobs have completed, call any registered completed functions\r
-         */\r
-        var jobs = new (function BootManager() {\r
-            var completed_jobs = {  };\r
 \r
-            // Functions to call once all jobs have completed\r
-            var completed_callbacks = [];\r
+        function callCompletedFunctions(fn) {\r
+            $.each(completed_callbacks, function(idx, fn) {\r
+                fn();\r
+            });\r
 \r
+            completed_callbacks = [];\r
+        };\r
 \r
-            function callCompletedFunctions(fn) {\r
-                $.each(completed_callbacks, function(idx, fn) {\r
-                    fn();\r
-                });\r
 \r
-                completed_callbacks = [];\r
-            };\r
+        this.finishJob = function(job_name) {\r
+            if (typeof completed_jobs[job_name] === 'undefined') {\r
+                return;\r
+            }\r
 \r
+            completed_jobs[job_name] = true;\r
 \r
-            this.finishJob = function(job_name) {\r
-                if (typeof completed_jobs[job_name] === 'undefined') {\r
-                    return;\r
+            // Check if all our jobs have completed\r
+            var all_jobs_completed = true;\r
+            $.each(completed_jobs, function(idx, completed) {\r
+                if (!completed) {\r
+                    all_jobs_completed = false;\r
+                    return false;\r
                 }\r
+            });\r
+\r
+            if (all_jobs_completed) {\r
+                callCompletedFunctions();\r
+            }\r
+        };\r
 \r
-                completed_jobs[job_name] = true;\r
 \r
-                // Check if all our jobs have completed\r
-                var all_jobs_completed = true;\r
-                $.each(completed_jobs, function(idx, completed) {\r
-                    if (!completed) {\r
-                        all_jobs_completed = false;\r
-                        return false;\r
-                    }\r
-                });\r
+        this.onFinish = function(fn) {\r
+            completed_callbacks.push(fn);\r
+        };\r
 \r
-                if (all_jobs_completed) {\r
-                    callCompletedFunctions();\r
-                }\r
-            };\r
 \r
+        this.registerJob = function(job_name) {\r
+            completed_jobs[job_name] = false;\r
+        };\r
+    }\r
 \r
-            this.onFinish = function(fn) {\r
-                completed_callbacks.push(fn);\r
+    (function () {\r
+        var base_path = '<%base_path%>', // Entry path for the kiwi application\r
+            scripts = [],\r
+            opts = {\r
+                container: $('body'),\r
+                base_path: base_path,\r
+                settings_path: base_path + '/assets/settings.json'\r
             };\r
 \r
+        normalizeConsole();\r
 \r
-            this.registerJob = function(job_name) {\r
-                completed_jobs[job_name] = false;\r
-            };\r
-        })();\r
+        /**\r
+         * Job bootup manager\r
+         * Once all jobs have completed, call any registered completed functions\r
+         */\r
+        var jobs = new JobManager();\r
 \r
 \r
         // Run after all dependancies have been loaded\r
         jobs.onFinish(function startApp() {\r
-            // Start the app\r
-            kiwi.start(opts, function() {\r
-                // Load any plugins\r
+            // Kiwi IRC version this is built from\r
+            kiwi.build_version = '<%build_version%>';\r
+\r
+            // Start the app after loading plugins\r
+            kiwi.init(opts, function() {\r
                 if (opts.client_plugins && opts.client_plugins.length > 0) {\r
+\r
+                    // Wait until all plugins are loaded before starting the app\r
+                    kiwi.plugins.once('loaded', function() {\r
+                        kiwi.start();\r
+                    });\r
+\r
                     _.each(opts.client_plugins, function (plugin_url) {\r
                         kiwi.plugins.load(plugin_url);\r
                     });\r
+\r
+                } else {\r
+\r
+                    // No plugins were needed so start the app\r
+                    kiwi.start();\r
                 }\r
             });\r
         });\r