@@ -8,7 +8,13 @@ import React from 'react'
88import styles from './App.module.css'
99import configOptionStore from './configOptionStore.js'
1010import settingsActions from './settingsActions.js'
11- import { categoryOrder , categories } from './settingsCategories.js'
11+ import {
12+ categoryOrder ,
13+ categories ,
14+ filterCategoryOrderByApiVersion ,
15+ filterCategoriesByApiVersion ,
16+ filterSettingsByApiVersion ,
17+ } from './settingsCategories.js'
1218import SettingsFields from './settingsFields.component.js'
1319import appTheme from './theme.js'
1420
@@ -18,7 +24,10 @@ class AppComponent extends React.Component {
1824
1925 this . state = {
2026 category : categoryOrder [ 0 ] ,
21- currentSettings : categories [ categoryOrder [ 0 ] ] . settings ,
27+ currentSettings : filterSettingsByApiVersion ( {
28+ settings : categories [ categoryOrder [ 0 ] ] . settings ,
29+ apiVersion : props . apiVersion ,
30+ } ) ,
2231 snackbarMessage : '' ,
2332 showSnackbar : false ,
2433 formValidator : undefined ,
@@ -37,7 +46,7 @@ class AppComponent extends React.Component {
3746 }
3847
3948 componentDidMount ( ) {
40- settingsActions . load ( )
49+ settingsActions . load ( { apiVersion : this . props . apiVersion } )
4150 this . subscriptions = [ ]
4251
4352 this . subscriptions . push (
@@ -78,7 +87,10 @@ class AppComponent extends React.Component {
7887
7988 this . setState ( {
8089 category,
81- currentSettings,
90+ currentSettings : filterSettingsByApiVersion ( {
91+ settings : currentSettings ,
92+ apiVersion : this . props . apiVersion ,
93+ } ) ,
8294 searchText :
8395 category === 'search' ? this . state . searchText : '' ,
8496 } )
@@ -97,25 +109,25 @@ class AppComponent extends React.Component {
97109
98110 // Filter categories based on apiVersion
99111 const { apiVersion } = this . props
100- const filteredCategoryOrder = categoryOrder . filter (
101- ( category ) =>
102- ! categories [ category ] . maximumApiVersion ||
103- apiVersion <= categories [ category ] . maximumApiVersion
104- )
105- const filteredCategories = Object . fromEntries (
106- Object . entries ( categories ) . filter (
107- ( [ key ] ) =>
108- ! categories [ key ] . maximumApiVersion ||
109- apiVersion <= categories [ key ] . maximumApiVersion
110- )
111- )
112+ const filteredCategoryOrder = filterCategoryOrderByApiVersion ( {
113+ categoryOrder,
114+ categories,
115+ apiVersion,
116+ } )
117+
118+ const filteredCategories = filterCategoriesByApiVersion ( {
119+ categories,
120+ apiVersion,
121+ } )
112122
113123 this . setState ( {
114124 filteredCategoryOrder,
115125 filteredCategories,
116126 category : filteredCategoryOrder [ 0 ] ,
117- currentSettings :
118- filteredCategories [ filteredCategoryOrder [ 0 ] ] . settings ,
127+ currentSettings : filterSettingsByApiVersion ( {
128+ settings : filteredCategories [ filteredCategoryOrder [ 0 ] ] . settings ,
129+ apiVersion : apiVersion ,
130+ } ) ,
119131 } )
120132
121133 // Helper function for setting app state based on location using filtered categories
0 commit comments