Skip to content

Commit 8884725

Browse files
committed
add support for color english wbw translation
1 parent a6a082f commit 8884725

File tree

8 files changed

+42
-13
lines changed

8 files changed

+42
-13
lines changed

app/admin/content/resource_content.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,11 @@
427427
sidebar 'Data for this resource', only: :show do
428428
div do
429429
if resource.translation?
430-
link_to 'Translations', "/cms/translations?q%5Bresource_content_id_eq=#{resource.id}"
430+
if resource.one_word?
431+
link_to 'WBW Translations', "/cms/word_translations?q%5Bresource_content_id_eq=#{resource.id}"
432+
else
433+
link_to 'Translations', "/cms/translations?q%5Bresource_content_id_eq=#{resource.id}"
434+
end
431435
elsif resource.tafsir?
432436
link_to 'Tafsir', "/cms/tafsirs?q%5Bresource_content_id_eq=#{resource.id}"
433437
elsif resource.transliteration?

app/admin/quran/word.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ def scoped_collection
532532
tr do
533533
td link_to(trans.id, [:cms, trans])
534534
td link_to(trans.language_name, cms_language_path(trans.language_id)) if trans.language_id
535-
td trans.text
535+
td safe_html(trans.text)
536536
end
537537
end
538538
end

app/admin/word_translation.rb

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121

2222
column :language, &:language_name
2323
column :word
24-
column :text
24+
column :text do |r|
25+
safe_html r.text
26+
end
2527
actions
2628
end
2729

@@ -32,10 +34,13 @@
3234
row :language
3335
row :text do |resource|
3436
div class: resource.language_name.to_s.downcase do
35-
resource.text
37+
safe_html resource.text
3638
end
3739
end
38-
row :resource_content
40+
row :resource_content do |resource|
41+
resource_content = resource.get_resource_content
42+
link_to resource_content.name, [:cms, resource_content]
43+
end
3944
row :created_at
4045
row :updated_at
4146
end

app/assets/stylesheets/shared/content.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ body {
1010
direction: rtl;
1111
}
1212

13+
.english{
14+
direction: ltr;
15+
}
16+
1317
.saw {
1418
color: #FF00CC;
1519
}

app/assets/stylesheets/shared/corpus.scss

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,10 +145,11 @@
145145
color: #d8019c;
146146
}
147147

148-
.silver {
148+
.silver, .paren {
149149
color: #b4b4b4;
150150
}
151151

152-
.silver-light {
152+
// punctuation, brackets
153+
.silver-light, .punc {
153154
color: #bebebe;
154-
}
155+
}

app/jobs/draft_content/approve_draft_word_translation_job.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@ class ApproveDraftWordTranslationJob < ApproveDraftContentJob
55
private
66

77
def import_from_legacy_table
8-
Draft::WordTranslation.includes(:word)
9-
.where(resource_content_id: @resource.id)
10-
.find_each { |draft| import_word(draft) }
8+
Draft::WordTranslation
9+
.includes(:word)
10+
.where(resource_content_id: @resource.id)
11+
.find_each do |draft|
12+
import_word(draft)
13+
end
1114
end
1215

1316
def import_from_draft_content
@@ -22,6 +25,7 @@ def import_from_draft_content
2225

2326
def import_word(draft)
2427
word = draft.word
28+
2529
translation = WordTranslation.where(
2630
word_id: word.id,
2731
resource_content_id: @resource.id

app/models/word.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,12 @@ class Word < QuranApiRecord
144144
default_scope { order 'position asc' }
145145
alias_attribute :code_v4, :code_v2
146146

147+
def grammar_segmented_text
148+
morphology_word_segments.map do |seg|
149+
"<span class='#{seg.get_segment_color}'>#{seg.text_uthmani}</span>"
150+
end.join
151+
end
152+
147153
def self.ransackable_scopes(*)
148154
%i[letters_cont starts_with_eq ends_with_eq]
149155
end

app/views/resources/previews/_word_translation.html.erb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
.order('words.position ASC')
88

99
language_name = word_translations.first&.language_name.to_s.downcase
10+
is_colored = resource.name.include?('color')
1011
%>
1112

1213
<div class="tw-mt-5" data-controller="tabs">
@@ -79,10 +80,14 @@
7980
<% word_translations.each do |wt| %>
8081
<div class="tw-bg-gray-50 tw-p-2 tw-rounded-lg tw-border tw-border-gray-200 tw-text-center tw-min-w-[5rem]">
8182
<div class="tw-text-lg tw-text-gray-800 qpc-hafs tw-mb-2 tw-p-2">
82-
<%= wt.word.text_qpc_hafs %>
83+
<% if is_colored %>
84+
<%= safe_html wt.word.text_qpc_hafs %>
85+
<% else %>
86+
<%= safe_html wt.word.grammar_segmented_text %>
87+
<% end %>
8388
</div>
8489
<div class="tw-text-sm tw-text-gray-600 <%= language_name %>">
85-
<%= wt.text %>
90+
<%= safe_html wt.text %>
8691
</div>
8792
</div>
8893
<% end %>

0 commit comments

Comments
 (0)