Skip to content

Commit 4e6b642

Browse files
committed
rework docs manager empty state
1 parent 31b8409 commit 4e6b642

4 files changed

Lines changed: 29 additions & 27 deletions

File tree

modules/@apostrophecms/asset/lib/globalIcons.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ module.exports = {
5050
'drag-icon': 'Apps',
5151
'eye-icon': 'Eye',
5252
'file-document-icon': 'FileDocument',
53+
'file-document-multiple-outline-icon': 'FileDocumentMultipleOutline',
5354
'file-tree-icon': 'FileTree',
5455
'flare-icon': 'Flare',
5556
'format-align-center-icon': 'FormatAlignCenter',

modules/@apostrophecms/piece-type/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,6 +1295,7 @@ module.exports = {
12951295
managerModal: self.getComponentName('managerModal', 'AposDocsManager')
12961296
});
12971297
browserOptions.managerApiProjection = self.getManagerApiProjection(req);
1298+
browserOptions.emptyState = self.options.emptyState;
12981299

12991300
return browserOptions;
13001301
},

modules/@apostrophecms/piece-type/ui/apos/components/AposDocsManager.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,13 +212,16 @@ export default {
212212
};
213213
},
214214
emptyDisplay() {
215+
const docModule = apos.modules[this.moduleName];
216+
if (docModule?.emptyState) {
217+
return docModule.emptyState;
218+
}
215219
return {
220+
icon: 'file-document-multiple-outline-icon',
216221
title: {
217222
key: 'apostrophe:noTypeFound',
218223
type: this.$t(this.moduleLabels.plural || this.moduleLabels.singular)
219-
},
220-
message: '',
221-
emoji: '📄'
224+
}
222225
};
223226
},
224227
disableUnpublished() {
Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
<template>
22
<div class="apos-empty-state">
3+
<div
4+
v-if="emptyState.icon"
5+
class="apos-empty-state__icon"
6+
>
7+
<AposIndicator
8+
:icon="emptyState.icon"
9+
class="apos-empty-state__indicator"
10+
icon-color="var(--a-base-3)"
11+
:icon-size="32"
12+
/>
13+
</div>
314
<p
415
v-if="emptyState.title"
5-
class="apos-title"
16+
class="apos-empty-state__title"
617
>
718
{{ $t(emptyState.title) }}
819
</p>
920
<p
1021
v-if="emptyState.message"
11-
class="apos-hint"
22+
class="apos-empty-state__message"
1223
>
1324
{{ $t(emptyState.message) }}
1425
</p>
15-
<div
16-
v-if="emptyState.emoji"
17-
class="apos-emoji"
18-
>
19-
{{ emptyState.emoji }}
20-
</div>
2126
</div>
2227
</template>
2328

@@ -38,30 +43,22 @@ export default {
3843
display: flex;
3944
flex-direction: column;
4045
align-items: center;
46+
max-width: 450px;
4147
}
4248
43-
.apos-title {
44-
@include type-title;
45-
46-
& {
47-
margin: 0 0 10px;
48-
}
49+
.apos-empty-state__icon {
50+
margin-bottom: 20px;
4951
}
5052
51-
.apos-hint {
52-
@include type-base;
53+
.apos-empty-state__title {
54+
@include type-title;
5355
5456
& {
55-
font-style: italic;
56-
line-height: var(--a-line-tallest);
57-
color: var(--a-base-1);
58-
text-align: center;
57+
margin: 0 0 10px;
5958
}
6059
}
6160
62-
.apos-emoji {
63-
// Variable sizes are less important for icons.
64-
/* stylelint-disable-next-line declaration-property-unit-allowed-list */
65-
font-size: 34px;
61+
.apos-empty-state__message {
62+
@include type-large;
6663
}
6764
</style>

0 commit comments

Comments
 (0)