Commit graph

682 commits

Author SHA1 Message Date
eac0c23061 Set max-width of 395px 2024-06-11 00:28:08 -03:00
6cd4c2e24b Fine-tune RTL layout 2024-06-11 00:20:19 -03:00
1d3b9384f2 Fine-tune RTL layout 2024-06-11 00:11:29 -03:00
cd9fc3806c Replace 'RightArrow' with 'Arrow' 2024-06-10 23:20:46 -03:00
4b12934ba1 Cleanup CSS 2024-06-10 22:40:07 -03:00
8e734103da Drop h1 font-size on iPhone-like device 2024-06-10 15:59:27 -03:00
71810aaf57 Bump font-size of h1 on RTL 2024-06-10 15:55:58 -03:00
5f9e01530e Bump font size on RTL, <= $breakpoint-xxl 2024-06-10 15:39:16 -03:00
441d30c613 Adjust CSS centered around icons 2024-06-10 14:12:40 -03:00
0c7322a705 Bump gap between ayah on RTL / $breakpoint-xxl 2024-06-10 13:07:45 -03:00
e464901223 Apply larger fonts, icons at $breakpoint-xxl 2024-06-10 11:15:09 -03:00
a45b1e88e4 Apply larger fonts starting at $breakpoint-xl 2024-06-10 10:55:29 -03:00
a1ea5020a1 Remove guard on 'ayah' 2024-06-10 09:59:30 -03:00
0be54156f8 Adjust margins 2024-06-10 07:25:29 -03:00
cfc6cc16c8 Apply larger fonts at higher resolutions 2024-06-10 06:48:12 -03:00
5239fb2944 Apply larger font size for RTL (ul.body.index) 2024-06-10 02:20:22 -03:00
4db10c4ca6 Revert to xx-large on iPhone 2024-06-10 02:11:38 -03:00
c84d976d49 Update CSS 2024-06-10 02:08:23 -03:00
afee523ce5 Size adjustments for RTL languages 2024-06-10 01:40:02 -03:00
867dbf22b9 Increase distance between ayah for RTL languages 2024-06-09 19:25:57 -03:00
e823c46229 Increase font size on SurahStream for RTL languages 2024-06-09 19:15:51 -03:00
ce8cb1bad4 Further optimize layout for RTL languages 2024-06-09 18:52:17 -03:00
d4f9df2801 Add icon improvements for RTL languages 2024-06-09 18:20:35 -03:00
e775a69992 Update Timer.tsx 2024-06-09 16:52:10 -03:00
44a245a3f6 Update loaders
Let 'TLocale' type be inferred
2024-06-09 15:46:16 -03:00
20fb969959 Update loaders
Plus configure prettier to run via eslint. That makes it easier
to hide certain blocks of code from the linter.
2024-06-09 15:28:35 -03:00
62ed9c93e8 Run prettier 2024-06-09 13:46:25 -03:00
6a9c0b4d9d Extend cache coverage to /json/ 2024-06-09 13:42:06 -03:00
cf8421b34d Bump header font-size for rtl languages 2024-06-09 02:20:43 -03:00
61e05fc142 Update loaders 2024-06-09 01:57:56 -03:00
e3963d58f7 Add ?v=<commit> to requests for JS, CSS
This change lets the server implement more aggressive
caching strategies for both JS, and CSS. It is generally
preferred to include a digest in the filename instead, but
nanoc doesn't support that feature
2024-06-09 00:57:34 -03:00
c199d97986 Fix typo 2024-06-08 23:27:43 -03:00
887dd19530 Run prettier 2024-06-08 23:19:30 -03:00
4fb0f12cd4 Remove percent symbol from progress bar UI 2024-06-08 23:14:19 -03:00
fd4b79e13b Add progress bar improvements in Arabic / Farsi 2024-06-08 23:01:29 -03:00
509d48a721 Extend Filter.tsx to cover 'surah.roman.name', too 2024-06-08 22:09:13 -03:00
ead0cbf11f Drop !important 2024-06-08 21:32:17 -03:00
747032d7c0 Apply height to .refresh.icon
This change fixes a bug where after the refresh icon appears,
extra height is added to the page to the point a vertical
scrollbar becomes visible. This appears to have been due to
the refresh icon not having an equal height and width
2024-06-08 21:22:20 -03:00
3a4fdad4d3 Update images/og/ 2024-06-08 17:05:06 -03:00
2f6f19fd18 Update src/images/og/ 2024-06-08 09:04:57 -03:00
82f1d14a45 Update images/og/15.png 2024-06-07 23:45:25 -03:00
ba6ccee290 Update SurahStreamLoader.ts 2024-06-07 22:42:48 -03:00
607b413267 Fix scrollbar on GTK
A white background creates a scrollbar that demands
less attention.
2024-06-07 21:57:47 -03:00
f6ce562afc Tick at 100ms intervals
Try to improve Timer.tsx accuracy
2024-06-07 20:26:47 -03:00
c8018ff7f0 Determine Timer.tsx duration from MP3, otherwise default on fallback
This change repurposes /json/durations/alafasy/<id>.json as
/json/durations/<id>.json. A file from /json/durations/ is
used by Timer.tsx when sound is disabled. Otherwise the
duration is taken from an MP3.

