mirror of
https://github.com/wassname/talk.git
synced 2026-09-11 12:51:33 +08:00
Refactor indent level className
This commit is contained in:
@@ -10,17 +10,30 @@ export interface IndentProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
const levels = [
|
||||
styles.level1,
|
||||
styles.level2,
|
||||
styles.level3,
|
||||
styles.level4,
|
||||
styles.level5,
|
||||
styles.level6,
|
||||
];
|
||||
|
||||
function getLevelClassName(level?: number) {
|
||||
if (!level) {
|
||||
return "";
|
||||
}
|
||||
if (level - 1 > levels.length) {
|
||||
throw new Error(`Indent level ${level} does not exist`);
|
||||
}
|
||||
return levels[level - 1];
|
||||
}
|
||||
|
||||
const Indent: StatelessComponent<IndentProps> = props => {
|
||||
return (
|
||||
<div className={cn(props.className, styles.root)}>
|
||||
<div
|
||||
className={cn({
|
||||
[styles.level1]: props.level === 1,
|
||||
[styles.level2]: props.level === 2,
|
||||
[styles.level3]: props.level === 3,
|
||||
[styles.level4]: props.level === 4,
|
||||
[styles.level5]: props.level === 5,
|
||||
[styles.level6]: props.level === 6,
|
||||
className={cn(getLevelClassName(props.level), {
|
||||
[styles.noBorder]: props.noBorder,
|
||||
})}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user