diff --git a/client/i18n/locales/english/translations.json b/client/i18n/locales/english/translations.json index f1a02b875b..bb5b519227 100644 --- a/client/i18n/locales/english/translations.json +++ b/client/i18n/locales/english/translations.json @@ -523,7 +523,9 @@ "delete-token-err": "An error occurred trying to delete your token", "token-created": "You have successfully created a new token.", "token-deleted": "Your token has been deleted.", - "complete-project-first": "You must complete the project first." + "complete-project-first": "You must complete the project first.", + "local-code-save-error": "Oops, your code did not save, your browser's local storage may be full.", + "local-code-saved": "Saved! Your code was saved to your browser's local storage." }, "validation": { "max-characters": "There is a maximum limit of 288 characters, you have {{charsLeft}} left", diff --git a/client/src/components/Flash/redux/flash-messages.ts b/client/src/components/Flash/redux/flash-messages.ts index bbf1407ef4..7118fa0779 100644 --- a/client/src/components/Flash/redux/flash-messages.ts +++ b/client/src/components/Flash/redux/flash-messages.ts @@ -11,6 +11,8 @@ export enum FlashMessages { EmailValid = 'flash.email-valid', HonestFirst = 'flash.honest-first', IncompleteSteps = 'flash.incomplete-steps', + LocalCodeSaved = 'flash.local-code-saved', + LocalCodeSaveError = 'flash.local-code-save-error', NameNeeded = 'flash.name-needed', None = '', NotEligible = 'flash.not-eligible', diff --git a/client/src/templates/Challenges/redux/code-storage-epic.js b/client/src/templates/Challenges/redux/code-storage-epic.js index 8d6cc672c8..9455ecfc22 100644 --- a/client/src/templates/Challenges/redux/code-storage-epic.js +++ b/client/src/templates/Challenges/redux/code-storage-epic.js @@ -5,6 +5,7 @@ import store from 'store'; import { setContent, isPoly } from '../../../../../utils/polyvinyl'; import { createFlashMessage } from '../../../components/Flash/redux'; +import { FlashMessages } from '../../../components/Flash/redux/flash-messages'; import { actionTypes as appTypes } from '../../../redux/action-types'; import { actionTypes } from './action-types'; @@ -112,8 +113,8 @@ function saveCodeEpic(action$, state$) { createFlashMessage({ type: error ? 'warning' : 'success', message: error - ? "Oops, your code did not save, your browser's local storage may be full." - : "Saved! Your code was saved to your browser's local storage." + ? FlashMessages.LocalCodeSaveError + : FlashMessages.LocalCodeSaved }) ) ) diff --git a/client/src/utils/tone/index.ts b/client/src/utils/tone/index.ts index 8117a4c6b3..438db2a0ad 100644 --- a/client/src/utils/tone/index.ts +++ b/client/src/utils/tone/index.ts @@ -26,6 +26,8 @@ const toneUrls = { [FlashMessages.EmailValid]: CHAL_COMP, [FlashMessages.HonestFirst]: TRY_AGAIN, [FlashMessages.IncompleteSteps]: TRY_AGAIN, + [FlashMessages.LocalCodeSaved]: CHAL_COMP, + [FlashMessages.LocalCodeSaveError]: TRY_AGAIN, [FlashMessages.NameNeeded]: TRY_AGAIN, // [FlashMessages.None]: '', [FlashMessages.NotEligible]: TRY_AGAIN,