From fb9fd16f8042e81cde3e8e0a6a112931450f0d9d Mon Sep 17 00:00:00 2001
From: Eric Bremner <ebremner@uwaterloo.ca>
Date: Fri, 12 Nov 2021 17:52:14 +0000
Subject: [PATCH] ISTWCMS-5195: cleaning up card now to use full new node
 theming

---
 .../card/card-elements/_additional-info.twig  |  4 +
 .../card/card-elements/_contact-for.twig      | 13 +++
 .../card/card-elements/_contact-info.twig     | 26 ++++++
 .../card/card-elements/_footer-elements.twig  | 41 +++++++++
 .../card/card-elements/_groups.twig           | 19 ++++
 .../card/card-elements/_header.twig           |  2 +-
 .../card/card-elements/_links.twig            | 26 ++++++
 source/_patterns/04-components/card/card.twig | 87 +------------------
 8 files changed, 133 insertions(+), 85 deletions(-)
 create mode 100644 source/_patterns/04-components/card/card-elements/_contact-for.twig
 create mode 100644 source/_patterns/04-components/card/card-elements/_contact-info.twig
 create mode 100644 source/_patterns/04-components/card/card-elements/_footer-elements.twig
 create mode 100644 source/_patterns/04-components/card/card-elements/_groups.twig
 create mode 100644 source/_patterns/04-components/card/card-elements/_links.twig

diff --git a/source/_patterns/04-components/card/card-elements/_additional-info.twig b/source/_patterns/04-components/card/card-elements/_additional-info.twig
index 145b22e5..364c8ba1 100644
--- a/source/_patterns/04-components/card/card-elements/_additional-info.twig
+++ b/source/_patterns/04-components/card/card-elements/_additional-info.twig
@@ -36,6 +36,10 @@
         {% endfor %}
       {% endif %}
 
+      {% if additional_info.info %}
+        {{ additional_info.info }}
+      {% endif %}
+
     {% endblock %}
   {% endembed %}
 </div>
diff --git a/source/_patterns/04-components/card/card-elements/_contact-for.twig b/source/_patterns/04-components/card/card-elements/_contact-for.twig
new file mode 100644
index 00000000..9da22069
--- /dev/null
+++ b/source/_patterns/04-components/card/card-elements/_contact-for.twig
@@ -0,0 +1,13 @@
+<div class="card__contact-for">
+  {% embed '@components/details/details.twig' %}
+    {% block details_summary %}
+      Contact for
+    {% endblock %}
+
+    {% block details_content %}
+      <div class="card__contact-for-content">
+        {{ contact_for.contact }}
+      </div>
+    {% endblock %}
+  {% endembed %}
+</div>
diff --git a/source/_patterns/04-components/card/card-elements/_contact-info.twig b/source/_patterns/04-components/card/card-elements/_contact-info.twig
new file mode 100644
index 00000000..1257832d
--- /dev/null
+++ b/source/_patterns/04-components/card/card-elements/_contact-info.twig
@@ -0,0 +1,26 @@
+<div class="card__contact-info">
+  {% embed '@components/details/details.twig' %}
+    {% block details_summary %}
+      Contact Information
+    {% endblock %}
+
+    {% block details_content %}
+      {% if contact_info.email %}
+        <div class="card__contact-info--email">
+          <a href="mailto:{{ contact_info.email }}">{{ contact_info.email }}</a>
+        </div>
+      {% endif %}
+      {% if contact_info.phone %}
+        <div class="card__contact-info--phone">
+          {{ contact_info.phone }}
+        </div>
+      {% endif %}
+      {% if contact_info.location %}
+        <div class="card__contact-info--location">
+          <span class="uw-label">Location:</span>
+          {{ contact_info.location }}
+        </div>
+      {% endif %}
+    {% endblock %}
+  {% endembed %}
+</div>
diff --git a/source/_patterns/04-components/card/card-elements/_footer-elements.twig b/source/_patterns/04-components/card/card-elements/_footer-elements.twig
new file mode 100644
index 00000000..0ac071a2
--- /dev/null
+++ b/source/_patterns/04-components/card/card-elements/_footer-elements.twig
@@ -0,0 +1,41 @@
+{% if footer.additional_info %}
+  {% include '@components/card/card-elements/_additional-info.twig' with {
+    'additional_info': footer.additional_info
+  } %}
+{% endif %}
+
+{% if footer.contact_info %}
+  {% include '@components/card/card-elements/_contact-info.twig' with {
+    'contact_info': footer.contact_info
+  } %}
+{% endif %}
+
+{% if footer.links %}
+  {% include '@components/card/card-elements/_links.twig' with {
+    'links': footer.links
+  }%}
+{% endif %}
+
+{% if footer.location_info %}
+  {% include '@components/card/card-elements/_location-info.twig' with {
+    'location_info': footer.location_info
+  }%}
+{% endif %}
+
+{% if footer.contact_for %}
+  {% include '@components/card/card-elements/_contact-for.twig' with {
+    'contact_for': footer.contact_for
+  } %}
+{% endif %}
+
+{% if footer.groups %}
+  {% include '@components/card/card-elements/_groups.twig' with {
+    'groups': footer.groups.groups
+  } %}
+{% endif %}
+
+{% if footer.tags %}
+  {% include '@components/card/card-elements/_tags.twig' with {
+    'tags': footer.tags,
+  } %}
+{% endif %}
diff --git a/source/_patterns/04-components/card/card-elements/_groups.twig b/source/_patterns/04-components/card/card-elements/_groups.twig
new file mode 100644
index 00000000..68efeb58
--- /dev/null
+++ b/source/_patterns/04-components/card/card-elements/_groups.twig
@@ -0,0 +1,19 @@
+<div class="card__groups">
+  {% embed '@components/details/details.twig' %}
+    {% block details_summary %}
+      Groups
+    {% endblock %}
+
+    {% block details_content %}
+      <div class="card__groups-list">
+        {% for group in groups %}
+          {% if loop.index0 > 0 %}
+            , {{ group.title }}
+          {% else %}
+            {{ group.title }}
+          {% endif %}
+        {% endfor %}
+      </div>
+    {% endblock %}
+  {% endembed %}
+</div>
diff --git a/source/_patterns/04-components/card/card-elements/_header.twig b/source/_patterns/04-components/card/card-elements/_header.twig
index 8149c1b8..f5fb6918 100644
--- a/source/_patterns/04-components/card/card-elements/_header.twig
+++ b/source/_patterns/04-components/card/card-elements/_header.twig
@@ -15,7 +15,7 @@
 
   {% if header.position %}
     {% include '@components/card/card-elements/_position.twig' with {
-      'position': position
+      'position': header.position
     } %}
   {% endif %}
 
