Merge branch 'settings' into development
[KiwiIRC.git] / client / assets / src / index.html.tmpl
index cd02cc13606ecc4ec2b559fe9118ef8af41140fe..e5fab30c2593001c27efd2423cb33d60ee0596bb 100644 (file)
@@ -7,7 +7,7 @@
 \r
 <title> KiwiIRC </title>\r
 \r
-<link rel="shortcut icon" href="<%base_path%>/assets/img/favicon.png">\r
+<link rel="shortcut icon" href="<%base_path%>/assets/img/favicon.ico">\r
 \r
 <link rel="stylesheet" type="text/css" href="<%base_path%>/assets/css/style.css" />\r
 <link rel="stylesheet" type="text/css" href="<%base_path%>/assets/css/font-awesome.min.css" />\r
     \r
     <script type="text/html" id="tmpl_userbox">\r
         <div class="userbox">\r
-            <a class="if_op op"><i class="icon-star"></i>Op</a>\r
-            <a class="if_op deop"><i class="icon-star-empty"></i>De-op</a>\r
-            <a class="if_op voice"><i class="icon-volume-up"></i>Voice</a>\r
-            <a class="if_op devoice"><i class="icon-volume-off"></i>De-voice</a>\r
-            <a class="if_op kick"><i class="icon-remove"></i>Kick</a>\r
-            <a class="if_op ban"><i class="icon-ban-circle"></i>Ban</a>\r
-\r
-            <a class="query"><i class="icon-comment"></i>Message</a>\r
-            <a class="info"><i class="icon-info-sign"></i>Info</a>\r
-            <a class="slap"><i class="icon-user-md"></i>Slap!</a>\r
+            <a class="if_op op"><i class="icon-star"></i><%= op %></a>\r
+            <a class="if_op deop"><i class="icon-star-empty"></i><%= de_op %></a>\r
+            <a class="if_op voice"><i class="icon-volume-up"></i><%= voice %></a>\r
+            <a class="if_op devoice"><i class="icon-volume-off"></i><%= de_voice %></a>\r
+            <a class="if_op kick"><i class="icon-remove"></i><%= kick %></a>\r
+            <a class="if_op ban"><i class="icon-ban-circle"></i><%= ban %></a>\r
+\r
+            <a class="query"><i class="icon-comment"></i><%= message %></a>\r
+            <a class="info"><i class="icon-info-sign"></i><%= info %></a>\r
+            <a class="slap"><i class="icon-user-md"></i><%= slap %></a>\r
         </div>\r
     </script>\r
     \r
     <script type="text/html" id="tmpl_nickchange">\r
         <form class="nickchange">\r
-            <label for="nickchange">New nick:</label> <input type="text" mozactionhint="done" autocomplete="off" spellcheck="false"/> <button>Change</button> <a class="cancel">Cancel</a>\r
+            <label for="nickchange"><%= new_nick %>:</label> <input type="text" mozactionhint="done" autocomplete="off" spellcheck="false"/> <button><%= change %></button> <a class="cancel"><%= cancel %></a>\r
         </form>\r
     </script>\r
 \r
             </div>\r
 \r
             <div class="server_details" style="position:relative;width:320px;">\r
-                <div class="status">Think of a nickname..</div>\r
+                <div class="status"><%= think_nick %></div>\r
 \r
                 <form>\r
                     <div class="basic">\r
                         <table>\r
                             <tr class="nick">\r
-                                <td><label for="server_select_nick">Nickname</label></td>\r
+                                <td><label for="server_select_nick"><%= nickname %></label></td>\r
                                 <td><input type="text" class="nick" id="server_select_nick"></td>\r
                             </tr>\r
 \r
                             <tr class="have_pass">\r
                                 <td colspan="2">\r
-                                    <label for="server_select_show_pass">I have a password</label> <input type="checkbox" id="server_select_show_pass" style="width:auto;" />\r
+                                    <label for="server_select_show_pass"><%= have_password %></label> <input type="checkbox" id="server_select_show_pass" style="width:auto;" />\r
                                 </td>\r
                             </tr>\r
 \r
                             <tr class="pass">\r
-                                <td><label for="server_select_password">Password</label></td>\r
+                                <td><label for="server_select_password"><%= password %></label></td>\r
                                 <td><input type="password" class="password" id="server_select_password"></td>\r
                             </tr>\r
 \r
                             <tr class="channel">\r
