thredded 0.9.3 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -4
- data/app/assets/javascripts/thredded/components/post_form.es6 +5 -0
- data/app/assets/javascripts/thredded/components/preview_area.es6 +52 -0
- data/app/assets/javascripts/thredded/components/topic_form.es6 +3 -0
- data/app/assets/javascripts/thredded/core/debounce.es6 +32 -0
- data/app/assets/javascripts/thredded/core/hide_soft_keyboard.es6 +2 -1
- data/app/assets/javascripts/thredded/core/mention_autocompletion.es6 +2 -2
- data/app/assets/javascripts/thredded/core/on_page_load.es6 +2 -2
- data/app/assets/javascripts/thredded/core/thredded.es6 +1 -0
- data/app/assets/stylesheets/thredded/_thredded.scss +1 -0
- data/app/assets/stylesheets/thredded/components/_pagination.scss +10 -1
- data/app/assets/stylesheets/thredded/components/_preview_area.scss +11 -0
- data/app/controllers/concerns/thredded/new_private_topic_params.rb +24 -0
- data/app/controllers/concerns/thredded/new_topic_params.rb +18 -0
- data/app/controllers/concerns/thredded/render_preview.rb +15 -0
- data/app/controllers/thredded/post_previews_controller.rb +28 -0
- data/app/controllers/thredded/posts_controller.rb +2 -0
- data/app/controllers/thredded/private_post_previews_controller.rb +28 -0
- data/app/controllers/thredded/private_topic_previews_controller.rb +14 -0
- data/app/controllers/thredded/private_topics_controller.rb +2 -15
- data/app/controllers/thredded/topic_previews_controller.rb +14 -0
- data/app/controllers/thredded/topics_controller.rb +2 -13
- data/app/mailer_previews/thredded/private_topic_mailer_preview.rb +3 -1
- data/app/mailers/thredded/private_topic_mailer.rb +2 -1
- data/app/models/concerns/thredded/post_common.rb +12 -0
- data/app/models/thredded/post.rb +3 -5
- data/app/models/thredded/private_post.rb +8 -5
- data/app/notifiers/thredded/email_notifier.rb +1 -1
- data/app/view_hooks/thredded/all_view_hooks.rb +20 -0
- data/app/view_models/thredded/private_topic_view.rb +4 -0
- data/app/view_models/thredded/topic_view.rb +4 -0
- data/app/views/thredded/post_previews/preview.html.erb +1 -0
- data/app/views/thredded/post_previews/update.html.erb +1 -0
- data/app/views/thredded/posts/_form.html.erb +1 -0
- data/app/views/thredded/posts/edit.html.erb +2 -0
- data/app/views/thredded/posts_common/_form.html.erb +3 -2
- data/app/views/thredded/posts_common/form/_content.html.erb +7 -0
- data/app/views/thredded/posts_common/form/_preview_area.html.erb +16 -0
- data/app/views/thredded/private_post_previews/preview.html.erb +1 -0
- data/app/views/thredded/private_post_previews/update.html.erb +1 -0
- data/app/views/thredded/private_posts/_form.html.erb +2 -0
- data/app/views/thredded/private_topic_mailer/message_notification.html.erb +9 -5
- data/app/views/thredded/private_topic_mailer/message_notification.text.erb +4 -3
- data/app/views/thredded/private_topic_previews/preview.html.erb +1 -0
- data/app/views/thredded/private_topics/_form.html.erb +15 -8
- data/app/views/thredded/private_topics/index.html.erb +5 -4
- data/app/views/thredded/private_topics/new.html.erb +1 -0
- data/app/views/thredded/private_topics/show.html.erb +8 -2
- data/app/views/thredded/shared/preview.html.erb +10 -0
- data/app/views/thredded/theme_previews/show.html.erb +7 -0
- data/app/views/thredded/topic_previews/preview.html.erb +1 -0
- data/app/views/thredded/topics/_form.html.erb +4 -3
- data/app/views/thredded/topics/edit.html.erb +1 -1
- data/app/views/thredded/topics/index.html.erb +5 -4
- data/app/views/thredded/topics/new.html.erb +4 -3
- data/app/views/thredded/topics/search.html.erb +1 -1
- data/app/views/thredded/topics/show.html.erb +8 -1
- data/config/locales/en.yml +1 -0
- data/config/locales/es.yml +1 -0
- data/config/locales/pl.yml +187 -0
- data/config/locales/pt-BR.yml +1 -0
- data/config/routes.rb +14 -4
- data/lib/thredded/html_pipeline/at_mention_filter.rb +2 -2
- data/lib/thredded/version.rb +1 -1
- metadata +66 -4
- data/app/views/thredded/topics/menu/_new_topic.html.erb +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%# locals: messageboard, topic, post, content_label, button_text, button_submitting_text. %>
|
|
1
|
+
<%# locals: messageboard, topic, post, preview_url, content_label, button_text, button_submitting_text. %>
|
|
2
2
|
<%= form_for (post.private_topic_post? ? [topic, post] : [messageboard, topic, post]), as: :post,
|
|
3
3
|
html: {
|
|
4
4
|
class: 'thredded--form thredded--post-form',
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
'data-autocomplete-min-length' => Thredded.autocomplete_min_length,
|
|
8
8
|
} do |form| %>
|
|
9
9
|
<ul class="thredded--form-list">
|
|
10
|
-
<%= render 'thredded/posts_common/form/
|
|
10
|
+
<%= render 'thredded/posts_common/form/content',
|
|
11
|
+
form: form, content_label: content_label, preview_url: preview_url %>
|
|
11
12
|
<li>
|
|
12
13
|
<% button_submitting_text ||=
|
|
13
14
|
post.persisted? ? t('thredded.form.update_btn_submitting') : t('thredded.form.create_btn_submitting') %>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<%= view_hooks.post_form.preview_area.render self, form: form, preview_url: preview_url do %>
|
|
2
|
+
<li>
|
|
3
|
+
<noscript>
|
|
4
|
+
<button type="submit" class="thredded--button thredded--post--preview-btn"
|
|
5
|
+
formtarget="_blank" formaction="<%= preview_url %>">
|
|
6
|
+
<%= t 'thredded.form.preview' %>
|
|
7
|
+
</button>
|
|
8
|
+
</noscript>
|
|
9
|
+
|
|
10
|
+
<div class="thredded--preview-area"
|
|
11
|
+
data-thredded-preview-area data-thredded-preview-url="<%= preview_url %>">
|
|
12
|
+
<h4 class="thredded--preview-area--title"><%= t 'thredded.form.preview' %></h4>
|
|
13
|
+
<div class="thredded--preview-area--post thredded--post--content" data-thredded-preview-area-post></div>
|
|
14
|
+
</div>
|
|
15
|
+
</li>
|
|
16
|
+
<% end %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= @private_post.filtered_content(self) %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= @private_post.filtered_content(self) %>
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
<%# TODO: For private topics, only autocomplete users in this private topic %>
|
|
1
2
|
<%= render 'thredded/posts_common/form',
|
|
2
3
|
topic: topic,
|
|
3
4
|
post: post,
|
|
5
|
+
preview_url: preview_url,
|
|
4
6
|
button_text: t('thredded.private_posts.form.create_btn'),
|
|
5
7
|
button_submitting_text: t('thredded.private_posts.form.create_btn_submitting'),
|
|
6
8
|
content_label: t('thredded.private_posts.form.content_label') %>
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
1
|
+
<figure>
|
|
2
|
+
<figcaption>
|
|
3
|
+
<%= @post.user.thredded_display_name %> <%= link_to 'said', private_post_permalink_url(@post) %>:
|
|
4
|
+
</figcaption>
|
|
5
|
+
<blockquote>
|
|
6
|
+
<%= @post.filtered_content(self) %>
|
|
7
|
+
</blockquote>
|
|
8
|
+
</figure>
|
|
3
9
|
<hr />
|
|
4
|
-
|
|
5
10
|
<p>
|
|
6
11
|
This email was sent to you because <%= @topic.user.thredded_display_name %> included you in a
|
|
7
|
-
private topic, "<%= link_to @topic.title, @topic %>".
|
|
8
|
-
<%= link_to 'Go here', @topic %> to view the conversation.
|
|
12
|
+
private topic, "<%= link_to @topic.title, private_topic_url(@topic) %>".
|
|
9
13
|
</p>
|
|
10
14
|
|
|
11
15
|
<p>
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
<%= @
|
|
2
|
-
|
|
1
|
+
<%= @post.user.thredded_display_name %> said:
|
|
2
|
+
<%= @post.content %>
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
This email was sent to you because <%= @topic.user.thredded_display_name %>
|
|
6
6
|
included you in the private topic "<%= @topic.title %>".
|
|
7
|
+
|
|
7
8
|
Go here to view the conversation:
|
|
8
|
-
<%=
|
|
9
|
+
<%= private_post_permalink_url(@post) %>
|
|
9
10
|
|
|
10
11
|
To unsubscribe from these emails, update your preferences here:
|
|
11
12
|
<%= edit_preferences_url %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= @private_post.filtered_content(self) %>
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
<%= form_for private_topic,
|
|
2
|
-
url:
|
|
3
|
-
html: {
|
|
2
|
+
url: private_topics_path(@private_topic),
|
|
3
|
+
html: {
|
|
4
|
+
class: "thredded--form thredded--new-private-topic-form #{local_assigns[:css_class]}",
|
|
5
|
+
'data-thredded-topic-form' => true,
|
|
6
|
+
# TODO: only autocomplete users in this private topic
|
|
7
|
+
'data-autocomplete-url' => autocomplete_users_path,
|
|
8
|
+
'data-autocomplete-min-length' => Thredded.autocomplete_min_length,
|
|
9
|
+
} do |form| %>
|
|
4
10
|
|
|
5
11
|
<ul class="thredded--form-list on-top">
|
|
6
12
|
<li class="title">
|
|
@@ -10,15 +16,16 @@
|
|
|
10
16
|
<li>
|
|
11
17
|
<%= form.label :user_ids, t('thredded.private_topics.form.users_label') %>
|
|
12
18
|
<%= form.text_field :user_ids,
|
|
13
|
-
placeholder:
|
|
14
|
-
'data-thredded-users-select'
|
|
15
|
-
'data-autocomplete-url'
|
|
19
|
+
placeholder: t('thredded.private_topics.form.users_placeholder'),
|
|
20
|
+
'data-thredded-users-select' => true,
|
|
21
|
+
'data-autocomplete-url' => autocomplete_users_path,
|
|
16
22
|
'data-autocomplete-min-length' => Thredded.autocomplete_min_length %>
|
|
17
23
|
</li>
|
|
18
24
|
|
|
19
|
-
<%= render 'thredded/posts_common/form/
|
|
20
|
-
form:
|
|
21
|
-
content_label: t('thredded.private_topics.form.content_label')
|
|
25
|
+
<%= render 'thredded/posts_common/form/content',
|
|
26
|
+
form: form,
|
|
27
|
+
content_label: t('thredded.private_topics.form.content_label'),
|
|
28
|
+
preview_url: preview_url %>
|
|
22
29
|
|
|
23
30
|
<li>
|
|
24
31
|
<button type="submit" class="thredded--form--submit"
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
<%= render 'thredded/private_topics/no_private_topics' %>
|
|
12
12
|
<% else -%>
|
|
13
13
|
<%= render 'thredded/private_topics/form',
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
private_topic: @new_private_topic,
|
|
15
|
+
preview_url: preview_new_private_topic_path,
|
|
16
|
+
css_class: 'thredded--is-compact',
|
|
17
|
+
placeholder: t('thredded.private_topics.form.title_placeholder_start') %>
|
|
17
18
|
|
|
18
19
|
<%= render @private_topics %>
|
|
19
20
|
|
|
@@ -26,7 +27,7 @@
|
|
|
26
27
|
<% end -%>
|
|
27
28
|
<% end %>
|
|
28
29
|
|
|
29
|
-
<footer>
|
|
30
|
+
<footer class="thredded--pagination-bottom">
|
|
30
31
|
<%= paginate @private_topics %>
|
|
31
32
|
</footer>
|
|
32
33
|
<% end %>
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
<section class="thredded--main-section">
|
|
7
7
|
<%= render 'thredded/private_topics/form',
|
|
8
8
|
private_topic: @private_topic,
|
|
9
|
+
preview_url: preview_new_private_topic_path,
|
|
9
10
|
placeholder: t('thredded.private_topics.form.title_placeholder_new') if @private_topic %>
|
|
10
11
|
</section>
|
|
11
12
|
<% end %>
|
|
@@ -8,10 +8,16 @@
|
|
|
8
8
|
id: dom_id(private_topic),
|
|
9
9
|
class: ['thredded--main-section', 'thredded--topic', *topic_css_classes(private_topic)] do %>
|
|
10
10
|
<%= render 'thredded/private_topics/header', topic: private_topic %>
|
|
11
|
+
<%= view_hooks.posts_common.pagination_top.render(self, posts: @posts) do %>
|
|
12
|
+
<footer class="thredded--pagination-top"><%= paginate @posts %></footer>
|
|
13
|
+
<% end %>
|
|
11
14
|
<%= render partial: 'thredded/private_posts/private_post', collection: @posts, cached: true %>
|
|
12
|
-
<%=
|
|
15
|
+
<%= view_hooks.posts_common.pagination_bottom.render(self, posts: @posts) do %>
|
|
16
|
+
<footer class="thredded--pagination-bottom"><%= paginate @posts %></footer>
|
|
17
|
+
<% end %>
|
|
13
18
|
<%= render 'thredded/private_posts/form',
|
|
14
19
|
topic: private_topic,
|
|
15
|
-
post:
|
|
20
|
+
post: @post,
|
|
21
|
+
preview_url: private_topic.new_post_preview_path %>
|
|
16
22
|
<% end %>
|
|
17
23
|
<% end %>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<% content_for :thredded_page_title, t('thredded.form.preview') %>
|
|
2
|
+
<% content_for :thredded_page_id, 'thredded--post-preview' %>
|
|
3
|
+
|
|
4
|
+
<%# The noscript version of a post preview %>
|
|
5
|
+
<%= thredded_page do %>
|
|
6
|
+
<h1><%= t 'thredded.form.preview' %></h1>
|
|
7
|
+
<div class="thredded--preview-area--post thredded--post--content">
|
|
8
|
+
<%= @preview_content %>
|
|
9
|
+
</div>
|
|
10
|
+
<% end %>
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
<%= render 'thredded/topics/form',
|
|
22
22
|
messageboard: @messageboard,
|
|
23
23
|
topic: @new_topic,
|
|
24
|
+
preview_url: preview_new_messageboard_topic_path(@messageboard),
|
|
24
25
|
css_class: 'thredded--is-compact',
|
|
25
26
|
placeholder: 'Start a New Topic' %>
|
|
26
27
|
<%= render @topics %>
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
messageboard: @messageboard,
|
|
40
41
|
topic: @topic,
|
|
41
42
|
post: @new_post,
|
|
43
|
+
preview_url: @topic.new_post_preview_path,
|
|
42
44
|
button_text: t('thredded.posts.form.create_btn')
|
|
43
45
|
%>
|
|
44
46
|
<% end %>
|
|
@@ -47,6 +49,7 @@
|
|
|
47
49
|
<%= render 'thredded/topics/form',
|
|
48
50
|
messageboard: @messageboard,
|
|
49
51
|
topic: @new_topic,
|
|
52
|
+
preview_url: preview_new_messageboard_topic_path(@messageboard),
|
|
50
53
|
placeholder: 'Start a New Topic' %>
|
|
51
54
|
|
|
52
55
|
<%= render 'section_title', label: 'posts#edit', href: edit_messageboard_topic_post_path(@messageboard, @post.postable, @post) %>
|
|
@@ -57,6 +60,7 @@
|
|
|
57
60
|
messageboard: @messageboard,
|
|
58
61
|
topic: @topic,
|
|
59
62
|
post: @post,
|
|
63
|
+
preview_url: @topic.new_post_preview_path,
|
|
60
64
|
button_text: t('thredded.posts.form.update_btn')
|
|
61
65
|
%>
|
|
62
66
|
<% end %>
|
|
@@ -72,6 +76,7 @@
|
|
|
72
76
|
<%= render 'thredded/private_topics/form',
|
|
73
77
|
private_topic: @new_private_topic,
|
|
74
78
|
css_class: 'thredded--is-compact',
|
|
79
|
+
preview_url: preview_new_private_topic_path,
|
|
75
80
|
placeholder: t('thredded.private_topics.form.title_placeholder_start') %>
|
|
76
81
|
<%= render @private_topics %>
|
|
77
82
|
<% end %>
|
|
@@ -80,6 +85,7 @@
|
|
|
80
85
|
<section class="thredded--thredded--main-section">
|
|
81
86
|
<%= render 'thredded/private_topics/form',
|
|
82
87
|
private_topic: @new_private_topic,
|
|
88
|
+
preview_url: preview_new_private_topic_path,
|
|
83
89
|
placeholder: t('thredded.private_topics.form.title_placeholder_new') %>
|
|
84
90
|
</section>
|
|
85
91
|
|
|
@@ -90,6 +96,7 @@
|
|
|
90
96
|
<%= render 'thredded/private_posts/form',
|
|
91
97
|
topic: @private_topic,
|
|
92
98
|
post: @private_post,
|
|
99
|
+
preview_url: @private_topic.new_post_preview_path,
|
|
93
100
|
button_text: t('thredded.private_posts.form.create_btn')
|
|
94
101
|
%>
|
|
95
102
|
</section>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= @post.filtered_content(self) %>
|
|
@@ -20,9 +20,10 @@
|
|
|
20
20
|
</li>
|
|
21
21
|
<% end %>
|
|
22
22
|
|
|
23
|
-
<%= render 'thredded/posts_common/form/
|
|
24
|
-
form:
|
|
25
|
-
content_label: t('thredded.topics.form.content_label')
|
|
23
|
+
<%= render 'thredded/posts_common/form/content',
|
|
24
|
+
form: form,
|
|
25
|
+
content_label: t('thredded.topics.form.content_label'),
|
|
26
|
+
preview_url: preview_url %>
|
|
26
27
|
<%= render 'thredded/topics/topic_form_admin_options', form: form %>
|
|
27
28
|
|
|
28
29
|
<li><%= form.submit t('thredded.topics.form.create_btn'), class: 'thredded--form--submit' %></li>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<% content_for :thredded_breadcrumbs do %>
|
|
4
4
|
<ul class="thredded--navigation-breadcrumbs">
|
|
5
5
|
<li><%= link_to t('thredded.nav.all_messageboards'), messageboards_path %></li>
|
|
6
|
-
<li><%= link_to messageboard.name, messageboard_topics_path(@topic.messageboard
|
|
6
|
+
<li><%= link_to messageboard.name, messageboard_topics_path(@topic.messageboard) %></li>
|
|
7
7
|
<li><%= link_to @topic.title, topic_path(@topic) %></li>
|
|
8
8
|
<li><%= link_to t('thredded.nav.edit_topic'), edit_messageboard_topic_path(@topic.messageboard, @topic) %></li>
|
|
9
9
|
</ul>
|
|
@@ -11,13 +11,14 @@
|
|
|
11
11
|
<%= content_tag :section, class: 'thredded--main-section thredded--topics', 'data-thredded-topics' => true do %>
|
|
12
12
|
<%= render 'thredded/topics/form',
|
|
13
13
|
messageboard: messageboard,
|
|
14
|
-
topic:
|
|
15
|
-
css_class:
|
|
16
|
-
|
|
14
|
+
topic: @new_topic,
|
|
15
|
+
css_class: 'thredded--is-compact',
|
|
16
|
+
preview_url: preview_new_messageboard_topic_path(messageboard),
|
|
17
|
+
placeholder: t('thredded.topics.form.title_placeholder_start') if @new_topic %>
|
|
17
18
|
<%= render @topics %>
|
|
18
19
|
<% end %>
|
|
19
20
|
|
|
20
|
-
<footer>
|
|
21
|
+
<footer class="thredded--pagination-bottom">
|
|
21
22
|
<%= paginate @topics %>
|
|
22
23
|
</footer>
|
|
23
24
|
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
<%= thredded_page do %>
|
|
6
6
|
<%= render 'thredded/topics/form',
|
|
7
7
|
messageboard: messageboard,
|
|
8
|
-
topic:
|
|
9
|
-
css_class:
|
|
10
|
-
|
|
8
|
+
topic: @new_topic,
|
|
9
|
+
css_class: 'thredded--is-expanded',
|
|
10
|
+
preview_url: preview_new_messageboard_topic_path(messageboard),
|
|
11
|
+
placeholder: t('thredded.topics.form.title_placeholder_start') %>
|
|
11
12
|
<% end %>
|
|
@@ -7,9 +7,15 @@
|
|
|
7
7
|
<%= content_tag :section,
|
|
8
8
|
id: dom_id(topic),
|
|
9
9
|
class: ['thredded--main-section', 'thredded--topic', *topic_css_classes(topic)] do %>
|
|
10
|
+
|
|
10
11
|
<%= render 'thredded/topics/header', topic: topic %>
|
|
12
|
+
<%= view_hooks.posts_common.pagination_top.render(self, posts: @posts) do %>
|
|
13
|
+
<footer class="thredded--pagination-top"><%= paginate @posts %></footer>
|
|
14
|
+
<% end %>
|
|
11
15
|
<%= render partial: 'thredded/posts/post', collection: @posts, cached: true %>
|
|
12
|
-
<%=
|
|
16
|
+
<%= view_hooks.posts_common.pagination_bottom.render(self, posts: @posts) do %>
|
|
17
|
+
<footer class="thredded--pagination-bottom"><%= paginate @posts %></footer>
|
|
18
|
+
<% end %>
|
|
13
19
|
|
|
14
20
|
<% if policy(@new_post).create? %>
|
|
15
21
|
<div class="thredded--post-form--wrapper">
|
|
@@ -17,6 +23,7 @@
|
|
|
17
23
|
<%= render 'thredded/posts/form',
|
|
18
24
|
topic: topic,
|
|
19
25
|
post: @new_post,
|
|
26
|
+
preview_url: topic.new_post_preview_path,
|
|
20
27
|
button_text: t('thredded.posts.form.create_btn'),
|
|
21
28
|
button_submitting_text: t('thredded.posts.form.create_btn_submitting') %>
|
|
22
29
|
</div>
|
data/config/locales/en.yml
CHANGED
data/config/locales/es.yml
CHANGED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
pl:
|
|
3
|
+
thredded:
|
|
4
|
+
content_moderation_states:
|
|
5
|
+
content_blocked_notice: Zablokowany
|
|
6
|
+
content_blocked_notice_with_record_html: Zablokowany przez %{moderator} %{time_ago}
|
|
7
|
+
email_notifier:
|
|
8
|
+
by_email: przez e-mail
|
|
9
|
+
errors:
|
|
10
|
+
login_required: Proszę się najpierw zalogować.
|
|
11
|
+
not_authorized: Nie masz uprawnień aby zobaczyć tę stronę.
|
|
12
|
+
private_topic_create_denied: Nie masz uprawnień do tworzenia prywatnych tematów.
|
|
13
|
+
private_topic_not_found: Ten prywatny temat nie istnieje.
|
|
14
|
+
form:
|
|
15
|
+
create_btn_submitting: Tworzenie...
|
|
16
|
+
preview: Zapowiedź
|
|
17
|
+
update: Zaktualizuj
|
|
18
|
+
update_btn_submitting: Aktualizowanie...
|
|
19
|
+
messageboard:
|
|
20
|
+
create: Stwórz nową tablicę
|
|
21
|
+
form:
|
|
22
|
+
create_btn_submitting: :thredded.form.create_btn_submitting
|
|
23
|
+
no_group: Brak grupy
|
|
24
|
+
update_btn_submitting: :thredded.form.update_btn_submitting
|
|
25
|
+
index:
|
|
26
|
+
page_title: Tablice
|
|
27
|
+
last_updated_by_html: Zaktualizowano %{time_ago} <cite>przez %{user}</cite>
|
|
28
|
+
topics_and_posts_counts: "%{topics_count} tematów / %{posts_count} postów"
|
|
29
|
+
update: :thredded.form.update
|
|
30
|
+
updated_notice: Tablica została zaktualizowana
|
|
31
|
+
messageboard_group:
|
|
32
|
+
create: Stwórz nową Grupę
|
|
33
|
+
form:
|
|
34
|
+
create_btn_submitting: :thredded.form.create_btn_submitting
|
|
35
|
+
saved: Grupa %{name} została utworzona
|
|
36
|
+
moderation:
|
|
37
|
+
approve_btn: Zaakceptuj
|
|
38
|
+
block_btn: Zablokuj
|
|
39
|
+
pending:
|
|
40
|
+
empty:
|
|
41
|
+
content: Wszystkie posty zostały zweryfikowane.
|
|
42
|
+
title: Dobra robota!
|
|
43
|
+
post_approved_html: Post zaakceptowany przez %{moderator} %{time_ago}.
|
|
44
|
+
post_blocked_html: Post zablokowany przez %{moderator} %{time_ago}.
|
|
45
|
+
post_deleted_notice: Ten post został usunięty.
|
|
46
|
+
posts_content_changed_since_moderation_html: >-
|
|
47
|
+
Zawartość <a href="%{post_url}">postu</a> zmieniła się od czasu moderacji. Poniżej znajduje się jego treść
|
|
48
|
+
z okresu moderacji.
|
|
49
|
+
search_users:
|
|
50
|
+
form_label: Wyszukaj użytkowników
|
|
51
|
+
form_placeholder: :thredded.moderation.search_users.form_label
|
|
52
|
+
no_results_message: 'Brak użytkowników zaczynających się od: %{query}'
|
|
53
|
+
results_message: 'Użytkownicy zaczynający się od: %{query}'
|
|
54
|
+
nav:
|
|
55
|
+
all_messageboards: Wszystkie tablice
|
|
56
|
+
edit_messageboard: Edytuj tablicę
|
|
57
|
+
edit_post: Edytuj post
|
|
58
|
+
edit_private_topic: :thredded.nav.edit_topic
|
|
59
|
+
edit_topic: Edytuj
|
|
60
|
+
mark_all_read: Oznacz jako przeczytane
|
|
61
|
+
moderation: Moderacja
|
|
62
|
+
moderation_activity: Aktywność
|
|
63
|
+
moderation_history: Historia
|
|
64
|
+
moderation_pending: Oczekujące
|
|
65
|
+
moderation_users: Użytkownicy
|
|
66
|
+
private_topics: Prywatne wiadomości
|
|
67
|
+
settings: Ustawienia powiadomień
|
|
68
|
+
null_user_name: Usunięci użytkownicy
|
|
69
|
+
posts:
|
|
70
|
+
delete: Usuń post
|
|
71
|
+
delete_confirm: Jesteś pewny, że chcesz usunąć ten post?
|
|
72
|
+
deleted_notice: Twój post został usunięty.
|
|
73
|
+
edit: :thredded.nav.edit_post
|
|
74
|
+
form:
|
|
75
|
+
content_label: Treść
|
|
76
|
+
create_btn: Wyślij odpowiedź
|
|
77
|
+
create_btn_submitting: Wysyłanie...
|
|
78
|
+
update_btn: Zaktualizuj post
|
|
79
|
+
update_btn_submitting: :thredded.form.update_btn_submitting
|
|
80
|
+
pending_moderation_notice: Twój post zostanie zamieszczony po zweryfikowaniu go przez moderatora.
|
|
81
|
+
preferences:
|
|
82
|
+
edit:
|
|
83
|
+
page_title: :thredded.nav.settings
|
|
84
|
+
form:
|
|
85
|
+
follow_topics_on_mention:
|
|
86
|
+
hint: 'Gdy ktoś w temacie wspomni o Tobie (np.: @sam) zaczniesz obserwować ten temat.'
|
|
87
|
+
label: Obserwuj tematy, w których zostałeś wspomiany
|
|
88
|
+
global_preferences_label: Ustawienia powiadomień
|
|
89
|
+
messageboard_follow_topics_on_mention:
|
|
90
|
+
hint: 'Gdy ktoś w temacie wspomni o Tobie (np.: @sam) zaczniesz obserwować ten temat.'
|
|
91
|
+
label: :thredded.preferences.form.follow_topics_on_mention.label
|
|
92
|
+
messageboard_notifications_for_followed_topics:
|
|
93
|
+
label: :thredded.preferences.form.notifications_for_followed_topics.label
|
|
94
|
+
messageboard_preferences_label_html: Notification Settings for <em>%{messageboard}</em>
|
|
95
|
+
notifications_for_followed_topics:
|
|
96
|
+
label: Powiadomienia z obserwowanych tematów
|
|
97
|
+
notifications_for_private_topics:
|
|
98
|
+
label: Powiadomienia z prywatnych wiadomości
|
|
99
|
+
submit_btn: Zaktualizuj ustawienia
|
|
100
|
+
title: Ustawienia
|
|
101
|
+
update_btn_submitting: :thredded.form.update_btn_submitting
|
|
102
|
+
updated_notice: Twoje ustawienia zostały zaktualizowane.
|
|
103
|
+
private_posts:
|
|
104
|
+
form:
|
|
105
|
+
content_label: Wiadomość
|
|
106
|
+
create_btn: Wyślij wiadomość
|
|
107
|
+
create_btn_submitting: Wysyłanie
|
|
108
|
+
update_btn_submitting: :thredded.form.update_btn_submitting
|
|
109
|
+
private_topics:
|
|
110
|
+
edit: Edytuj
|
|
111
|
+
errors:
|
|
112
|
+
user_ids_length: Proszę dodać przynajmniej jednego innego użytkownika.
|
|
113
|
+
form:
|
|
114
|
+
content_label: :thredded.private_posts.form.content_label
|
|
115
|
+
create_btn: :thredded.private_posts.form.create_btn
|
|
116
|
+
create_btn_submitting: :thredded.private_posts.form.create_btn_submitting
|
|
117
|
+
title_label: :thredded.topics.form.title_label
|
|
118
|
+
title_placeholder_new: Wpisz temat konwersacji
|
|
119
|
+
title_placeholder_start: Rozpocznij konwersację
|
|
120
|
+
update_btn: Zaktualizuj
|
|
121
|
+
update_btn_submitting: :thredded.private_posts.form.update_btn_submitting
|
|
122
|
+
users_label: Uczestnicy
|
|
123
|
+
users_placeholder: Zaproś użytkowników do udziału w tej konwersacji
|
|
124
|
+
no_private_topics:
|
|
125
|
+
create_btn: Rozpocznij swoją pierwszą prywatną konwersację
|
|
126
|
+
title: Nie masz żadnych prywatnych wiadomości.
|
|
127
|
+
updated_notice: Tytuł zaktualizowany.
|
|
128
|
+
recent_activity: Ostatnia aktywność.
|
|
129
|
+
search:
|
|
130
|
+
form:
|
|
131
|
+
btn_submit: :thredded.search.form.label
|
|
132
|
+
label: Wyszukaj
|
|
133
|
+
placeholder: Wyszukaj tematy i posty.
|
|
134
|
+
time_ago: "%{time} ago"
|
|
135
|
+
topics:
|
|
136
|
+
delete_confirm: Jesteś pewien, że chcesz usunąć ten temat? Tej operacji nie można cofnąć.
|
|
137
|
+
delete_topic: Usuń temat
|
|
138
|
+
deleted_notice: Temat usunięty.
|
|
139
|
+
edit: Edytuj temat
|
|
140
|
+
follow: Obserwuj temat
|
|
141
|
+
followed_by: 'Obserwowany przez:'
|
|
142
|
+
followed_by_noone: Nikt nie obserwuje tego tematu
|
|
143
|
+
followed_notice: Obserwujesz ten temat
|
|
144
|
+
following:
|
|
145
|
+
manual: Obserwujesz ten temat.
|
|
146
|
+
mentioned: Obserwujesz ten temat, ponieważ ktoś wspomniał w nim o tobie.
|
|
147
|
+
posted: Obserwujesz ten temat, ponieważ w nim napisałeś.
|
|
148
|
+
form:
|
|
149
|
+
categories_placeholder: Kategorie
|
|
150
|
+
content_label: :thredded.posts.form.content_label
|
|
151
|
+
create_btn: Stwórz nowy temat
|
|
152
|
+
title_label: Tytuł
|
|
153
|
+
title_placeholder: :thredded.topics.form.title_label
|
|
154
|
+
title_placeholder_start: Rozpocznij nowy temat
|
|
155
|
+
update_btn: Zaktualizuj temat
|
|
156
|
+
locked:
|
|
157
|
+
label: Zablokowany
|
|
158
|
+
not_following: Nie obserwujesz tego tematu.
|
|
159
|
+
search:
|
|
160
|
+
no_results_message: 'Nie odnaleziono żadnych wyników dla frazy: %{query}'
|
|
161
|
+
page_title: Wyniki wyszukiwania
|
|
162
|
+
results_message: 'Wyniki wyszukiwania dla: %{query}'
|
|
163
|
+
started_by_html: Rozpoczęty %{time_ago} przez %{user}
|
|
164
|
+
sticky:
|
|
165
|
+
label: Przyklejony
|
|
166
|
+
unfollow: Przestań obserwować
|
|
167
|
+
unfollowed_notice: Przestałeś obserwować ten temat
|
|
168
|
+
updated_notice: Temat zaktualizowany
|
|
169
|
+
users:
|
|
170
|
+
currently_online: Aktualnie online
|
|
171
|
+
last_active_html: Ostatnio aktywny %{time_ago}
|
|
172
|
+
posted_in_topic_html: Napisał w temacie %{topic_link}
|
|
173
|
+
posts_count:
|
|
174
|
+
few: Napisał %{count} postów
|
|
175
|
+
many: Napisał %{count} postów
|
|
176
|
+
one: Napisał 1 post
|
|
177
|
+
other: Napisał %{count} postów
|
|
178
|
+
recent_activity: :thredded.recent_activity
|
|
179
|
+
started_topic_html: Rozpoczął %{topic_link}
|
|
180
|
+
started_topics_count:
|
|
181
|
+
few: Rozpoczął %{count} tematy
|
|
182
|
+
many: Rozpoczął %{count} tematów
|
|
183
|
+
one: Rozpoczął 1 temat
|
|
184
|
+
other: Rozpoczął %{count} tematów
|
|
185
|
+
user_posted_in_topic_html: "%{user_link} napisał w %{topic_link}"
|
|
186
|
+
user_since_html: Zarejestrowany od %{time_ago}
|
|
187
|
+
user_started_topic_html: "%{user_link} rozpoczął %{topic_link}"
|
data/config/locales/pt-BR.yml
CHANGED
data/config/routes.rb
CHANGED
|
@@ -7,12 +7,17 @@ Thredded::Engine.routes.draw do # rubocop:disable Metrics/BlockLength
|
|
|
7
7
|
|
|
8
8
|
scope path: 'private-topics' do
|
|
9
9
|
resource :read_state, only: [:update], as: :mark_all_private_topics_read
|
|
10
|
-
resource :private_topic, only: [:new], path: ''
|
|
10
|
+
resource :private_topic, only: [:new], path: '' do
|
|
11
|
+
post :preview, on: :new, controller: 'private_topic_previews'
|
|
12
|
+
end
|
|
11
13
|
resources :private_topics, except: [:new, :show], path: '' do
|
|
12
14
|
member do
|
|
13
15
|
get '(page-:page)', action: :show, as: '', constraints: page_constraint
|
|
14
16
|
end
|
|
15
|
-
resources :private_posts, path: '', except: [:index, :show], controller: 'posts'
|
|
17
|
+
resources :private_posts, path: '', except: [:index, :show], controller: 'posts' do
|
|
18
|
+
post :preview, on: :new, controller: 'private_post_previews'
|
|
19
|
+
resource :preview, only: [:update], controller: 'private_post_previews'
|
|
20
|
+
end
|
|
16
21
|
end
|
|
17
22
|
end
|
|
18
23
|
|
|
@@ -48,7 +53,9 @@ Thredded::Engine.routes.draw do # rubocop:disable Metrics/BlockLength
|
|
|
48
53
|
resources :messageboards, only: [:edit, :update]
|
|
49
54
|
resources :messageboards, only: [:index, :create], path: '' do
|
|
50
55
|
resource :preferences, only: [:edit, :update]
|
|
51
|
-
resource :topic, path: 'topics', only: [:new]
|
|
56
|
+
resource :topic, path: 'topics', only: [:new] do
|
|
57
|
+
post :preview, on: :new, controller: 'topic_previews'
|
|
58
|
+
end
|
|
52
59
|
resources :topics, path: '', except: [:index, :new, :show] do
|
|
53
60
|
collection do
|
|
54
61
|
get '(page-:page)', action: :index, as: '', constraints: page_constraint
|
|
@@ -61,7 +68,10 @@ Thredded::Engine.routes.draw do # rubocop:disable Metrics/BlockLength
|
|
|
61
68
|
match 'follow', via: [:post, :get]
|
|
62
69
|
match 'unfollow', via: [:post, :get]
|
|
63
70
|
end
|
|
64
|
-
resources :posts, except: [:index, :show], path: ''
|
|
71
|
+
resources :posts, except: [:index, :show], path: '' do
|
|
72
|
+
post :preview, on: :new, controller: 'post_previews'
|
|
73
|
+
resource :preview, only: [:update], controller: 'post_previews'
|
|
74
|
+
end
|
|
65
75
|
end
|
|
66
76
|
end
|
|
67
77
|
|
|
@@ -34,7 +34,7 @@ module Thredded
|
|
|
34
34
|
|
|
35
35
|
private
|
|
36
36
|
|
|
37
|
-
MATCH_NAME_RE = /(?:^|[\s>])@(
|
|
37
|
+
MATCH_NAME_RE = /(?:^|[\s>])@(\w+|"[\w. ]+")(?=\W|$)/
|
|
38
38
|
|
|
39
39
|
def mentioned_names(text_node_html)
|
|
40
40
|
text_node_html.scan(MATCH_NAME_RE).map(&:first).map { |m| m.start_with?('"') ? m[1..-2] : m }
|
|
@@ -45,7 +45,7 @@ module Thredded
|
|
|
45
45
|
return unless names.present?
|
|
46
46
|
@users_provider.call(names).each do |user|
|
|
47
47
|
name = user.thredded_display_name
|
|
48
|
-
maybe_quoted_name = name.
|
|
48
|
+
maybe_quoted_name = name =~ /[. ]/ ? %("#{name}") : name
|
|
49
49
|
url = Thredded.user_path(@view_context, user)
|
|
50
50
|
text_node_html.gsub!(
|
|
51
51
|
/(^|[\s>])(@#{Regexp.escape maybe_quoted_name})([^a-z\d]|$)/i,
|
data/lib/thredded/version.rb
CHANGED