소스 검색

Merge branch 'master' of https://github.com/Musare/Musare

Akira Laine 9 년 전
부모
커밋
482eada59b

+ 1 - 1
app/.meteor/versions

@@ -96,5 +96,5 @@ underscore@1.0.4
 url@1.0.5
 webapp@1.2.3
 webapp-hashing@1.0.5
-zimme:active-route@2.0.4_1
+zimme:active-route@2.3.2
 zimme:iron-router-active@2.0.1

+ 13 - 2
app/client/app.css

@@ -720,11 +720,11 @@ footer .fa {
     margin: 1em auto 10px auto;
     text-align: left;
     font-size: 18px;
-    color: white;
+    color: #1C39B2;
     -webkit-transition-duration: 0.25s;
     transition-duration: 0.25s;
     font-weight: 300;
-    bottom: 0;
+    resize: vertical;
 }
 
 .song-input-select {
@@ -1323,3 +1323,14 @@ nav form input[type="image"]{
     color: #50a3a2;
     line-height: 18px;
 }
+.faq-small {
+    color: white;
+}
+.questions {
+    color: white;
+    font-size: 100;
+}
+.answers {
+    color: white;
+    font-size: 50
+}

+ 3 - 3
app/client/client.js

@@ -353,7 +353,7 @@ Template.room.events({
     "click #side-panel": function(e) {
         Meteor.setTimeout(function() {
         var elem = document.getElementById('chat');
-        elem.scrollTop = elem.scrollHeight;;
+        elem.scrollTop = elem.scrollHeight;
         }, 1);
     },
     "click #submit": function() {
@@ -1061,11 +1061,11 @@ Template.stations.events({
                 alert("The duration of the YouTube video is smaller than the duration.");
                 error = true;
             } else {
-                yt_player.seekTo(Session.get("song").duration - 10);
+                yt_player.seekTo(Session.get("song").skipDuration + Session.get("song").duration - 10);
             }
         }
         if (_sound !== undefined) {
-            _sound.seekTo((Session.get("song").duration - 10) * 1000);
+            _sound.seekTo((Session.get("song").skipDuration + Session.get("song").duration - 10) * 1000);
         }
         if (!error) {
             if (previewEndSongTimeout !== undefined) {

+ 69 - 0
app/client/emojidropdown.css

@@ -0,0 +1,69 @@
+/* AutoComplete styles for Emoji One */
+
+.dropdown-menu {
+    list-style: none;
+    padding: .3em 0 0;
+    margin: 0;
+    border: 1px solid #6E6E6E;
+    background-color: white;
+    border-radius: 5px;
+    overflow: hidden;
+    font-size: inherit;
+    letter-spacing: .025em;
+    box-shadow: 3px 3px 3px rgba(0,0,0,.2);
+}
+.dropdown-menu a:hover {
+    cursor: pointer;
+}
+.dropdown-menu li {
+    letter-spacing: 0;
+    display: block;
+    float: none;
+    margin: 0;
+    padding: 0;
+    border:none;
+}
+.dropdown-menu li:before {
+    display: none;
+}
+.dropdown-menu .textcomplete-footer {
+    margin-top: .3em;
+    background: #e6e6e6;
+}
+.dropdown-menu .textcomplete-footer a {
+    color: #999999;
+    text-decoration: none;
+    text-transform: uppercase;
+    letter-spacing: .05em;
+    line-height: 2.1818em;
+    padding-left: 1.8181em;
+    font-size: .84em;
+}
+.dropdown-menu .textcomplete-footer .arrow {
+    margin-left: .8em;
+    font-size: 1.3em;
+}
+.dropdown-menu li .emojione {
+    vertical-align: middle;
+    font-size: 1.23em;
+    width: 1em;
+    height: 1em;
+    top: -1px;
+    margin: 0 .3em 0 0;
+}
+.dropdown-menu li a {
+    display: block;
+    height: 100%;
+    line-height: 1.8em;
+    padding: 0 1.54em 0 .615em;
+    color: #4f4f4f;
+}
+.dropdown-menu .active,
+.dropdown-menu li:hover {
+    background: #6E6E6E;
+    color: white;
+}
+.dropdown-menu .active a,
+.dropdown-menu li:hover a {
+    color: inherit;
+}

+ 2 - 0
app/client/head.html

@@ -29,6 +29,8 @@
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
     <link href='http://fonts.googleapis.com/css?family=Oxygen:400,300,700' rel='stylesheet' type='text/css'>
     <script src="/bootstrap-slider.min.js"></script>
+    <script src="/jquery.textcomplete.min.js"></script>
+    <script src="/emojidropdown.js"></script>
     <script type="application/javascript">
         addEventListener("load", function() {
             setTimeout(hideURLbar, 0);

+ 2 - 2
app/client/routes.js

@@ -48,8 +48,8 @@ Router.route("/contact", {
     template: "contact"
 });
 
-Router.route("/api", {
-    template: "api"
+Router.route("/faq", {
+    template: "faq"
 });
 
 Router.route("/privacy", {

+ 0 - 13
app/client/templates/api.html

@@ -1,13 +0,0 @@
-<template name="api">
-    {{> alerts}}
-    <div class="landing">
-	    {{> header}}
-        <div class="row">
-            <div class="about col-md-8 col-md-offset-2">
-                <h2>API</h2>
-                <p>API documentation is under construction...</p>
-                <p>It's not our highest priority at the moment. So please be patient it will come soon.</p>
-            </div>
-        </div>
-    </div>
-</template>

+ 1 - 0
app/client/templates/contact.html

@@ -32,6 +32,7 @@
                 <ul class="contact-ul">
                     <li class="contact-option place-contact"><i class="fa fa-2x fa-map-marker contact-icon"></i> <span itemprop="address">Fredrikstad, Norway</span></li>
                     <li class="contact-option email-contact"><i class="fa fa-2x fa-envelope contact-icon"></i> <span itemprop="email">Johand@johand.me</span></li>
+                    <li class="contact-option twitter-contact"><i class="fa fa-2x fa-twitter contact-icon"></i> <a href="https://twitter.com/johand199">Johand199</a></li>
                 </ul>
             </div>
             <hr class="col-md-8 col-md-offset-2"/>

+ 29 - 0
app/client/templates/faq.html

@@ -0,0 +1,29 @@
+<template name="faq">
+    {{> alerts}}
+    <div class="landing">
+	    {{> header}}
+        <div class="row">
+            <div class="about col-md-8 col-md-offset-2">
+                <h1>FAQ <small class="faq-small">Frequently Asked Questions</small></h1>
+                <hr />
+                <h1 class="questions">How do I add a song?</h1>
+                <h2 class="answers">Yes,</h2>
+                <hr />
+                <h1 class="questions">Can I skip a song?</h1>
+                <h2 class="answers">Yes, and no. You can vote on skipping a song. You can click the blue skip button. when the counter hits 3, the song will be skipped. Admins and mods can skip songs without needing to vote, please do not ask us to skip songs!</h2>
+                <hr />
+                <h1 class="questions">I added a song but I can't find it in the Playlist</h1>
+                <h2 class="answers">When you have requested a song to the be added, a admin or mod need to accept or deny the request.</h2>
+                <hr />
+                <h1 class="questions">How do I get the emoji things in chat?</h1>
+                <h2 class="answers">You can find a full list at <a href="http://emoji.codes/" target="_blank">www.emoji.codes</a></h2>
+                <hr />
+                <h1 class="questions">Is there an API?</h1>
+                <h2 class="answers">No, sorry. But we will add one soon!</h2>
+                <hr />
+                <h1 class="questions">Chat commands?</h1>
+                <h2 class="answers">Just type /commands or /help in chat!</h2>
+            </div>
+        </div>
+    </div>
+</template>

+ 1 - 1
app/client/templates/footer.html

@@ -1,7 +1,7 @@
 <template name="footer">
     <footer>
         <p>Copyright © 2015 All Right Reserved</p>
-        <a href="/api" class="footerButtons" id="apiButton">API |</a>
+        <a href="/faq" class="footerButtons" id="FAQButton">FAQ |</a>
         <a href="/terms" class="footerButtons" id="termsButton">Terms |</a>
         <a href="/privacy" class="footerButtons" id="privacyButton">Privacy |</a>
         <a href="/about" class="footerButtons" id="aboutButton">About |</a>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 2
app/client/templates/room.html


+ 0 - 0
app/public/emojidropdown.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
app/public/jquery.textcomplete.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
app/public/jquery.textcomplete.min.map


+ 0 - 6
app/server/server.js

@@ -497,7 +497,6 @@ Meteor.methods({
     sendMessage: function(type, message) {
         if (Meteor.userId()) {
             var user = Meteor.user();
-            console.log(user);
             var time = new Date();
             var rawrank = user.profile.rank;
             var username = user.profile.username;
@@ -508,17 +507,14 @@ Meteor.methods({
                 throw new Meteor.Error(406, "Message length cannot be more than 300 characters long..");
             }
             else if (user.profile.rank === "admin") {
-                console.log("Log admin");
                 Chat.insert({type: type, rawrank: rawrank, rank: "[A]", message: message, time: time, username: username});
                 return true;
             } 
             else if (user.profile.rank === "mod") {
-                console.log("Log mod");
                 Chat.insert({type: type, rawrank: rawrank, rank: "[M]", message: message, time: time, username: username});
                 return true;
             }
             else {
-                console.log("Log " + rawrank);
                 Chat.insert({type: type, rawrank: rawrank, message: message, time: time, username: username});
                 return true;
             }
@@ -639,10 +635,8 @@ Meteor.methods({
     createUserMethod: function(formData, captchaData) {
         var verifyCaptchaResponse = reCAPTCHA.verifyCaptcha(this.connection.clientAddress, captchaData);
         if (!verifyCaptchaResponse.success) {
-            console.log('reCAPTCHA check failed!', verifyCaptchaResponse);
             throw new Meteor.Error(422, 'reCAPTCHA Failed: ' + verifyCaptchaResponse.error);
         } else {
-            console.log('reCAPTCHA verification passed!');
             Accounts.createUser({
                 username: formData.username,
                 email: formData.email,

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.