-                                <td><label for="server_select_channel">Channel</label></td>\r
+                                <td><label for="server_select_channel"><%= channel %></label></td>\r
                                 <td>\r
                                     <div style="position:relative;">\r
                                         <input type="text" class="channel" id="server_select_channel">\r
-                                        <i class="icon-key" title="Channel Key"></i>\r
+                                        <i class="icon-key" title="<%= channel_key %>"></i>\r
                                     </div>\r
                                 </td>\r
                             </tr>\r
 \r
                             <tr class="have_key">\r
                                 <td colspan="2">\r
-                                    <label for="server_select_show_channel_key">Channel requires a key</label> <input type="checkbox" id="server_select_show_channel_key" style="width:auto;" />\r
+                                    <label for="server_select_show_channel_key"><%= require_key %></label> <input type="checkbox" id="server_select_show_channel_key" style="width:auto;" />\r
                                 </td>\r
                             </tr>\r
 \r
                             <tr class="key">\r
-                                <td><label for="server_select_channel_key">Key</label></td>\r
+                                <td><label for="server_select_channel_key"><%= key %></label></td>\r
                                 <td><input type="password" class="channel_key" id="server_select_channel_key"></td>\r
                             </tr>\r
 \r
                             <tr class="start">\r
-                                <td colspan="2"><button type="submit">Start..</button></td>\r
+                                <td colspan="2"><button type="submit"><%= start %></button></td>\r
                             </tr>\r
                         </table>\r
 \r
-                        <a href="" onclick="return false;" class="show_more">Server and network</a>\r
+                        <a href="" onclick="return false;" class="show_more"><%= server_network %> <i class="icon-caret-down"></i></a>\r
                     </div>\r
 \r
 \r
                     <div class="more">\r
                         <table>\r
                             <tr class="server">\r
-                                <td><label for="server_select_server">Server</label></td>\r
+                                <td><label for="server_select_server"><%= server %></label></td>\r
                                 <td><input type="text" class="server" id="server_select_server"></td>\r
                             <tr>\r
 \r
                             <tr class="port">\r
-                                <td><label for="server_select_port">Port</label></td>\r
+                                <td><label for="server_select_port"><%= port %></label></td>\r
                                 <td><input type="text" class="port" id="server_select_port"></td>\r
                             </tr>\r
 \r
                 </form>\r
 \r
                 <a class="kiwi_logo" href="https://kiwiirc.com/" target="_blank">\r
-                    <h1><span>Powered by Kiwi IRC</span> <img src="<%base_path%>/assets/img/ico.png" alt="KiwiIRC Logo" title="Kiwi IRC" /></h1>\r
+                    <h1><span><%= powered_by %></span> <img src="<%base_path%>/assets/img/ico.png" alt="KiwiIRC Logo" title="Kiwi IRC" /></h1>\r
                 </a>\r
             </div>\r
         </div>\r
                     <div class="radio">\r
                         <label>\r
                             <input type="radio" name="channel_list_style" data-setting="channel_list_style" value="tabs">\r
-                            Tabs\r
+                            <%= tabs %>\r
                         </label>\r
                     </div>\r
                     <div class="radio">\r
                         <label>\r
                             <input type="radio" name="channel_list_style" data-setting="channel_list_style" value="list">\r
-                            List <small class="text-muted">(for large amouts of channels)</small>\r
+                            <%= list %><small class="text-muted">(<%= large_amounts_of_chans %>)</small>\r
                         </label>\r
                     </div>\r
                 </div>\r
                     <div class="checkbox">\r
                         <label>\r
                             <input data-setting="show_joins_parts" type="checkbox">\r
-                            Join/part channel notifications\r
+                            <%= join_part %>\r
                         </label>\r
                     </div>\r
                     <div class="checkbox">\r
                         <label>\r
                             <input data-setting="show_timestamps" type="checkbox">\r
-                            Timestamps\r
+                            <%= timestamps %>\r
                         </label>\r
                     </div>\r
                     <div class="checkbox">\r
                         <label>\r
                             <input data-setting="mute_sounds" type="checkbox">\r
-                            Mute sound notifications\r
+                            <%= mute %>\r
                         </label>\r
                     </div>\r
                     <label>\r
                         <input data-setting="scrollback" class="input-small" type="text" size="4" pattern="\d*">\r
-                        <span>messages in scroll history</span>\r
+                        <span><%= scroll_history %></span>\r
                     </label>\r
                 </div>\r
             </section>\r