This change facilitates changing the recitation author
without needing to provide a JSON file that described the
duration of each MP3.
2024-06-07 15:10:57 -03:00
828507963c Update sitemap.xml.erb 2024-06-02 19:15:59 -03:00
49269badd9 Adjust priority in sitemap.xml.erb 2024-06-02 04:55:04 -03:00
fea1d737f2 Add server.base_url, audio.base_url
With this change the website can be hosted on
any domain (up to being entirely independent of
al-quran.reflectslight.io) by configuring a
couple of variables.
2024-06-02 03:11:48 -03:00
ea2cb5711f Assign locale via document.documentElement 2024-06-02 01:47:28 -03:00
6df7ac1933 Darker shade of blue 2024-05-31 09:42:04 -03:00
fe77825436 Set $secondary-color for theme select 2024-05-31 09:33:13 -03:00
410ce5d96c Fix prettier 2024-05-31 02:18:05 -03:00
0c713574e6 Replace inline_json with postman 2024-05-31 02:15:57 -03:00
bbb3659a91 Access document language via documentElement 2024-05-31 02:06:08 -03:00
6297ff7599 Prevent unneccessary MP3 download 2024-05-31 01:46:30 -03:00
bc916e7de6 Export LanguageSelect, ThemeSelect from /js/Select/index.tsx 2024-05-31 01:12:39 -03:00
e3f0df68ce npm run prettier 2024-05-31 00:46:50 -03:00
4d91c29567 LanguageSelect: add $black border 2024-05-31 00:24:39 -03:00
d96834688f Add border around surah num (RTL-focused) 2024-05-30 23:59:54 -03:00
a20502b653 Iterate on rtl design 2024-05-30 18:10:16 -03:00
e77533a947 Iterate on rtl design 2024-05-30 17:45:05 -03:00
8d7efdaa8a Improve iPhone experience 2024-05-30 07:18:55 -03:00
3f8eed8f7b Adjust $secondary-color (green theme) 2024-05-30 07:01:05 -03:00
2ed6256eb3 Replace custom CSS (w-95) 2024-05-30 06:49:49 -03:00
0bf52277b8 Add gap for improved scrolling 2024-05-30 05:45:23 -03:00
33ff298613 npm run prettier 2024-05-30 05:29:05 -03:00
f2715846a9 Remove unused CSS (SurahStream.scss) 2024-05-30 05:24:19 -03:00
e131dc9caa Show .right-arrow when on iPhone-like device
And in landscape mode
2024-05-30 05:20:06 -03:00
95a8aab690 Replace CSS class with data-testid 2024-05-30 05:02:19 -03:00
dba72d5968 Reduce custom CSS (SurahIndex.scss) 2024-05-30 04:41:24 -03:00
18b6b34bcf Hide SurahIndexFilter on touch devices (eg iPhone) 2024-05-29 18:14:42 -03:00
4547be757b Add _postman.html.erb 2024-05-29 18:04:46 -03:00
4b041571f3 Update {random,surah-index,surah-stream}.html.erb
Add dir attribute
2024-05-29 03:14:35 -03:00
fbb87bdf25 Update random.html.erb 2024-05-29 02:47:40 -03:00
7183929079 Translate 'Loading' string 2024-05-26 13:55:09 -03:00
efbd0299f9 Replace single quotes with double quotes 2024-05-26 02:56:50 -03:00
72719684a6 Replace data-locale with lang attribute 2024-05-25 23:33:49 -03:00
09365dd283 Add opengraph to /<locale>/random/ 2024-05-25 23:12:42 -03:00
f9282c1345 Replace hard-coded references with 'server.hostname' 2024-05-25 22:34:55 -03:00
8c2f4df663 Add /<locale>/random/ to sitemap.xml.erb 2024-05-25 20:59:24 -03:00
5d203a12eb Add meta description to /<locale>/random/ 2024-05-25 20:52:03 -03:00
62898d4908 v0.8.3 2024-05-25 03:18:48 -03:00
04784515fe Remove data-app-version 2024-05-25 01:38:43 -03:00
9c348f1223 Add "version" to _revision.html.erb
See https://github.com/dvorapa/meta-version
2024-05-25 01:31:03 -03:00
1673fd2cf4 Add 'revision' meta tag
See https://github.com/krallin/meta-revision
2024-05-25 00:53:15 -03:00
6db1792828 Update src/js/loaders/ 2024-05-24 22:02:03 -03:00
1c08dcede0 Add /components/Timer/ 2024-05-24 16:16:55 -03:00
e8f2f11734 Reduce intesity of Timer.tsx ticks 2024-05-24 15:57:42 -03:00
7d8867e991 Fix bug in redirect.ts 2024-05-24 15:56:52 -03:00
d9b72605fe Adopt darker green for the green theme 2024-05-24 15:19:18 -03:00
f75da19d74 Set SameSite=Strict 2024-05-24 14:17:14 -03:00
9641ea2f57 Fix "rake ci" 2024-05-24 14:07:52 -03:00
4a362b7db8 Reduce re-renders of SurahStream (SurahStream/index.tsx) 2024-05-24 14:02:02 -03:00
96bf486ad2 Add "rake ci" 2024-05-19 23:24:47 -03:00
bcf6e6d0e2 Update info.json (farsi) 2024-05-19 22:46:15 -03:00
6d60da78b1 Update farsi translation 2024-05-19 22:45:41 -03:00
5e202a01fd Close select after an option is clicked 2024-05-19 21:51:49 -03:00
2ead06cf05 Adjust margin based on direction (rtl / ltr) 2024-05-19 20:53:47 -03:00
716096e911 Try to improve ThemeSelect.tsx (mobile) 2024-05-19 20:37:56 -03:00
5acb5484df Add padding (mostly for mobile) 2024-05-19 20:35:16 -03:00
9627c60021 Add translatedBy to surahs.json 2024-05-19 20:22:14 -03:00
0ac9e415a6 Update Filter.tsx 2024-05-19 17:30:04 -03:00
e1249e7b81 Add Farsi support
This change is a big one. It adds Farsi support,
which by itself is significant. In the process of
adding Farsi support other significant improvements
were made:

