chiark / gitweb /
Macro-ize (most) <A>-based buttons
[disorder] / templates / macros.tmpl
index 1bfd97f2146a058033baaa889e5231d3adf136b3..5d33446c739945810a6080dc7a99330d37153472 100644 (file)
@@ -47,7 +47,8 @@ and then redefines macros as desired.
 @# Standard menu
 @#   @current is the name of the current page, e.g. choosealpha, login
 @define {stdmenu} {current}
-        {  <p class=menubar>
+        {  <div class=top>
+   <p class=menubar>
 @menuitem{@current}{playing}{true}
 @menuitem{@current}{recent}{true}
 @menuitem{@current}{choose}{@right{play}}
@@ -55,11 +56,19 @@ and then redefines macros as desired.
 @menuitem{@current}{new}{true}
 @menuitem{@current}{login}{true}
 @menuitem{@current}{help}{true}
-@menuitem{@current}{about}{true}
    </p>
-   <hr>
+   <div class=logo>
+@menuicon{@current}{about}{true}{logosmall}
+   </div>
+  <div style="clear:both"></div>
+  </div>
 }
 
+@define {menuurl} {name}
+        {@if{@eq{name}{playing}}
+           {@url}
+           {@url?action=@name}}
+
 @# Menu entry
 @#  Used by @stdmenu
 @#  @current is the name of the current page (not necessarily the action that
@@ -69,16 +78,40 @@ and then redefines macros as desired.
 @#  
 @define {menuitem} {current name available}  
         {@if{@available}
-            {   <a @if{@eq{@current}{@name}}
-                      {class=activemenu}
-                      {class=inactivemenu}
-@if{@eq{name}{playing}}
-   {      href="@url"}
-   {      href="@url?action=@name"}
-      title="@label{menu.@q{@name}verbose}">@label{menu.@name}</a>}
-            {   <span class=invalidmenu 
-         title="@label{menu.@q{@name}verbose}">@label{menu.@name}</span>}}
+            {    <a @if{@eq{@current}{@name}}
+                       {class=activemenu}
+                       {class=inactivemenu}
+       href="@menuurl{@name}"
+       title="@label{menu.@q{@name}verbose}">@label{menu.@name}</a>}
+            {    <span class=invalidmenu 
+          title="@label{menu.@q{@name}verbose}">@label{menu.@name}</span>}}
 
+@# Icon-based menu entry (very similar to @menuitem)
+@#  Used by @stdmenu
+@#  @current is the name of the current page
+@#  @name is the name of the menu item
+@#  @available is true if the menu item is available, else false
+@#  @icon is the name of the icon
+@#  
+@define {menuicon} {current name available icon}  
+        {@if{@available}
+            {    <a class=menuicon
+       href="@menuurl{@name}">
+     <img @if{@eq{@current}{@name}}
+             {class=activemenu}
+             {class=inactivemenu}
+          title="@label{menu.@q{@name}verbose}"
+          alt="@label{menu.@name}"
+          src="@image{@icon}">
+    </a>}
+            {    <span class=menuicon>
+     <img @if{@eq{@current}{@name}}
+             {class=activemenu}
+             {class=inactivemenu}
+          title="@label{menu.@q{@name}verbose}"
+          alt="@label{menu.@name}"
+          src="@image{@icon@_inactive}">
+    </a>}}
 
 @# Standard footer text
 @define {credits} {}
@@ -244,6 +277,24 @@ and then redefines macros as desired.
    </table>
 }
 
+@# Expand to a submit button
+@#  @text is the text to put inside the button
+@define {submit} {text}
+        {<span class=buttonouter><button class=button name=submit type=submit><span class=buttoninner>@text</span></button></span>}
+
+@# Expand to an action button
+@#  @text is the text to put inside the button
+@#  @long is the text to put in the caption
+@#  @action is the target action
+@define {actbutton} {text long action}
+        {<a class=button
+              href="@url?action=@action@back"
+              title="@long">@text</a>}
+
+@# Expands to &back=manage or to nothing depending on context;
+@# see playing.tmpl.
+@define {back} {} {}
+
 Local variables:
 mode:sgml
 sgml-always-quote-attributes:nil