From f136fa3db49d9183142b72c3eae8609761a4a615 Mon Sep 17 00:00:00 2001
From: Sybil <sybil.deboin@gmail.com>
Date: Thu, 18 Sep 2014 22:10:20 +0200
Subject: [PATCH] Cloud for users and tags. Menu added with users,channels,
 tags ...

---
 app/assets/javascripts/music_player.js        |   3 ++
 app/assets/stylesheets/music_index.css        |  25 ++++++++++-
 app/controllers/channels_controller.rb        |  42 +++++++++++++++++-
 app/controllers/tags_controller.rb            |   6 ++-
 app/views/channels/index.html.erb             |   5 +++
 app/views/channels/index_users.html.erb       |   3 ++
 .../layouts/.application.html.erb.swp}        | Bin 12288 -> 12288 bytes
 app/views/layouts/application.html.erb        |   8 ++++
 .../._music.html.erb.swp}                     | Bin 12288 -> 12288 bytes
 app/views/tags/index.html.erb                 |   2 +-
 config/routes.rb                              |   1 +
 11 files changed, 90 insertions(+), 5 deletions(-)
 create mode 100644 app/views/channels/index.html.erb
 create mode 100644 app/views/channels/index_users.html.erb
 rename app/{controllers/.tags_controller.rb.swp => views/layouts/.application.html.erb.swp} (77%)
 rename app/views/{tags/.index.html.erb.swp => shared/._music.html.erb.swp} (90%)

diff --git a/app/assets/javascripts/music_player.js b/app/assets/javascripts/music_player.js
index 11e84bd..8d1ade0 100644
--- a/app/assets/javascripts/music_player.js
+++ b/app/assets/javascripts/music_player.js
@@ -42,6 +42,9 @@ function next_music() {
   else if (music_info.data().player == "soundcloud" ) {
     soundcloud_player();
   }
+  else {
+    next_music();
+  }
 }
 
 function onPlayerStateChange(event) {
diff --git a/app/assets/stylesheets/music_index.css b/app/assets/stylesheets/music_index.css
index 5bba9c0..7176eca 100644
--- a/app/assets/stylesheets/music_index.css
+++ b/app/assets/stylesheets/music_index.css
@@ -15,9 +15,13 @@ a
   padding: 2px 6px;
 }
 
