diff --git a/addons/rose/addon/styles/rose/components/card/_link.scss b/addons/rose/addon/styles/rose/components/card/_link.scss
index 435b393c5..7aca920b9 100644
--- a/addons/rose/addon/styles/rose/components/card/_link.scss
+++ b/addons/rose/addon/styles/rose/components/card/_link.scss
@@ -31,7 +31,10 @@
@include type.type(m, semibold);
color: var(--stark);
margin: 0;
- padding-bottom: sizing.rems(xs);
+ }
+
+ .rose-card-link-subtitle {
+ color: var(--ui-gray);
}
.rose-card-link-description {
diff --git a/addons/rose/addon/templates/components/rose/card/link.hbs b/addons/rose/addon/templates/components/rose/card/link.hbs
index e0fcd0ffb..9749f4e9a 100644
--- a/addons/rose/addon/templates/components/rose/card/link.hbs
+++ b/addons/rose/addon/templates/components/rose/card/link.hbs
@@ -9,6 +9,10 @@
{{@title}}
{{/if}}
+ {{#if @subtitle}}
+ {{@subtitle}}
+ {{/if}}
+
{{#if @description}}
{{@description}}
{{/if}}
diff --git a/addons/rose/tests/dummy/app/templates/index.hbs b/addons/rose/tests/dummy/app/templates/index.hbs
index b271fb748..3b791ba07 100644
--- a/addons/rose/tests/dummy/app/templates/index.hbs
+++ b/addons/rose/tests/dummy/app/templates/index.hbs
@@ -184,3 +184,4 @@ Dummy app index template
+
diff --git a/addons/rose/tests/integration/components/rose/card/link-test.js b/addons/rose/tests/integration/components/rose/card/link-test.js
index 6b286fccf..78a02af4b 100644
--- a/addons/rose/tests/integration/components/rose/card/link-test.js
+++ b/addons/rose/tests/integration/components/rose/card/link-test.js
@@ -10,6 +10,9 @@ module('Integration | Component | rose/card/link', function (hooks) {
await render(hbs``);
assert.ok(find('article'));
assert.ok(find('.rose-card-link'));
+ assert.notOk(find('.rose-card-link-title'));
+ assert.notOk(find('.rose-card-link-subtitle'));
+ assert.notOk(find('.rose-card-link-description'));
});
test('it renders with @title', async function (assert) {
@@ -21,6 +24,14 @@ module('Integration | Component | rose/card/link', function (hooks) {
);
});
+ test('it renders with @subtitle', async function (assert) {
+ await render(hbs``);
+ assert.equal(
+ find('.rose-card-link-subtitle').textContent.trim(),
+ 'card subtitle'
+ );
+ });
+
test('it renders with @description', async function (assert) {
await render(hbs``);
assert.equal(
diff --git a/ui/core/app/templates/orgs/org/projects/index.hbs b/ui/core/app/templates/orgs/org/projects/index.hbs
index 27cef9ee1..312844b0d 100644
--- a/ui/core/app/templates/orgs/org/projects/index.hbs
+++ b/ui/core/app/templates/orgs/org/projects/index.hbs
@@ -13,6 +13,7 @@
{{#each @model as |project|}}