diff --git a/app/helpers/pool_versions_helper.rb b/app/helpers/pool_versions_helper.rb index 2e8184feb..a23ddbe43 100644 --- a/app/helpers/pool_versions_helper.rb +++ b/app/helpers/pool_versions_helper.rb @@ -18,4 +18,9 @@ module PoolVersionsHelper status += ["Deactivated"] if !cur.is_active? && prev.is_active? status.join(" ") end -end + + def pool_page_diff(pool_version, other_version) + pattern = Regexp.new('(?:<.+?>)|(?:\w+)|(?:[ \t]+)|(?:\r?\n)|(?:.+?)') + DiffBuilder.new(other_version.description, pool_version.description, pattern).build + end +end \ No newline at end of file diff --git a/app/javascript/src/styles/specific/pool_versions.scss b/app/javascript/src/styles/specific/pool_versions.scss new file mode 100644 index 000000000..a7042242b --- /dev/null +++ b/app/javascript/src/styles/specific/pool_versions.scss @@ -0,0 +1,13 @@ +div#c-pool-versions { + #a-diff { + del { + background: var(--wiki-page-versions-diff-del-background); + text-decoration: none; + } + + ins { + background: var(--wiki-page-versions-diff-ins-background); + text-decoration: none; + } + } +} \ No newline at end of file diff --git a/app/views/pool_versions/diff.html.erb b/app/views/pool_versions/diff.html.erb index af13e23be..0bc5ca364 100644 --- a/app/views/pool_versions/diff.html.erb +++ b/app/views/pool_versions/diff.html.erb @@ -2,16 +2,33 @@

Pool Version Comparison: <%= @pool_version.name %>

- + <% if @other_version.present? %> +

Showing differences between <%= compact_time @pool_version.updated_at %> (<%= link_to_user @pool_version.updater %>) and <%= compact_time @other_version.updated_at %> (<%= link_to_user @other_version.updater %>)

+
+

Name:

+

+ <% if @pool_version.name != @other_version.name %> + <%= @other_version.name %> -> <%= @pool_version.name %> + <% else %> + <%= @pool_version.name %> + <% end %> +

+
+
+

Posts:

+

<%= render "pool_versions/diff", diff: @pool_version.build_diff(@other_version) %>

+
+
+

Description:

+

+ <% if @pool_version.description != @other_version.description %> + <%= pool_page_diff(@pool_version, @other_version) %> + <% else %> + Unchanged. + <% end %> +

+
+ <% end %>