Skip to content

Commit

Permalink
Merge pull request leouofa#101 from realstorypro/upgraded-discussions
Browse files Browse the repository at this point in the history
upgraded discussions display & introduced filter based sort ordering
  • Loading branch information
Leonid Medovyy committed Jul 24, 2023
2 parents f77638d + 9f3ba18 commit d3cdf44
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 22 deletions.
13 changes: 12 additions & 1 deletion app/controllers/discussions_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ class DiscussionsController < ApplicationController
include RestrictedAccess
def index
scope = set_scope
sort_order = set_sortorder

@discussions = Discussion.send(scope).order(id: :desc).page params[:page]
@discussions = Discussion.send(scope).order(sort_order).page params[:page]
@total_discussions = Discussion.send(scope).count
end

Expand All @@ -28,4 +29,14 @@ def set_scope

'all'
end

def set_sortorder
if params[:scope] && params[:scope] == 'unpublished'
'id desc'
elsif params[:scope] && params[:scope] == 'published'
'published_at desc'
end

'id desc'
end
end
6 changes: 6 additions & 0 deletions app/models/discussion.rb
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,10 @@ class Discussion < ApplicationRecord

scope :published, -> { where(uploaded: true) }
scope :unpublished, -> { ready_to_upload }

def parsed_stem
return false if invalid_json

JSON.parse(stem)
end
end
30 changes: 9 additions & 21 deletions app/views/discussions/index.html.slim
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,18 @@
=r ux.segment '!mt-10 !mb-20 !bg-zinc-100 !border-4 !border-zinc-200 !shadow-xl !px-10 !py-10 overflow-x-hidden'
=r ux.code
=r ux.div 'text-right'
= link_to 'Show Discussion', discussion_path(discussion)
= link_to 'Show Full Discussion', discussion_path(discussion)

=r ux.strong 'text-blue-800 !mb-80'
=r ux.h4 text: discussion.parsed_stem["title"], class: '!mb-0'

=r ux.div 'text-blue-800 font-bold mb-4'
= "Tag: #{discussion.story.tag.name}"
br
=r ux.strong "#{discussion.story.processed ? ' text-green-800' : 'text-red-800'} !mb-80"
= "Processed: #{discussion.story.processed}"

=r ux.text text: discussion.parsed_stem["summary"], class: 'mb-8'

- if discussion.story.images.count.positive?
=r ux.div
= "Images: #{discussion.story.images.count}"
=r ux.div 'mb-2 bg-green-100 px-2 py-2'
= "#{pluralize(discussion.story.images.count, 'Image')} Generated"

- if discussion.story.images.first&.card_imagination.present? && discussion.story.images.first.card_imagination.payload["imageUrl"].present?
=r ux.div
Expand All @@ -35,19 +37,5 @@
=r ux.label text: "Invalid Images", class: 'purple'



=r ux.divider
=r ux.div text: 'Feed Items: ', class: 'mb-4 text-blue-600'
- discussion.story.feed_items.each do |feed_item|
=r ux.div 'mt-0'
=r ux.pre
=r ux.strong text: "Title: #{feed_item.title}"
=r ux.div text: "URL: #{feed_item.url}"
=r ux.div text: "Author: #{feed_item.author}"
=r ux.div text: "Published: #{feed_item.published}"
=r ux.div text: "Topic: #{discussion.story.sub_topic.topic.name}"
=r ux.div text: "Sub Topic: #{discussion.story.sub_topic.name}"
=r ux.divider

=r ux.div 'text-center'
= paginate @discussions

0 comments on commit d3cdf44

Please sign in to comment.