From 2305a8a30011a4681e3c61e04d52560067b4fd66 Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Sat, 4 Mar 2023 11:37:53 -0500 Subject: [PATCH] Added ability to view and edit video scripts --- assets/styles/drake.scss | 10 ++++++++-- lib/routes/video.rb | 29 ++++++++++++++++++++++++++++- views/video/edit-script.erb | 20 ++++++++++++++++++++ views/video/script.erb | 9 +++++++++ views/video/view.erb | 4 ++++ 5 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 views/video/edit-script.erb create mode 100644 views/video/script.erb diff --git a/assets/styles/drake.scss b/assets/styles/drake.scss index 720d585..6b333e5 100644 --- a/assets/styles/drake.scss +++ b/assets/styles/drake.scss @@ -88,7 +88,7 @@ hr{ } #sidebar{ - background: #ddd; + background: #eee; border: 1px solid #666; div:not(:last-child){ @@ -105,7 +105,8 @@ hr{ } } - .actions-bar{ + .actions-bar, + .script-controls{ padding: 0; span{ @@ -138,3 +139,8 @@ hr{ } } } + +#video_script{ + max-width: 100%; + min-height: 250px; +} diff --git a/lib/routes/video.rb b/lib/routes/video.rb index 41c2e00..5a5fe96 100644 --- a/lib/routes/video.rb +++ b/lib/routes/video.rb @@ -42,13 +42,20 @@ namespace '/video' do get '/:video_id' do video = Video.where(id: params[:video_id]).first() - puts "#{video.name}" erb :'video/view', :locals => { :title => video.name, :video => video } end + get '/:video_id/script' do + video = Video.where(id: params[:video_id]).first() + erb :'video/script', :locals => { + :title => "Script: #{video.name}", + :video => video + } + end + get '/:video_id/edit' do video = Video.where(id: params[:video_id]).first() channels = Channel.all() @@ -86,4 +93,24 @@ namespace '/video' do redirect "/video/#{video.id}" end + get '/:video_id/edit/script' do + video = Video.where(id: params[:video_id]).first() + erb :'video/edit-script', :locals => { + :title => "Editing script: #{video.name}", + :video => video + } + end + post '/:video_id/edit/script' do + # find video and temporarily save the old video path + video = Video.where(id: params[:video_id]).first() + + # edit video attributes + video.update( + script: params[:video_script] + ) + + # redirect the user + redirect "/video/#{video.id}" + end + end diff --git a/views/video/edit-script.erb b/views/video/edit-script.erb new file mode 100644 index 0000000..62d7d1c --- /dev/null +++ b/views/video/edit-script.erb @@ -0,0 +1,20 @@ +
+
+

Editing script for: <%= video.name %>

+
+
+ +
+
+
+
+
+ + +
+
+ + +
+
+
diff --git a/views/video/script.erb b/views/video/script.erb new file mode 100644 index 0000000..847f5c0 --- /dev/null +++ b/views/video/script.erb @@ -0,0 +1,9 @@ +
+
+

Script: <%= video.name %>

+ +
+ + <%= video.parseScript() %> +
+
diff --git a/views/video/view.erb b/views/video/view.erb index 0b8ea5d..6875ac1 100644 --- a/views/video/view.erb +++ b/views/video/view.erb @@ -23,6 +23,10 @@

<%= video.directory_path %>

+
+ View script + Edit script +