about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/jitterbug/Project.pm9
-rw-r--r--views/layouts/main.tt7
-rw-r--r--views/project/index.tt47
3 files changed, 37 insertions, 26 deletions
diff --git a/lib/jitterbug/Project.pm b/lib/jitterbug/Project.pm
index 0a3f984..db921e7 100644
--- a/lib/jitterbug/Project.pm
+++ b/lib/jitterbug/Project.pm
@@ -18,8 +18,15 @@ get '/:project' => sub {
 
     my $builds = _sorted_builds($project);
 
+    my $commits;
+    foreach (@$builds) {
+        my $t = $_->{timestamp};
+        (my $d) = $t =~ /^(\d{4}-\d{2}-\d{2})/;
+        push @{$commits->{$d}}, $_;
+    }
+
     template 'project/index',
-      { project => $project, builds => $builds, %$desc };
+      { project => $project, builds => $commits, %$desc };
 };
 
 get '/:project/feed' => sub {
diff --git a/views/layouts/main.tt b/views/layouts/main.tt
index 80f6b64..7a06684 100644
--- a/views/layouts/main.tt
+++ b/views/layouts/main.tt
@@ -7,10 +7,15 @@
     <meta charset="UTF-8" />
     <script type="text/javascript">
       $(document).ready(function() {
+        $('.builds-day').click(function() {
+          var day = $(this).text();
+          var class = "#commits-day-" + day;
+          console.log("on toggle " + class);
+          $(class).toggle();
+        });
         $('.builds a').click(function() {
           var url = $(this).attr("href");
           var id = $(this).parents('.commit').attr('id');
-          console.log("id => " + id);
           $.getJSON(url, null, function(data) {
             $("#result-" + id).html("<pre>" + data.content + "<pre>").toggle();
           });
diff --git a/views/project/index.tt b/views/project/index.tt
index c2970d6..ff13769 100644
--- a/views/project/index.tt
+++ b/views/project/index.tt
@@ -4,31 +4,30 @@
 
     <strong>"<: $description :>"</strong>
 
-<h3>Builds</h3>
-
-
-
-<div class="commits">
-:for $builds -> $build {
-    <div class="commit" id="<: $build.commit :>">
-        <div class="description">
-            <div class="message"><pre><: $build.message :></pre></div>
-            <div class="name"><: $build.author.name :></div>
-            <div class="date"><: $build.timestamp :></div>
-            <div class="builds">
+    :for $builds.keys() -> $day {
+      <h3 class="builds-day" id="builds-day-<: $day :>"><: $day :></h3>
+      <div class="commits" id="commits-day-<: $day :>">
+        :for $builds[$day] -> $build {
+          <div class="commit" id="<: $build.commit :>">
+            <div class="description">
+              <div class="message"><pre><: $build.message :></pre></div>
+              <div class="name"><: $build.author.name :></div>
+              <div class="date"><: $build.timestamp :></div>
+              <div class="builds">
                 :for $build.version.keys() -> $version {
-                    <a href="<: $uri_base :>/api/build/<: $project :>/<: $build.commit :>/<: $version :>"><: $version :></a> <span class="<: $build.version[$version] :>"><: $build.version[$version] :></span>
+                  <a href="<: $uri_base :>/api/build/<: $project :>/<: $build.commit :>/<: $version :>"><: $version :></a> <span class="<: $build.version[$version] :>"><: $build.version[$version] :></span>
                 :}
+              </div>
             </div>
-        </div>
-        <div class="git">
-            commit&nbsp;&nbsp;<a href="<: $build.url :>"><: $build.commit :></a><br />
-        </div>
-    </div>
-    <div class="display_test_result" style="display: none" id="result-<: $build.commit :>">
-    </div>
-:}
-</div>
-
-</div>
+            <div class="git">
+              commit&nbsp;&nbsp;<a href="<: $build.url :>"><: $build.commit :></a><br />
+            </div>
+          </div>
+          <div class="display_test_result" style="display: none" id="result-<: $build.commit :>">
+          </div>
+        :}
+      </div>
+      <hr />
+      :}
+  </div>
 </div>