mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-22 20:51:29 +10:00
- implement ability to rename sections
- clean up kannada translations
This commit is contained in:
@ -10,6 +10,7 @@ import styles from './LeftNavbar.module.css';
|
||||
|
||||
const LeftNavbar = () => {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<div className={styles.container}>
|
||||
<Tooltip title={t('builder.tooltips.backToDashboard')} placement="right">
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import React, { Fragment, memo } from 'react';
|
||||
import { Element } from 'react-scroll';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import sections from '../../../data/leftSections';
|
||||
import LeftNavbar from './LeftNavbar';
|
||||
import styles from './LeftSidebar.module.css';
|
||||
@ -48,30 +47,26 @@ const getComponent = (id) => {
|
||||
}
|
||||
};
|
||||
|
||||
const LeftSidebar = () => {
|
||||
const { t } = useTranslation();
|
||||
const SidebarSection = ({ id, event }) => {
|
||||
const Component = getComponent(id);
|
||||
|
||||
return (
|
||||
<Fragment key={id}>
|
||||
<Element name={id}>
|
||||
<Component id={id} event={event} />
|
||||
</Element>
|
||||
<hr />
|
||||
</Fragment>
|
||||
);
|
||||
};
|
||||
|
||||
const LeftSidebar = () => {
|
||||
return (
|
||||
<div className="flex">
|
||||
<LeftNavbar />
|
||||
|
||||
<div id="LeftSidebar" className={styles.container}>
|
||||
{sections.map(({ id, event }) => {
|
||||
const Component = getComponent(id);
|
||||
|
||||
return (
|
||||
<Fragment key={id}>
|
||||
<Element name={id}>
|
||||
<Component
|
||||
id={id}
|
||||
name={t(`builder.sections.${id}`)}
|
||||
event={event}
|
||||
/>
|
||||
</Element>
|
||||
<hr />
|
||||
</Fragment>
|
||||
);
|
||||
})}
|
||||
{sections.map(SidebarSection)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Awards = ({ id, name, event }) => {
|
||||
const Awards = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List
|
||||
path={path}
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Certifications = ({ id, name, event }) => {
|
||||
const Certifications = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List
|
||||
path={path}
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Education = ({ id, name, event }) => {
|
||||
const Education = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List
|
||||
hasDate
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Hobbies = ({ id, name, event }) => {
|
||||
const Hobbies = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List path={path} event={event} titlePath="name" />
|
||||
</section>
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Languages = ({ id, name, event }) => {
|
||||
const Languages = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List path={path} event={event} titlePath="name" subtitlePath="fluency" />
|
||||
</section>
|
||||
|
||||
@ -3,12 +3,18 @@ import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
|
||||
const Objective = ({ name }) => {
|
||||
const Objective = ({ id }) => {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<Input
|
||||
type="textarea"
|
||||
|
||||
@ -4,12 +4,18 @@ import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import PhotoUpload from '../../../shared/PhotoUpload';
|
||||
|
||||
const Profile = ({ name }) => {
|
||||
const Profile = ({ id }) => {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<PhotoUpload />
|
||||
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Projects = ({ id, name, event }) => {
|
||||
const Projects = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List
|
||||
path={path}
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const References = ({ id, name, event }) => {
|
||||
const References = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List
|
||||
path={path}
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Skills = ({ id, name, event }) => {
|
||||
const Skills = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List path={path} event={event} titlePath="name" subtitlePath="level" />
|
||||
</section>
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Social = ({ id, name, event }) => {
|
||||
const Social = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List
|
||||
path={path}
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Heading from '../../../shared/Heading';
|
||||
import Input from '../../../shared/Input';
|
||||
import List from '../../lists/List';
|
||||
|
||||
const Work = ({ id, name, event }) => {
|
||||
const Work = ({ id, event }) => {
|
||||
const path = `${id}.items`;
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Heading>{name}</Heading>
|
||||
<Heading id={id} />
|
||||
|
||||
<Input
|
||||
name="heading"
|
||||
label={t('builder.sections.heading')}
|
||||
path={`${id}.heading`}
|
||||
/>
|
||||
|
||||
<List
|
||||
hasDate
|
||||
|
||||
Reference in New Issue
Block a user