@@ -2,12 +2,11 @@ import React, { useState, useEffect } from 'react'
22import CloseIcon from '../Icons/CloseIcon'
33import DisabilityCognitiveIcon from '../Icons/DisabilityCognitiveIcon'
44import DisabilityHearingIcon from '../Icons/DisabilityHearingIcon'
5- import DisabilityLanguageIcon from '../Icons/DisabilityLanguageIcon'
65import DisabilityMotorIcon from '../Icons/DisabilityMotorIcon'
76import DisabilityVisualIcon from '../Icons/DisabilityVisualIcon'
87import FormClarification from '../Forms/FormClarification'
98import FileForm from '../Forms/FileForm'
10- import { disabilityTypes , disabilitiesFromRule , formFromIssue , formNameFromRule , sharedRuleDescriptions , sharedRuleSummaries } from '../../Services/Ufixit'
9+ import { disabilityTypes , disabilitiesFromRule , formFromIssue , formNameFromRule } from '../../Services/Ufixit'
1110import './UfixitWidget.css'
1211
1312
@@ -32,6 +31,8 @@ export default function UfixitWidget({
3231 const [ UfixitForm , setUfixitForm ] = useState ( null )
3332 const [ formSummary , setFormSummary ] = useState ( '' )
3433 const [ formLearnMore , setFormLearnMore ] = useState ( '' )
34+ const [ showClarification , setShowClarification ] = useState ( false )
35+ const [ showLearnMore , setShowLearnMore ] = useState ( false )
3536 const [ disabilities , setDisabilities ] = useState ( [ ] )
3637 const [ markAsReviewed , setMarkAsReviewed ] = useState ( false )
3738
@@ -72,53 +73,37 @@ export default function UfixitWidget({
7273 setUfixitForm ( ( ) => { return FileForm } )
7374 setFormSummary ( t ( 'form.file.summary' ) )
7475 setFormLearnMore ( t ( `form.file.${ tempActiveIssue . fileData . fileType } .learn_more` ) )
76+ setShowClarification ( false )
77+ setShowLearnMore ( true )
7578 setDisabilities ( [ disabilityTypes . COGNITIVE , disabilityTypes . VISUAL ] )
7679 }
7780 else {
7881 setUfixitForm ( ( ) => formFromIssue ( tempActiveIssue . issueData ) )
7982 setDisabilities ( disabilitiesFromRule ( tempActiveIssue . scanRuleId ) )
8083 let tempFormName = formNameFromRule ( tempActiveIssue . scanRuleId )
81- let tempSummaryKey = ''
82- let tempDescriptionKey = ''
83-
84- // ALL complete forms should have a summary and 'learn more' description.
85- if ( tempFormName !== 'review_only' ) {
86- tempSummaryKey = `form.${ tempFormName } .summary`
87- tempDescriptionKey = `form.${ tempFormName } .learn_more`
88- }
89- else {
90- tempSummaryKey = `rule.summary.${ tempActiveIssue . scanRuleId } `
91- tempDescriptionKey = `rule.desc.${ tempActiveIssue . scanRuleId } `
92- }
93-
94- let tempSummary = t ( tempSummaryKey )
95- let tempDescription = t ( tempDescriptionKey )
96-
97- // If there isn't a specific summary for this rule, it may be using a shared summary.
98- if ( tempSummary === tempSummaryKey ) {
99- if ( sharedRuleSummaries . hasOwnProperty ( tempActiveIssue . scanRuleId ) ) {
100- tempSummary = t ( sharedRuleSummaries [ tempActiveIssue . scanRuleId ] )
84+ if ( tempFormName === 'review_only' ) {
85+ setShowClarification ( false )
86+ let ruleSummary = t ( `rule.summary.${ tempActiveIssue . scanRuleId } ` )
87+ if ( ruleSummary === `rule.summary.${ tempActiveIssue . scanRuleId } ` ) {
88+ ruleSummary = formatEqualAccessMessage ( )
10189 }
90+ setFormSummary ( ruleSummary )
10291
103- // If there STILL isn't a specific summary for this rule, check to see if there's something in the metadata from Equal Access.
104- // THIS IS NOT TRANSLATED, so it will only work in English.
105- else {
106- tempSummary = formatEqualAccessMessage ( )
107- }
108- }
109-
110- // If there isn't a specific description for this rule, it may be using a shared description.
111- if ( tempDescription === tempDescriptionKey ) {
112- if ( sharedRuleDescriptions . hasOwnProperty ( tempActiveIssue . scanRuleId ) ) {
113- tempDescription = t ( sharedRuleDescriptions [ tempActiveIssue . scanRuleId ] )
92+ let ruleLearnMore = t ( `rule.desc.${ tempActiveIssue . scanRuleId } ` )
93+ if ( ruleLearnMore === `rule.desc.${ tempActiveIssue . scanRuleId } ` ) {
94+ setShowLearnMore ( false )
11495 }
11596 else {
116- tempDescription = ''
97+ setShowLearnMore ( true )
11798 }
99+ setFormLearnMore ( ruleLearnMore )
100+ }
101+ else {
102+ setFormSummary ( t ( `form.${ tempFormName } .summary` ) )
103+ setFormLearnMore ( t ( `form.${ tempFormName } .learn_more` ) )
104+ setShowClarification ( true )
105+ setShowLearnMore ( true )
118106 }
119-
120- setFormSummary ( tempSummary )
121- setFormLearnMore ( tempDescription )
122107 }
123108 } , [ tempActiveIssue ] )
124109
@@ -174,17 +159,19 @@ export default function UfixitWidget({
174159 < div className = "ufixit-instructions"
175160 dangerouslySetInnerHTML = { { __html : formSummary } }
176161 />
177- { formLearnMore !== "" && (
162+ { showLearnMore && (
178163 < div className = "flex-row justify-content-end mt-2" >
179164 < button className = "btn-link btn-small p-0" onClick = { ( ) => setShowLongDesc ( true ) } >
180165 < div > { t ( 'fix.button.learn_more' ) } </ div >
181166 </ button >
182167 </ div >
183168 ) }
184- < FormClarification
185- t = { t }
186- activeIssue = { tempActiveIssue }
187- />
169+ { showClarification && (
170+ < FormClarification
171+ t = { t }
172+ activeIssue = { tempActiveIssue }
173+ />
174+ ) }
188175 </ div >
189176
190177 < div className = "ufixit-widget-label primary mb-1" > { t ( 'fix.label.barrier_repair' ) } </ div >
@@ -230,47 +217,37 @@ export default function UfixitWidget({
230217 </ div >
231218 </ div >
232219 < div className = "ufixit-widget-dialog-content flex-column flex-grow-1" >
233- { disabilities . length > 0 && (
234- < div className = "dialog-indicator-background" >
235- < div className = "dialog-indicator-container flex-row gap-2" >
236- < div className = "flex-column align-self-center flex-shrink-0" >
237- { t ( 'fix.label.affected' ) }
220+ { disabilities . length > 0 && ( < div className = "dialog-indicator-container flex-row gap-2" >
221+ < div className = "flex-column align-self-center flex-shrink-0" >
222+ { t ( 'fix.label.affected' ) }
223+ </ div >
224+ < div className = "flex-row flex-wrap gap-1" >
225+ { disabilities . includes ( disabilityTypes . VISUAL ) && (
226+ < div className = 'indicator-container active' >
227+ < DisabilityVisualIcon className = "icon-md pe-2" alt = "" />
228+ < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.visual' ) } </ div >
229+ </ div >
230+ ) }
231+ { disabilities . includes ( disabilityTypes . HEARING ) && (
232+ < div className = 'indicator-container active' >
233+ < DisabilityHearingIcon className = "icon-md pe-2" alt = "" />
234+ < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.hearing' ) } </ div >
238235 </ div >
239- < div className = "flex-row flex-wrap gap-1" >
240- { disabilities . includes ( disabilityTypes . VISUAL ) && (
241- < div className = 'indicator-container active' >
242- < DisabilityVisualIcon className = "icon-md pe-2" alt = "" />
243- < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.visual' ) } </ div >
244- </ div >
245- ) }
246- { disabilities . includes ( disabilityTypes . HEARING ) && (
247- < div className = 'indicator-container active' >
248- < DisabilityHearingIcon className = "icon-md pe-2" alt = "" />
249- < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.hearing' ) } </ div >
250- </ div >
251- ) }
252- { disabilities . includes ( disabilityTypes . LANGUAGE ) && (
253- < div className = 'indicator-container active' >
254- < DisabilityLanguageIcon className = "icon-md pe-2" alt = "" />
255- < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.language' ) } </ div >
256- </ div >
257- ) }
258- { disabilities . includes ( disabilityTypes . MOTOR ) && (
259- < div className = 'indicator-container active' >
260- < DisabilityMotorIcon className = "icon-md pe-2" alt = "" />
261- < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.motor' ) } </ div >
262- </ div >
263- ) }
264- { disabilities . includes ( disabilityTypes . COGNITIVE ) && (
265- < div className = 'indicator-container active' >
266- < DisabilityCognitiveIcon className = "icon-md pe-2" alt = "" />
267- < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.cognitive' ) } </ div >
268- </ div >
269- ) }
236+ ) }
237+ { disabilities . includes ( disabilityTypes . MOTOR ) && (
238+ < div className = 'indicator-container active' >
239+ < DisabilityMotorIcon className = "icon-md pe-2" alt = "" />
240+ < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.motor' ) } </ div >
270241 </ div >
271- </ div >
242+ ) }
243+ { disabilities . includes ( disabilityTypes . COGNITIVE ) && (
244+ < div className = 'indicator-container active' >
245+ < DisabilityCognitiveIcon className = "icon-md pe-2" alt = "" />
246+ < div className = "flex-column align-self-center" > { t ( 'fix.label.disability.cognitive' ) } </ div >
247+ </ div >
248+ ) }
272249 </ div >
273- ) }
250+ </ div > ) }
274251 < div className = "flex-grow-1 flex-column ufixit-learn-container pt-3 pb-3"
275252 dangerouslySetInnerHTML = { { __html : formLearnMore } } />
276253 < div className = "flex-row justify-content-center mb-3" >
0 commit comments