Browse Source

Merge branch 'package-list' into 'main'

packages add truth and dare and translate

See merge request jetup/truthordare!4
merge-requests/5/head
Coder 2 years ago
parent
commit
0bb8758c7e
  1. BIN
      src/assets/icons/UAE.png
  2. 4
      src/i18n/index.ts
  3. 2
      src/i18n/locales/en/index.ts
  4. 18
      src/i18n/locales/en/packages-list.translation.ts
  5. 7
      src/i18n/locales/hi/index.tsx
  6. 11
      src/i18n/locales/hi/settings.translation.ts
  7. 19
      src/i18n/locales/hi/steps.translation.ts
  8. 1
      src/i18n/locales/index.ts
  9. 2
      src/i18n/locales/ua/index.ts
  10. 18
      src/i18n/locales/ua/packages-list.translation.ts
  11. 2
      src/i18n/types/index.ts
  12. 12
      src/i18n/types/packages-list.types.ts
  13. 20
      src/module/package/components/packages-item.component.tsx
  14. 14
      src/module/package/components/packages-list.tsx
  15. 39
      src/module/package/config/data-package.config.tsx
  16. 5
      src/module/root/screens/language-select.screen.tsx
  17. 2
      src/module/shared/components/Icon/Icon.component.tsx
  18. 150
      src/module/shared/config/default-packages.tsx
  19. 2
      src/module/shared/config/index.ts

BIN
src/assets/icons/UAE.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 B

4
src/i18n/index.ts

