Commit 573969df00a4f3ae8f68e36fafc6403bf28b6ac7

Authored by Fernando Brito
1 parent dd55e8f9
Exists in master and in 2 other branches v2, wikilibras

Move menu to partial

app/assets/stylesheets/components/ribbon.css.scss 0 → 100644
... ... @@ -0,0 +1,62 @@
  1 +.ribbon-wrapper-green {
  2 + margin: 10px auto;
  3 + width: 200px;
  4 + height: 165px;
  5 + overflow: hidden;
  6 + top: -3px;
  7 + right: -3px;
  8 +
  9 + padding-top: 3px;
  10 +}
  11 +
  12 +.ribbon-content img {
  13 + border-radius: 3px;
  14 + -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  15 + -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  16 + box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  17 +
  18 + width: 200px;
  19 + height: 160px;
  20 +}
  21 +
  22 +.ribbon-green {
  23 + font: bold 15px Sans-Serif;
  24 + color: #333;
  25 + text-align: center;
  26 + text-shadow: rgba(255,255,255,0.5) 0px 1px 0px;
  27 + -webkit-transform: rotate(45deg);
  28 + -moz-transform: rotate(45deg);
  29 + -ms-transform: rotate(45deg);
  30 + -o-transform: rotate(45deg);
  31 + position: relative;
  32 + padding: 5px 0;
  33 + left: 118px;
  34 + bottom: 150px;
  35 + width: 110px;
  36 + background-color: #BFDC7A;
  37 + background-image: -webkit-gradient(linear, left top, left bottom, from(#BFDC7A), to(#8EBF45));
  38 + background-image: -webkit-linear-gradient(top, #BFDC7A, #8EBF45);
  39 + background-image: -moz-linear-gradient(top, #BFDC7A, #8EBF45);
  40 + background-image: -ms-linear-gradient(top, #BFDC7A, #8EBF45);
  41 + background-image: -o-linear-gradient(top, #BFDC7A, #8EBF45);
  42 + color: #6a6340;
  43 + -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
  44 + -moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
  45 + box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
  46 +}
  47 +
  48 +.ribbon-green:before, .ribbon-green:after {
  49 + content: "";
  50 + border-top: 3px solid #6e8900;
  51 + border-left: 3px solid transparent;
  52 + border-right: 3px solid transparent;
  53 + position:absolute;
  54 + bottom: -3px;
  55 +}
  56 +
  57 +.ribbon-green:before {
  58 + left: 0;
  59 +}
  60 +.ribbon-green:after {
  61 + right: 0;
  62 +}
0 63 \ No newline at end of file
... ...
app/assets/stylesheets/components/video_player.css.scss 0 → 100644
... ... @@ -0,0 +1,16 @@
  1 +.video-instructions {
  2 + display: block;
  3 + width: 100%;
  4 +
  5 + -moz-box-shadow: 0 0 5px 5px #888;
  6 + -webkit-box-shadow: 0 0 5px 5px #888;
  7 + box-shadow: 0 0 5px 5px #888;
  8 +}
  9 +
  10 +.video-vlibras {
  11 + max-width: 50%;
  12 +}
  13 +
  14 +.video-js {
  15 + width: 100%;
  16 +}
0 17 \ No newline at end of file
... ...
app/controllers/v_libras/requests_controller.rb
1 1 class VLibras::RequestsController < ApplicationController
2   - protect_from_forgery with: :null_session, :only => [ :callback ]
3 2 before_filter :check_vlibras_api_status, :only => [ :rapid, :create ]
4 3  
5   - before_filter :authenticate_user!
  4 + protect_from_forgery with: :null_session, :only => [ :callback ]
  5 + before_filter :authenticate_user!, :except => [ :callback ]
6 6  
7 7 def rapid
8 8 @request = VLibras::Request.new
... ...
app/helpers/application_helper.rb
... ... @@ -46,8 +46,8 @@ module ApplicationHelper
46 46 :data => { 'toggle' => "tooltip" }, :title => request.response)
47 47 end
48 48  
49   - def custom_video_tag(video)
50   - html5_video_tag('/video.mp4', "#video_#{video.id}")
  49 + def custom_video_tag(video, classes = nil)
  50 + html5_video_tag(video.url_mp4, "video_#{video.id}", classes)
51 51 end
52 52  
53 53 def html5_video_tag(url, id, classes = nil, *args)
... ...
app/models/v_libras/video.rb
... ... @@ -23,8 +23,18 @@ class VLibras::Video &lt; ActiveRecord::Base
23 23 self.update!(:seen => true) unless self.seen
24 24 end
25 25  
  26 + def thumb
  27 + self.url.gsub('flv', 'png')
  28 + end
  29 +
  30 + def url_mp4
  31 + self.url.gsub('flv', 'mp4')
  32 + end
  33 +
26 34 protected
27 35 def default_values
28 36 self.seen = false if self.seen.nil?
  37 +
  38 + return true
29 39 end
30 40 end
... ...
app/views/layouts/_menu.haml 0 → 100644
... ... @@ -0,0 +1,58 @@
  1 +.navbar.navbar-fixed-top
  2 + .navbar-inner
  3 + .container-fluid
  4 + %a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse"}
  5 +
  6 + = link_to "GTAaaS", home_path, :class => "brand"
  7 +
  8 + - if current_user.present?
  9 + .nav-collapse
  10 + %ul.nav
  11 + %li= link_to t('shared.main'), home_path
  12 +
  13 + %li.dropdown
  14 + %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
  15 + = t('shared.vlibras')
  16 + - if current_user.videos.not_seen.any?
  17 + %span.label.label-success Novo vídeo!
  18 + %strong.caret
  19 + %ul.dropdown-menu
  20 + %li
  21 + = link_to v_libras_videos_path do
  22 + = t('wikivideos.my_videos')
  23 + - if current_user.videos.not_seen.any?
  24 + %span.label.label-success= current_user.videos.not_seen.size
  25 + %li= link_to t('videos.new'), '#'
  26 + %li.divider
  27 + %li= link_to t('shared.form_alternative'), rapid_v_libras_requests_path
  28 +
  29 + %li.dropdown.hidden
  30 + %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
  31 + = t('shared.wikilibras')
  32 + %strong.caret
  33 + %ul.dropdown-menu
  34 + %li= link_to t('wikivideos.my_signals'), '#'
  35 + %li= link_to t('wikivideos.cadastro_sinal'), '#'
  36 + %li.divider
  37 + %li= link_to t('wikivideos.dicionario_de_dados'), '#'
  38 +
  39 + %li.hidden= link_to t('shared.slibras')
  40 +
  41 + %li= link_to t('shared.about'), "http://gtaaas.lavid.ufpb.br/projeto", :target => "blank"
  42 +
  43 + - if current_user.present?
  44 + %ul.nav.pull-right
  45 + %li.dropdown
  46 + %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
  47 + = current_user.name
  48 + %strong.caret
  49 + %ul.dropdown-menu
  50 + %li= link_to t('shared.edit'), ''
  51 + %li.divider
  52 + %li= link_to t('shared.logout'), destroy_user_session_path, :method => 'delete'
  53 +
  54 + /
  55 + <ul class="nav secondary-nav">
  56 + <li><haml_loud> link_to image_tag('pt.png'), url_for( :locale => 'pt' ), :title => "Português" </haml_loud></li>
  57 + <li><haml_loud> link_to image_tag('en.png'), url_for( :locale => 'en' ), :title => 'English' </haml_loud></li>
  58 + </ul>
0 59 \ No newline at end of file
... ...
app/views/v_libras/videos/index.haml
... ... @@ -11,35 +11,37 @@
11 11 .span4
12 12 .ribbon-wrapper-green
13 13 .ribbon-content
14   - = link_to image_tag("avatar.png"), video
  14 + = link_to image_tag(video.thumb), video
15 15 - unless video.seen
16 16 .ribbon-green Novo
17 17  
18 18 %p
19   - = link_to video_path(video), class: "btn btn-success" do
  19 + = link_to video.url_mp4, class: "btn btn-success" do
20 20 = content_tag(:span, '', :class => 'icon-download icon-white')
21 21 Baixar
22 22  
23 23 = link_to content_tag(:span, '', :class => 'icon-trash icon-white'), v_libras_video_path(video), method: :delete,
24 24 class: "btn btn-danger", data: { confirm: t('shared.confirm_delete') }
25 25  
26   -.breadcrumb.requests
27   - %h4= t('requests.list')
28   -
29   -.row-fluid
30   - .span8.offset2
31   - %table.table.table-hover.table-striped.table-requests
32   - %thead
33   - %tr
34   - %th Situação
35   - %th Vídeo
36   - %th Criado há
37   -
38   - - @requests.each do |request|
39   - %tr
40   - %td.span2= request_status_label(request)
41   - %td.span5= request.video_filename
42   - %td.span5= time_ago_in_words(request.created_at)
  26 +
  27 +- if @requests.any?
  28 + .breadcrumb.requests
  29 + %h4= t('requests.list')
  30 +
  31 + .row-fluid
  32 + .span8.offset2
  33 + %table.table.table-hover.table-striped.table-requests
  34 + %thead
  35 + %tr
  36 + %th Situação
  37 + %th Vídeo
  38 + %th Criado há
  39 +
  40 + - @requests.each do |request|
  41 + %tr
  42 + %td.span2= request_status_label(request)
  43 + %td.span5= request.video_filename
  44 + %td.span5= time_ago_in_words(request.created_at)
43 45  
44 46  
45 47  
... ...
app/views/v_libras/videos/show.haml
... ... @@ -2,4 +2,4 @@
2 2 %h3= "Vídeo #{@video.request.video_filename}"
3 3  
4 4 .row.text-center
5   - = custom_video_tag(@video)
6 5 \ No newline at end of file
  6 + = custom_video_tag(@video, 'video-vlibras')
7 7 \ No newline at end of file
... ...
lib/api_client/callback_processor.rb
... ... @@ -10,10 +10,10 @@ class ApiClient::CallbackProcessor
10 10 Rails.logger.debug "[VLibras::Callback] OK: #{params}"
11 11  
12 12 request.update!(:status => 'success')
13   - request.create_video(:url => params['response'])
  13 + request.create_video!(:url => params['response'])
14 14 end
15 15  
16 16 Rails.logger.debug "[VLibras::Callback] Notifying websocket channel"
17   - WebsocketRails[:requests_update].trigger(:update, {a: :b, c: :d})
  17 + WebsocketRails[:requests_update].trigger(:update, {})
18 18 end
19 19 end
20 20 \ No newline at end of file
... ...