+\r
+            <section class="language">\r
+                <h6>Language</h6>\r
+                <div class="control-group">\r
+                    <select data-setting="locale">\r
+                        <% _.forEach(languages, function(lang) { %>\r
+                            <option value="<%= lang.tag %>"><%= lang.language %></li>\r
+                        <% }); %>\r
+                    </select>\r
+                    <br>\r
+                    <small><%= locale_restart_needed %></small>\r
+                </div>\r
+            </section>\r
+\r
+            <section class="protocol_handler">\r
+                <h6><%= default_client %></h6>\r
+                <div class="control-group">\r
+                    <button class="register_protocol"><%= make_default %></button>\r
+                    <br>\r
+                    <small><%= default_note %></small>\r
+                </div>\r
+            </section>\r
         </div>\r
     </script>\r
 \r
             <table style="margin:1em 2em;">\r
                 <thead style="font-weight: bold;">\r
                     <tr>\r
-                        <td>Channel Name</td>\r
-                        <td>Users</td>\r
-                        <td style="padding-left: 2em;">Topic</td>\r
+                        <td><%= channel_name %></td>\r
+                        <td><%= users %></td>\r
+                        <td style="padding-left: 2em;"><%= topic %></td>\r
                     </tr>\r
                 </thead>\r
                 <tbody style="vertical-align: top;">\r
                 #kiwi .script_editor .se_toolbar button i { font-size:1.2em; margin-left:3px; }\r
             </style>\r
             <div class="script_editor" style="height:100%; position:relative;">\r
-                <div class="se_toolbar"><button class="btn_save">Save <i class="icon-save"></i></button><span class="status"></span></div>\r
+                <div class="se_toolbar"><button class="btn_save"><%= save %><i class="icon-save"></i></button><span class="status"></span></div>\r
                 <div class="editor" style="position:absolute;top:50px;bottom:0px;left:0px;right:0px;"></div>\r
             </div>\r
         </div>\r
     </script>\r
 \r
 \r
