From 1d162d7aafb3cfe2c3351b5fd891bbf6d476e9b2 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 14 Apr 2022 19:25:46 +0200 Subject: chore: add a Settings component --- src/components/molecules/modals/modal.module.scss | 17 +++++++++++++++ src/components/molecules/modals/modal.tsx | 25 +++++++++++++++++++---- 2 files changed, 38 insertions(+), 4 deletions(-) (limited to 'src/components/molecules') diff --git a/src/components/molecules/modals/modal.module.scss b/src/components/molecules/modals/modal.module.scss index 2fff562..8866834 100644 --- a/src/components/molecules/modals/modal.module.scss +++ b/src/components/molecules/modals/modal.module.scss @@ -1,4 +1,5 @@ @use "@styles/abstracts/functions" as fun; +@use "@styles/abstracts/mixins" as mix; .wrapper { padding: var(--spacing-md); @@ -12,6 +13,22 @@ 1; box-shadow: fun.convert-px(2) fun.convert-px(-2) fun.convert-px(3) fun.convert-px(-1) var(--color-shadow-dark); + + @include mix.media("screen") { + @include mix.dimensions(null, "sm") { + padding: var(--spacing-xs); + border-left: none; + border-right: none; + + .title { + margin-bottom: var(--spacing-2xs); + } + } + + @include mix.dimensions("sm") { + max-width: 35ch; + } + } } .icon { diff --git a/src/components/molecules/modals/modal.tsx b/src/components/molecules/modals/modal.tsx index ce12e7a..52ada57 100644 --- a/src/components/molecules/modals/modal.tsx +++ b/src/components/molecules/modals/modal.tsx @@ -12,6 +12,10 @@ export type ModalProps = { * Set additional classnames. */ className?: string; + /** + * Set additional classnames to the heading. + */ + headingClassName?: string; /** * A icon to illustrate the modal. */ @@ -22,9 +26,12 @@ export type ModalProps = { title?: string; }; -const CogIcon = dynamic(() => import('@components/atoms/icons/cog')); +const CogIcon = dynamic(() => import('@components/atoms/icons/cog'), { + ssr: false, +}); const SearchIcon = dynamic( - () => import('@components/atoms/icons/magnifying-glass') + () => import('@components/atoms/icons/magnifying-glass'), + { ssr: false } ); /** @@ -32,7 +39,13 @@ const SearchIcon = dynamic( * * Render a modal component with an optional title and icon. */ -const Modal: FC = ({ children, className = '', icon, title }) => { +const Modal: FC = ({ + children, + className = '', + headingClassName = '', + icon, + title, +}) => { const getIcon = (id: Icons) => { switch (id) { case 'cogs': @@ -47,7 +60,11 @@ const Modal: FC = ({ children, className = '', icon, title }) => { return (
{title && ( - + {icon && {getIcon(icon)}} {title} -- cgit v1.2.3