diff --git a/frontend/.prettierrc b/frontend/.prettierrc
new file mode 100644
index 000000000..eb8da3b69
--- /dev/null
+++ b/frontend/.prettierrc
@@ -0,0 +1,2 @@
+---
+printWidth: 110
\ No newline at end of file
diff --git a/frontend/resources/fonts/Vazirmatn-Black.ttf b/frontend/resources/fonts/Vazirmatn-Black.ttf
new file mode 100644
index 000000000..4b9bd6617
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Black.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-Black.woff2 b/frontend/resources/fonts/Vazirmatn-Black.woff2
new file mode 100644
index 000000000..f08cace8d
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Black.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-Bold.ttf b/frontend/resources/fonts/Vazirmatn-Bold.ttf
new file mode 100644
index 000000000..efa9b095d
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Bold.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-Bold.woff2 b/frontend/resources/fonts/Vazirmatn-Bold.woff2
new file mode 100644
index 000000000..65b427f86
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Bold.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-ExtraBold.ttf b/frontend/resources/fonts/Vazirmatn-ExtraBold.ttf
new file mode 100644
index 000000000..380bd1586
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-ExtraBold.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-ExtraBold.woff2 b/frontend/resources/fonts/Vazirmatn-ExtraBold.woff2
new file mode 100644
index 000000000..c074e70fc
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-ExtraBold.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-ExtraLight.ttf b/frontend/resources/fonts/Vazirmatn-ExtraLight.ttf
new file mode 100644
index 000000000..b7b947e6a
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-ExtraLight.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-ExtraLight.woff2 b/frontend/resources/fonts/Vazirmatn-ExtraLight.woff2
new file mode 100644
index 000000000..997dea07b
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-ExtraLight.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-Light.ttf b/frontend/resources/fonts/Vazirmatn-Light.ttf
new file mode 100644
index 000000000..2dfd5c35e
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Light.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-Light.woff2 b/frontend/resources/fonts/Vazirmatn-Light.woff2
new file mode 100644
index 000000000..d154722a6
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Light.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-Medium.ttf b/frontend/resources/fonts/Vazirmatn-Medium.ttf
new file mode 100644
index 000000000..1e08dd54d
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Medium.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-Medium.woff2 b/frontend/resources/fonts/Vazirmatn-Medium.woff2
new file mode 100644
index 000000000..495af7576
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Medium.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-Regular.ttf b/frontend/resources/fonts/Vazirmatn-Regular.ttf
new file mode 100644
index 000000000..64e4a8189
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Regular.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-Regular.woff2 b/frontend/resources/fonts/Vazirmatn-Regular.woff2
new file mode 100644
index 000000000..c9824c872
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Regular.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-SemiBold.ttf b/frontend/resources/fonts/Vazirmatn-SemiBold.ttf
new file mode 100644
index 000000000..6b3842aca
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-SemiBold.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-SemiBold.woff2 b/frontend/resources/fonts/Vazirmatn-SemiBold.woff2
new file mode 100644
index 000000000..53016415a
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-SemiBold.woff2 differ
diff --git a/frontend/resources/fonts/Vazirmatn-Thin.ttf b/frontend/resources/fonts/Vazirmatn-Thin.ttf
new file mode 100644
index 000000000..b7a7d233e
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Thin.ttf differ
diff --git a/frontend/resources/fonts/Vazirmatn-Thin.woff2 b/frontend/resources/fonts/Vazirmatn-Thin.woff2
new file mode 100644
index 000000000..b7df27826
Binary files /dev/null and b/frontend/resources/fonts/Vazirmatn-Thin.woff2 differ
diff --git a/frontend/resources/fonts/WorkSans-Black.eot b/frontend/resources/fonts/WorkSans-Black.eot
deleted file mode 100644
index 53bb9c861..000000000
Binary files a/frontend/resources/fonts/WorkSans-Black.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-Black.svg b/frontend/resources/fonts/WorkSans-Black.svg
deleted file mode 100644
index 766a534d5..000000000
--- a/frontend/resources/fonts/WorkSans-Black.svg
+++ /dev/null
@@ -1,16248 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-BlackItalic.eot b/frontend/resources/fonts/WorkSans-BlackItalic.eot
deleted file mode 100644
index de216159e..000000000
Binary files a/frontend/resources/fonts/WorkSans-BlackItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-BlackItalic.svg b/frontend/resources/fonts/WorkSans-BlackItalic.svg
deleted file mode 100644
index fed596c15..000000000
--- a/frontend/resources/fonts/WorkSans-BlackItalic.svg
+++ /dev/null
@@ -1,16277 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-Bold.eot b/frontend/resources/fonts/WorkSans-Bold.eot
deleted file mode 100644
index 230d453b9..000000000
Binary files a/frontend/resources/fonts/WorkSans-Bold.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-Bold.svg b/frontend/resources/fonts/WorkSans-Bold.svg
deleted file mode 100644
index 780011b82..000000000
--- a/frontend/resources/fonts/WorkSans-Bold.svg
+++ /dev/null
@@ -1,25069 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-BoldItalic.eot b/frontend/resources/fonts/WorkSans-BoldItalic.eot
deleted file mode 100644
index aab9667dc..000000000
Binary files a/frontend/resources/fonts/WorkSans-BoldItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-BoldItalic.svg b/frontend/resources/fonts/WorkSans-BoldItalic.svg
deleted file mode 100644
index e339f3471..000000000
--- a/frontend/resources/fonts/WorkSans-BoldItalic.svg
+++ /dev/null
@@ -1,24489 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-ExtraBold.eot b/frontend/resources/fonts/WorkSans-ExtraBold.eot
deleted file mode 100644
index 8b733670f..000000000
Binary files a/frontend/resources/fonts/WorkSans-ExtraBold.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-ExtraBold.svg b/frontend/resources/fonts/WorkSans-ExtraBold.svg
deleted file mode 100644
index 55e6f50e4..000000000
--- a/frontend/resources/fonts/WorkSans-ExtraBold.svg
+++ /dev/null
@@ -1,25065 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-ExtraBoldItalic.eot b/frontend/resources/fonts/WorkSans-ExtraBoldItalic.eot
deleted file mode 100644
index 4b032160f..000000000
Binary files a/frontend/resources/fonts/WorkSans-ExtraBoldItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-ExtraBoldItalic.svg b/frontend/resources/fonts/WorkSans-ExtraBoldItalic.svg
deleted file mode 100644
index 4ca2b3d80..000000000
--- a/frontend/resources/fonts/WorkSans-ExtraBoldItalic.svg
+++ /dev/null
@@ -1,24462 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-ExtraLight.eot b/frontend/resources/fonts/WorkSans-ExtraLight.eot
deleted file mode 100644
index 5830248d7..000000000
Binary files a/frontend/resources/fonts/WorkSans-ExtraLight.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-ExtraLight.svg b/frontend/resources/fonts/WorkSans-ExtraLight.svg
deleted file mode 100644
index cf6910750..000000000
--- a/frontend/resources/fonts/WorkSans-ExtraLight.svg
+++ /dev/null
@@ -1,25774 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-ExtraLightItalic.eot b/frontend/resources/fonts/WorkSans-ExtraLightItalic.eot
deleted file mode 100644
index 49762c973..000000000
Binary files a/frontend/resources/fonts/WorkSans-ExtraLightItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-ExtraLightItalic.svg b/frontend/resources/fonts/WorkSans-ExtraLightItalic.svg
deleted file mode 100644
index b57d337cd..000000000
--- a/frontend/resources/fonts/WorkSans-ExtraLightItalic.svg
+++ /dev/null
@@ -1,25162 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-Italic.eot b/frontend/resources/fonts/WorkSans-Italic.eot
deleted file mode 100644
index ac5da85c3..000000000
Binary files a/frontend/resources/fonts/WorkSans-Italic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-Italic.svg b/frontend/resources/fonts/WorkSans-Italic.svg
deleted file mode 100644
index 6b80809b5..000000000
--- a/frontend/resources/fonts/WorkSans-Italic.svg
+++ /dev/null
@@ -1,21510 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-Light.eot b/frontend/resources/fonts/WorkSans-Light.eot
deleted file mode 100644
index 1fb80b658..000000000
Binary files a/frontend/resources/fonts/WorkSans-Light.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-Light.svg b/frontend/resources/fonts/WorkSans-Light.svg
deleted file mode 100644
index 2f8bd2d70..000000000
--- a/frontend/resources/fonts/WorkSans-Light.svg
+++ /dev/null
@@ -1,25793 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-LightItalic.eot b/frontend/resources/fonts/WorkSans-LightItalic.eot
deleted file mode 100644
index a2fef572a..000000000
Binary files a/frontend/resources/fonts/WorkSans-LightItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-LightItalic.svg b/frontend/resources/fonts/WorkSans-LightItalic.svg
deleted file mode 100644
index d730e13d7..000000000
--- a/frontend/resources/fonts/WorkSans-LightItalic.svg
+++ /dev/null
@@ -1,25177 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-Medium.eot b/frontend/resources/fonts/WorkSans-Medium.eot
deleted file mode 100644
index 67eda9408..000000000
Binary files a/frontend/resources/fonts/WorkSans-Medium.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-Medium.svg b/frontend/resources/fonts/WorkSans-Medium.svg
deleted file mode 100644
index 2d9fdb520..000000000
--- a/frontend/resources/fonts/WorkSans-Medium.svg
+++ /dev/null
@@ -1,25050 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-MediumItalic.eot b/frontend/resources/fonts/WorkSans-MediumItalic.eot
deleted file mode 100644
index 43b2002f0..000000000
Binary files a/frontend/resources/fonts/WorkSans-MediumItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-MediumItalic.svg b/frontend/resources/fonts/WorkSans-MediumItalic.svg
deleted file mode 100644
index 64377980b..000000000
--- a/frontend/resources/fonts/WorkSans-MediumItalic.svg
+++ /dev/null
@@ -1,24313 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-Regular.eot b/frontend/resources/fonts/WorkSans-Regular.eot
deleted file mode 100644
index e3a99d126..000000000
Binary files a/frontend/resources/fonts/WorkSans-Regular.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-Regular.svg b/frontend/resources/fonts/WorkSans-Regular.svg
deleted file mode 100644
index df6da1232..000000000
--- a/frontend/resources/fonts/WorkSans-Regular.svg
+++ /dev/null
@@ -1,21954 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-SemiBold.eot b/frontend/resources/fonts/WorkSans-SemiBold.eot
deleted file mode 100644
index 92ca2637e..000000000
Binary files a/frontend/resources/fonts/WorkSans-SemiBold.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-SemiBold.svg b/frontend/resources/fonts/WorkSans-SemiBold.svg
deleted file mode 100644
index 5cad7ade8..000000000
--- a/frontend/resources/fonts/WorkSans-SemiBold.svg
+++ /dev/null
@@ -1,25059 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-SemiBoldItalic.eot b/frontend/resources/fonts/WorkSans-SemiBoldItalic.eot
deleted file mode 100644
index e59f0fcc6..000000000
Binary files a/frontend/resources/fonts/WorkSans-SemiBoldItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-SemiBoldItalic.svg b/frontend/resources/fonts/WorkSans-SemiBoldItalic.svg
deleted file mode 100644
index de7a791c3..000000000
--- a/frontend/resources/fonts/WorkSans-SemiBoldItalic.svg
+++ /dev/null
@@ -1,24400 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-Thin.eot b/frontend/resources/fonts/WorkSans-Thin.eot
deleted file mode 100644
index 547ec1299..000000000
Binary files a/frontend/resources/fonts/WorkSans-Thin.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-Thin.svg b/frontend/resources/fonts/WorkSans-Thin.svg
deleted file mode 100644
index b158ae3b6..000000000
--- a/frontend/resources/fonts/WorkSans-Thin.svg
+++ /dev/null
@@ -1,23764 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/WorkSans-ThinItalic.eot b/frontend/resources/fonts/WorkSans-ThinItalic.eot
deleted file mode 100644
index 5c7914656..000000000
Binary files a/frontend/resources/fonts/WorkSans-ThinItalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/WorkSans-ThinItalic.svg b/frontend/resources/fonts/WorkSans-ThinItalic.svg
deleted file mode 100644
index 735b630f3..000000000
--- a/frontend/resources/fonts/WorkSans-ThinItalic.svg
+++ /dev/null
@@ -1,23256 +0,0 @@
-
-
-
diff --git a/frontend/resources/fonts/sourcesanspro-black.eot b/frontend/resources/fonts/sourcesanspro-black.eot
deleted file mode 100644
index e2781489f..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-black.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-black.svg b/frontend/resources/fonts/sourcesanspro-black.svg
deleted file mode 100644
index 083140096..000000000
--- a/frontend/resources/fonts/sourcesanspro-black.svg
+++ /dev/null
@@ -1,921 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-blackitalic.eot b/frontend/resources/fonts/sourcesanspro-blackitalic.eot
deleted file mode 100644
index 397e1c8f6..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-blackitalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-blackitalic.svg b/frontend/resources/fonts/sourcesanspro-blackitalic.svg
deleted file mode 100644
index 4c1932e07..000000000
--- a/frontend/resources/fonts/sourcesanspro-blackitalic.svg
+++ /dev/null
@@ -1,822 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-bold.eot b/frontend/resources/fonts/sourcesanspro-bold.eot
deleted file mode 100644
index c14db153b..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-bold.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-bold.svg b/frontend/resources/fonts/sourcesanspro-bold.svg
deleted file mode 100644
index e1a5e150b..000000000
--- a/frontend/resources/fonts/sourcesanspro-bold.svg
+++ /dev/null
@@ -1,965 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-bolditalic.eot b/frontend/resources/fonts/sourcesanspro-bolditalic.eot
deleted file mode 100644
index db2164bfb..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-bolditalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-bolditalic.svg b/frontend/resources/fonts/sourcesanspro-bolditalic.svg
deleted file mode 100644
index f7beb27ab..000000000
--- a/frontend/resources/fonts/sourcesanspro-bolditalic.svg
+++ /dev/null
@@ -1,841 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-extralight.eot b/frontend/resources/fonts/sourcesanspro-extralight.eot
deleted file mode 100644
index e6f486d2b..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-extralight.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-extralight.svg b/frontend/resources/fonts/sourcesanspro-extralight.svg
deleted file mode 100644
index 270a6f50c..000000000
--- a/frontend/resources/fonts/sourcesanspro-extralight.svg
+++ /dev/null
@@ -1,916 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-extralightitalic.eot b/frontend/resources/fonts/sourcesanspro-extralightitalic.eot
deleted file mode 100644
index e141d4d60..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-extralightitalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-extralightitalic.svg b/frontend/resources/fonts/sourcesanspro-extralightitalic.svg
deleted file mode 100644
index f3f2cd82b..000000000
--- a/frontend/resources/fonts/sourcesanspro-extralightitalic.svg
+++ /dev/null
@@ -1,838 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-italic.eot b/frontend/resources/fonts/sourcesanspro-italic.eot
deleted file mode 100644
index 35e8462b7..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-italic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-italic.svg b/frontend/resources/fonts/sourcesanspro-italic.svg
deleted file mode 100644
index 17cb29bd4..000000000
--- a/frontend/resources/fonts/sourcesanspro-italic.svg
+++ /dev/null
@@ -1,853 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-light.eot b/frontend/resources/fonts/sourcesanspro-light.eot
deleted file mode 100644
index 06ea0287b..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-light.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-light.svg b/frontend/resources/fonts/sourcesanspro-light.svg
deleted file mode 100644
index 0ced8aa04..000000000
--- a/frontend/resources/fonts/sourcesanspro-light.svg
+++ /dev/null
@@ -1,915 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-lightitalic.eot b/frontend/resources/fonts/sourcesanspro-lightitalic.eot
deleted file mode 100644
index 63718fb30..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-lightitalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-lightitalic.svg b/frontend/resources/fonts/sourcesanspro-lightitalic.svg
deleted file mode 100644
index 97ada87ec..000000000
--- a/frontend/resources/fonts/sourcesanspro-lightitalic.svg
+++ /dev/null
@@ -1,840 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-regular.eot b/frontend/resources/fonts/sourcesanspro-regular.eot
deleted file mode 100644
index 6260f8e2e..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-regular.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-regular.svg b/frontend/resources/fonts/sourcesanspro-regular.svg
deleted file mode 100644
index de5d8bab3..000000000
--- a/frontend/resources/fonts/sourcesanspro-regular.svg
+++ /dev/null
@@ -1,989 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-semibold.eot b/frontend/resources/fonts/sourcesanspro-semibold.eot
deleted file mode 100644
index a03a1fa1f..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-semibold.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-semibold.svg b/frontend/resources/fonts/sourcesanspro-semibold.svg
deleted file mode 100644
index a9ea23766..000000000
--- a/frontend/resources/fonts/sourcesanspro-semibold.svg
+++ /dev/null
@@ -1,979 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/fonts/sourcesanspro-semibolditalic.eot b/frontend/resources/fonts/sourcesanspro-semibolditalic.eot
deleted file mode 100644
index cd2dec757..000000000
Binary files a/frontend/resources/fonts/sourcesanspro-semibolditalic.eot and /dev/null differ
diff --git a/frontend/resources/fonts/sourcesanspro-semibolditalic.svg b/frontend/resources/fonts/sourcesanspro-semibolditalic.svg
deleted file mode 100644
index 98de8eff9..000000000
--- a/frontend/resources/fonts/sourcesanspro-semibolditalic.svg
+++ /dev/null
@@ -1,848 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/frontend/resources/styles/common/base.scss b/frontend/resources/styles/common/base.scss
index ebd5568d1..f49c00064 100644
--- a/frontend/resources/styles/common/base.scss
+++ b/frontend/resources/styles/common/base.scss
@@ -5,12 +5,16 @@
// Copyright (c) 2015-2016 Andrey Antukh
// Copyright (c) 2015-2016 Juan de la Cruz
+:root {
+ --font-family: "worksans", sans-serif;
+}
+
body {
background-color: lighten($color-gray-10, 5%);
color: $color-gray-20;
display: flex;
flex-direction: column;
- font-family: "worksans", sans-serif;
+ font-family: var(--font-family);
width: 100vw;
height: 100vh;
overflow: hidden;
diff --git a/frontend/resources/styles/common/dependencies/animations.scss b/frontend/resources/styles/common/dependencies/animations.scss
index 274770411..8b9a0fb03 100644
--- a/frontend/resources/styles/common/dependencies/animations.scss
+++ b/frontend/resources/styles/common/dependencies/animations.scss
@@ -1809,19 +1809,15 @@
}
40% {
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
- transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
50% {
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
- transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
@@ -1850,19 +1846,15 @@
}
40% {
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
- transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
50% {
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
- transform: perspective(400px) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
diff --git a/frontend/resources/styles/common/dependencies/colors.scss b/frontend/resources/styles/common/dependencies/colors.scss
index 8ca5bbb8a..eb58034ef 100644
--- a/frontend/resources/styles/common/dependencies/colors.scss
+++ b/frontend/resources/styles/common/dependencies/colors.scss
@@ -46,138 +46,42 @@ $mix-percentage-lighter: 20%;
$mix-percentage-lightest: 10%;
// Lighter colors
-$color-success-light: mix(
- $color-success,
- $color-white,
- $mix-percentage-light
-); //#79cf7d
-$color-success-lighter: mix(
- $color-success,
- $color-white,
- $mix-percentage-lighter
-); //#def3de
+$color-success-light: mix($color-success, $color-white, $mix-percentage-light); //#79cf7d
+$color-success-lighter: mix($color-success, $color-white, $mix-percentage-lighter); //#def3de
-$color-complete-light: mix(
- $color-complete,
- $color-white,
- $mix-percentage-light
-); //#b7add1
-$color-complete-lighter: mix(
- $color-complete,
- $color-white,
- $mix-percentage-lighter
-); //#edebf4
+$color-complete-light: mix($color-complete, $color-white, $mix-percentage-light); //#b7add1
+$color-complete-lighter: mix($color-complete, $color-white, $mix-percentage-lighter); //#edebf4
-$color-primary-light: mix(
- $color-primary,
- $color-white,
- $mix-percentage-light
-); //#5af2c6
-$color-primary-lighter: mix(
- $color-primary,
- $color-white,
- $mix-percentage-lighter
-); //#d6fcf1
+$color-primary-light: mix($color-primary, $color-white, $mix-percentage-light); //#5af2c6
+$color-primary-lighter: mix($color-primary, $color-white, $mix-percentage-lighter); //#d6fcf1
-$color-warning-light: mix(
- $color-warning,
- $color-white,
- $mix-percentage-light
-); //#fda035
-$color-warning-lighter: mix(
- $color-warning,
- $color-white,
- $mix-percentage-lighter
-); //#fee7cc;
+$color-warning-light: mix($color-warning, $color-white, $mix-percentage-light); //#fda035
+$color-warning-lighter: mix($color-warning, $color-white, $mix-percentage-lighter); //#fee7cc;
-$color-danger-light: mix(
- $color-danger,
- $color-white,
- $mix-percentage-light
-); //#eb7569
-$color-danger-lighter: mix(
- $color-danger,
- $color-white,
- $mix-percentage-lighter
-); //#fadcda
+$color-danger-light: mix($color-danger, $color-white, $mix-percentage-light); //#eb7569
+$color-danger-lighter: mix($color-danger, $color-white, $mix-percentage-lighter); //#fadcda
-$color-info-light: mix(
- $color-info,
- $color-white,
- $mix-percentage-light
-); //#7ac7e8
-$color-info-lighter: mix(
- $color-info,
- $color-white,
- $mix-percentage-lighter
-); //#def1f9;
+$color-info-light: mix($color-info, $color-white, $mix-percentage-light); //#7ac7e8
+$color-info-lighter: mix($color-info, $color-white, $mix-percentage-lighter); //#def1f9;
// Darker colors
-$color-success-dark: mix(
- $color-success,
- $color-black,
- $mix-percentage-dark
-); //#479e4b;
-$color-success-darker: mix(
- $color-success,
- $color-black,
- $mix-percentage-darker
-); // #357537;
+$color-success-dark: mix($color-success, $color-black, $mix-percentage-dark); //#479e4b;
+$color-success-darker: mix($color-success, $color-black, $mix-percentage-darker); // #357537;
-$color-complete-dark: mix(
- $color-complete,
- $color-black,
- $mix-percentage-dark
-); //#867ca0
-$color-complete-darker: mix(
- $color-complete,
- $color-black,
- $mix-percentage-darker
-); //#635c77
+$color-complete-dark: mix($color-complete, $color-black, $mix-percentage-dark); //#867ca0
+$color-complete-darker: mix($color-complete, $color-black, $mix-percentage-darker); //#635c77
-$color-primary-dark: mix(
- $color-primary,
- $color-black,
- $mix-percentage-dark
-); //#28c295;
-$color-primary-darker: mix(
- $color-primary,
- $color-black,
- $mix-percentage-darker
-); // #1d8f6e
+$color-primary-dark: mix($color-primary, $color-black, $mix-percentage-dark); //#28c295;
+$color-primary-darker: mix($color-primary, $color-black, $mix-percentage-darker); // #1d8f6e
-$color-warning-dark: mix(
- $color-warning,
- $color-black,
- $mix-percentage-dark
-); // #cc6e02;
-$color-warning-darker: mix(
- $color-warning,
- $color-black,
- $mix-percentage-darker
-); //#975201
+$color-warning-dark: mix($color-warning, $color-black, $mix-percentage-dark); // #cc6e02;
+$color-warning-darker: mix($color-warning, $color-black, $mix-percentage-darker); //#975201
-$color-danger-dark: mix(
- $color-danger,
- $color-black,
- $mix-percentage-dark
-); //#ba4237
-$color-danger-darker: mix(
- $color-danger,
- $color-black,
- $mix-percentage-darker
-); // #8a3129;
+$color-danger-dark: mix($color-danger, $color-black, $mix-percentage-dark); //#ba4237
+$color-danger-darker: mix($color-danger, $color-black, $mix-percentage-darker); // #8a3129;
-$color-info-dark: mix(
- $color-info,
- $color-black,
- $mix-percentage-dark
-); // #4896b7
-$color-info-darker: mix(
- $color-info,
- $color-black,
- $mix-percentage-darker
-); // #356f88;
+$color-info-dark: mix($color-info, $color-black, $mix-percentage-dark); // #4896b7
+$color-info-darker: mix($color-info, $color-black, $mix-percentage-darker); // #356f88;
// bg transparent
$color-dark-bg: rgba(0, 0, 0, 0.4);
diff --git a/frontend/resources/styles/common/dependencies/fonts.scss b/frontend/resources/styles/common/dependencies/fonts.scss
index 316c531fe..fbf45fed7 100644
--- a/frontend/resources/styles/common/dependencies/fonts.scss
+++ b/frontend/resources/styles/common/dependencies/fonts.scss
@@ -59,24 +59,25 @@ $title-lh-sm: 1.15;
// Source Sans Pro
@include font-face("sourcesanspro", "sourcesanspro-extralight", "200");
-@include font-face(
- "sourcesanspro",
- "sourcesanspro-extralightitalic",
- "200",
- italic
-);
+@include font-face("sourcesanspro", "sourcesanspro-extralightitalic", "200", italic);
@include font-face("sourcesanspro", "sourcesanspro-light", "300");
@include font-face("sourcesanspro", "sourcesanspro-lightitalic", "300", italic);
@include font-face("sourcesanspro", "sourcesanspro-regular", normal);
@include font-face("sourcesanspro", "sourcesanspro-italic", normal, italic);
@include font-face("sourcesanspro", "sourcesanspro-semibold", "600");
-@include font-face(
- "sourcesanspro",
- "sourcesanspro-semibolditalic",
- "600",
- italic
-);
+@include font-face("sourcesanspro", "sourcesanspro-semibolditalic", "600", italic);
@include font-face("sourcesanspro", "sourcesanspro-bold", bold);
@include font-face("sourcesanspro", "sourcesanspro-bolditalic", bold, italic);
@include font-face("sourcesanspro", "sourcesanspro-black", "900");
@include font-face("sourcesanspro", "sourcesanspro-blackitalic", "900", italic);
+
+// Vazirmatn
+@include font-face("vazirmatn", "Vazirmatn-Thin", "100");
+@include font-face("vazirmatn", "Vazirmatn-ExtraLight", "200");
+@include font-face("vazirmatn", "Vazirmatn-Light", "300");
+@include font-face("vazirmatn", "Vazirmatn-Regular", normal);
+@include font-face("vazirmatn", "Vazirmatn-Medium", "500");
+@include font-face("vazirmatn", "Vazirmatn-SemiBold", "600");
+@include font-face("vazirmatn", "Vazirmatn-Bold", bold);
+@include font-face("vazirmatn", "Vazirmatn-ExtraBold", "800");
+@include font-face("vazirmatn", "Vazirmatn-Black", "900");
diff --git a/frontend/resources/styles/common/dependencies/mixin.scss b/frontend/resources/styles/common/dependencies/mixin.scss
index c4e19f916..294a82203 100644
--- a/frontend/resources/styles/common/dependencies/mixin.scss
+++ b/frontend/resources/styles/common/dependencies/mixin.scss
@@ -111,27 +111,11 @@
text-shadow: none;
}
-/// Shortcut mixin to add new font-face compatible with all browser. To work you need to add the follow formats of font:".eot", ".woff", ".ttf" and "svg".
-/// @group Mixins
-/// @parameter $style-name - Name of the font style
-/// @parameter $file - Name of the font file.
-/// @parameter $weight [normal] - With this variable you can add how much weight you want to add to this specific font. EX: Bold
-/// @parameter $style [normal] - With this variable you can add a font style to this specific font. EX: Italic
-
-@mixin font-face(
- $style-name,
- $file,
- $weight: unquote("normal"),
- $style: unquote("normal")
-) {
+@mixin font-face($style-name, $file, $weight: unquote("normal"), $style: unquote("normal")) {
$filepath: "/fonts/" + $file;
@font-face {
font-family: "#{$style-name}";
- src: url($filepath + ".eot");
- src: url($filepath + ".eot?#iefix") format("embedded-opentype"),
- url($filepath + ".woff") format("woff"),
- url($filepath + ".ttf") format("truetype"),
- url($filepath + ".svg#" + $style-name + "") format("svg");
+ src: url($filepath + ".woff2") format("woff2"), url($filepath + ".ttf") format("truetype");
font-weight: unquote($weight);
font-style: unquote($style);
}
diff --git a/frontend/resources/styles/main/partials/af-signup-questions.scss b/frontend/resources/styles/main/partials/af-signup-questions.scss
index bb5017818..9283d53f2 100644
--- a/frontend/resources/styles/main/partials/af-signup-questions.scss
+++ b/frontend/resources/styles/main/partials/af-signup-questions.scss
@@ -243,10 +243,7 @@
}
}
- .af-field-previous_design_tool
- .af-choice-option:nth-child(7)
- input:checked
- + label,
+ .af-field-previous_design_tool .af-choice-option:nth-child(7) input:checked + label,
.af-field-use_of_penpot .af-choice-option:nth-child(5) input:checked + label {
&::before {
background-color: $color-primary;
diff --git a/frontend/resources/styles/main/partials/colorpicker.scss b/frontend/resources/styles/main/partials/colorpicker.scss
index 45a9daf33..a9d658720 100644
--- a/frontend/resources/styles/main/partials/colorpicker.scss
+++ b/frontend/resources/styles/main/partials/colorpicker.scss
@@ -200,11 +200,7 @@
}
&.value {
- background: linear-gradient(
- var(--gradient-direction),
- #fff 0%,
- #000 100%
- );
+ background: linear-gradient(var(--gradient-direction), #fff 0%, #000 100%);
}
.handler {
@@ -237,8 +233,8 @@
border-radius: 6px;
z-index: 1;
border: 1px solid $color-white;
- box-shadow: rgb(255, 255, 255) 0px 0px 0px 1px inset,
- rgb(0 0 0 / 0.25) 0px 4px 4px inset, rgb(0 0 0 / 0.25) 0px 4px 4px;
+ box-shadow: rgb(255, 255, 255) 0px 0px 0px 1px inset, rgb(0 0 0 / 0.25) 0px 4px 4px inset,
+ rgb(0 0 0 / 0.25) 0px 4px 4px;
transform: translate(-6px, -6px);
left: 50%;
top: 50%;
@@ -386,8 +382,8 @@
border-radius: 6px;
z-index: 1;
border: 1px solid $color-white;
- box-shadow: rgb(255, 255, 255) 0px 0px 0px 1px inset,
- rgb(0 0 0 / 0.25) 0px 4px 4px inset, rgb(0 0 0 / 0.25) 0px 4px 4px;
+ box-shadow: rgb(255, 255, 255) 0px 0px 0px 1px inset, rgb(0 0 0 / 0.25) 0px 4px 4px inset,
+ rgb(0 0 0 / 0.25) 0px 4px 4px;
transform: translate(-6px, -6px);
left: 50%;
top: 50%;
diff --git a/frontend/resources/styles/main/partials/dashboard-sidebar.scss b/frontend/resources/styles/main/partials/dashboard-sidebar.scss
index 96134c663..2df415293 100644
--- a/frontend/resources/styles/main/partials/dashboard-sidebar.scss
+++ b/frontend/resources/styles/main/partials/dashboard-sidebar.scss
@@ -177,7 +177,7 @@
span.element-title {
color: $color-gray-60;
font-size: $fs14;
- overflow-x: hidden;
+ overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
user-select: none;
diff --git a/frontend/resources/styles/main/partials/modal.scss b/frontend/resources/styles/main/partials/modal.scss
index 89f4927ca..956d755af 100644
--- a/frontend/resources/styles/main/partials/modal.scss
+++ b/frontend/resources/styles/main/partials/modal.scss
@@ -1289,8 +1289,7 @@
}
.modal-container {
- background-image: url("../images/deco-left.png"),
- url("../images/deco-right.png");
+ background-image: url("../images/deco-left.png"), url("../images/deco-right.png");
background-repeat: no-repeat;
background-position: 10% 50px, 90% 50px;
background-size: 65px;
@@ -1317,18 +1316,8 @@
--checkbox-border-radius: 3px;
--dropdown-option-background-color: rgba(0, 195, 139, 1);
--dropdown-option-active-background-color: rgba(0, 138, 98, 1);
- --invalid-field-background-color: rgba(
- 238.51780000000002,
- 205.7178,
- 204.11780000000002,
- 1
- );
- --message-fail-background-color: rgba(
- 238.51780000000002,
- 205.7178,
- 204.11780000000002,
- 1
- );
+ --invalid-field-background-color: rgba(238.51780000000002, 205.7178, 204.11780000000002, 1);
+ --message-fail-background-color: rgba(238.51780000000002, 205.7178, 204.11780000000002, 1);
--message-success-background-color: rgba(171, 232, 197, 1);
}
}
diff --git a/frontend/resources/styles/main/partials/sidebar-element-options.scss b/frontend/resources/styles/main/partials/sidebar-element-options.scss
index ba53f4518..845e7a5ea 100644
--- a/frontend/resources/styles/main/partials/sidebar-element-options.scss
+++ b/frontend/resources/styles/main/partials/sidebar-element-options.scss
@@ -92,7 +92,7 @@
color: $color-gray-20;
font-size: $fs12;
max-width: 75%;
- overflow-x: hidden;
+ overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
diff --git a/frontend/resources/styles/main/partials/sidebar-layers.scss b/frontend/resources/styles/main/partials/sidebar-layers.scss
index 2b67b255d..1b8e001c6 100644
--- a/frontend/resources/styles/main/partials/sidebar-layers.scss
+++ b/frontend/resources/styles/main/partials/sidebar-layers.scss
@@ -212,7 +212,7 @@ span.element-name {
max-width: 75%;
min-width: 40px;
min-height: 16px;
- overflow-x: hidden;
+ overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
diff --git a/frontend/resources/styles/main/partials/sidebar-sitemap.scss b/frontend/resources/styles/main/partials/sidebar-sitemap.scss
index ffc67c137..3568ce360 100644
--- a/frontend/resources/styles/main/partials/sidebar-sitemap.scss
+++ b/frontend/resources/styles/main/partials/sidebar-sitemap.scss
@@ -28,7 +28,7 @@
color: $color-gray-20;
font-size: $fs12;
max-width: 75%;
- overflow-x: hidden;
+ overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
diff --git a/frontend/resources/styles/main/partials/sidebar.scss b/frontend/resources/styles/main/partials/sidebar.scss
index 8ecf0266e..92c7cce16 100644
--- a/frontend/resources/styles/main/partials/sidebar.scss
+++ b/frontend/resources/styles/main/partials/sidebar.scss
@@ -51,7 +51,7 @@
color: $color-gray-10;
font-size: $fs14;
max-width: 100%;
- overflow-x: hidden;
+ overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
diff --git a/frontend/resources/styles/main/partials/viewer-header.scss b/frontend/resources/styles/main/partials/viewer-header.scss
index 1c64546ff..11871eee2 100644
--- a/frontend/resources/styles/main/partials/viewer-header.scss
+++ b/frontend/resources/styles/main/partials/viewer-header.scss
@@ -150,7 +150,7 @@
color: $color-gray-20;
margin-right: $size-1;
font-size: $fs14;
- overflow-x: hidden;
+ overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
diff --git a/frontend/resources/styles/main/partials/workspace-header.scss b/frontend/resources/styles/main/partials/workspace-header.scss
index d05041bf7..4102152f0 100644
--- a/frontend/resources/styles/main/partials/workspace-header.scss
+++ b/frontend/resources/styles/main/partials/workspace-header.scss
@@ -122,7 +122,7 @@
span {
color: $color-white;
font-size: $fs14;
- overflow-x: hidden;
+ overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
diff --git a/frontend/src/app/util/dom.cljs b/frontend/src/app/util/dom.cljs
index 532df7a61..6d6b1284a 100644
--- a/frontend/src/app/util/dom.cljs
+++ b/frontend/src/app/util/dom.cljs
@@ -385,6 +385,11 @@
(.setProperty (.-style ^js node) property value))
node)
+(defn unset-css-property! [^js node property]
+ (when (some? node)
+ (.removeProperty (.-style ^js node) property))
+ node)
+
(defn capture-pointer [^js event]
(when (some? event)
(-> event get-target (.setPointerCapture (.-pointerId event)))))
@@ -393,6 +398,9 @@
(when (and (some? event) (.-pointerId event))
(-> event get-target (.releasePointerCapture (.-pointerId event)))))
+(defn get-body []
+ (.-body globals/document))
+
(defn get-root []
(query globals/document "#app"))
diff --git a/frontend/src/app/util/i18n.cljs b/frontend/src/app/util/i18n.cljs
index 3902c18a8..13bf563b2 100644
--- a/frontend/src/app/util/i18n.cljs
+++ b/frontend/src/app/util/i18n.cljs
@@ -7,7 +7,9 @@
(ns app.util.i18n
"A i18n foundation."
(:require
+ [app.common.logging :as log]
[app.config :as cfg]
+ [app.util.dom :as dom]
[app.util.globals :as globals]
[app.util.object :as obj]
[app.util.storage :refer [storage]]
@@ -16,6 +18,8 @@
[okulary.core :as l]
[rumext.alpha :as mf]))
+(log/set-level! :info)
+
(def supported-locales
[{:label "English" :value "en"}
{:label "EspaƱol" :value "es"}
@@ -83,11 +87,12 @@
locale
(recur (rest locales)))
cfg/default-language))]
+
(swap! storage assoc ::locale lname)
(reset! locale lname))
- (do
+ (let [locale (autodetect)]
(swap! storage dissoc ::locale)
- (reset! locale (autodetect)))))
+ (reset! locale locale))))
(defn reset-locale
"Set the current locale to the browser detected one if it is
@@ -96,6 +101,15 @@
(swap! storage dissoc ::locale)
(reset! locale (autodetect)))
+(add-watch locale ::browser-font
+ (fn [_ _ _ locale]
+ (log/info :hint "locale changed" :locale locale)
+ (let [node (dom/get-body)]
+ (if (or (= locale "fa")
+ (= locale "ar"))
+ (dom/set-css-property! node "--font-family" "'vazirmatn', 'worksans', sans-serif")
+ (dom/unset-css-property! node "--font-family")))))
+
(deftype C [val]
IDeref
(-deref [_] val))
diff --git a/frontend/src/app/util/time.cljs b/frontend/src/app/util/time.cljs
index 5fd1ee0c4..a5aa4d66b 100644
--- a/frontend/src/app/util/time.cljs
+++ b/frontend/src/app/util/time.cljs
@@ -13,6 +13,7 @@
["date-fns/locale/el" :default dateFnsLocalesEl]
["date-fns/locale/en-US" :default dateFnsLocalesEnUs]
["date-fns/locale/es" :default dateFnsLocalesEs]
+ ["date-fns/locale/fa-IR" :default dateFnsLocalesFa]
["date-fns/locale/fr" :default dateFnsLocalesFr]
["date-fns/locale/he" :default dateFnsLocalesHe]
["date-fns/locale/pt-BR" :default dateFnsLocalesPtBr]
@@ -218,6 +219,7 @@
:ru dateFnsLocalesRu
:ro dateFnsLocalesRo
:de dateFnsLocalesDe
+ :fa dateFnsLocalesFa
:pt_br dateFnsLocalesPtBr
:zh_cn dateFnsLocalesZhCn})