Skip to content

Commit 101f3be

Browse files
authored
Merge pull request #45 from testsigmahq/dev
Tutorilas
2 parents a996c33 + f15504d commit 101f3be

4 files changed

Lines changed: 19 additions & 19 deletions

File tree

src/components/LeftNav.jsx

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,39 +15,41 @@ class ListItem extends React.Component {
1515

1616
constructor(props) {
1717
super(props);
18-
const { data, isRoot } = this.props;
18+
const { data, isRoot, identifier } = this.props;
1919
this.state = {
2020
data,
2121
isRoot,
22+
identifier,
2223
active: [],
2324
currentUrl: '',
25+
expandedPanels: [],
2426
};
2527
this.toggleActive = this.toggleActive.bind(this);
28+
this.toggleExpansion = this.toggleExpansion.bind(this); // Bind toggleExpansion method
2629
}
2730

2831
componentDidMount() {
2932
this.setState({ currentUrl: window.location.pathname });
3033
}
3134

3235
setActive = (name) => {
33-
const { active } = this.state;
36+
const {active, expandedPanels} = this.state;
3437
if (active.indexOf(name) === -1) {
35-
this.setState((prev) => ({ active: [...prev.active, name] }));
36-
const { expandedPanels } = this.state;
37-
if(!expandedPanels){
38-
this.setState(() => ({ expandedPanels: [ name] }));
38+
this.setState((prev) => ({active: [...prev.active, name]}));
39+
if (!expandedPanels.includes(name)) { // Check if name is already in expandedPanels
40+
this.setState((prev) => ({expandedPanels: [...prev.expandedPanels, name]}));
3941
}
4042
}
41-
} // sets a given list item as active
43+
};
4244

4345

4446
toggleExpansion(identifier) {
4547
const { expandedPanels } = this.state;
46-
if (expandedPanels?.indexOf(identifier) === -1) {
48+
if (expandedPanels.includes(identifier)) {
49+
const updatedExpandedPanels = expandedPanels.filter((panel) => panel !== identifier);
50+
this.setState({ expandedPanels: updatedExpandedPanels });
51+
} else {
4752
this.setState((prev) => ({ expandedPanels: [...prev.expandedPanels, identifier] }));
48-
} else if(expandedPanels){
49-
expandedPanels.splice(expandedPanels.indexOf(identifier), 1);
50-
this.setState(() => ({ expandedPanels: [...expandedPanels] }));
5153
}
5254
}
5355

@@ -121,7 +123,7 @@ class ListItem extends React.Component {
121123
return (
122124
<ul
123125
key={`${name}-${uuidv4()}`}
124-
className={` ${(this.state.expandedPanels?.indexOf(name) === 0) ? 'active' : 'inactive'} ${isRoot ? ' root' : ''} `}
126+
className={` ${(this.state.expandedPanels?.indexOf(name) !== -1) ? 'active' : 'inactive'} ${isRoot ? ' root' : ''} `}
125127
>
126128
<li className={`parent${this.inUrl(`/${name}/`) ? ' currentUrl text_green' : ''}`} onClick={this.toggleActive} identifier={name}>
127129
<svg onClick={(e)=>{this.toggleActive(e); this.toggleExpansion(name)}} identifier={name} className={`inline float_left relative folder-icon parent_caret${(this.state.expandedPanels?.indexOf(name) !== -1) ? ' active_parent_caret' : ''}`} xmlns="http://www.w3.org/2000/svg" fill="none" height="24"
@@ -184,7 +186,6 @@ const LeftNav = () => {
184186
return (
185187
<>
186188
<div className="leftNav bg-gray-50 px-14 pt-5">
187-
<Link to={"/tutorials/"} className="homepage_btn">Testsigma Tutorials</Link>
188189
<ListItem data={data.leftNavLinks.value} isRoot />
189190
</div>
190191
</>

src/components/LeftNav.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@
113113

114114
ul {
115115
border-bottom: none;
116-
padding-left: 10px;
117116
margin-bottom: 0;
118117
li{
119118
display: flex;

0 commit comments

Comments
 (0)