Răsfoiți Sursa

Added header.

KrisVos130 9 ani în urmă
părinte
comite
ae1fd0d078

+ 1 - 0
app/.meteor/packages

@@ -27,3 +27,4 @@ joncursi:socket-io-client
 meteorhacks:async
 altapp:recaptcha
 http
+zimme:iron-router-active

+ 3 - 0
app/.meteor/versions

@@ -17,6 +17,7 @@ caching-compiler@1.0.0
 caching-html-compiler@1.0.2
 callback-hook@1.0.4
 check@1.0.6
+coffeescript@1.0.10
 ddp@1.2.2
 ddp-client@1.2.1
 ddp-common@1.2.1
@@ -92,3 +93,5 @@ underscore@1.0.4
 url@1.0.5
 webapp@1.2.2
 webapp-hashing@1.0.5
+zimme:active-route@2.0.4_1
+zimme:iron-router-active@2.0.1

+ 3 - 14
app/app.css

@@ -354,20 +354,6 @@ footer a:hover{
 .button:hover {
   background-color: #f5f7f9;
 }
-
-.logout{
-  position: fixed;
-  top: 2px;
-  left: 2px;
-  background-color: white;
-  padding: 12px;
-  cursor: pointer;
-  border-radius: 100%;
-  z-index: 2;
-  width: 38px;
-  height: 38px;
-  text-align: center;
-}
 .station{
   background-color: rgba(102,205,170,0.7);
   height: 300px;
@@ -675,4 +661,7 @@ footer a:hover{
 }
 .chat-message:nth-child(odd) {
   background-color: #F2F2F2;
+}
+#header {
+  margin-bottom: 0px;
 }

+ 29 - 10
app/app.js

@@ -57,6 +57,35 @@ if (Meteor.isClient) {
         return artist;
     }
 
+    curPath=function(){var c=window.location.pathname;var b=c.slice(0,-1);var a=c.slice(-1);if(b==""){return"/"}else{if(a=="/"){return b}else{return c}}};
+
+    Handlebars.registerHelper('active', function(path) {
+        return curPath() == path ? 'active' : '';
+    });
+
+    Template.header.helpers({
+        currentUser: function() {
+            return Meteor.user();
+        },
+        isAdmin: function() {
+            if (Meteor.user() && Meteor.user().profile) {
+                return Meteor.user().profile.rank === "admin";
+            } else {
+                return false;
+            }
+        }
+    });
+
+    Template.header.events({
+        "click .logout": function(e){
+            e.preventDefault();
+            Meteor.logout();
+            if (hpSound !== undefined) {
+                hpSound.stop();
+            }
+        }
+    });
+
     Template.register.events({
         "submit form": function(e){
             e.preventDefault();
@@ -122,14 +151,6 @@ if (Meteor.isClient) {
     });
 
     Template.dashboard.events({
-        "click .logout": function(e){
-            e.preventDefault();
-            Meteor.logout();
-            if (hpSound !== undefined) {
-                hpSound.stop();
-            }
-        },
-
         "click #croom_create": function() {
             Meteor.call("createRoom", $("#croom").val(), function (err, res) {
                 if (err) {
@@ -651,8 +672,6 @@ if (Meteor.isServer) {
                 playlist = Playlists.find({type: type}).fetch()[0];
                 songs = playlist.songs;
             }
-            console.log(playlist.lastSong, type);
-            console.log(playlist.lastSong, type);
             var currentSong = playlist.lastSong;
             addToHistory(songs[currentSong], startedAt);
 

+ 1 - 0
app/templates/admin.html

@@ -1,4 +1,5 @@
 <template name="admin">
+    {{> header}}
     <div class="landing row">
         {{#each queues}}
             <div class="col-md-8 col-md-offset-2 ">

+ 1 - 1
app/templates/dashboard.html

@@ -1,6 +1,6 @@
 <template name="dashboard">
     <div class="landing">
-         <i class="fa fa-power-off logout" tooltip="Logout"></i>
+         <!--i class="fa fa-power-off logout" tooltip="Logout"></i-->
         <div class="row">
            {{#each rooms}}
               <div class="col-md-4 col-sm-6 col-xs-12">

+ 43 - 0
app/templates/header.html

@@ -0,0 +1,43 @@
+<template name="header">
+    <nav class="navbar navbar-default" id="header">
+        <div class="container-fluid">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                <a class="navbar-brand" href="#">Music App</a>
+            </div>
+
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+                <ul class="nav navbar-nav">
+                    <!--li class="active"><a href="">Link <span class="sr-only">(current)</span></a></li-->
+                    <li class="{{isActivePath '/'}}"><a href="/">Home</a></li>
+                    {{#if isAdmin}}
+                        <li class="{{isActivePath '/admin'}}"><a href="/admin">Admin</a></li>
+                    {{/if}}
+                </ul>
+                <!--form class="navbar-form navbar-left" role="search">
+                    <div class="form-group">
+                        <input type="text" class="form-control" placeholder="Search">
+                    </div>
+                    <button type="submit" class="btn btn-default">Submit</button>
+                </form-->
+                <ul class="nav navbar-nav navbar-right">
+                    <li class="dropdown">
+                        {{#if currentUser}}
+                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{currentUser.profile.name}} <span class="caret"></span></a>
+                            <ul class="dropdown-menu">
+                                <li><a href="#" class="logout">Logout</a></li>
+                            </ul>
+                        {{/if}}
+                    </li>
+                </ul>
+            </div><!-- /.navbar-collapse -->
+        </div><!-- /.container-fluid -->
+    </nav>
+</template>

+ 1 - 0
app/templates/home.html

@@ -1,4 +1,5 @@
 <template name="home">
+    {{> header}}
     {{#if currentUser}}
     <div id="dashboard">
         {{> dashboard}}

+ 1 - 0
app/templates/privacy.html

@@ -1,4 +1,5 @@
 <template name="privacy">
+    {{> header}}
     <div class="privacy">
         <h2>Privacy Policy</h2>
 

+ 1 - 0
app/templates/room.html

@@ -1,4 +1,5 @@
 <template name="room">
+    {{> header}}
     <div class="landing">
         {{#if loaded}}
             <h1 class="room-name">{{{type}}}</h1>

+ 1 - 0
app/templates/terms.html

@@ -1,4 +1,5 @@
 <template name="terms">
+    {{> header}}
     <div class="terms">
         <h1>Terms of Service</h1>
         <small>Last updated: Septemeber 29, 2015</small>