@ -5,6 +5,7 @@ import * as locales from './locales'; @@ -5,6 +5,7 @@ import * as locales from './locales';
export enum LangKeys {
EN = 'en',
UA = 'ua',
HI = 'hi',
}
i18n
@ -12,7 +13,7 @@ i18n @@ -12,7 +13,7 @@ i18n
.use(AsyncStoragePlugin())
.init({
compatibilityJSON: 'v3',
fallbackLng: "ua",
fallbackLng: 'en',
debug: false,
interpolation: {
@ -22,6 +23,7 @@ i18n @@ -22,6 +23,7 @@ i18n
resources: {
[LangKeys.EN]: {translation: locales.en},
[LangKeys.UA]: {translation: locales.ua},
[LangKeys.HI]: {translation: locales.hi},
},
react: {
useSuspense: false,

2
src/i18n/locales/en/index.ts

@ -1,9 +1,7 @@ @@ -1,9 +1,7 @@
import {MainLocaleModule} from '../../types';
import {settingTranslation} from './settings.translation';
import {onBoardingTranslation} from './steps.translation';
import { packagesListTranslation } from './packages-list.translation';
export const en: MainLocaleModule = {
settingTranslation,
stepTranslation: onBoardingTranslation,
packagesListTranslation
};

18
src/i18n/locales/en/packages-list.translation.ts

@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
import {PackagesListLocale} from '../../types/packages-list.types';
export const packagesListTranslation: PackagesListLocale.Core = {
under18: {
title: 'Under 18',
description:
'Sharp questions and tasks for young people and of courseno alcohol.',
},
light: {
title: 'Light',
description:
'Challenge your friends or your significant other and see how far they can go!',
},
crazy: {
title: 'Crazy',
description:
'Challenge your friends or your significant other and see how far they can go!',
},
};

7
src/i18n/locales/hi/index.tsx

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
import {MainLocaleModule} from '../../types';
import {settingTranslation} from './settings.translation';
import {onBoardingTranslation} from './steps.translation';
export const hi: MainLocaleModule = {
settingTranslation,
stepTranslation: onBoardingTranslation,
};

11
src/i18n/locales/hi/settings.translation.ts

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
import {SettingLocale} from '../../types/settings.types';
export const settingTranslation: SettingLocale.Core = {
purchases: 'खरद!',
language: 'भ',
write: 'हमि',
rate: 'हमिग द',
share: 'ऐप शयर कर',
policy: 'गपनयति',
term: 'नियम और शर',
information: 'जनक',
};

19
src/i18n/locales/hi/steps.translation.ts

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
import {OnBoardingLocale} from '../../types/on-boarding.types';
export const onBoardingTranslation: OnBoardingLocale.OnboardingSteps = {
step1: {
title: 'सगत!',
description:
'डउनलड करनिए धनयवद। अब आप \n कपनिए सरवशठ गम म \n य अपनियजन कथ खलनिए',
},
step2: {
title: 'आरम कर और \n खल क आनद ल!',
description:
'इस गम म "मसरत" क 5 सतर ह, जिनमछ क \n जपनिए गम मिित कि गय। आपक बस इतन करनि \n खि और आप खलन कर सकत।\n प.एस. आप हम अपन \n परशन और कय बन सकत।',
},
step3: {
title: 'पियम सकरण!',
description:
'हड और \n एकसटम पज तक असित पहच परदन करत। दिलचसप सव \n और रचक एकशन क आनद ल।',
},
};

1
src/i18n/locales/index.ts

@ -1,2 +1,3 @@ @@ -1,2 +1,3 @@
export * from './en';
export * from './ua';
export * from './hi';

2
src/i18n/locales/ua/index.ts

@ -1,10 +1,8 @@ @@ -1,10 +1,8 @@
import {MainLocaleModule} from '../../types';
import {settingTranslation} from './settings.translation';
import {onBoardingTranslationUa} from './step.translation';
import {packagesListTranslation} from './packages-list.translation';
export const ua: MainLocaleModule = {
stepTranslation: onBoardingTranslationUa,
settingTranslation: settingTranslation,
packagesListTranslation,
};

18
src/i18n/locales/ua/packages-list.translation.ts

@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
import {PackagesListLocale} from '../../types/packages-list.types';
export const packagesListTranslation: PackagesListLocale.Core = {
under18: {
title: 'до 18 років',
description:
'Гострі питання і завдання для молоді і звичайно без алкоголю.',
},
light: {
title: 'легкий',
description:
'Киньте виклик своїм друзям або своїй другій половинці та подивіться, як далеко вони можуть зайти!',
},
crazy: {
title: 'божевільний',
description:
'Киньте виклик своїм друзям або своїй другій половинці та подивіться, як далеко вони можуть зайти!',
},
};

2
src/i18n/types/index.ts

@ -1,8 +1,6 @@ @@ -1,8 +1,6 @@
import {OnBoardingLocale} from './on-boarding.types';
import {SettingLocale} from './settings.types';
import {PackagesListLocale} from './packages-list.types';
export interface MainLocaleModule {
stepTranslation: OnBoardingLocale.OnboardingSteps;
settingTranslation: SettingLocale.Core;
packagesListTranslation: PackagesListLocale.Core;
}

12
src/i18n/types/packages-list.types.ts

@ -1,12 +0,0 @@ @@ -1,12 +0,0 @@
export namespace PackagesListLocale {
export interface IStep {
title: string;
description: string;
}
export interface Core {
under18: IStep;
light: IStep;
crazy: IStep;
}
}

20
src/module/package/components/packages-item.component.tsx

@ -1,23 +1,31 @@ @@ -1,23 +1,31 @@
import React, {FC} from 'react';
import {StyleSheet, TouchableOpacity, View, Text} from 'react-native';
import {useTranslation} from 'react-i18next';
import {Icon} from '../../shared';
interface IType {
[key: string]: string;
}
interface IPackage {
title: string;
description: string;
image: JSX.Element;
questions: IType[];
actions: IType[];
}
export const PackagesItem: FC<IPackage> = ({title, description, image}) => {
const {t, i18n} = useTranslation();
export const PackagesItem: FC<IPackage> = ({
title,
description,
image,
questions,
actions,
}) => {
return (
<View style={style.container}>
<View style={style.flex}>
<View style={style.imgContainer}>{image}</View>
<View style={style.textContainer}>
<Text style={style.title}>{t(title)}</Text>
<Text style={style.description}>{t(description)}</Text>
<Text style={style.title}>{title}</Text>
<Text style={style.description}>{description}</Text>
</View>
</View>
<TouchableOpacity style={style.play} onPress={() => console.log('hello')}>

14
src/module/package/components/packages-list.tsx

@ -1,17 +1,21 @@ @@ -1,17 +1,21 @@
import React from 'react';
import {StyleSheet, View} from 'react-native';
import {DataPackage} from '../config/data-package.config';
import {PackagesPageSeparator} from '../atoms/packages-page-separator.atom';
import {PackagesItem} from './packages-item.component';
import {CustomPackage} from '../atoms/create-custom-package.atom';
import {defaultPackages} from '../../shared/config';
import {useTranslation} from 'react-i18next';
export const PackagesList = () => {
const {i18n} = useTranslation();
const lang = i18n.language;
return (
<View style={styles.container}>
{DataPackage.map((item, index) => (
{defaultPackages.map((item: any, index) => (
<PackagesItem
title={item.title}
description={item.description}
title={item.title[lang]}
description={item.description[lang]}
questions={item.questions}
actions={item.actions}
image={item.image}
key={index}
/>

39
src/module/package/config/data-package.config.tsx

@ -1,39 +0,0 @@ @@ -1,39 +0,0 @@
import React from 'react';
import {Image} from 'react-native';
import {PackagesListLocale} from '../../../i18n/types/packages-list.types';
const translatePath = (
itemKey: keyof PackagesListLocale.Core,
key: keyof PackagesListLocale.IStep,
) => `packagesListTranslation.${itemKey}.${key}`;
export const DataPackage = [
{
title: translatePath('under18', 'title'),
description: translatePath('under18', 'description'),
image: (
<Image
source={require('../../../assets/image/rabbit.png')}
style={{width: '100%', height: '100%'}}
/>
),
},
{
title: translatePath('light', 'title'),
description: translatePath('light', 'description'),
image: (
<Image
source={require('../../../assets/image/feathers.png')}
style={{width: '100%', height: '100%'}}
/>
),
},
{
title: translatePath('crazy', 'title'),
description: translatePath('crazy', 'description'),
image: (
<Image
source={require('../../../assets/image/hand.png')}
style={{width: '100%', height: '100%'}}
/>
),
},
];

5
src/module/root/screens/language-select.screen.tsx

@ -15,6 +15,11 @@ const languageArr = [ @@ -15,6 +15,11 @@ const languageArr = [
icon: <Image source={require('../../../assets/icons/ENG.png')} />,
key: LangKeys.EN,
},
{
name: 'Hindi',
icon: <Image source={require('../../../assets/icons/UAE.png')} />,
key: LangKeys.HI,
},
];
interface IProps extends IRouteParams {}
export const LanguageSelect: FC<IProps> = ({navigation}) => {

2
src/module/shared/components/Icon/Icon.component.tsx

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
import React, {FC} from 'react';
import {ColorValue, Text, TouchableOpacity, ViewStyle} from 'react-native';
import {createIconSetFromFontello} from 'react-native-vector-icons';
import {fontelloConfig} from '../../config/fontello.config';
import {fontelloConfig} from '../../config/';
const Svg = createIconSetFromFontello(fontelloConfig);
interface IProps {
name: string;

150
src/module/shared/config/default-packages.tsx

@ -0,0 +1,150 @@ @@ -0,0 +1,150 @@
import React from 'react';
import {Image} from 'react-native';
export const defaultPackages = [
{
title: {en: 'Under 18', ua: 'до 18 років', hi: '18 स'},
image: (
<Image
source={require('../../../assets/image/rabbit.png')}
style={{width: '100%', height: '100%'}}
/>
),
description: {
en: 'Sharp questions and tasks for young people and of courseno alcohol.',
ua: 'Гострі питання і завдання для молоді і звичайно без алкоголю.',
hi: 'यिए तरशन और कय और निित रप सशरब नह।',
},
questions: [
{
en: 'Under truth',
ua: 'до 18 років правда',
hi: '18 स परषण',
},
{
en: 'Under truth2',
ua: 'до 18 років правда2',
hi: '18 स परषण2',
},
{
en: 'Under truth3',
ua: 'до 18 років правда3',
hi: '18 स परषण3',
},
],
actions: [
{
en: 'Light dare',
ua: 'до 18 років дія',
hi: '18 स परषण',
},
{
en: 'Light dare2',
ua: 'до 18 років дія2',
hi: '18 स परषण2',
},
{
en: 'Light dare3',
ua: 'до 18 років дія3',
hi: '18 स परषण3',
},
],
},
{
title: {en: 'Light', ua: 'легкий', hi: 'रशन'},
image: (
<Image
source={require('../../../assets/image/feathers.png')}
style={{width: '100%', height: '100%'}}
/>
),
description: {
en: 'Challenge your friends or your significant other and see how far they can go!',
ua: 'Киньте виклик своїм друзям або своїй другій половинці та подивіться, як далеко вони можуть зайти!',
hi: 'अपन अपन महतवपण दसर और दिितनर ज सकत!',
},
questions: [
{
en: 'Light truth',
ua: 'легка правда',
hi: 'रशन परषण',
},
{
en: 'Light truth2',
ua: 'легка правда2',
hi: 'रशन परषण',
},
{
en: 'Light truth3',
ua: 'легка правда3',
hi: 'रशन परषण3',
},
],
actions: [
{
en: 'Light dare',
ua: 'легка дія',
hi: 'रशन परषण',
},
{
en: 'Light dare2',
ua: 'легка дія2',
hi: 'रशन परषण2',
},
{
en: 'Light dare3',
ua: 'легка дія3',
hi: 'रशन परषण3',
},
],
},
{
title: {en: 'Crazy', ua: 'божевільний', hi: 'पगल'},
image: (
<Image
source={require('../../../assets/image/hand.png')}
style={{width: '100%', height: '100%'}}
/>
),
description: {
en: 'Challenge your friends or your significant other and see how far they can go!',
ua: 'Киньте виклик своїм друзям або своїй другій половинці та подивіться, як далеко вони можуть зайти!',
hi: 'अपन अपन महतवपण दसर और दिितनर ज सकत!',
},
questions: [
{
en: 'Crazy truth',
ua: 'божевільна правда',
hi: 'पगल परषण',
},
{
en: 'Crazy truth2',
ua: 'божевільна правда2',
hi: 'पगल परषण2',
},
{
en: 'Crazy truth3',
ua: 'божевільна правда3',
hi: 'पगल परषण3',
},
],
actions: [
{
en: 'Crazy dare',
ua: 'божевільна дія',
hi: 'पगल परषण',
},
{
en: 'Crazy dare2',
ua: 'божевільна дія2',
hi: 'पगल परषण2',
},
{
en: 'Crazy dare3',
ua: 'божевільна дія3',
hi: 'पगल परषण3',
},
],
},
];

2
src/module/shared/config/index.ts

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
export * from './fontello.config';
export * from './default-packages';
Loading…
Cancel
Save