0158b89f42
Add src/css/webpackage.scss
2023-03-06 17:31:36 -03:00
0073c76fbb
Add TheSurahIndex.tsx
...
TheSurahIndex.tsx provides a list of surahs (aka chapters) from
The Quran. Fix #2 .
2023-03-06 17:30:38 -03:00
97f3add66a
Remove unused imports
2023-02-28 19:19:48 -03:00
18d84fa90c
Decouple LanguageSelect.tsx
from TheSurahPage
.
...
Ref #2
2023-02-28 19:19:48 -03:00
f62b3df8c5
linter: fix
2023-02-28 05:03:09 -03:00
941ba2b1e0
Replace custom i18n with toLocaleString
...
And remove IDObject. The ayah ID, and surah ID are now simple
integers.
2023-02-28 05:03:09 -03:00
481ff9274a
Namespace classes, types, etc within "Quran"
2023-02-28 05:03:09 -03:00
51b7a523ce
s/theme-and-language/dropdown-row/g
2023-02-28 05:03:09 -03:00
95be842bc4
Add src/css/layout.scss
2023-02-28 05:03:09 -03:00
78a0146cf9
Generalize the CSS
2023-02-28 05:03:09 -03:00
278292dc89
src/css/components/TheQuran/ -> src/css/components/TheSurahPage/
2023-02-28 05:03:09 -03:00
438e327ea1
src/js/components/TheQuran -> src/js/components/TheSurahPage
2023-02-28 05:03:09 -03:00
13234d34d1
Set background color of .box-shape to $gold
...
This was overlooked when renaming .container.shape to .box-shape
2023-01-13 12:37:55 -03:00
7af6147172
Replace Ayah[] with Ayat type (LanguageSelect.tsx)
2023-01-12 21:51:52 -03:00
7945a1667a
Add slice support to the LanguageSelect component
2023-01-12 21:51:52 -03:00
c911322429
Change base width to 470px
...
And when the vertical scroll bar is present, reduce the width
of a paragraph to 98% of 470px.
2023-01-12 21:51:52 -03:00
13789768a1
Add ability to pause, and resume the stream
...
This change allows the stream to be paused, and
resumed on-demand.
2023-01-12 21:51:52 -03:00
44fdb443f8
Enable eslint rule "object-curly-spacing"
2023-01-09 07:03:05 -03:00
25e5703e1a
Add random redirect from the paths /en, and /ar
...
When the theme logo is clicked, the user will be redirected
to a random surah and the current active language will remain
the same.
2023-01-09 05:15:18 -03:00
a5e69e6c23
Fix bug when "slice.coversOneAyah"
...
I discovered a bug where when the "ayah" parameter is set to a single
ayah, and the end of the surah is reached - the "endOfStream" variable
would continue to return false. This would lead to an error in the Timer
component where "ayah" would be accessed as an undefined value.
2023-01-06 21:14:41 -03:00
bc0078f5d4
Fix: remove 'slice' prop from Timer
2023-01-05 19:31:32 -03:00
5376b632dd
mv lib/slice.ts lib/Quran/slice.ts
2023-01-05 19:31:32 -03:00
88ca256355
Remove "ayah" prop from Timer component
2023-01-05 19:31:32 -03:00
5715cfb1a1
Add support streaming a given ayah range
...
The "ayah" query parameter can be used to select a
specific range of a surah. For example:
'/en/al-fatihah/?ayah=3..7'
2023-01-05 19:31:32 -03:00
30cf8e96b7
Fix Slice.fromParam
2023-01-05 19:31:32 -03:00
5c8247aedb
Add lib/slice.ts
2023-01-05 19:31:32 -03:00
af5ecfef66
Add eslint "quotes" rule
...
By default this rule expects single quotes to be used
2023-01-05 00:16:30 -03:00
22fd27bba9
Add "@typescript-eslint/member-delimiter-style" rule
...
Apply to all files in /src/js/
2023-01-04 23:48:35 -03:00
2b06c933ee
Remove prefix from 'Props'
...
For example, 'StreamProps' is now simply 'Props'
2023-01-04 23:32:49 -03:00
de538b2a00
Maintain rtl direction on .surah-row.surah-details
2022-12-30 08:58:43 -03:00
56c8bfbbc6
Preload Arabic font (Vazitmatn Regular)
...
This change should improve performance when switching between
the English, and Arabic languages.
Fix #66
2022-12-30 08:58:43 -03:00
8626dad6d9
Revise HTML markup, and stylesheets
...
* Remove the 'AboutSurah' component:
It is too simple to be worth being a component.
* Prefer long-form CSS syntax over SCSS indentation:
I think it is easier to read, although there's probably
still a soft spot to find between the two.
* Rename root class from 'surah' to 'root-box'.
* Rename / revise other CSS class names.
2022-12-30 08:39:59 -03:00
37faf82a42
Prevent timer going out of sync when switching themes
...
I discovered this bug while testing recent changes on iOS.
After the theme was changed, there appeared to be two active
threads of execution that would step on each other's toes.
Storing the surah with useState() appears to have fixed the
bug.
2022-12-28 05:00:10 -03:00
652e787013
Add support for ?ayah=X query parameter
...
This query parameter can be used to start a surah at the given ayah,
and it is used by the LanguageSelect component when switching between
languages.
Fix https://github.com/ReflectsLight/al-quran/issues/61
2022-12-28 04:06:07 -03:00
431bde851c
Add Select component
...
The Select component renders a list, and provides more flexibility
in how the element is styled (compared to a regular "<select>").
2022-12-28 04:01:23 -03:00
76db482721
Surah.ts: add 'slug' getter.
2022-12-27 03:42:20 -03:00
4cef8416fd
WebPackage: add 'fetchOptions'.
2022-12-27 03:42:20 -03:00
5a7f49c2c2
add LanguageSelect.tsx
2022-12-27 03:42:20 -03:00
3b9c68ebe6
Replace useSurah with Surah.fromDOMNode
...
Fix https://github.com/ReflectsLight/al-quran/issues/56
2022-12-26 19:10:22 -03:00
f1f94f46ea
Adjust read time calculations
...
A baseline of two seconds is introduced, and when
the Arabic locale is being used, each word has a
weight of 750ms rather than 500ms.
2022-12-26 17:37:43 -03:00
667767459a
Correct typo's in Arabic text.
...
See https://github.com/ReflectsLight/quran-pull/pull/3
2022-12-26 04:22:00 -03:00
f1fd6c4e00
Add localization for hard-coded English strings
...
* Replace "Surah X, Ayah Y" with its Arabic equivalenets.
* Add support for Eastern Arabic Numerals . For use with
the Arabic, and Farsi languages.
2022-12-25 20:15:30 -03:00
e2111e33c6
Display the name of a surah in Arabic when locale is "ar"
2022-12-24 15:52:14 -03:00
7d68da0293
Fix CSS precendence of media rules
...
Adjust <=595px rule to a height of 330px.
Ref #53
2022-12-24 14:22:01 -03:00
0cf6089fb7
Fit content on 1378x768 device (follow up)
...
The previous commits broke support on Chrome / Safari on iOS.
`HTMLElement.scroll` does not seem to work when the height is set
as a percentage. This commit also uses `HTMLElement#scrollHeight`
instead of "offsetHeight".
2022-12-24 14:13:22 -03:00
c928f56601
Fit content on 1368x768 device (follow up)
...
Follow up to 80881311badb47133cbcdf440ee0cf470efae6ae
2022-12-24 13:01:53 -03:00
8d076fc5d6
Fit content (vertically) on 1368x768 device
...
I bought a new laptop recently, and I discovered that I couldn't view
a surah without a vertical scroll bar. The timer for an ayah wasn't
visible without scrolling. This change will hopefully address that.
2022-12-24 11:50:06 -03:00
ce7606b62c
The theme image is now a link that goes to /
2022-12-07 14:25:27 -03:00
b7d6c9262e
Rules: add a more precise compilation rule
2022-11-28 00:33:23 -03:00
aca7450b81
src/css: remove unneccessary styles.
2022-11-28 00:33:23 -03:00