diff --git a/react/src/components/related-button.tsx b/react/src/components/related-button.tsx
index e82a8974..f163e816 100644
--- a/react/src/components/related-button.tsx
+++ b/react/src/components/related-button.tsx
@@ -1,4 +1,4 @@
-import React, { ReactNode } from 'react'
+import React, { ReactNode, useId } from 'react'
import './related.css'
import { article_link } from '../navigation/links'
@@ -69,6 +69,8 @@ function RelatedList(props: { articleType: string, buttonType: string, regions:
return name
}
+ const checkId = useId()
+
return (
@@ -78,6 +80,7 @@ function RelatedList(props: { articleType: string, buttonType: string, regions:
name=""
setting_key={setting_key}
classNameToUse="related_checkbox"
+ id={checkId}
/>
@@ -95,7 +98,9 @@ function RelatedList(props: { articleType: string, buttonType: string, regions:
paddingTop: '1pt', fontWeight: 500,
}}
>
- {displayName(relationship_type)}
+
{
regions.map((row, i) => (
diff --git a/react/src/components/sidebar.tsx b/react/src/components/sidebar.tsx
index 0dbdfcdb..bac0d7a1 100644
--- a/react/src/components/sidebar.tsx
+++ b/react/src/components/sidebar.tsx
@@ -1,4 +1,4 @@
-import React, { ReactNode } from 'react'
+import React, { ReactNode, useId } from 'react'
import '../style.css'
import './sidebar.css'
@@ -101,7 +101,7 @@ export function Sidebar(): ReactNode {
// type representing a key of SettingsDictionary that have boolean values
type BooleanSettingKey = keyof { [K in keyof SettingsDictionary as SettingsDictionary[K] extends boolean ? K : never]: boolean }
-export function CheckboxSetting(props: { name: string, setting_key: K, classNameToUse?: string }): ReactNode {
+export function CheckboxSetting(props: { name: string, setting_key: K, classNameToUse?: string, id?: string }): ReactNode {
const [checked, setChecked] = useSetting(props.setting_key)
return (
@@ -118,21 +118,25 @@ export function CheckboxSetting(props: { name: stri
}
}}
classNameToUse={props.classNameToUse}
+ id={props.id}
/>
)
};
-export function CheckboxSettingCustom(props: { name: string, setting_key: K, settings: Record, set_setting: (key: K, value: boolean) => void, classNameToUse?: string }): ReactNode {
+export function CheckboxSettingCustom(props: { name: string, setting_key: K, settings: Record, set_setting: (key: K, value: boolean) => void, classNameToUse?: string, id?: string }): ReactNode {
// like CheckboxSetting, but doesn't use useSetting, instead using the callbacks
+ const id = useId()
+ const inputId = props.id ?? id
return (
{ props.set_setting(props.setting_key, e.target.checked) }}
style={{ accentColor: '#5a7dc3' }}
/>
-
+
)
};