Skip to content

Commit a4795aa

Browse files
refactor: use cn to combine twMerge with clsx
1 parent 92f1241 commit a4795aa

6 files changed

Lines changed: 29 additions & 11 deletions

File tree

package-lock.json

Lines changed: 12 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
"@types/winreg": "^1.2.31",
115115
"@types/ws": "^8.5.3",
116116
"check-disk-space": "^3.3.1",
117+
"clsx": "^2.1.1",
117118
"config-ini-parser": "~1.5.9",
118119
"dateformat": "^5.0.1",
119120
"electron-store": "^8.0.1",

src/renderer/components/AddonSection/Configure/TrackSelector.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ import { useSelector } from 'react-redux';
33
import { InstallerStore } from 'renderer/redux/store';
44
import { Check } from 'tabler-icons-react';
55
import { Addon, AddonTrack } from 'renderer/utils/InstallerConfiguration';
6-
6+
import cn from 'renderer/utils/cn';
77
import '../index.css';
8-
import { twMerge } from 'tailwind-merge';
98

109
export const Tracks: React.FC = ({ children }) => (
1110
<div className="flex flex-row items-stretch justify-start gap-3">{children}</div>
@@ -27,8 +26,8 @@ export const Track: React.FC<TrackProps> = ({ isSelected, isInstalled, handleSel
2726

2827
return (
2928
<div
30-
className={twMerge(
31-
`flex w-60 h-24 cursor-pointer flex-col rounded-sm-md border-2 border-transparent bg-navy-dark text-white transition-all duration-200 hover:border-navy-lightest hover:text-gray-300`,
29+
className={cn(
30+
'flex w-60 h-24 cursor-pointer flex-col rounded-sm-md border-2 border-transparent bg-navy-dark text-white transition-all duration-200 hover:border-navy-lightest hover:text-gray-300',
3231
isSelected && 'border-2 border-cyan text-cyan',
3332
)}
3433
onClick={() => handleSelected(track)}

src/renderer/components/App/NavBar.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import Msfs2020logo from '../../assets/msfs2020.png';
99
import Msfs2024logo from '../../assets/msfs2024.png';
1010
import { InstallStatus } from 'renderer/components/AddonSection/Enums';
1111
import { enabledSimulators, nextSim, Simulators } from 'renderer/utils/SimManager';
12+
import cn from 'renderer/utils/cn';
1213

1314
export const NavBar: FC = ({ children }) => {
1415
const darkTheme = useIsDarkTheme();
@@ -85,8 +86,8 @@ export const ManagedSimSelector: FC<NavBarItemProps> = ({
8586
return (
8687
<NavLink
8788
to={to}
88-
className={`${BASE_STYLE} ${className} group`}
89-
activeClassName={`${BASE_STYLE} bg-navy-light`}
89+
className={cn(BASE_STYLE, className, 'group')}
90+
activeClassName={cn(BASE_STYLE, 'bg-navy-light')}
9091
onClick={handleClick}
9192
>
9293
{children}

src/renderer/components/Toggle.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { FC } from 'react';
2-
import { twMerge } from 'tailwind-merge';
2+
import cn from 'renderer/utils/cn';
33

44
interface ToggleProps {
55
value: boolean;
@@ -17,12 +17,12 @@ export const Toggle: FC<ToggleProps> = ({
1717
onColor = 'bg-cyan-medium',
1818
}) => (
1919
<div
20-
className={twMerge(`flex h-8 w-14 cursor-pointer items-center rounded-full text-3xl`, bgColor)}
20+
className={cn(`flex h-8 w-14 cursor-pointer items-center rounded-full text-3xl`, bgColor)}
2121
onClick={() => onToggle(!value)}
2222
style={{ transform: `scale(${scale})` }}
2323
>
2424
<div
25-
className={twMerge(`mx-1.5 size-6 rounded-full bg-gray-400 transition duration-200`, value && onColor)}
25+
className={cn(`mx-1.5 size-6 rounded-full bg-gray-400 transition duration-200`, value && onColor)}
2626
style={{ transform: `translate(${value ? '12px' : '1px'}, 0)` }}
2727
/>
2828
</div>

src/renderer/utils/cn.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { clsx, type ClassValue } from 'clsx';
2+
import { twMerge } from 'tailwind-merge';
3+
4+
const cn = (...inputs: ClassValue[]) => {
5+
return twMerge(clsx(inputs));
6+
};
7+
export default cn;

0 commit comments

Comments
 (0)