Skip to content

Commit bbbaeac

Browse files
committed
fix(*): add icons to features
1 parent 8f2715d commit bbbaeac

File tree

2 files changed

+33
-24
lines changed

2 files changed

+33
-24
lines changed

packages/entities/entities-shared/sandbox/pages/EntityEmptyStatePage.vue

+4-4
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,20 @@ import { RuntimesIcon } from '@kong/icons'
2626
2727
const features = [
2828
{
29-
icon: RuntimesIcon,
29+
iconVariant: 'deploy',
3030
title: 'First',
3131
description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Id quidem aperiam similique vitae beatae',
3232
},
3333
{
34-
icon: RuntimesIcon,
34+
iconVariant: 'plug',
3535
title: 'Second',
3636
description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Id quidem aperiam similique vitae beatae',
3737
}, {
38-
icon: RuntimesIcon,
38+
iconVariant: 'chartData',
3939
title: 'Third ',
4040
description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Id quidem aperiam similique vitae beatae',
4141
}, {
42-
icon: RuntimesIcon,
42+
iconVariant: 'analytics',
4343
title: 'Fourth',
4444
description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Id quidem aperiam similique vitae beatae',
4545
},

packages/entities/entities-shared/src/components/entity-empty-state/EntityEmptyState.vue

+29-20
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,8 @@
2020
<div :title="title">
2121
{{ title }}
2222
</div>
23-
<span
24-
v-if="$slots['title-after']"
25-
>
26-
<slot
27-
name="title-after"
28-
/>
23+
<span v-if="$slots['title-after']">
24+
<slot name="title-after" />
2925
</span>
3026
</div>
3127
<div
@@ -60,6 +56,7 @@
6056
size="large"
6157
@click="$emit('create-button-clicked')"
6258
>
59+
<AddIcon />
6360
{{ actionButtonText }}
6461
</KButton>
6562
<KButton
@@ -77,22 +74,18 @@
7774
v-for="feature in features"
7875
:key="feature"
7976
>
80-
<KCard
81-
class="entity-empty-state-card"
82-
:title="feature.title"
83-
>
84-
<template #icon />
77+
<KCard class="entity-empty-state-card">
8578
<template #title>
8679
<component
87-
:is="feature.iconVariant"
80+
:is="getEntityIcon(feature.iconVariant)"
8881
:color="`var(--kui-color-text-neutral-stronger, ${KUI_COLOR_TEXT_NEUTRAL_STRONGER})`"
89-
:size="KUI_ICON_SIZE_30"
82+
:size="KUI_ICON_SIZE_40"
9083
/>
91-
<div>{{ feature.title }}</div>
92-
</template>
93-
<template #default>
94-
{{ feature.description }}
84+
<div class="card-title">
85+
{{ feature.title }}
86+
</div>
9587
</template>
88+
{{ feature.description }}
9689
</KCard>
9790
</template>
9891
</div>
@@ -102,10 +95,26 @@
10295
<script lang="ts" setup>
10396
import { type PropType } from 'vue'
10497
import { KButton } from '@kong/kongponents'
105-
import { BookIcon } from '@kong/icons'
98+
import { BookIcon, AddIcon, DeployIcon, PlugIcon, ChartDataIcon, AnalyticsIcon } from '@kong/icons'
10699
import composables from '../../composables'
107100
import type { EmptyStateFeature } from 'src/types/entity-empty-state'
108-
import { KUI_ICON_SIZE_30, KUI_COLOR_TEXT_NEUTRAL_STRONGER } from '@kong/design-tokens'
101+
import { KUI_ICON_SIZE_40, KUI_COLOR_TEXT_NEUTRAL_STRONGER } from '@kong/design-tokens'
102+
103+
const getEntityIcon = (iconType: string): object => {
104+
console.log(iconType)
105+
switch (iconType) {
106+
case 'deploy':
107+
return DeployIcon
108+
case 'plug':
109+
return PlugIcon
110+
case 'chartData':
111+
return ChartDataIcon
112+
case 'analytics':
113+
return AnalyticsIcon
114+
default:
115+
return BookIcon
116+
}
117+
}
109118
110119
defineProps({
111120
title: {
@@ -182,7 +191,7 @@ const { i18n: { t } } = composables.useI18n()
182191
max-width: 640px; // limit width so the description stays readable if it is too long
183192
184193
p {
185-
margin: var(--kui-space-0, $kui-space-0);
194+
margin: var(--kui-space-30, $kui-space-30);
186195
}
187196
}
188197

0 commit comments

Comments
 (0)