Remove useless empty line
[nit.git] / contrib / nitrpg / src / templates / templates_base.nit
index adac329..fe9efd8 100644 (file)
 # Base HTML rendering templates for `nitpg`.
 module templates_base
 
-import statistics
+import achievements
 
 redef class GameEntity
 
+       # Path to this entity from root.
+       fun path: String do return collection_name / key
+
        # URL to this game entity page.
-       fun url: String do return game.url / key
+       fun url: String do return game.url / path
 end
 
 redef class Game
@@ -32,8 +35,40 @@ redef class Game
        # This must be set before any access to `url`.
        var root_url: String is noinit, writable
 
-       redef fun url do return "{root_url}/games" / key
+       redef fun url do return "{root_url}/{path}"
+
+       # Return a HTML link to this Game.
+       fun link: String do return "<a href=\"{url}\">{name}</a>"
+end
+
+redef class Player
+       # Return a HTML link to this Player.
+       fun link: String do return "<a href=\"{url}\">{name}</a>"
+end
+
+redef class Issue
+       # Return a HTML link to this Issue.
+       fun link: String do return "<a href=\"{html_url or else "#"}\">#{number}</a>"
+end
+
+redef class Achievement
+       # Return a HTML link to this Issue.
+       fun link: String do return "<a href=\"{url}\">{name}</a>"
+
+       # Render self as a media item.
+       fun list_item: String do
+               return """<div class="media">
+                              <div class="media-left" style="width: 50px">
+                               <span class="glyphicon glyphicon-check"></span>
+                               <span class="badge progress-bar-success"
+                                style="position: absolute; margin-top: 10px;
+                                        margin-left: -5px;">+{{{reward}}}</span>
+                              </div>
+                              <div class="media-body">
+                               <h4 class="media-heading">{{{link}}}</h4>
+                               <span class="text-muted">{{{desc}}}</span>
+                              </div>
+                             </div>"""
 
-       # Displayed name.
-       fun name: String do return repo.full_name
+       end
 end