Skip to content

Commit d76a4ea

Browse files
committed
Squashed commit of the following:
commit a0969cd Author: Anji <[email protected]> Date: Wed Nov 19 10:52:18 2025 -0500 use correct theme name commit d57f6ad Author: Anji <[email protected]> Date: Mon Nov 17 21:11:35 2025 -0500 WIP raido pointer commit c42ed4b Merge: f89b0ec 56c80e5 Author: Anji <[email protected]> Date: Mon Nov 17 17:23:28 2025 -0500 Merge branch 'anji/dev-1194-clear-button' into anji/dev-1169-select-one-to-mantine Conflicts: jsapp/js/components/processing/analysis/responseForms/selectOneResponseForm.component.tsx commit f89b0ec Merge: 92d9a3b 7bb767e Author: Anji Tong <[email protected]> Date: Thu Nov 13 19:48:02 2025 +0000 Merge branch 'anji/dev-1194-clear-button' into anji/dev-1169-select-one-to-mantine commit 92d9a3b Merge: 311d13d ea65cde Author: Anji Tong <[email protected]> Date: Wed Nov 12 15:42:10 2025 +0000 Merge branch 'anji/dev-1194-clear-button' into anji/dev-1169-select-one-to-mantine commit 311d13d Author: Anji <[email protected]> Date: Tue Nov 11 14:23:47 2025 -0500 refactor(analysis): migrate select one form to mantine
1 parent 56c80e5 commit d76a4ea

File tree

4 files changed

+28
-10
lines changed

4 files changed

+28
-10
lines changed

jsapp/js/components/processing/analysis/responseForms/selectOneResponseForm.component.tsx

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import { Radio, Stack } from '@mantine/core'
12
import React, { useContext, useState } from 'react'
2-
import Radio from '#/components/common/radio'
33
import type { RadioOption } from '#/components/common/radio'
44
import AnalysisQuestionsContext from '#/components/processing/analysis/analysisQuestions.context'
55
import {
@@ -71,15 +71,19 @@ export default function SelectOneResponseForm(props: SelectOneResponseFormProps)
7171
}
7272

7373
return (
74-
<ResponseWrapper uuid={props.uuid} onClear={() => onRadioChange('')}>
75-
<Radio
76-
options={getOptions()}
77-
name={question.labels._default}
78-
onChange={onRadioChange}
79-
selected={response}
80-
isClearable
81-
isDisabled={!props.canEdit}
82-
/>
74+
<ResponseWrapper uuid={props.uuid} onClear={() => setResponse('')}>
75+
<Radio.Group>
76+
<Stack gap={'xs'}>
77+
{getOptions().map((option) => (
78+
<Radio
79+
value={option.value}
80+
label={option.label}
81+
onChange={(newResponse) => onRadioChange(newResponse.currentTarget.value)}
82+
checked={response === option.value}
83+
/>
84+
))}
85+
</Stack>
86+
</Radio.Group>
8387
</ResponseWrapper>
8488
)
8589
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.label {
2+
background-color: red;
3+
}
4+
.radio {
5+
cursor: pointer;
6+
}

jsapp/js/theme/kobo/Radio.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { Radio } from '@mantine/core'
2+
import classes from './Radio.module.css'
3+
4+
export const RadioThemeKobo = Radio.extend({
5+
classNames: classes,
6+
})

jsapp/js/theme/kobo/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { TableThemeKobo } from './Table'
1313
import { TagsInputThemeKobo } from './TagsInput'
1414
import { ThemeIconThemeKobo } from './ThemeIcon'
1515
import { TooltipThemeKobo } from './Tooltip'
16+
import {RadioThemeKobo} from './Radio'
1617

1718
export const themeKobo = createTheme({
1819
primaryColor: 'blue',
@@ -123,5 +124,6 @@ export const themeKobo = createTheme({
123124
TagsInput: TagsInputThemeKobo,
124125
ThemeIcon: ThemeIconThemeKobo,
125126
NumberInput: NumberInputThemeKobo,
127+
Radio: RadioThemeKobo,
126128
},
127129
})

0 commit comments

Comments
 (0)