diff --git a/app/app.vue b/app/app.vue index 36d68bae..9cfe523f 100644 --- a/app/app.vue +++ b/app/app.vue @@ -131,11 +131,11 @@ watch(() => route.fullPath, () => {
route.fullPath, () => { size="sm" class="hidden gap-1.5 whitespace-nowrap lg:inline-flex" > - + Trending Skills route.fullPath, () => { block class="min-h-11 justify-start gap-1.5 whitespace-nowrap" > - + Trending Skills /{{ skill.name }} - + Trending diff --git a/app/components/TrendingMark.vue b/app/components/TrendingMark.vue new file mode 100644 index 00000000..b50404c9 --- /dev/null +++ b/app/components/TrendingMark.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/layers/marketing/app/components/TrendingBoardItem.vue b/layers/marketing/app/components/TrendingBoardItem.vue index ea56b2d1..b15e7918 100644 --- a/layers/marketing/app/components/TrendingBoardItem.vue +++ b/layers/marketing/app/components/TrendingBoardItem.vue @@ -24,6 +24,22 @@ const emit = defineEmits<{ }>() const posts = computed(() => (row.reason._tag === 'posts' ? row.reason.posts : [])) + +/** + * Each row draws the signal that ranked it, and only that one. Mentions ranked + * a row with posts, so it gets the braille spark. Stars ranked a surge or a + * filler row, so those keep the star line. Two charts on one line would ask the + * reader which one put the row here. + * + * A month board ranks posts older than the spark's seven days. A week of + * blank cells draws nothing beside a bare zero, so that row shows no spark and + * its posts carry their own dates. + */ +const isSocial = computed(() => row.reason._tag === 'posts') +const mentions = computed(() => { + const days = row.reason._tag === 'posts' ? row.reason.mentionsByDay : null + return days?.some(count => count > 0) ? days : null +})