* Select.tsx component
* TLocale (Quran/index.ts)
* ...
2024-05-19 16:51:37 -03:00
793954b0aa Fix prettier + eslint 2024-05-17 02:55:11 -03:00
d299621488 Add opengraph to root path
Default to the canonical (/en/) for the
title, description, and images.
2024-05-16 17:02:35 -03:00
a966e8a8e2 Restructure info.json
The schema has been changed to be easily
interchangeable between different locales,
and these changes make it easier to adopt
Farsi support as well.
2024-05-16 16:17:12 -03:00
2367cc5792 Reduce max width (1024px -> 768px) 2024-05-16 11:12:10 -03:00
deae96fc4b Add Quran.locales 2024-05-15 21:51:04 -03:00
fcb7aa391a Add self-closing icon links 2024-05-15 01:30:16 -03:00
eeaf48bca8 Add canonical and alternate link tags to all 'main' pages 2024-05-15 00:59:40 -03:00
fe32825e2b src/html/*.html.erb => src/html/main/*.html.erb 2024-05-15 00:35:45 -03:00
8d44281079 Run info.json through JSON.pretty_generate() 2024-05-14 23:18:20 -03:00
82cb7e81e0 Populate surah via info.json 2024-05-14 23:09:31 -03:00
5a59e999b3 Separate information about the surah from surah.json
The first element of the array from surah.json has been
moved into its own file (info.json).

Now we have:
* /json/en/1/surah.json (surah content)
* /json/en/1/info.json (info about the surah)
2024-05-14 23:09:13 -03:00
ea8fe925af s|ref|articleRef|g 2024-05-14 16:26:04 -03:00
2e6952eacc Add SurahStream/ 2024-05-14 16:07:57 -03:00
dc9edbe047 Fix render of refresh icon
It didn't appear quite right with an explicit height of 16px
2024-05-09 19:35:37 -03:00
4f282e12f2 Fix format offenses 2024-05-02 10:46:40 -03:00
610297f60a Remove unused src/json/durations/ 2024-05-02 07:52:10 -03:00
d7cb6f62be images/opengraph/ -> images/og/
But most importantly, for src/og/0.png:

* resize to 512x512
* apply a white background
* similar to the format for og/1.png, og/2.png, etc
2024-05-02 07:32:11 -03:00
cc3b8f27a9 quran.png -> 0.png 2024-05-02 07:15:01 -03:00
4df978e688 Remove src/images/flags/ 2024-05-02 07:12:26 -03:00
adfe95103e !0 evaluates as true, returning early for a case we didn't expect
The if guard in this commit is aimed at catching null / undefined.
2024-05-02 05:31:46 -03:00
1d06b50300 Handle 'ms' being null as "zero" in Timer 2024-05-01 12:40:02 -03:00
eedf2a9c8a Enable 'strictNullChecks' 2024-05-01 12:35:56 -03:00
3a9d5ee022 Forward VERSION to SurahIndex.tsx 2024-05-01 11:51:18 -03:00
16f92008d6 Remove line-height from src/css/_base.scss 2024-05-01 11:09:00 -03:00
5cd3d013f2 Add 'ayat' (arabic) 2024-05-01 10:49:05 -03:00
d04f8d01e3 Fix prop order in Stream
As a general rule the locale prop should come first
2024-05-01 09:40:27 -03:00
17dc9a8499 Fix prop order in Filter
As a general rule the 'locale' prop should come first
2024-05-01 09:37:21 -03:00
3fc4e47f9d Fix prop order in Timer 2024-05-01 09:36:28 -03:00
537cd3f780 Add 'onComplete' prop to Timer 2024-05-01 09:34:45 -03:00
ea496dfcc0 Swap arguments of 'formatNumber' 2024-05-01 09:12:48 -03:00
324c4a8c4b Adjust title (stream.html.erb) 2024-05-01 08:35:14 -03:00
7d0fa78efe Fix typo 2024-05-01 08:18:02 -03:00
2b7f4b2370 Adjust <title> (stream.html.erb) 2024-05-01 08:16:58 -03:00
d62e34dd3e Replace noise-y generic types 2024-05-01 08:07:00 -03:00
644b19b8d4 Fix typo 2024-05-01 07:42:46 -03:00
7f9cc18961 Improve audio controls
This change builds on the previous commit. There is increased reliability,
and coverage of more scenarios involving audio.
2024-05-01 07:36:36 -03:00
9b69b6d43b Fix stream audio
The Sound(On|Off)Icon would turn off after the first track ends.
This happened thanks to code that handles audio tracks played for
a single ayah. We can identify the context where we don't want to
automatically disable via 'autoPlay'. Not a great fix but works.

We also top up the Timer count when sound is turned on. That helps
make sure the audio will finish before the timer.
2024-05-01 04:59:47 -03:00
3d78cd6fcf Update Timer.tsx 2024-05-01 04:36:20 -03:00
d3f075e98e Hoist 'audio' (HTMLAudioElement) into parent component
A new approach that gives the caller (parent) control over
the HTMLAudioElement. This will hopefully provide a framework
for a stable implementation that can handle multiple retries
over a slow network.
2024-05-01 03:47:09 -03:00
8890b67dbb Update /(en|ar)/index.html 2024-05-01 00:09:13 -03:00
f544be4144 Fix / improve render of meta tags (stream.html.erb) 2024-05-01 00:00:45 -03:00
6bec11a547 Add static JSON to .js files rather than .html files 2024-04-30 22:46:48 -03:00
e8347fa5a5 Add packages/typescript/Quran/ 2024-04-30 09:43:30 -03:00
9e6297f316 s/selected-option/selected/g 2024-04-30 01:46:22 -03:00
4f436062e5 Replace "ChangeEvent" 2024-04-30 01:38:23 -03:00
f59a971577 s/classnames/classNames/g 2024-04-30 01:28:38 -03:00
83e9021108 s/get/query/g 2024-04-30 01:26:53 -03:00