Skip to content

Commit d6d99ac

Browse files
committed
refactor: split component files
1 parent c94a755 commit d6d99ac

3 files changed

Lines changed: 33 additions & 29 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { ArrowUpRightIcon } from '@heroicons/react/24/outline';
2+
import Banner from '@node-core/ui-components/Common/Banner';
3+
4+
import styles from './index.module.css';
5+
6+
/** @import { BannerEntry } from './types.d.ts' */
7+
8+
/**
9+
* @param {{ banners: BannerEntry[] }} props
10+
*/
11+
const AnnouncementBanner = ({ banners }) => (
12+
<div role="region" aria-label="Announcements" className={styles.banners}>
13+
{banners.map(banner => (
14+
<Banner key={banner.text} type={banner.type}>
15+
{banner.link ? (
16+
<a href={banner.link} target="_blank" rel="noopener noreferrer">
17+
{banner.text}
18+
</a>
19+
) : (
20+
banner.text
21+
)}
22+
{banner.link && <ArrowUpRightIcon />}
23+
</Banner>
24+
))}
25+
</div>
26+
);
27+
28+
export default AnnouncementBanner;
Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,13 @@
1-
import { ArrowUpRightIcon } from '@heroicons/react/24/outline';
2-
import Banner from '@node-core/ui-components/Common/Banner';
31
import { lazy, Suspense } from 'preact/compat';
42
import { useMemo } from 'preact/hooks';
53

6-
import styles from './index.module.css';
4+
import AnnouncementBanner from './AnnouncementBanner.jsx';
75
import { loadBanners } from './loadBanners.mjs';
86

9-
/** @import { BannerEntry } from './types.d.ts' */
10-
11-
/**
12-
* @param {{ banners: BannerEntry[] }} props
13-
*/
14-
const AnnouncementBanner = ({ banners }) => (
15-
<div role="region" aria-label="Announcements" className={styles.banners}>
16-
{banners.map(banner => (
17-
<Banner key={banner.text} type={banner.type}>
18-
{banner.link ? (
19-
<a href={banner.link} target="_blank" rel="noopener noreferrer">
20-
{banner.text}
21-
</a>
22-
) : (
23-
banner.text
24-
)}
25-
{banner.link && <ArrowUpRightIcon />}
26-
</Banner>
27-
))}
28-
</div>
29-
);
30-
31-
export default AnnouncementBanner;
32-
337
/**
348
* @param {{ remoteConfig: string, versionMajor: number | null }} props
359
*/
36-
export const RemoteLoadableBanner = ({ remoteConfig, versionMajor }) => {
10+
const RemoteLoadableBanner = ({ remoteConfig, versionMajor }) => {
3711
const LazyBanners = useMemo(
3812
() =>
3913
lazy(async () => {
@@ -54,3 +28,5 @@ export const RemoteLoadableBanner = ({ remoteConfig, versionMajor }) => {
5428
</Suspense>
5529
);
5630
};
31+
32+
export default RemoteLoadableBanner;

src/generators/web/ui/components/Layout/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import TableOfContents from '@node-core/ui-components/Common/TableOfContents';
22
import Article from '@node-core/ui-components/Containers/Article';
33

4-
import { RemoteLoadableBanner } from '../AnnouncementBanner';
4+
import RemoteLoadableBanner from '../AnnouncementBanner';
55

66
import Footer from '#theme/Footer';
77
import MetaBar from '#theme/Metabar';

0 commit comments

Comments
 (0)