From a373c463b4ea8103c33fe8a3571ff54b64aa65a5 Mon Sep 17 00:00:00 2001 From: Amruth Pillai Date: Mon, 30 Mar 2020 02:31:55 +0530 Subject: [PATCH] extract strings from Language Tab --- src/components/LeftSidebar/LeftSidebar.js | 2 +- src/components/LeftSidebar/tabs/Languages.js | 108 +++++++----------- src/i18n/resources/en/leftSidebar/index.js | 2 + .../resources/en/leftSidebar/languages.json | 9 ++ 4 files changed, 54 insertions(+), 67 deletions(-) create mode 100644 src/i18n/resources/en/leftSidebar/languages.json diff --git a/src/components/LeftSidebar/LeftSidebar.js b/src/components/LeftSidebar/LeftSidebar.js index 32eecd58..f449e872 100644 --- a/src/components/LeftSidebar/LeftSidebar.js +++ b/src/components/LeftSidebar/LeftSidebar.js @@ -31,7 +31,7 @@ const LeftSidebar = () => { const { state, dispatch } = context; const { data } = state; - const [currentTab, setCurrentTab] = useState('Skills'); + const [currentTab, setCurrentTab] = useState('Languages'); const onChange = (key, value) => { dispatch({ type: 'on_input', diff --git a/src/components/LeftSidebar/tabs/Languages.js b/src/components/LeftSidebar/tabs/Languages.js index d6b92536..bb9801d3 100644 --- a/src/components/LeftSidebar/tabs/Languages.js +++ b/src/components/LeftSidebar/tabs/Languages.js @@ -1,4 +1,5 @@ import React, { useState, useEffect, useContext } from 'react'; +import { useTranslation } from 'react-i18next'; import { v4 as uuidv4 } from 'uuid'; import set from 'lodash/set'; @@ -6,10 +7,13 @@ import TextField from '../../../shared/TextField'; import AppContext from '../../../context/AppContext'; import Checkbox from '../../../shared/Checkbox'; import Counter from '../../../shared/Counter'; -import { addItem, deleteItem, moveItemUp, moveItemDown } from '../../../utils'; +import { addItem } from '../../../utils'; import ItemActions from '../../../shared/ItemActions'; +import AddItemButton from '../../../shared/AddItemButton'; +import ItemHeading from '../../../shared/ItemHeading'; const LanguagesTab = ({ data, onChange }) => { + const { t } = useTranslation('app'); const context = useContext(AppContext); const { dispatch } = context; @@ -43,7 +47,7 @@ const LanguagesTab = ({ data, onChange }) => {
onChange('data.languages.heading', v)} /> @@ -64,13 +68,37 @@ const LanguagesTab = ({ data, onChange }) => { /> ))} - + ) ); }; -const AddItem = ({ dispatch }) => { +const Form = ({ item, onChange, identifier = '' }) => { + const { t } = useTranslation('leftSidebar'); + + return ( +
+ onChange(`${identifier}key`, v)} + /> + + item.value > 1 && onChange(`${identifier}value`, item.value - 1)} + onIncrement={() => item.value < 5 && onChange(`${identifier}value`, item.value + 1)} + /> +
+ ); +}; + +const AddItem = ({ heading, dispatch }) => { const [isOpen, setOpen] = useState(false); const [item, setItem] = useState({ id: uuidv4(), @@ -98,41 +126,12 @@ const AddItem = ({ dispatch }) => { return (
-
setOpen(!isOpen)} - > -
Add Language
- {isOpen ? 'expand_less' : 'expand_more'} -
+
- onChange('key', v)} - /> +
- item.value > 1 && onChange('value', item.value - 1)} - onIncrement={() => item.value < 5 && onChange('value', item.value + 1)} - /> - - +
); @@ -140,46 +139,23 @@ const AddItem = ({ dispatch }) => { const Item = ({ item, index, onChange, dispatch, first, last }) => { const [isOpen, setOpen] = useState(false); - const identifier = `data.languages.items[${index}]`; + const identifier = `data.languages.items[${index}].`; return (
-
setOpen(!isOpen)} - > -
{item.key}
- {isOpen ? 'expand_less' : 'expand_more'} -
+
- onChange(`${identifier}.key`, v)} - /> - - item.value > 1 && onChange(`${identifier}.value`, item.value - 1)} - onIncrement={() => item.value < 5 && onChange(`${identifier}.value`, item.value + 1)} - /> +
diff --git a/src/i18n/resources/en/leftSidebar/index.js b/src/i18n/resources/en/leftSidebar/index.js index 7ede8599..be065cba 100644 --- a/src/i18n/resources/en/leftSidebar/index.js +++ b/src/i18n/resources/en/leftSidebar/index.js @@ -5,6 +5,7 @@ import education from './education.json'; import awards from './awards.json'; import certifications from './certifications.json'; import skills from './skills.json'; +import languages from './languages.json'; export default { profile, @@ -14,4 +15,5 @@ export default { awards, certifications, skills, + languages, }; diff --git a/src/i18n/resources/en/leftSidebar/languages.json b/src/i18n/resources/en/leftSidebar/languages.json new file mode 100644 index 00000000..fc5de101 --- /dev/null +++ b/src/i18n/resources/en/leftSidebar/languages.json @@ -0,0 +1,9 @@ +{ + "key": { + "label": "Key", + "placeholder": "Dothraki" + }, + "rating": { + "label": "Rating" + } +}