Skip to content

Commit 79e1c10

Browse files
committed
Add support for catalog_logo
1 parent 78b04d5 commit 79e1c10

4 files changed

Lines changed: 42 additions & 14 deletions

File tree

console/src/api.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export async function fetchCatalogImage(): Promise<string> {
5252
export async function fetchAllPatterns(): Promise<{
5353
patterns: Pattern[];
5454
catalogDescription?: string;
55+
catalogLogo?: string;
5556
}> {
5657
const catalog = await fetchCatalog();
5758
const patterns = await Promise.all(
@@ -60,7 +61,11 @@ export async function fetchAllPatterns(): Promise<{
6061
return { ...pattern, catalogKey: key };
6162
}),
6263
);
63-
return { patterns, catalogDescription: catalog.catalog_description };
64+
return {
65+
patterns,
66+
catalogDescription: catalog.catalog_description,
67+
catalogLogo: catalog.catalog_logo,
68+
};
6469
}
6570

6671
export interface VaultJobStatus {

console/src/components/PatternCatalogPage.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
.patterns-operator__catalog-header {
2+
display: flex;
3+
align-items: center;
4+
justify-content: space-between;
5+
}
6+
7+
.patterns-operator__catalog-logo {
8+
max-height: 48px;
9+
object-fit: contain;
10+
}
11+
112
.patterns-operator__card-field {
213
margin-bottom: 4px;
314
}

console/src/components/PatternCatalogPage.tsx

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ export default function PatternCatalogPage() {
166166
const [installedPatterns, setInstalledPatterns] = React.useState<Set<string>>(new Set());
167167
const [catalogImage, setCatalogImage] = React.useState<string | null>(null);
168168
const [catalogDescription, setCatalogDescription] = React.useState<string | undefined>();
169+
const [catalogLogo, setCatalogLogo] = React.useState<string | undefined>();
169170
const [selectedTiers, setSelectedTiers] = React.useState<Set<string>>(new Set(['maintained']));
170171
const [tierSelectOpen, setTierSelectOpen] = React.useState(false);
171172

@@ -175,6 +176,7 @@ export default function PatternCatalogPage() {
175176
.then(([catalogData, installed, image]) => {
176177
setPatterns(catalogData.patterns);
177178
setCatalogDescription(catalogData.catalogDescription);
179+
setCatalogLogo(catalogData.catalogLogo);
178180
setInstalledPatterns(new Set(installed));
179181
setCatalogImage(image);
180182
setLoading(false);
@@ -222,21 +224,30 @@ export default function PatternCatalogPage() {
222224
<title data-test="pattern-catalog-page-title">{t('Pattern Catalog')}</title>
223225
</Helmet>
224226
<PageSection>
225-
{catalogImage ? (
226-
<Tooltip content={`${t('Catalog source')}: ${catalogImage}`}>
227-
<Title
228-
headingLevel="h1"
229-
data-test="pattern-catalog-page-title"
230-
style={{ display: 'inline-block' }}
231-
>
227+
<div className="patterns-operator__catalog-header">
228+
{catalogImage ? (
229+
<Tooltip content={`${t('Catalog source')}: ${catalogImage}`}>
230+
<Title
231+
headingLevel="h1"
232+
data-test="pattern-catalog-page-title"
233+
style={{ display: 'inline-block' }}
234+
>
235+
{t('Pattern Catalog')}
236+
</Title>
237+
</Tooltip>
238+
) : (
239+
<Title headingLevel="h1" data-test="pattern-catalog-page-title">
232240
{t('Pattern Catalog')}
233241
</Title>
234-
</Tooltip>
235-
) : (
236-
<Title headingLevel="h1" data-test="pattern-catalog-page-title">
237-
{t('Pattern Catalog')}
238-
</Title>
239-
)}
242+
)}
243+
{catalogLogo && (
244+
<img
245+
src={catalogLogo}
246+
alt={t('Catalog logo')}
247+
className="patterns-operator__catalog-logo"
248+
/>
249+
)}
250+
</div>
240251
</PageSection>
241252
{catalogDescription && (
242253
<PageSection>

console/src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export interface Catalog {
22
generated_at: string;
33
generator_version: string;
44
catalog_description?: string;
5+
catalog_logo?: string;
56
patterns: string[];
67
}
78

0 commit comments

Comments
 (0)