diff --git a/src/components/App/App.reducer.js b/src/components/App/App.reducer.js index 51558b676..694f4babc 100644 --- a/src/components/App/App.reducer.js +++ b/src/components/App/App.reducer.js @@ -50,6 +50,7 @@ const initialState = { quickUnlockActive: false, removeOutputActive: false, vocalizeFolders: false, + quietBuilderMode: false, liveMode: false, improvePhraseActive: false }, diff --git a/src/components/App/__tests__/App.reducer.test.js b/src/components/App/__tests__/App.reducer.test.js index 4106048bf..5cbe29850 100644 --- a/src/components/App/__tests__/App.reducer.test.js +++ b/src/components/App/__tests__/App.reducer.test.js @@ -47,6 +47,7 @@ describe('reducer', () => { quickUnlockActive: false, removeOutputActive: false, vocalizeFolders: false, + quietBuilderMode: false, improvePhraseActive: false }, symbolsSettings: { @@ -77,6 +78,7 @@ describe('reducer', () => { quickUnlockActive: false, removeOutputActive: false, vocalizeFolders: false, + quietBuilderMode: false, improvePhraseActive: false }, userData: uData diff --git a/src/components/Board/Board.container.js b/src/components/Board/Board.container.js index aa1f79566..63d3041f9 100644 --- a/src/components/Board/Board.container.js +++ b/src/components/Board/Board.container.js @@ -894,7 +894,9 @@ export class BoardContainer extends Component { } } else { clickSymbol(tile.label); - say(); + if (!navigationSettings.quietBuilderMode) { + say(); + } if (isLiveMode) { const liveTile = { backgroundColor: 'rgb(255, 241, 118)', diff --git a/src/components/Settings/Navigation/Navigation.component.js b/src/components/Settings/Navigation/Navigation.component.js index a184ca1c8..0d9efa6f8 100644 --- a/src/components/Settings/Navigation/Navigation.component.js +++ b/src/components/Settings/Navigation/Navigation.component.js @@ -75,6 +75,12 @@ class Navigation extends React.Component { }); }; + toggleQuietBuilderMode = () => { + this.setState({ + quietBuilderMode: !this.state.quietBuilderMode + }); + }; + toggleLiveMode = () => { this.setState({ liveMode: !this.state.liveMode @@ -277,6 +283,24 @@ class Navigation extends React.Component { + + } + secondary={ + + } + /> + + + + + diff --git a/src/components/Settings/Navigation/Navigation.messages.js b/src/components/Settings/Navigation/Navigation.messages.js index abe024ce7..ccb3869e7 100644 --- a/src/components/Settings/Navigation/Navigation.messages.js +++ b/src/components/Settings/Navigation/Navigation.messages.js @@ -47,6 +47,15 @@ export default defineMessages({ id: 'cboard.components.Settings.Navigation.vocalizeFoldersSecondary', defaultMessage: "Reads a folder's name out loud when clicked" }, + quietBuilderMode: { + id: 'cboard.components.Settings.Navigation.quietBuilderMode', + defaultMessage: 'Enable Quiet Builder mode' + }, + quietBuilderModeSecondary: { + id: 'cboard.components.Settings.Navigation.quietBuilderModeSecondary', + defaultMessage: + 'Disables vocalization of tiles when they are clicked as you build a sentence. Click output bar to hear the constructed sentence.' + }, showLiveMode: { id: 'cboard.components.Settings.Navigation.showLiveMode', defaultMessage: 'Use the Live Mode' diff --git a/src/components/Settings/Navigation/Navigation.test.js b/src/components/Settings/Navigation/Navigation.test.js index 57e3a5aad..9b2d65a2c 100644 --- a/src/components/Settings/Navigation/Navigation.test.js +++ b/src/components/Settings/Navigation/Navigation.test.js @@ -30,7 +30,8 @@ const INITIAL_NAVIGATION_SETTINGS = { navigationButtonsStyle: NAVIGATION_BUTTONS_STYLE_SIDES, quickUnlockActive: false, removeOutputActive: false, - vocalizeFolders: false + vocalizeFolders: false, + quietBuilderMode: false }; let navigationSettings = INITIAL_NAVIGATION_SETTINGS; diff --git a/src/translations/src/cboard.json b/src/translations/src/cboard.json index 415bfd719..2516b590d 100644 --- a/src/translations/src/cboard.json +++ b/src/translations/src/cboard.json @@ -430,6 +430,8 @@ "cboard.components.Settings.Navigation.outputRemoveSecondary": "Shows a \"x\" buttton on each symbol in order to remove it", "cboard.components.Settings.Navigation.vocalizeFolders": "Enable folder vocalization", "cboard.components.Settings.Navigation.vocalizeFoldersSecondary": "Reads folders name out loud when clicked", + "cboard.components.Settings.Navigation.quietBuilderMode": "Enable Quiet Builder mode", + "cboard.components.Settings.Navigation.quietBuilderModeSecondary": "Disables vocalization of tiles when they are clicked as you build a sentence. Click output bar to hear the constructed sentence.", "cboard.components.Settings.Navigation.showLiveMode": "Use the Live Mode", "cboard.components.Settings.Navigation.showLiveModeSecondary": "Live mode allows you to write text directly into the output bar and quickly play the sound. It is intended for users that can write.", "cboard.components.Settings.Navigation.activeImprovePhrase": "Use the Improve Phrase", @@ -3879,4 +3881,4 @@ "symbol.descriptiveQuantity.different": "different", "symbol.buildingContents.bathroom": "bathroom", "symbol.descriptiveQuantity.categories": "categories" -} +} \ No newline at end of file