diff --git a/source/_patterns/04-components/card/card-elements/_links.twig b/source/_patterns/04-components/card/card-elements/_links.twig
new file mode 100644
index 00000000..77a0caab
--- /dev/null
+++ b/source/_patterns/04-components/card/card-elements/_links.twig
@@ -0,0 +1,26 @@
+<div class="card__contact-links">
+  {% embed '@components/details/details.twig' %}
+    {% block details_summary %}
+      Links
+    {% endblock %}
+
+    {% block details_content %}
+      {% if links.profile %}
+        <div class="card__link-profile">
+          <span class="uw-label">Link to Profile:</span>
+          {% include '@components/links/links.twig' with {
+            'links': links.profile
+          } %}
+        </div>
+      {% endif %}
+      {% if links.webpage %}
+        <div class="card__personal-webpage">
+          <span class="uw-label">Link to personal webpage:</span>
+          {% include '@components/links/links.twig' with {
+            'links': links.webpage
+          } %}
+        </div>
+      {% endif %}
+    {% endblock %}
+  {% endembed %}
+</div>
diff --git a/source/_patterns/04-components/card/card.twig b/source/_patterns/04-components/card/card.twig
index 406bed81..73e6c659 100644
--- a/source/_patterns/04-components/card/card.twig
+++ b/source/_patterns/04-components/card/card.twig
@@ -43,90 +43,9 @@
   {% if footer %}
     <div class="card__footer">
 
-      {% if footer.additional_info %}
-        {% include '@components/card/card-elements/_additional-info.twig' with {
-          'additional_info': footer.additional_info
-        } %}
-      {% endif %}
-
-      {% if contact_info %}
-        some include
-      {% endif %}
-
-      {% if link_profile or personal_webpage %}
-        <div class="card__contact-links">
-          {% embed '@components/details/details.twig' %}
-            {% block details_summary %}
-              Links
-            {% endblock %}
-
-            {% block details_content %}
-              {% if link_profile %}
-                <div class="card__link-profile">
-                  <span class="uw-label">Link to Profile:</span>
-                  <a href="{{ link_profile.uri }}">{{ link_profile.title }}</a>
-                </div>
-              {% endif %}
-              {% if personal_webpage %}
-                <div class="card__personal-webpage">
-                  <span class="uw-label">Link to personal webpage:</span>
-                  <a href="{{ personal_webpage.uri }}">{{ personal_webpage.title }}</a>
-                </div>
-              {% endif %}
-            {% endblock %}
-          {% endembed %}
-        </div>
-      {% endif %}
-
-      {% if footer.location_info %}
-        {% include '@components/card/card-elements/_location-info.twig' with {
-          'location_info': footer.location_info
-        }%}
-      {% endif %}
-
-      {% if contact_for %}
-        <div class="card__contact-for">
-          {% embed '@components/details/details.twig' %}
-            {% block details_summary %}
-              Contact for
-            {% endblock %}
-
-            {% block details_content %}
-              <div class="card__contact-for-content">
-                {{ contact_for }}
-              </div>
-            {% endblock %}
-          {% endembed %}
-        </div>
-      {% endif %}
-
-      {% if groups %}
-        <div class="card__groups">
-          {% embed '@components/details/details.twig' %}
-            {% block details_summary %}
-              Groups
-            {% endblock %}
-
-            {% block details_content %}
-              <div class="card__groups-list">
-                {% for group in groups %}
-                  {% if loop.index0 > 0 %}
-                    , {{ group.title }}
-                  {% else %}
-                    {{ group.title }}
-                  {% endif %}
-                {% endfor %}
-              </div>
-            {% endblock %}
-          {% endembed %}
-        </div>
-      {% endif %}
-
-      {% if footer.tags %}
-        {% include '@components/card/card-elements/_tags.twig' with {
-          'tags': footer.tags,
-        } %}
-      {% endif %}
+      {% include '@components/card/card-elements/_footer-elements.twig' with {
+        'footer': footer
+      } %}
 
       {% if read_more and url %}
         <div class="card__readmore">
-- 
GitLab