From 5a6545ab9eaa0d0b9eb2f0891c0aaad4e71152eb Mon Sep 17 00:00:00 2001 From: drusepth Date: Mon, 25 Jul 2022 14:30:53 -0700 Subject: [PATCH] WIP for content#show and content#edit merge --- app/assets/images/tristan/face.png | Bin 0 -> 12682 bytes app/assets/images/tristan/portrait.png | Bin 0 -> 24259 bytes app/views/content/show.html.erb | 1 + .../_content_fields_display.html.erb | 24 +++++++----- .../_content_header.html.erb | 21 ++++++++--- .../_content_image_header.html.erb | 4 +- .../tailwind_components/fields/_link.html.erb | 35 ++++++++++++++++++ .../tailwind_components/fields/_name.html.erb | 3 ++ .../tailwind_components/fields/_tags.html.erb | 11 ++++++ .../tailwind_components/fields/_text.html.erb | 1 + .../fields/_universe.html.erb | 26 +++++++++++++ 11 files changed, 108 insertions(+), 18 deletions(-) create mode 100644 app/assets/images/tristan/face.png create mode 100644 app/assets/images/tristan/portrait.png create mode 100644 app/views/content/tailwind_components/fields/_link.html.erb create mode 100644 app/views/content/tailwind_components/fields/_name.html.erb create mode 100644 app/views/content/tailwind_components/fields/_tags.html.erb create mode 100644 app/views/content/tailwind_components/fields/_text.html.erb create mode 100644 app/views/content/tailwind_components/fields/_universe.html.erb diff --git a/app/assets/images/tristan/face.png b/app/assets/images/tristan/face.png new file mode 100644 index 0000000000000000000000000000000000000000..8e1285b24bb115069b86e14a263f4ba7a6baff38 GIT binary patch literal 12682 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 a^G^)ef9dWjrup~6wZ4vtc8#V}`2PUScF!XK literal 0 HcmV?d00001 diff --git a/app/assets/images/tristan/portrait.png b/app/assets/images/tristan/portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..fc24d7d934782c9c2412f081c5faa704aebe7c6c GIT binary patch literal 24259 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 +
diff --git a/app/views/content/tailwind_components/_content_fields_display.html.erb b/app/views/content/tailwind_components/_content_fields_display.html.erb index 1b1832ed..2e695eff 100644 --- a/app/views/content/tailwind_components/_content_fields_display.html.erb +++ b/app/views/content/tailwind_components/_content_fields_display.html.erb @@ -15,23 +15,27 @@
<% category[:fields].each do |field| %> - <% next if field[:value].empty? %>
-
(type: <%= field[:type] %>)
- <%= field[:value] %> - - - + <%= + case field[:type] + when 'name' + render partial: 'content/tailwind_components/fields/name', locals: { field: field } + when 'text_area', 'textarea' + render partial: 'content/tailwind_components/fields/text', locals: { field: field } + when 'link' + render partial: 'content/tailwind_components/fields/link', locals: { field: field } + when 'universe' + render partial: 'content/tailwind_components/fields/universe', locals: { field: field } + when 'tags' + render partial: 'content/tailwind_components/fields/tags', locals: { field: field } + end + %>
<% end %> diff --git a/app/views/content/tailwind_components/_content_header.html.erb b/app/views/content/tailwind_components/_content_header.html.erb index 8f905847..a8de3a9c 100644 --- a/app/views/content/tailwind_components/_content_header.html.erb +++ b/app/views/content/tailwind_components/_content_header.html.erb @@ -1,6 +1,6 @@

- + <%= content.name %> @@ -10,6 +10,14 @@

+
+ +
\ No newline at end of file diff --git a/app/views/content/tailwind_components/_content_image_header.html.erb b/app/views/content/tailwind_components/_content_image_header.html.erb index 70f32dbf..417e96c2 100644 --- a/app/views/content/tailwind_components/_content_image_header.html.erb +++ b/app/views/content/tailwind_components/_content_image_header.html.erb @@ -1,3 +1,3 @@ -
- image banner +
+
\ No newline at end of file diff --git a/app/views/content/tailwind_components/fields/_link.html.erb b/app/views/content/tailwind_components/fields/_link.html.erb new file mode 100644 index 00000000..ff93d6ae --- /dev/null +++ b/app/views/content/tailwind_components/fields/_link.html.erb @@ -0,0 +1,35 @@ +<% field[:value].each do |link_code| %> + <% + klass, id = link_code.split('-') + %> + + <%# + In most cases, a user will be seeing their own content most of the time. + This allows us to primarily rely on @current_user_content but fall back + on js-load-page-name to fetch & load in post-page-load if the content isn't ours. + %> + <% + content = if user_signed_in? + @current_user_content.fetch(klass, []).detect do |page| + page.page_type === klass && page.id === id.to_i + end + else + nil + end + %> + + + <%= link_to send("#{klass.downcase}_path", id) do %> + + + <%= content_class_from_name(klass).icon %> + + + <%= content.try(:name) || "Loading #{klass}".html_safe %> + <% end %> + +<% end %> \ No newline at end of file diff --git a/app/views/content/tailwind_components/fields/_name.html.erb b/app/views/content/tailwind_components/fields/_name.html.erb new file mode 100644 index 00000000..c11caeed --- /dev/null +++ b/app/views/content/tailwind_components/fields/_name.html.erb @@ -0,0 +1,3 @@ +

+ <%= field[:value] %> +

diff --git a/app/views/content/tailwind_components/fields/_tags.html.erb b/app/views/content/tailwind_components/fields/_tags.html.erb new file mode 100644 index 00000000..f8744651 --- /dev/null +++ b/app/views/content/tailwind_components/fields/_tags.html.erb @@ -0,0 +1,11 @@ +<% field[:value].each do |tag| %> + + <%= tag %> + + +<% end %> diff --git a/app/views/content/tailwind_components/fields/_text.html.erb b/app/views/content/tailwind_components/fields/_text.html.erb new file mode 100644 index 00000000..c7f22883 --- /dev/null +++ b/app/views/content/tailwind_components/fields/_text.html.erb @@ -0,0 +1 @@ +<%= field[:value] %> \ No newline at end of file diff --git a/app/views/content/tailwind_components/fields/_universe.html.erb b/app/views/content/tailwind_components/fields/_universe.html.erb new file mode 100644 index 00000000..a517ea03 --- /dev/null +++ b/app/views/content/tailwind_components/fields/_universe.html.erb @@ -0,0 +1,26 @@ +<% klass, id = "Universe", field[:value] %> + +<% + content = if user_signed_in? + @current_user_content.fetch(klass, []).detect do |page| + page.page_type === klass && page.id === id.to_i + end + else + nil + end +%> + + + <%= link_to send("#{klass.downcase}_path", id) do %> + + + <%= content_class_from_name(klass).icon %> + + + <%= content.try(:name) || "Loading #{klass}".html_safe %> + <% end %> +