forma-ui 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Interfaces/dictionary.d.ts +25 -0
- package/dist/Interfaces/dictionary.js +8 -0
- package/dist/Interfaces/global.d.ts +21 -0
- package/dist/Interfaces/global.js +1 -0
- package/dist/Interfaces/meta.d.ts +39 -0
- package/dist/Interfaces/meta.js +8 -0
- package/dist/app/[lang]/stores/LangStore.d.ts +22 -0
- package/dist/app/[lang]/stores/LangStore.js +125 -0
- package/dist/components/icon/icon.d.ts +3 -0
- package/dist/components/icon/icon.js +6 -2
- package/dist/components/ui/Accordion.d.ts +1 -0
- package/dist/components/ui/Accordion.js +15 -6
- package/dist/components/ui/Button.d.ts +0 -0
- package/dist/components/ui/Button.js +1 -1
- package/dist/components/ui/CheckBox.d.ts +0 -0
- package/dist/components/ui/CheckBox.js +0 -0
- package/dist/components/ui/Input.d.ts +0 -0
- package/dist/components/ui/Input.js +10 -7
- package/dist/components/ui/Modal.d.ts +9 -9
- package/dist/components/ui/Modal.js +51 -6
- package/dist/components/ui/RadioButton.d.ts +0 -0
- package/dist/components/ui/RadioButton.js +0 -0
- package/dist/components/ui/Table.d.ts +0 -0
- package/dist/components/ui/Table.js +0 -0
- package/dist/components/ui/Tabs.d.ts +0 -0
- package/dist/components/ui/Tabs.js +0 -0
- package/dist/configs/language.d.ts +39 -0
- package/dist/configs/language.js +50 -0
- package/dist/configs/metadata.d.ts +69 -0
- package/dist/configs/metadata.js +143 -0
- package/dist/dictionaries/en.json +0 -0
- package/dist/dictionaries/fa.json +0 -0
- package/dist/dictionaries/index.d.ts +0 -0
- package/dist/dictionaries/index.js +0 -0
- package/dist/hooks/useDevice.d.ts +21 -0
- package/dist/hooks/useDevice.js +49 -0
- package/dist/hooks/useTranslation.d.ts +4 -0
- package/dist/hooks/useTranslation.js +34 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +10 -1
- package/dist/libs/api/axiosClient.d.ts +9 -0
- package/dist/libs/api/axiosClient.js +34 -0
- package/dist/libs/api/cns.d.ts +16 -0
- package/dist/libs/api/cns.js +29 -0
- package/dist/libs/api/usePostFetch.d.ts +23 -0
- package/dist/libs/api/usePostFetch.js +17 -0
- package/dist/libs/cn.d.ts +1 -0
- package/dist/libs/cn.js +12 -0
- package/dist/libs/cookieUtils.d.ts +10 -0
- package/dist/libs/cookieUtils.js +28 -0
- package/dist/libs/detectComponentResponsive.d.ts +10 -0
- package/dist/libs/detectComponentResponsive.js +24 -0
- package/dist/libs/detectDeviceFromUA.d.ts +8 -0
- package/dist/libs/detectDeviceFromUA.js +14 -0
- package/dist/libs/fonts.d.ts +10 -0
- package/dist/libs/fonts.js +94 -0
- package/dist/libs/metadataHelper.d.ts +17 -0
- package/dist/libs/metadataHelper.js +20 -0
- package/dist/libs/modal/Modal.d.ts +9 -0
- package/dist/libs/modal/Modal.js +41 -0
- package/dist/libs/translation.d.ts +5 -0
- package/dist/libs/translation.js +30 -0
- package/dist/{lib → libs}/utils.d.ts +0 -0
- package/dist/{lib → libs}/utils.js +0 -0
- package/dist/locale/about/en.json +3 -0
- package/dist/locale/about/fa.json +3 -0
- package/dist/locale/coin/en.json +4 -0
- package/dist/locale/coin/fa.json +4 -0
- package/dist/locale/en.d.ts +56 -0
- package/dist/locale/en.js +16 -0
- package/dist/locale/fa.d.ts +59 -0
- package/dist/locale/fa.js +16 -0
- package/dist/locale/global/en.json +12 -0
- package/dist/locale/global/fa.json +16 -0
- package/dist/locale/home/en.json +11 -0
- package/dist/locale/home/fa.json +11 -0
- package/dist/locale/index.d.ts +201 -0
- package/dist/locale/index.js +7 -0
- package/dist/locale/meta/about/en.json +10 -0
- package/dist/locale/meta/about/fa.json +5 -0
- package/dist/locale/meta/en.json +15 -0
- package/dist/locale/meta/fa.json +15 -0
- package/dist/locale/meta/home/en.json +10 -0
- package/dist/locale/meta/home/fa.json +5 -0
- package/dist/middleware.d.ts +14 -0
- package/dist/middleware.js +57 -0
- package/dist/store/appStore.d.ts +1 -1
- package/dist/store/appStore.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/nextImageLoader.d.ts +9 -0
- package/dist/utils/nextImageLoader.js +15 -0
- package/package.json +10 -3
- package/README.md +0 -36
- package/dist/components/PostDetailPage.d.ts +0 -7
- package/dist/components/PostDetailPage.js +0 -47
- package/dist/components/PostPage.d.ts +0 -6
- package/dist/components/PostPage.js +0 -48
- package/dist/config/language.d.ts +0 -11
- package/dist/config/language.js +0 -6
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-07 09:42:26
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
import localFont from "next/font/local";
|
|
9
|
+
export const yekanBakh = localFont({
|
|
10
|
+
src: [
|
|
11
|
+
{
|
|
12
|
+
path: "../../public/fonts/Yekan_Bakh_Light.otf",
|
|
13
|
+
weight: "300",
|
|
14
|
+
style: "normal",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
path: "../../public/fonts/Yekan_Bakh_Regular.otf",
|
|
18
|
+
weight: "400",
|
|
19
|
+
style: "normal",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
path: "../../public/fonts/Yekan_Bakh_Medium.otf",
|
|
23
|
+
weight: "500",
|
|
24
|
+
style: "normal",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
path: "../../public/fonts/Yekan_Bakh_Bold.otf",
|
|
28
|
+
weight: "700",
|
|
29
|
+
style: "normal",
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
variable: "--font-yekan-bakh",
|
|
33
|
+
display: "swap",
|
|
34
|
+
preload: true,
|
|
35
|
+
});
|
|
36
|
+
export const spaceGrotesk = localFont({
|
|
37
|
+
src: [
|
|
38
|
+
{
|
|
39
|
+
path: "../../public/fonts/SpaceGrotesk-Light.ttf",
|
|
40
|
+
weight: "300",
|
|
41
|
+
style: "normal",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
path: "../../public/fonts/SpaceGrotesk-Regular.ttf",
|
|
45
|
+
weight: "400",
|
|
46
|
+
style: "normal",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
path: "../../public/fonts/SpaceGrotesk-Medium.ttf",
|
|
50
|
+
weight: "500",
|
|
51
|
+
style: "normal",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
path: "../../public/fonts/SpaceGrotesk-SemiBold.ttf",
|
|
55
|
+
weight: "600",
|
|
56
|
+
style: "normal",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
path: "../../public/fonts/SpaceGrotesk-Bold.ttf",
|
|
60
|
+
weight: "700",
|
|
61
|
+
style: "normal",
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
variable: "--font-space-grotesk",
|
|
65
|
+
display: "swap",
|
|
66
|
+
preload: true,
|
|
67
|
+
});
|
|
68
|
+
export const satoshi = localFont({
|
|
69
|
+
src: [
|
|
70
|
+
{
|
|
71
|
+
path: "../../public/fonts/Satoshi-Light.otf",
|
|
72
|
+
weight: "300",
|
|
73
|
+
style: "normal",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
path: "../../public/fonts/Satoshi-Regular.otf",
|
|
77
|
+
weight: "400",
|
|
78
|
+
style: "normal",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
path: "../../public/fonts/Satoshi-Medium.otf",
|
|
82
|
+
weight: "500",
|
|
83
|
+
style: "normal",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
path: "../../public/fonts/Satoshi-Bold.otf",
|
|
87
|
+
weight: "700",
|
|
88
|
+
style: "normal",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
variable: "--font-satoshi",
|
|
92
|
+
display: "swap",
|
|
93
|
+
preload: true,
|
|
94
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-08 15:28:13
|
|
6
|
+
* @Description: Shared metadata generator for all pages
|
|
7
|
+
*/
|
|
8
|
+
type Params = Promise<{
|
|
9
|
+
lang: string;
|
|
10
|
+
}>;
|
|
11
|
+
/**
|
|
12
|
+
* Generate metadata dynamically based on language and source key
|
|
13
|
+
* @param params - Next.js dynamic route params
|
|
14
|
+
* @param source - Metadata source key in dictionary
|
|
15
|
+
*/
|
|
16
|
+
export declare function createMetadata(params: Params, source: string): Promise<import("next").Metadata>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-08 15:28:13
|
|
6
|
+
* @Description: Shared metadata generator for all pages
|
|
7
|
+
*/
|
|
8
|
+
import { languages } from "@/configs/language";
|
|
9
|
+
import { generatePageMetadata } from "@/configs/metadata";
|
|
10
|
+
/**
|
|
11
|
+
* Generate metadata dynamically based on language and source key
|
|
12
|
+
* @param params - Next.js dynamic route params
|
|
13
|
+
* @param source - Metadata source key in dictionary
|
|
14
|
+
*/
|
|
15
|
+
export async function createMetadata(params, source) {
|
|
16
|
+
const resolvedParams = await params;
|
|
17
|
+
const { lang = "en" } = resolvedParams !== null && resolvedParams !== void 0 ? resolvedParams : {};
|
|
18
|
+
const selected = lang in languages ? lang : "en";
|
|
19
|
+
return generatePageMetadata(selected, source);
|
|
20
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-27 07:12:17
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
export const ShowModal = (id) => {
|
|
9
|
+
document.body.style.overflow = "hidden";
|
|
10
|
+
const modalElement = document.getElementById(id);
|
|
11
|
+
if (modalElement) {
|
|
12
|
+
modalElement.classList.remove("hidden");
|
|
13
|
+
modalElement.classList.add("inline-flex");
|
|
14
|
+
}
|
|
15
|
+
const overlayIsntClickable = document.getElementById(id + "-overlayIsntClickable");
|
|
16
|
+
const overlayClickable = document.getElementById(id + "-overlayClickable");
|
|
17
|
+
if (overlayIsntClickable) {
|
|
18
|
+
overlayIsntClickable.classList.remove("hidden");
|
|
19
|
+
}
|
|
20
|
+
else if (overlayClickable) {
|
|
21
|
+
overlayClickable.classList.remove("hidden");
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export const CloseModal = (id) => {
|
|
25
|
+
if (!id)
|
|
26
|
+
return;
|
|
27
|
+
const modalElement = document.getElementById(id);
|
|
28
|
+
if (modalElement) {
|
|
29
|
+
modalElement.classList.add("hidden");
|
|
30
|
+
modalElement.classList.remove("inline-flex");
|
|
31
|
+
}
|
|
32
|
+
document.body.style.overflow = "auto";
|
|
33
|
+
const overlayIsntClickable = document.getElementById(id + "-overlayIsntClickable");
|
|
34
|
+
const overlayClickable = document.getElementById(id + "-overlayClickable");
|
|
35
|
+
if (overlayIsntClickable) {
|
|
36
|
+
overlayIsntClickable.classList.add("hidden");
|
|
37
|
+
}
|
|
38
|
+
else if (overlayClickable) {
|
|
39
|
+
overlayClickable.classList.add("hidden");
|
|
40
|
+
}
|
|
41
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-18 09:36:46
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
// utils/translation.ts
|
|
9
|
+
import { getDictionary } from "@/locale";
|
|
10
|
+
export function createTranslator(lang) {
|
|
11
|
+
const translations = getDictionary(lang);
|
|
12
|
+
function t(key, fallback) {
|
|
13
|
+
if (!translations) {
|
|
14
|
+
console.warn("Translations not loaded for language:", lang);
|
|
15
|
+
return fallback !== null && fallback !== void 0 ? fallback : key;
|
|
16
|
+
}
|
|
17
|
+
const keys = key.split(".");
|
|
18
|
+
let value = translations;
|
|
19
|
+
for (const k of keys) {
|
|
20
|
+
if (value && typeof value === "object" && k in value) {
|
|
21
|
+
value = value[k];
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return fallback !== null && fallback !== void 0 ? fallback : key;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return typeof value === "string" ? value : fallback !== null && fallback !== void 0 ? fallback : key;
|
|
28
|
+
}
|
|
29
|
+
return { t, lang };
|
|
30
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-07 07:53:42
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
declare const en: {
|
|
9
|
+
mood_day: string;
|
|
10
|
+
mood_week: string;
|
|
11
|
+
aimoonhub: string;
|
|
12
|
+
welcome_title: string;
|
|
13
|
+
financial_markets: string;
|
|
14
|
+
cryptocurrencies: string;
|
|
15
|
+
welcome_description: string;
|
|
16
|
+
login_dashboard: string;
|
|
17
|
+
go_to_news: string;
|
|
18
|
+
welcome_title_2: string;
|
|
19
|
+
welcome_description_2: string;
|
|
20
|
+
loaderPage: string;
|
|
21
|
+
loading: string;
|
|
22
|
+
header: string;
|
|
23
|
+
home: string;
|
|
24
|
+
about_us: string;
|
|
25
|
+
contact_us: string;
|
|
26
|
+
features: string;
|
|
27
|
+
prices: string;
|
|
28
|
+
support: string;
|
|
29
|
+
login_telegram: string;
|
|
30
|
+
meta: {
|
|
31
|
+
title: string;
|
|
32
|
+
description: string;
|
|
33
|
+
keywords: string[];
|
|
34
|
+
openGraph: {
|
|
35
|
+
title: string;
|
|
36
|
+
description: string;
|
|
37
|
+
image: string;
|
|
38
|
+
};
|
|
39
|
+
twitter: {
|
|
40
|
+
title: string;
|
|
41
|
+
description: string;
|
|
42
|
+
image: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
meta_home: {
|
|
46
|
+
title: string;
|
|
47
|
+
description: string;
|
|
48
|
+
keywords: string[];
|
|
49
|
+
};
|
|
50
|
+
meta_about: {
|
|
51
|
+
title: string;
|
|
52
|
+
description: string;
|
|
53
|
+
keywords: string[];
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export default en;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-07 07:53:42
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
import meta_en from "./meta/en.json";
|
|
9
|
+
import meta_home_en from "./meta/home/en.json";
|
|
10
|
+
import meta_about_en from "./meta/about/en.json";
|
|
11
|
+
import global_en from "./global/en.json";
|
|
12
|
+
import home_en from "./home/en.json";
|
|
13
|
+
import coin_en from "./coin/en.json";
|
|
14
|
+
import about_en from "./about/en.json";
|
|
15
|
+
const en = Object.assign(Object.assign(Object.assign(Object.assign({ meta: meta_en, meta_home: meta_home_en, meta_about: meta_about_en }, global_en), home_en), about_en), coin_en);
|
|
16
|
+
export default en;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-07 07:54:08
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
declare const fa: {
|
|
9
|
+
mood_day: string;
|
|
10
|
+
mood_week: string;
|
|
11
|
+
aimoonhub: string;
|
|
12
|
+
welcome_title: string;
|
|
13
|
+
financial_markets: string;
|
|
14
|
+
cryptocurrencies: string;
|
|
15
|
+
welcome_description: string;
|
|
16
|
+
login_dashboard: string;
|
|
17
|
+
go_to_news: string;
|
|
18
|
+
welcome_title_2: string;
|
|
19
|
+
welcome_description_2: string;
|
|
20
|
+
loaderPage: string;
|
|
21
|
+
loading: string;
|
|
22
|
+
coin: string;
|
|
23
|
+
sentiment: string;
|
|
24
|
+
news: string;
|
|
25
|
+
header: string;
|
|
26
|
+
home: string;
|
|
27
|
+
about_us: string;
|
|
28
|
+
contact_us: string;
|
|
29
|
+
features: string;
|
|
30
|
+
prices: string;
|
|
31
|
+
support: string;
|
|
32
|
+
login_telegram: string;
|
|
33
|
+
meta: {
|
|
34
|
+
title: string;
|
|
35
|
+
description: string;
|
|
36
|
+
keywords: string[];
|
|
37
|
+
openGraph: {
|
|
38
|
+
title: string;
|
|
39
|
+
description: string;
|
|
40
|
+
image: string;
|
|
41
|
+
};
|
|
42
|
+
twitter: {
|
|
43
|
+
title: string;
|
|
44
|
+
description: string;
|
|
45
|
+
image: string;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
meta_home: {
|
|
49
|
+
title: string;
|
|
50
|
+
description: string;
|
|
51
|
+
keywords: string[];
|
|
52
|
+
};
|
|
53
|
+
meta_about: {
|
|
54
|
+
title: string;
|
|
55
|
+
description: string;
|
|
56
|
+
keywords: string[];
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
export default fa;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Author: Mohammad Felfelani
|
|
3
|
+
* @Email: mfelfelani72@gmail.com
|
|
4
|
+
* @Team:
|
|
5
|
+
* @Date: 2025-10-07 07:54:08
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
import meta_fa from "./meta/fa.json";
|
|
9
|
+
import meta_home_fa from "./meta/home/fa.json";
|
|
10
|
+
import meta_about_fa from "./meta/about/fa.json";
|
|
11
|
+
import global_fa from "./global/fa.json";
|
|
12
|
+
import home_fa from "./home/fa.json";
|
|
13
|
+
import about_fa from "./about/fa.json";
|
|
14
|
+
import coin_fa from "./coin/fa.json";
|
|
15
|
+
const fa = Object.assign(Object.assign(Object.assign(Object.assign({ meta: meta_fa, meta_home: meta_home_fa, meta_about: meta_about_fa }, global_fa), home_fa), about_fa), coin_fa);
|
|
16
|
+
export default fa;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"loaderPage": "",
|
|
3
|
+
"loading": "در حال بارگیری",
|
|
4
|
+
"aimoonhub": "ایمون هاب",
|
|
5
|
+
"coin": "سکه",
|
|
6
|
+
"sentiment": "احساسات",
|
|
7
|
+
"news": "اخبار",
|
|
8
|
+
"header": "",
|
|
9
|
+
"home": "صفحه اصلی",
|
|
10
|
+
"about_us": "درباره ما",
|
|
11
|
+
"contact_us": "ارتباط با ما",
|
|
12
|
+
"features": "ویژگی ما",
|
|
13
|
+
"prices": "قیمت ها",
|
|
14
|
+
"support": "پشتیبانی",
|
|
15
|
+
"login_telegram": "ورود به ربات تلگرام"
|
|
16
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aimoonhub": "aimoonhub",
|
|
3
|
+
"welcome_title": "Breaking News Analysis <0>{{financial_markets}}</0> and <1>{{cryptocurrencies}}</1>",
|
|
4
|
+
"financial_markets": "Financial Markets",
|
|
5
|
+
"cryptocurrencies": "Cryptocurrencies",
|
|
6
|
+
"welcome_description": "Using artificial intelligence, AimoonHub analyzes news and market data in real time and provides you with accurate information for better decision-making",
|
|
7
|
+
"login_dashboard": "Login to dashboard",
|
|
8
|
+
"go_to_news": "Go to News",
|
|
9
|
+
"welcome_title_2": "Smart crypto news analysis tool!",
|
|
10
|
+
"welcome_description_2": "With superhuman accuracy, check out the latest news and developments in the world of cryptocurrencies. Real-time data, detailed analysis, and deep insight to make better decisions in the financial markets!"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aimoonhub": "آیمونهاب",
|
|
3
|
+
"welcome_title": "تحلیل لحظهای اخبار <0>{{financial_markets}}</0> و <1>{{cryptocurrencies}}</1>",
|
|
4
|
+
"financial_markets": "بازارهای مالی",
|
|
5
|
+
"cryptocurrencies": "رمز ارزها",
|
|
6
|
+
"welcome_description": "آیمونهاب با استفاده از هوش مصنوعی، اخبار و دادههای بازار را در لحظه تحلیل کرده و اطلاعاتی دقیق برای تصمیمگیری بهتر به شما ارائه میدهد",
|
|
7
|
+
"login_dashboard": "ورود به داشبورد",
|
|
8
|
+
"go_to_news": "برو به اخبار",
|
|
9
|
+
"welcome_title_2": "ابزار هوشمند تحلیل اخبار کریپتو!",
|
|
10
|
+
"welcome_description_2": " با دقتی فراتر از انسان، جدیدترین اخبار و تحولات دنیای رمزارزها را بررسی کن. دادههای لحظهای، تحلیلهای دقیق و بینشی عمیق برای تصمیمگیری بهتر در بازارهای مالی!"
|
|
11
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
declare const dictionaries: {
|
|
2
|
+
en: {
|
|
3
|
+
mood_day: string;
|
|
4
|
+
mood_week: string;
|
|
5
|
+
aimoonhub: string;
|
|
6
|
+
welcome_title: string;
|
|
7
|
+
financial_markets: string;
|
|
8
|
+
cryptocurrencies: string;
|
|
9
|
+
welcome_description: string;
|
|
10
|
+
login_dashboard: string;
|
|
11
|
+
go_to_news: string;
|
|
12
|
+
welcome_title_2: string;
|
|
13
|
+
welcome_description_2: string;
|
|
14
|
+
loaderPage: string;
|
|
15
|
+
loading: string;
|
|
16
|
+
header: string;
|
|
17
|
+
home: string;
|
|
18
|
+
about_us: string;
|
|
19
|
+
contact_us: string;
|
|
20
|
+
features: string;
|
|
21
|
+
prices: string;
|
|
22
|
+
support: string;
|
|
23
|
+
login_telegram: string;
|
|
24
|
+
meta: {
|
|
25
|
+
title: string;
|
|
26
|
+
description: string;
|
|
27
|
+
keywords: string[];
|
|
28
|
+
openGraph: {
|
|
29
|
+
title: string;
|
|
30
|
+
description: string;
|
|
31
|
+
image: string;
|
|
32
|
+
};
|
|
33
|
+
twitter: {
|
|
34
|
+
title: string;
|
|
35
|
+
description: string;
|
|
36
|
+
image: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
meta_home: {
|
|
40
|
+
title: string;
|
|
41
|
+
description: string;
|
|
42
|
+
keywords: string[];
|
|
43
|
+
};
|
|
44
|
+
meta_about: {
|
|
45
|
+
title: string;
|
|
46
|
+
description: string;
|
|
47
|
+
keywords: string[];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
fa: {
|
|
51
|
+
mood_day: string;
|
|
52
|
+
mood_week: string;
|
|
53
|
+
aimoonhub: string;
|
|
54
|
+
welcome_title: string;
|
|
55
|
+
financial_markets: string;
|
|
56
|
+
cryptocurrencies: string;
|
|
57
|
+
welcome_description: string;
|
|
58
|
+
login_dashboard: string;
|
|
59
|
+
go_to_news: string;
|
|
60
|
+
welcome_title_2: string;
|
|
61
|
+
welcome_description_2: string;
|
|
62
|
+
loaderPage: string;
|
|
63
|
+
loading: string;
|
|
64
|
+
coin: string;
|
|
65
|
+
sentiment: string;
|
|
66
|
+
news: string;
|
|
67
|
+
header: string;
|
|
68
|
+
home: string;
|
|
69
|
+
about_us: string;
|
|
70
|
+
contact_us: string;
|
|
71
|
+
features: string;
|
|
72
|
+
prices: string;
|
|
73
|
+
support: string;
|
|
74
|
+
login_telegram: string;
|
|
75
|
+
meta: {
|
|
76
|
+
title: string;
|
|
77
|
+
description: string;
|
|
78
|
+
keywords: string[];
|
|
79
|
+
openGraph: {
|
|
80
|
+
title: string;
|
|
81
|
+
description: string;
|
|
82
|
+
image: string;
|
|
83
|
+
};
|
|
84
|
+
twitter: {
|
|
85
|
+
title: string;
|
|
86
|
+
description: string;
|
|
87
|
+
image: string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
meta_home: {
|
|
91
|
+
title: string;
|
|
92
|
+
description: string;
|
|
93
|
+
keywords: string[];
|
|
94
|
+
};
|
|
95
|
+
meta_about: {
|
|
96
|
+
title: string;
|
|
97
|
+
description: string;
|
|
98
|
+
keywords: string[];
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
export type Lang = keyof typeof dictionaries;
|
|
103
|
+
export declare const getDictionary: (lang?: Lang) => {
|
|
104
|
+
mood_day: string;
|
|
105
|
+
mood_week: string;
|
|
106
|
+
aimoonhub: string;
|
|
107
|
+
welcome_title: string;
|
|
108
|
+
financial_markets: string;
|
|
109
|
+
cryptocurrencies: string;
|
|
110
|
+
welcome_description: string;
|
|
111
|
+
login_dashboard: string;
|
|
112
|
+
go_to_news: string;
|
|
113
|
+
welcome_title_2: string;
|
|
114
|
+
welcome_description_2: string;
|
|
115
|
+
loaderPage: string;
|
|
116
|
+
loading: string;
|
|
117
|
+
header: string;
|
|
118
|
+
home: string;
|
|
119
|
+
about_us: string;
|
|
120
|
+
contact_us: string;
|
|
121
|
+
features: string;
|
|
122
|
+
prices: string;
|
|
123
|
+
support: string;
|
|
124
|
+
login_telegram: string;
|
|
125
|
+
meta: {
|
|
126
|
+
title: string;
|
|
127
|
+
description: string;
|
|
128
|
+
keywords: string[];
|
|
129
|
+
openGraph: {
|
|
130
|
+
title: string;
|
|
131
|
+
description: string;
|
|
132
|
+
image: string;
|
|
133
|
+
};
|
|
134
|
+
twitter: {
|
|
135
|
+
title: string;
|
|
136
|
+
description: string;
|
|
137
|
+
image: string;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
meta_home: {
|
|
141
|
+
title: string;
|
|
142
|
+
description: string;
|
|
143
|
+
keywords: string[];
|
|
144
|
+
};
|
|
145
|
+
meta_about: {
|
|
146
|
+
title: string;
|
|
147
|
+
description: string;
|
|
148
|
+
keywords: string[];
|
|
149
|
+
};
|
|
150
|
+
} | {
|
|
151
|
+
mood_day: string;
|
|
152
|
+
mood_week: string;
|
|
153
|
+
aimoonhub: string;
|
|
154
|
+
welcome_title: string;
|
|
155
|
+
financial_markets: string;
|
|
156
|
+
cryptocurrencies: string;
|
|
157
|
+
welcome_description: string;
|
|
158
|
+
login_dashboard: string;
|
|
159
|
+
go_to_news: string;
|
|
160
|
+
welcome_title_2: string;
|
|
161
|
+
welcome_description_2: string;
|
|
162
|
+
loaderPage: string;
|
|
163
|
+
loading: string;
|
|
164
|
+
coin: string;
|
|
165
|
+
sentiment: string;
|
|
166
|
+
news: string;
|
|
167
|
+
header: string;
|
|
168
|
+
home: string;
|
|
169
|
+
about_us: string;
|
|
170
|
+
contact_us: string;
|
|
171
|
+
features: string;
|
|
172
|
+
prices: string;
|
|
173
|
+
support: string;
|
|
174
|
+
login_telegram: string;
|
|
175
|
+
meta: {
|
|
176
|
+
title: string;
|
|
177
|
+
description: string;
|
|
178
|
+
keywords: string[];
|
|
179
|
+
openGraph: {
|
|
180
|
+
title: string;
|
|
181
|
+
description: string;
|
|
182
|
+
image: string;
|
|
183
|
+
};
|
|
184
|
+
twitter: {
|
|
185
|
+
title: string;
|
|
186
|
+
description: string;
|
|
187
|
+
image: string;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
meta_home: {
|
|
191
|
+
title: string;
|
|
192
|
+
description: string;
|
|
193
|
+
keywords: string[];
|
|
194
|
+
};
|
|
195
|
+
meta_about: {
|
|
196
|
+
title: string;
|
|
197
|
+
description: string;
|
|
198
|
+
keywords: string[];
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
export {};
|