+<script src="<%base_path%>/assets/libs/jquery-1.9.1.min.js"></script>\r
 <script>\r
 /* Script loader (https://github.com/ded/script.js) */\r
 (function(a,b,c){typeof c["module"]!="undefined"&&c.module.exports?c.module.exports=b():typeof c["define"]!="undefined"&&c["define"]=="function"&&c.define.amd?define(a,b):c[a]=b()})("$script",function(){function p(a,b){for(var c=0,d=a.length;c<d;++c)if(!b(a[c]))return j;return 1}function q(a,b){p(a,function(a){return!b(a)})}function r(a,b,i){function o(a){return a.call?a():d[a]}function t(){if(!--n){d[m]=1,l&&l();for(var a in f)p(a.split("|"),o)&&!q(f[a],o)&&(f[a]=[])}}a=a[k]?a:[a];var j=b&&b.call,l=j?b:i,m=j?a.join(""):b,n=a.length;return setTimeout(function(){q(a,function(a){if(h[a])return m&&(e[m]=1),h[a]==2&&t();h[a]=1,m&&(e[m]=1),s(!c.test(a)&&g?g+a+".js":a,t)})},0),r}function s(c,d){var e=a.createElement("script"),f=j;e.onload=e.onerror=e[o]=function(){if(e[m]&&!/^c|loade/.test(e[m])||f)return;e.onload=e[o]=null,f=1,h[c]=2,d()},e.async=1,e.src=c,b.insertBefore(e,b.firstChild)}var a=document,b=a.getElementsByTagName("head")[0],c=/^https?:\/\//,d={},e={},f={},g,h={},i="string",j=!1,k="push",l="DOMContentLoaded",m="readyState",n="addEventListener",o="onreadystatechange";return!a[m]&&a[n]&&(a[n](l,function t(){a.removeEventListener(l,t,j),a[m]="complete"},j),a[m]="loading"),r.get=s,r.order=function(a,b,c){(function d(e){e=a.shift(),a.length?r(e,d):r(e,b,c)})()},r.path=function(a){g=a},r.ready=function(a,b,c){a=a[k]?a:[a];var e=[];return!q(a,function(a){d[a]||e[k](a)})&&p(a,function(a){return d[a]})?b():!function(a){f[a]=f[a]||[],f[a][k](b),c&&c(e)}(a.join("|")),r},r},this)\r
 \r
 \r
-\r
-\r
     function getQueryVariable(variable) {\r
         var query = window.location.search.substring(1);\r
         var vars = query.split('&');\r
     }\r
 \r
     window.onload = function () {\r
-\r
-        // Common dependancies that are required at all times\r
-        var scripts = [\r
-            ['libs/jquery-1.9.1.min.js', 'libs/lodash.min.js'],\r
-            'libs/backbone.min.js'\r
-        ];\r
-\r
-        // If in debug mode, load each development script\r
-        if (getQueryVariable('debug')) {\r
-            console.log('Loading debugging scripts');\r
-            scripts = scripts.concat([\r
-                'src/app.js',\r
-                [\r
-                    'src/models/application.js',\r
-                    'src/models/gateway.js'\r
-                ],\r
-                [\r
-                    'src/models/newconnection.js',\r
-                    'src/models/panellist.js',\r
-                    'src/models/networkpanellist.js',\r
-                    'src/models/panel.js',\r
-                    'src/models/member.js',\r
-                    'src/models/memberlist.js',\r
-                    'src/models/network.js'\r
-                ],\r
-                \r
-                [\r
-                    'src/models/query.js',\r
-                    'src/models/channel.js',\r
-                    'src/models/server.js',\r
-                    'src/models/applet.js'\r
-                ],\r
-\r
-                [\r
-                    'src/applets/settings.js',\r
-                    'src/applets/chanlist.js',\r
-                    'src/applets/scripteditor.js'\r
-                ],\r
-\r
-                [\r
-                    'src/models/pluginmanager.js',\r
-                    'src/models/datastore.js',\r
-                    'src/helpers/utils.js'\r
-                ],\r
-\r
-                // Some views extend these, so make sure they're loaded beforehand\r
-                [\r
-                    'src/views/panel.js'\r
-                ],\r
-\r
-                [\r
-                    'src/views/channel.js',\r
-                    'src/views/applet.js',\r
-                    'src/views/application.js',\r
-                    'src/views/apptoolbar.js',\r
-                    'src/views/controlbox.js',\r
-                    'src/views/mediamessage.js',\r
-                    'src/views/member.js',\r
-                    'src/views/memberlist.js',\r
-                    'src/views/menubox.js',\r
-                    'src/views/networktabs.js',\r
-                    'src/views/nickchangebox.js',\r
-                    'src/views/resizehandler.js',\r
-                    'src/views/serverselect.js',\r
-                    'src/views/statusmessage.js',\r
-                    'src/views/tabs.js',\r
-                    'src/views/topicbar.js',\r
-                    'src/views/userbox.js'\r
-                ]\r
-            ]);\r
-        } else {\r
-            scripts.push('kiwi.min.js?<%cache_buster%>');\r
-        }\r
-\r
-\r
-        // Run after all dependancies have been loaded\r
-        function startApp () {\r
-            var opts = {\r
+        var base_path = '<%base_path%>', // Entry path for the kiwi application\r
+            scripts = [],\r
+            opts = {\r
                 container: $('#kiwi'),\r
                 base_path: base_path,\r
 \r
                 // Override the kiwi_server to use. (Think: running on standalone client..)\r
                 //kiwi_server: 'http://kiwiirc.com:80',\r
-\r
-                server_settings: <%server_settings%>,\r
-                client_plugins: <%client_plugins%>\r
             };\r
 \r
+        // Run after all dependancies have been loaded\r
+        function startApp () {\r
             // Start the app\r
-            kiwi.start(opts);\r
-\r
-            // Load any plugins\r
-            if (opts.client_plugins && opts.client_plugins.length > 0) {\r
-                _.each(opts.client_plugins, function (plugin_url) {\r
-                    kiwi.plugins.load(plugin_url);\r
-                });\r
-            }\r
+            kiwi.start(opts, function() {\r
+                // Load any plugins\r
+                if (opts.client_plugins && opts.client_plugins.length > 0) {\r
+                    _.each(opts.client_plugins, function (plugin_url) {\r
+                        kiwi.plugins.load(plugin_url);\r
+                    });\r
+                }\r
+            });\r
         }\r
 \r
 \r
             cur_script++;\r
         }\r
 \r
-        // Entry path for the kiwi application\r
-        var base_path = '<%base_path%>';\r
-\r
-        // Start loading scripts\r
-        loadNextScript();\r
+        // Load application settings\r
+        $.getJSON(base_path + '/assets/settings.json', function (data) {\r
+            scripts = scripts.concat(data.scripts);\r
+            opts.server_settings = data.server_settings;\r
+            opts.client_plugins = data.client_plugins;\r
+            opts.translations = data.translations;\r
+            opts.locale = data.locale;\r
+\r
+            // Start loading scripts\r
+            loadNextScript();\r
+        });\r
     };\r
 </script>\r
 </body>\r