Skip to content

Commit

Permalink
fixed share ayah
Browse files Browse the repository at this point in the history
  • Loading branch information
naveed-ahmad committed Feb 25, 2021
1 parent 3ca94aa commit e1202e4
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 24 deletions.
2 changes: 1 addition & 1 deletion app/javascript/stylesheets/organism/_translation.scss
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
// left: 0;
// }
}
.surah-ayah-link {
.ayah-badge-link {
// @include sm {
// position: absolute;
// top: 0px;
Expand Down
2 changes: 1 addition & 1 deletion app/presenters/advance_copy_presenter.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
class AdvanceCopyPresenter < BasePresenter
class AdvanceCopyPresenter < QuranPresenter
FOOT_NOTE_REG = /<sup foot_note=\d+>(\d+)<\/sup>/

def cache_key(action_name:)
Expand Down
25 changes: 14 additions & 11 deletions app/presenters/quran_presenter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ def initialize(context)
params[:reading] = 'true' == params[:reading]
end

def verse_actions_heading(verse)
"#{chapter_name_simple(verse)} - #{verse.verse_key}"
end

def show_chapter_name?(verse)
1 == verse.verse_number
end
Expand All @@ -48,12 +52,6 @@ def params_for_copy(verse)
#"#{params_for_verse_link}&range=#{range}&from=#{verse.verse_number}"
end

def render_translations?
strong_memoize :render_translation do
valid_translations.present?
end
end

def reading_mode?
strong_memoize :reading_mode do
reading = params[:reading].presence
Expand Down Expand Up @@ -101,14 +99,13 @@ def font_method

def params_for_verse_link
strong_memoize :verse_link_params do
query = {font: font_type}
if (translation = valid_translations).present?
"?translations=#{translation.join(',')}"
query[:translations] = translation.join(',')
end
end
end

def params_for_copy(verse)
#"#{params_for_verse_link}&range=#{range}&from=#{verse.verse_number}"
"?#{query.to_param}"
end
end

def render_translations?
Expand Down Expand Up @@ -154,4 +151,10 @@ def saved_translations(load_stored: true)
from_params
end
end

def chapter_name_simple(verse)
strong_memoize "chapter_#{verse.chapter_id}_name" do
verse.chapter.name_simple
end
end
end
10 changes: 7 additions & 3 deletions app/presenters/verse_presenter.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

class VersePresenter < BasePresenter
class VersePresenter < QuranPresenter
def verse
if params[:id].to_s.include?(':')
Verse.find_by(verse_key: params[:id])
Expand All @@ -13,6 +13,10 @@ def approved_tafsirs
ResourceContent.tafsirs.approved
end

def verse_key
verse.verse_key
end

def tafsir_languages
list = Language
.eager_load(:translated_name)
Expand Down Expand Up @@ -41,9 +45,9 @@ def share_url
translations = valid_translations

if translations.present?
"https://www.quran.com/#{verse.verse_key.sub(':', '/')}?translations=#{translations.join(',')}"
"https://www.quran.com/#{verse.verse_key}?translations=#{translations.join(',')}"
else
"https://www.quran.com/#{verse.verse_key.sub(':', '/')}"
"https://www.quran.com/#{verse.verse_key}"
end
end

Expand Down
11 changes: 6 additions & 5 deletions app/views/reader/_verse.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
data-text="<%= verse.text_uthmani %>">
<div>
<div class="translation__icons">
<a class="translation__icon surah-ayah-link"
<a class="translation__icon ayah-badge-link"
href="/<%= verse.verse_key %><%= @presenter.params_for_verse_link %>"
data-controller='track'
data-name='ayah-key'
Expand Down Expand Up @@ -38,7 +38,7 @@
<div class="actions-items">
<div class="actions-header">
<p class="text text--darkgrey text--medium text--regular">
<%= verse.chapter.name_simple %> - <%= verse.verse_key %>
<%= @presenter.verse_actions_heading(verse) %>
</p>
<span class="quran-icon icon-x" id=close-actions></span>
</div>
Expand All @@ -55,11 +55,11 @@

<a class="translation__icon"
data-controller="ajax-modal"
data-url="/<%= verse.chapter_id %>/copy_options<%= @presenter.params_for_copy(verse) %>"
data-url="/advance_copy/copy_options<%= @presenter.params_for_copy(verse) %>"
data-controller="track"
data-name='ayah-action'>
<i class="icon-copy"></i>
Copy advanced
<%= _t('action.copy.advance', default: 'Copy advanced') %>
</a>

<a class="translation__icon"
Expand Down Expand Up @@ -100,7 +100,8 @@

<div class="translation__text">
<div class="translation__arabic">
<div class="arabic <%= @presenter.font_method %>" data-verse="<%= verse.id %>">
<div class="arabic <%= @presenter.font_method %>"
data-verse="<%= verse.verse_key %>">
<% if @presenter.render_verse_words? %>
<%= render partial: 'reader/word', collection: verse.words %>
<% else %>
Expand Down
6 changes: 5 additions & 1 deletion app/views/verses/share.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@

<div id="modal">
<div class="modal-body">
<div data-controller="share" data-url="<%= @presenter.share_url %>" data-title="<%= @presenter.share_title %>" data-text="<%= @presenter.share_text %>" data-versek-key="<%= @presenter.verse.verse_key %>">
<div data-controller="share"
data-url="<%= @presenter.share_url %>"
data-title="<%= @presenter.share_title %>"
data-text="<%= @presenter.share_text %>"
data-versek-key="<%= @presenter.verse_key %>">
<div id="share-buttons" class="row justify-content-center flex-wrap">
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ en:
copy:
label: Copy
done: Copied!
advance: Advance Copy
search:
label: Search
placeholder: Search "Noah"
Expand Down
4 changes: 2 additions & 2 deletions config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@
get '/page/:page_number', to: 'quran#page', as: :quran_page
get '/juz/:juz_number', to: 'quran#juz', as: :quran_juz

get '/:chapter_id/copy_options', to: 'advance_copy#copy_options'
get '/:chapter_id/copy_text', to: 'advance_copy#copy_text'
get '/advance_copy/copy_options', to: 'advance_copy#copy_options', as: :advance_copy_options
get '/advance_copy/copy_text', to: 'advance_copy#copy_text'

get '/:id/load_verses', to: 'chapters#load_verses'

Expand Down

0 comments on commit e1202e4

Please sign in to comment.