-.tags{
+.cloud{
   color: rgba(0, 110, 140, 0.95);
 }
+.cloud:hover{
+  color: rgba(255,220,180,1);
+  background-color: rgba(0, 110, 140, 0.95);
+}
 
 a:hover{
   background-color: rgba(255,220,180,1);
@@ -69,6 +73,25 @@ ul
   background-color: rgba(0, 110, 140, 0.8);
 }
 
+.menu {
+  background-color: rgba(0, 110, 140, 1);
+  margin: auto;
+  cursor: pointer;
+  border-radius: 12px;
+  width: 60%;
+}
+
+.menu a{
+  width: 24.55%;
+  padding: 15px 0;
+  border-radius: 12px;
+  display: inline-block;
+  font: 20px Helvetica Neue, Helvetica, Arial, sans-serif;
+  overflow: hidden;
+  vertical-align: middle;
+  text-align: center;
+}
+
 .music_id
 {
   width: 5%;
diff --git a/app/controllers/channels_controller.rb b/app/controllers/channels_controller.rb
index 60f1af5..f9d254c 100644
--- a/app/controllers/channels_controller.rb
+++ b/app/controllers/channels_controller.rb
@@ -1,12 +1,50 @@
 class ChannelsController < ApplicationController
-  def index_user
-    @users = Channel.all
+  def index_users
+    users = Channel.all
+
+    list_users = Array.new
+    users.each do |user| 
+      list_users.push(user.sender_irc)
+    end
+
+    @usercloud = Hash.new
+    list_users.each do |user|
+      if @usercloud.key?(user)
+        @usercloud[user] += 1.0
+      else
+        @usercloud[user] = 1.0
+      end
+    end
+
+    max_weight = @usercloud.values.max
+    @usercloud.each do |user, occ|
+        @usercloud[user] = occ / max_weight
+    end
 
     respond_to do |format|
       format.html
     end
   end
 
+  def index
+    channels = Channel.all
+    list_channels = Array.new
+    channels.each do |channel| 
+      list_channels.push(channel.chan)
+    end
+
+    @channels = Array.new
+    list_channels.each do |channel|
+      if @channels.include?(channel) == false
+        @channels.push(channel)
+      end
+    end
+   
+    respond_to do |format|
+      format.html
+    end 
+  end
+
   def show_user
     @musics = Music.joins(:channel).where(playbot_chan: {sender_irc: params[:user]}).page params[:page]
     respond_to do |format|
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index 662172d..d33f92e 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -19,7 +19,11 @@ class TagsController < ApplicationController
 
     max_weight = @tagcloud.values.max
     @tagcloud.each do |tag, occ|
-      @tagcloud[tag] = occ / max_weight
+      if occ == 1
+        @tagcloud.delete(tag)
+      else
+        @tagcloud[tag] = occ / max_weight
+      end
     end
 
     respond_to do |format|
diff --git a/app/views/channels/index.html.erb b/app/views/channels/index.html.erb
new file mode 100644
index 0000000..c140c31
--- /dev/null
+++ b/app/views/channels/index.html.erb
@@ -0,0 +1,5 @@
+<ul>
+<% @channels.each do |channel| %>
+  <li><%= link_to channel, '/musics/channels/'+channel.sub('#',''), class: "cloud" %></li>
+<% end %>
+</ul>
diff --git a/app/views/channels/index_users.html.erb b/app/views/channels/index_users.html.erb
new file mode 100644
index 0000000..96582fb
--- /dev/null
+++ b/app/views/channels/index_users.html.erb
@@ -0,0 +1,3 @@
+<% @usercloud.each do |user,weight| %>
+  <%= link_to user, '/musics/users/'+user, style: "font-size:"+(15+weight*200).to_s+"px", class: "cloud" %>
+<% end %>
diff --git a/app/controllers/.tags_controller.rb.swp b/app/views/layouts/.application.html.erb.swp
similarity index 77%
rename from app/controllers/.tags_controller.rb.swp
rename to app/views/layouts/.application.html.erb.swp
index b244a6ae9666bf727f934b4ad71ca9a05674b0e9..1caf2a10765c22112bcad1804794860ce23a4401 100644
GIT binary patch
literal 12288
zcmYc?2=nw+FxN9-U|?VnU|_H{l@4j<dc$HT$iPrsnUt9W5+{H|iW3VmvNKZ&sjUMW
zs2`r16p)ix>6BlhpIA_!UzV9#UaX&!Seaj1QVbHw$xKcx$;{8w%P7gs(Mv5#B4GWf
z^k@i-h5(@uC@o3TwcuqiHZn8-DOFZdR1g*l1u;kQXb6mkz-S1JhQMeDjE2By2#kin
zXb6mkzz7L}k^)ACdIkmtCa8a9pfn>I4dsqfqaiRF0;3@?8UmvsFd71*Aut*OqaiRF
z0;3@?8UmvsFd70wFa#1)7#L!C7#LpiK<58p{r?aA3=A*%85kb%GcX+EXJE+WXJ82A
zXJGK;XJByRXJD}AXJAm}XJGij$G~uukAYzZ9|J=!9|J=&9|J=)9|MCO9|MC79|MCh
z9|Hp$9|Hp`9|OZ*UIvB@ybKJbybKJ6ybKJVco-NyLhT0eMR*w)gn1blzVk3JeB)tY
zc+SJX@QjCnVHytu!&DvyhI8Bu3_;us3@^DD7-n%XFr;!ZFxYT0Fns1@U^v6cz;K$A
zfngUX1H(>E28KnP3=9i785rC-85rC+85s6*Ffi=lU|^Wb!N4$wgMq=3gMq<}V+cmr
zsFO!SU^E0qLtr!nMnho0Lcm5Jv^LL<fx)I2iJ4rKSx}--T$F69lu=SrP;8~IU#?f2
zUz(SaoReRgqL-YXt6z|lSeaU+pIDHomsPA}XQN*X)@8?F17RR*w;^CQA$dyd*4IzY
z&&x|qE<rb>I3-)xNY6me0NMRCbO|n_F~u=Outx=fP(}AJ?ieH5Afgo_rxCI=;Z9go
zHV!$RqNWwPS%j3UV2N@d?MBHEC0H}GzJ7UmxgKbtZ)s90xH!m6D@x2wjZZAdL@5g>
z^oI>LfGD!SB@Su?QdCZ%#y^&5p=Qvi+A3rvmL)<;%lOQ^<ebu!)cBIbbOrUqf&$pu
zX>}b1^_0YtMBS3oqNMzs%)IPk-IAij<ZN{XTRVl4qS90aRXYY7{iOVqN>DMbYO7G0
znVORV5>-&J(ND=Nvtv+DP*AW*$t+XIOtDph6a(=|Ir+)iptypnK$kDbFU|xl-c|x>
zx6v=n0ns26b26c<;)29HJDWs>jH1*uTP6LH#Pnh%yO6~6VjKNLP<;TBR)E-zrnIy;
zwWwIhE)+x&RGgfVn3tEDQ><j?3}q42l3QAwnOv-7=aHYAim5m!Qz1DgvAEb)DK|B*
z6yiUS_iP|xXrrHznwSFeqm8PqLUM6YT6}J5Ng^m_ilL#ZYO7FOQkj!loROMZ5)X<L
zkSr*a(V{LlH6=6AN<lp_Cx^I*R8X)f$t=l9wL`3}x6y})FxWucWdo_PZ4_PnokJo6
ITooXE01n^ffB*mh

literal 12288
zcmYc?2=nw+FxN9-U|?VnU|={BBNeil{S}LyAOk~jWm0AiNSpu;DNZcN$j(e9q_z%h
zpniC2Qb0~(rBi;1equp^esX?ZNl|`IPHIuHeo10_aXdmmuPBLt)uYm*Aut*O#DqX;
zNt&(&FN3j>p#ey_vXY{Luuv$7If_R^U^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qNC=b^
zFf!CLFfcGd{i_0{8PRAcca$0pfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z
z5Ez0XkeI^2u$+g1A($63{}1c`U*>0ExWv!EaEzaUVKYAi!zO+Ph8g?}3=RAY3`zV9
z3{m_H43Yc{3=aGZ3@ZE#4D9?23@`Z@81C^gFdXD#VA#&bz_6Z=fngmV149QN14B9=
z1A{#u1A{pq1A`eK1A{al0|O@?0|O%;1H*4#28Lg}3=Hpi85kz<GBA|$GBBj_GBCvQ
zGBAYmLfq!f%fRrHhk@ZJ4+Fz49tMUw9tMU|9tMUy9tH+?9tH+G9tH*}o*@_kqfQ<T
zfzc2c4S~@R7!85Z5Eu=C(GVC7fk6=hsd*_33JMSsK`SVv<rn29mgr@a<mNCyWK;7}
z;0y)@1zd{Z5~*<2a0Y&D3Pq{K1^Ia?@g?~RDftRDU?(8yMPkA&0l5RL4(e18AK4gm
zJ?MOp=RtZf%}B)spaDj_Ntm80sR4(CLvCqtW^%EDt%5Izp_i4PnOCe~1zH}hsaKwn
zT9m3$kds)MlwT4L60=gME=f$cQYc6)O3W>e2C0j!)zm9UOizW2fjF@Y3JNKyX$r*|
z`Q;1*BNya*<Pd`ed`S&RFLEq9lq9An=j4~BM3*F{$12z=<R>R9=quzVR>YU5W~OJ9
zKs*IgrI(tRoB@u=lEic!kYb3h5$Y9e72sy-l_lnsrWWhvCRU)^3khkEI~5S>VQw(g
zGXPtwppcqVoC;-PsMEGpKq$;iLl~o%omy$HQIeRh3D%mESquql6vso{4R@-7t%65l
zafV)ADmZwNg9xF&ptLvxWUe0EY)}-U8moY6r-H45V^L9JCBk5k76n^{ki>Mo#GD*x
pv}Wd|q*gF6B<Ca+7lWjVo#9LC6>Jn73kq^FlM_oa^Yakm3;>8$YcK!+

diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 280a739..fd88f04 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -6,6 +6,14 @@
   <%= csrf_meta_tags %>
 </head>
 <body>
+  <ul>
+    <li class="menu">
+    <span><a href="/musics">Home</a></span> 
+    <span><a href="/channels">Channels</a></span> 
+    <span><a href="/users">Users</a></span> 
+    <span><a href="/tags">Tags</a></span> 
+    </li>
+  </ul>
   <div id="player_position">
     <div id="player_block"></div>
   </div>
diff --git a/app/views/tags/.index.html.erb.swp b/app/views/shared/._music.html.erb.swp
similarity index 90%
rename from app/views/tags/.index.html.erb.swp
rename to app/views/shared/._music.html.erb.swp
index d5ad42a4d32c6f2e43c83e2ad14a3329ba26cb4a..7de8c0b5ec70c19b8cf878edc212195df87c3eff 100644
GIT binary patch
literal 12288
zcmYc?2=nw+FxN9-U|?VnU|^WFR5D~D(>oSBK?a86%B0L3kT?MxQk+<jk)4@JNNpY1
zK>hI4q=1~nN~io1{ltO-{j$u|@?!nsjKreU6#e+z(&Efyy^NCF9KF<{Bmx$XN{@!X
zXb2D&0;MHsx)!_)#zuw)APve&iVDI)p&;fc9u0xf5Eu=C(GVC7fzc2c4S~@R7!85Z
z5EvmLP*T9iP|v`?zy$TLIFx2YqoLeUYBU5!Ltr!nMnhmU1V%$(Gz3ONU^E0qLtr!n
zMnhmU1V%$(2!=pn3Ijt74+Fy$9?1MZtpER*pMl{RKLf*Jeg=j~{0t05{0t1<{0t0g
z{0s~a_!t;2^D!_i=3`)J=VM^d<zrw_=3`)B<6~gB!^^;MiI;(48!rPxGA{!|BrgMl
zH7^6h6CMVJTTpv0gX|iDVKwUH(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fx#C7Hu^c4
zb_@y%Hu}W{iFqKFf`W~ztwK&_UUqy*z5-;8adJjtUS4XBUU6z(N@`JjW>K<^g1SCf
zu2{dcIJKx)UtJr_)x%V(pb9e924ucMa!z7#v8@tVX*|R<C9o`-^+k#08em0wC5h?9
zdbx=O)iotGa95Rpgpr&8Qlzi04HmA|%gWEp(@;`S($vIhHAn+ii&6bul39|Issjy#
z(xM#P=7AIvVIVAYKs1v3LEOC59L!JzN$3@qCTXZEtLvz%<Mt3pA;f;naL!CovIE5_
zBtSD$6jbeyqdPSZBm&l~prD{oQk0mStze7rG}wOqjFOUqVyhVa7=4ZM^70rxP5a{f
z(!7-9ocz+17`^2D+!%d*kP8_=W~Am6XQn|-D5)$+Rj{>HP(r9z0xQC4m7Z3aEy65J
zgDUe&OG=Ycl@u5h6jBmP5_L<9a%`1AK7<Jr<Rn(67D2=yz6QHO)efO2GX+^194JZ(
b3^qBLur!*SlbM{In3R(m4@wioN(u}BL2)uK

delta 292
zcmZojXh;xEG6?hZRWR2xVPIfj5MW?97$X%jd7@~sa7ki%v3_P=N@|5(MoDgtUTRU&
zW=0l2=FKme)p;0MHVX=T=2uhUXJ826hv;MhnZUrnaGRfjA)23oArLC(%fDGsK#9Lz
z0VHpus*swOqM&NWprBx*YO9cwnU@`3lCMydSgxUDQ(Takr;wbJSX^uyqXcq5jFLie
zNo7u|ZH!V{eqM=gab{Jjm6EoGp{aIxYG!&yiI$Opfu>$betfaEQb9$GlAV%vNn*OT
zl8rvdEITDl9R+p$+|uIAWYc1Okcs;0AO#=?*r+Nvlq9An=j4~B=%pqmXDFoPE7X)E
Mrt3hAt^p|m0Q6B#w*UYD

diff --git a/app/views/tags/index.html.erb b/app/views/tags/index.html.erb
index 6bef3ea..f2321bf 100644
--- a/app/views/tags/index.html.erb
+++ b/app/views/tags/index.html.erb
@@ -1,4 +1,4 @@
 <% @tagcloud.each do |tag,weight| %>
-  <%= link_to raw("<span class=\"tags\" style=\"font-size:"+(15+weight*200).to_s+"px\">"+tag+"</span>"), '/musics/tags/'+tag %>
+  <%= link_to tag, '/musics/tags/'+tag, style: "font-size:"+(15+weight*200).to_s+"px", class: "cloud" %>
 <% end %>
 
diff --git a/config/routes.rb b/config/routes.rb
index c05a8d5..2d90b5c 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -62,4 +62,5 @@ Rails.application.routes.draw do
   get '/musics/tags/:tag', to: "tags#show"
   get '/musics/users/:user', to: "channels#show_user"
   get '/musics/channels/:channel', to: "channels#show_channel"
+  get '/users', to: "channels#index_users"
 end
-- 
GitLab