diff --git a/app/javascript/flavours/glitch/features/annual_report/announcement/announcement.stories.tsx b/app/javascript/flavours/glitch/features/annual_report/announcement/announcement.stories.tsx new file mode 100644 index 0000000000..926e28bcf2 --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/announcement/announcement.stories.tsx @@ -0,0 +1,38 @@ +import type { Meta, StoryObj } from '@storybook/react-vite'; +import { fn } from 'storybook/test'; + +import { AnnualReportAnnouncement } from '.'; + +const meta = { + title: 'Components/AnnualReportAnnouncement', + component: AnnualReportAnnouncement, + args: { + hasData: false, + isLoading: false, + year: '2025', + onRequestBuild: fn(), + onOpen: fn(), + }, +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +export const Default: Story = { + render: (args) => , +}; + +export const Loading: Story = { + args: { + isLoading: true, + }, + render: Default.render, +}; + +export const WithData: Story = { + args: { + hasData: true, + }, + render: Default.render, +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/announcement/index.tsx b/app/javascript/flavours/glitch/features/annual_report/announcement/index.tsx new file mode 100644 index 0000000000..33a2bed6ef --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/announcement/index.tsx @@ -0,0 +1,46 @@ +import { FormattedMessage } from 'react-intl'; + +import { Button } from '@/flavours/glitch/components/button'; + +import styles from './styles.module.scss'; + +export const AnnualReportAnnouncement: React.FC<{ + year: string; + hasData: boolean; + isLoading: boolean; + onRequestBuild: () => void; + onOpen: () => void; +}> = ({ year, hasData, isLoading, onRequestBuild, onOpen }) => { + return ( +
+

+ +

+

+ +

+ {hasData ? ( + + ) : ( + + )} +
+ ); +}; diff --git a/app/javascript/flavours/glitch/features/annual_report/announcement/styles.module.scss b/app/javascript/flavours/glitch/features/annual_report/announcement/styles.module.scss new file mode 100644 index 0000000000..a09c3425b6 --- /dev/null +++ b/app/javascript/flavours/glitch/features/annual_report/announcement/styles.module.scss @@ -0,0 +1,29 @@ +.wrapper { + display: flex; + flex-direction: column; + align-items: center; + padding: 40px 60px; + text-align: center; + font-size: 15px; + line-height: 1.5; + color: var(--color-text-on-media); + background: var(--color-bg-media-base); + background: + radial-gradient(at 40% 87%, #240c9a99 0, transparent 50%), + radial-gradient(at 19% 10%, #6b0c9a99 0, transparent 50%), + radial-gradient(at 90% 27%, #9a0c8299 0, transparent 50%), + radial-gradient(at 16% 95%, #1e948299 0, transparent 50%) + var(--color-bg-media-base); + border-bottom: 1px solid var(--color-border-primary); + + h2 { + font-size: 20px; + font-weight: 500; + line-height: 1.2; + margin-bottom: 8px; + } + + p { + margin-bottom: 20px; + } +}