Commit graph

1251 commits

Author SHA1 Message Date
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
f710d46ac8 Add .projectile 2023-03-01 22:04:50 -03:00
29bc167fa0 Split 'Rules' file across multiple files
This change will hopefuly make it easier  to scale the Rules file
over time. Rather than having one file with all rules, there are
multiple files that are categorized.

Ref #2
2023-03-01 22:04:50 -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
50b7f8d0e3 Run rsync.sh 2023-02-23 23:33:07 -03:00
a5731df6bc README: update 2023-02-20 22:40:40 -03:00
2df40785db README: update 2023-02-20 21:26:59 -03:00
1d905691b5 Switch to 0BSD license 2023-02-20 21:06:23 -03:00
cc1791c836 Add .editorconfig
Fix #19
2023-02-20 20:56:37 -03:00
42d803e411 Create logs, and destination directories on deploy 2023-02-14 18:09:41 -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
2c81c044f6 Upgrade to nanoc-webpack.rb v0.1.5 2023-01-08 06:23:05 -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
affa6bee33 Change GitHub build name 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
2f7b9fa93a Fix github lint action 2023-01-05 00:20:47 -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
61c73c88df Scope eslint NPM scripts to src/js/ 2023-01-05 00:15:45 -03:00
723a6d9e55 Add "lint:eslint:fix" task 2023-01-05 00:14:54 -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
38f9101bd8 readme: update 2023-01-03 23:04:37 -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
7a27036425 Don't exit when "sh" fails
When 'rake watch:deploy:local' is being used, do not exit when
compilation fails but instead wait for a fix to be applied, and then
re-compile the site.
2022-12-28 03:40:49 -03:00
728b10e524 Build as soon as "rake watch:deploy:local" runs 2022-12-27 03:42:20 -03:00