changeset 178:1e67c488240a

Frontend fixes: - page titles - alerts - login and 404 pages
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 29 Jan 2014 08:19:32 -0800
parents 528778a7421f
children 825d05a9ee67
files wikked/assets/css/wikked/alerts.less wikked/assets/js/wikked.js wikked/assets/js/wikked/models.js wikked/assets/js/wikked/views.js wikked/assets/tpl/404.html wikked/assets/tpl/login.html wikked/assets/tpl/nav.html
diffstat 7 files changed, 35 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/wikked/assets/css/wikked/alerts.less	Wed Jan 29 08:18:46 2014 -0800
+++ b/wikked/assets/css/wikked/alerts.less	Wed Jan 29 08:19:32 2014 -0800
@@ -1,21 +1,3 @@
-
-.tooltip {
-    font-size: @font-size-base*0.75;
-}
-.alert {
-    font-size: @font-size-small;
-}
-
-// Page alerts
-article .alert {
-    float: right;
-    margin-left: -100%;
-    position: relative;
-    width: 50%;
-    -webkit-border-radius: 0;
-    -moz-border-radius: 0;
-    border-radius: 0;
-}
 
 // Corner ribbon
 .makeRibbon(@bgColor) {
--- a/wikked/assets/js/wikked.js	Wed Jan 29 08:18:46 2014 -0800
+++ b/wikked/assets/js/wikked.js	Wed Jan 29 08:19:32 2014 -0800
@@ -14,6 +14,7 @@
         text: 'js/text',
         bootstrap_modal: 'bootstrap/js/modal',
         bootstrap_tooltip: 'bootstrap/js/tooltip',
+        bootstrap_alert: 'bootstrap/js/alert',
         bootstrap_collapse: 'bootstrap/js/collapse'
     },
     shim: {
--- a/wikked/assets/js/wikked/models.js	Wed Jan 29 08:18:46 2014 -0800
+++ b/wikked/assets/js/wikked/models.js	Wed Jan 29 08:19:32 2014 -0800
@@ -54,6 +54,9 @@
         doSearch: function(form) {
             this.navigate('/search/' + $(form.q).val(), { trigger: true });
         },
+        doNewPage: function(form) {
+            this.navigate('/edit/', { trigger: true });
+        },
         _onChangePath: function(path) {
             this.set({
                 url_home: '/',
@@ -114,6 +117,7 @@
     });
 
     var LoginModel = exports.LoginModel = Backbone.Model.extend({
+        title: 'Login',
         setApp: function(app) {
             this.app = app;
         },
--- a/wikked/assets/js/wikked/views.js	Wed Jan 29 08:18:46 2014 -0800
+++ b/wikked/assets/js/wikked/views.js	Wed Jan 29 08:19:32 2014 -0800
@@ -7,6 +7,7 @@
         'backbone',
         'handlebars',
         'bootstrap_tooltip',
+        'bootstrap_alert',
         'bootstrap_collapse',
         'js/wikked/client',
         'js/wikked/models',
@@ -31,7 +32,7 @@
         'text!tpl/special-changes.html',
         'text!tpl/special-orphans.html'
         ],
-    function($, _, Backbone, Handlebars, BootstrapTooltip, BootstrapCollapse, Client, Models, Util,
+    function($, _, Backbone, Handlebars, BootstrapTooltip, BootstrapAlert, BootstrapCollapse, Client, Models, Util,
         tplReadPage, tplMetaPage, tplEditPage, tplHistoryPage, tplRevisionPage, tplDiffPage, tplInLinksPage,
         tplNav, tplFooter, tplSearchResults, tplLogin,
         tplErrorNotAuthorized, tplErrorNotFound, tplErrorUnauthorizedEdit, tplStateWarning,
@@ -127,7 +128,7 @@
             this.$el.html(tpl(this.model.toJSON()));
         },
         renderTitle: function(formatter) {
-            var title = _.result(this, 'title');
+            var title = _.result(this.model, 'title');
             if (formatter !== undefined) {
                 title = formatter.call(this, title);
             }
@@ -154,6 +155,7 @@
         },
         events: {
             "submit #search": "_submitSearch",
+            "submit #newpage": "_submitNewPage",
             "input #search-query": "_previewSearch",
             "keyup #search-query": "_searchQueryChanged"
         },
@@ -162,6 +164,11 @@
             this.model.doSearch(e.currentTarget);
             return false;
         },
+        _submitNewPage: function(e) {
+            e.preventDefault();
+            this.model.doNewPage(e.currentTarget);
+            return false;
+        },
         _previewSearch: function(e) {
             var query = $(e.currentTarget).val();
             if (query && query.length >= 3) {
--- a/wikked/assets/tpl/404.html	Wed Jan 29 08:18:46 2014 -0800
+++ b/wikked/assets/tpl/404.html	Wed Jan 29 08:19:32 2014 -0800
@@ -1,9 +1,10 @@
-<nav>
-    <section>
-        <a href="{{url_home}}">Home</a>
-        <span>Search</span>
-    </section>
-</nav>
+<div class="nav-wrapper">
+    <nav class="navbar navbar-default" role="navigation">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="/">Home</a>
+        </div>
+    </nav>
+</div>
 <article class="row">
     <header>
         <h1>Page Not Found</h1>
--- a/wikked/assets/tpl/login.html	Wed Jan 29 08:18:46 2014 -0800
+++ b/wikked/assets/tpl/login.html	Wed Jan 29 08:19:32 2014 -0800
@@ -1,20 +1,22 @@
-<nav>
-    <section>
-        <a href="/">Home</a>
-    </section>
-</nav>
+<div class="nav-wrapper">
+    <nav class="navbar navbar-default" role="navigation">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="/">Home</a>
+        </div>
+    </nav>
+</div>
 <article>
     <header>
         <h1>Login</h1>
     </header>
     <section>
         {{#if has_error}}
-        <div class="alert alert-error">
+        <div class="alert alert-danger alert-dismissable">
+            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
             <strong>Begone!</strong> Those credentials don't seem to work here.
         </div>
         {{/if}}
         <form id="login" class="form-signin" role="form">
-            <h2 class="form-signin-heading">Log in</h2>
             <input type="text" name="username" class="form-control" placeholder="Username" required="true" autofocus="true"></input>
             <input type="password" name="password" class="form-control" placeholder="Password" required="true"></input>
             <label class="checkbox">
@@ -24,5 +26,3 @@
         </form>
     </section>
 </article>
-<footer>
-</footer>
--- a/wikked/assets/tpl/nav.html	Wed Jan 29 08:18:46 2014 -0800
+++ b/wikked/assets/tpl/nav.html	Wed Jan 29 08:19:32 2014 -0800
@@ -31,5 +31,10 @@
             <li><a href="{{url_login}}"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
             {{/if}}
         </ul>
+        <form id="newpage" class="navbar-form navbar-right">
+            <div class="form-group">
+                <button type="submit" class="btn btn-primary btn-sm">New Page</button>
+            </div>
+        </form>
     </div>
 </nav>