Skip to content

Commit 94c56f1

Browse files
committed
Created comibineClasses function to clean up conditional class handling
1 parent bd33c7c commit 94c56f1

3 files changed

Lines changed: 9 additions & 7 deletions

File tree

components/buttons/ButtonLink/index.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
import styles from './ButtonLink.module.scss';
2+
import { combineClasses } from '@/utils/classnames';
23

34
export default function ButtonLink({
45
link,
56
children,
67
customBtnClass,
78
openNewTab,
89
}) {
9-
const buttonClass = customBtnClass
10-
? `${styles.buttonLink} ${styles[customBtnClass]}`
11-
: styles.buttonLink;
12-
10+
const buttonClass = combineClasses(styles.buttonLink, customBtnClass, styles);
1311
return (
1412
<a
1513
href={link}
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import styles from './Wrapper.module.scss';
2+
import { combineClasses } from '@/utils/classnames';
23

34
export default function Wrapper({ customClass, children }) {
4-
const wrapperClass = customClass
5-
? `${styles.wrapper} ${styles[customClass]}`
6-
: styles.wrapper;
5+
const wrapperClass = combineClasses(styles.wrapper, customClass, styles);
76
return <div className={wrapperClass}>{children}</div>;
87
}

utils/classnames.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export function combineClasses(baseClass, customClassName, styles) {
2+
return customClassName && styles[customClassName]
3+
? `${baseClass} ${styles[customClassName]}`
4+
: baseClass;
5+
}

0 commit comments

Comments
 (0)