Commit graph

243 commits

Author SHA1 Message Date
25557888cd Add src/js/main/redirect.ts 2024-03-16 05:35:58 -03:00
047eac5b75 Add src/js/main/random.ts 2024-03-16 05:18:03 -03:00
60c8b9799b Add src/js/main/surah-stream.tsx 2024-03-16 04:56:56 -03:00
8dc06cd004 Add src/js/main/surah-index.tsx 2024-03-16 04:17:49 -03:00
043523e48a Replace 'es-cookie' with 'document.cookie' 2024-03-12 12:34:18 -03:00
a1f7ee3026 Set text-base on Timer.tsx 2024-02-29 14:52:09 -03:00
113c29439d Fix style / alignment issues 2024-02-29 13:39:22 -03:00
05323a7ed0 Fix alignment of StalledIcon 2024-02-29 00:40:14 -03:00
1fb81c967b Hoist 'ms' 2024-02-29 00:07:27 -03:00
ec0f7c480a Align items in footer 2024-02-28 22:45:51 -03:00
4b555a3141 Limit border-top to .surah-index 2024-02-28 21:27:27 -03:00
2123f27dae Remove font (Amiri Quran Regular) 2024-02-28 20:13:54 -03:00
0802c5340a Minor tweaks and improvements 2024-02-28 20:11:24 -03:00
b50192795d Rewrite SurahStream.tsx with tail.css 2024-02-28 19:41:48 -03:00
513fe07c8a Rewrite SurahIndex.tsx with tail.css 2024-02-28 19:41:48 -03:00
b2bcd644ff Hide SurahIndexFilter.tsx at low-resolution widths 2024-02-24 19:21:42 -03:00
58477688b0 Remove 'playing', 'stopped' CSS classes 2024-02-24 00:06:08 -03:00
c23cf266b9 Set scroll-y on demand (SurahStream.tsx) 2024-02-23 23:54:29 -03:00
3277fbd399 Show total number of ayah alongside the active ayah 2024-02-01 07:23:16 -03:00
717e11944e Add filter to SurahIndex.tsx 2024-01-30 19:08:00 -03:00
446c4ed276 Really fix auto-scroll on iOS 2023-12-04 05:03:35 -03:00
74576b05aa Remove scrollIntoView 2023-12-04 03:57:27 -03:00
e72db010d7 Remove deadcode 2023-12-04 02:04:54 -03:00
1d8f34b587 fixup! Add "OFFSET" to Stream.tsx 2023-12-04 02:03:29 -03:00
270e9a06ff Add "OFFSET" to Stream.tsx 2023-12-04 02:03:29 -03:00
46850a8cfb Optimize memo of Stream.tsx
The Stream only has to re-render when 'stream.length' changes, but
could be re-rendered by a parent in scenarios where 'stream.length'
has not changed. This change optimizes that scenario by only
re-rendering the stream when 'stream.length' changes.
2023-12-04 01:59:13 -03:00
1a7af1be2a useRef / useMemo in Stream.tsx 2023-12-04 01:36:58 -03:00
f2db229dd0 scrollBy offsetHeight + scrollTop 2023-12-04 00:39:20 -03:00
7d2bdf8a6b Fix auto-scroll in SurahStream.tsx (mobile / iOS) 2023-12-04 00:01:08 -03:00
89e4d50460 Add /durations/
This change fixes SurahStream.tsx by hosting the durations for the
timer locally, within the app, rather than depending on
al-quran.reflectslight.io being accessible (eg when offline).
2023-11-28 15:13:32 -03:00
0f0d03fbd4 Misc UI / layout improvements
The Arabic layout is especially improved. The CSS still needs work,
I think the most tech debt is probably within the css.
2023-11-26 22:08:38 -03:00
714d2613d5 Further UI improvements 2023-10-30 02:34:35 -03:00
aaea2cc7e6 Add custom scrollbar rules, improve CSS 2023-10-30 01:01:40 -03:00
48eda16678 Move /src/js/pages/* to /src/js/
And move `/src/css/pages/*` to `/src/css/`.
2023-10-29 20:24:26 -03:00
d381ec1522 Wrap theme / language dropdowns in a <nav> element. 2023-10-29 20:10:04 -03:00
43f7fc85c9 Add semantic-HTML improvements, CSS improvements 2023-10-29 20:03:16 -03:00
678aa186ea Increase retry frequency 2023-10-28 12:33:27 -03:00
479106b13a Abide by 80col limit 2023-10-28 12:14:40 -03:00
b1d9be9806 Fix .husky/pre-commit 2023-10-28 11:19:41 -03:00
365c27d273 SurahStream: wrap content in <article> 2023-10-28 10:57:12 -03:00
f5488b578f Add <header> 2023-10-28 10:50:30 -03:00
0c51b38079 Run eslint / prettier 2023-10-28 09:51:18 -03:00
3e703b6a3d Improve "Select a random chapter"
Add arrow, add <footer> to `SurahIndex`, and other
mprovements.
2023-10-28 09:50:13 -03:00
058fabd46b Run prettier / eslint 2023-10-28 06:09:16 -03:00
3682c4a3bd Fix alignment of items in footer 2023-10-28 06:08:37 -03:00
6f2e33366d Further UI improvements 2023-10-26 09:39:20 -03:00
0aedf7d359 Set role="banner" on <h1> 2023-10-25 03:55:33 -03:00
3626eaa6de Run eslint / prettier 2023-10-25 03:14:28 -03:00
a3d9dd1446 Start transition to semantic HTML 2023-10-25 03:11:54 -03:00
48329928e3 Update UI for surah's name (ar locale) 2023-10-23 18:58:55 -03:00
70d4bb424e Remove "invisible" class when theme changes 2023-10-23 15:00:43 -03:00
11bd1105fb Avoid re-render glitches
When changing between languages, the transition between pages can
cause UI glitches, where text could change font for a brief second.

The fix makes the main content invisible by default, and applies the
'invisible' class just before switching languages. After the main
content has rendered, the 'invisible' class is removed. These changes
effectively remove the UI glitches that were present when switching
languages.
2023-10-23 14:52:55 -03:00
6eb62c7e5a Append / to redirect path 2023-10-23 14:23:25 -03:00
a9315803f0 Fix ThemeSelect, LanguageSelect 2023-10-23 02:08:43 -03:00
9e393fcdf7 Rename themes after colors (leaf = green, moon = blue)
This commit introduces the language and theme dropdowns as being
invisible, and includes work related to improving how the dropdowns
are implemented.
2023-10-23 02:08:43 -03:00
47847b2545 Add new hook: 'useTheme' 2023-10-23 02:08:42 -03:00
c9347a490e Further UI improvements 2023-10-23 02:08:42 -03:00
a56de77773 Further UI improvements 2023-10-23 02:08:42 -03:00
c4e00f2158 Further UI improvements 2023-10-23 02:08:42 -03:00
ae9f98b244 Further UI improvements 2023-10-23 02:08:42 -03:00
a2259df872 Further UI improvements 2023-10-23 02:08:42 -03:00
7542e762fc Further UI improvements 2023-10-23 02:08:42 -03:00
05e519c737 UI changes 2023-10-14 09:21:39 -03:00
e9d35b51f7 Add stall recovery 2023-10-14 09:21:39 -03:00
150b391fdf Add stall recovery 2023-10-14 09:21:39 -03:00
9e35b979db Remove script from DOM after it has been loaded 2023-10-14 09:21:39 -03:00
04fb949a28 Add AudioControl 2023-10-13 00:37:16 -03:00
1d641e7c71 Re-organize project files
Attempt to simplify the layout of project files.
2023-10-08 06:31:29 -03:00
600f5cb799 Add / to end of links on the surah index
There is now a nginx rewrite rule in place that will automatically
redirect to a path with a trailing /.
2023-10-06 00:06:25 -03:00
84c91974ed Fix 'refresh'
When the 'refresh' icon is clicked, we should reset 'endOfStream'
to false or the stream will stop playing after the first ayah.
2023-10-05 01:11:52 -03:00
461b3a0092 Remove Quran.Slice
Fix #147
2023-10-05 01:11:52 -03:00
226621b979 Swap the footer after the last ayah has finished playing
Rather than swapping the footer when the last ayah starts playing,
swap the footer when the last ayah stops playing.
2023-09-15 09:26:54 -03:00
e16f6b261f Ensure the timer never displays a number less than 0
This can sometimes happen on iOS (eg -0, -0.1)
2023-07-23 18:10:54 -03:00
d30c9d1c3b v0.5.0 2023-07-17 09:24:27 -03:00
2bb64eb390 Add spinner
When the audio is stalled or "waiting", show an animation
that indicates the loading state.
2023-07-17 09:16:22 -03:00
dd6857af7f Avoid setting the same src 2023-07-17 09:14:10 -03:00
6a14d5f8fd Replace useState (tid, setTid) with a local variable 2023-07-16 06:50:05 -03:00
8026101e07 linter: fix 2023-07-15 06:02:58 -03:00
ea9197ae6e Don't reset timer when sound is turned off
Toggle of the speaker to "off" state should not reset the timer.
That should only happen when the speaker is turned "on".
2023-07-15 06:00:29 -03:00
e3ef370027 Improve iOS support 2023-07-15 00:48:22 -03:00
fdfb75a648 Update useEffect dependencies 2023-07-14 21:07:42 -03:00
5d934918fe Clear all audio listeners 2023-07-14 18:17:14 -03:00
70a33d4bd7 Clear "ended" listener 2023-07-14 17:54:54 -03:00
7a60e36ff1 Don't fetch audio unless sound is on 2023-07-13 20:56:37 -03:00
a98703978f Render <audio> tag conditionally 2023-07-13 18:17:07 -03:00
adabd152bd prettier: maxwidth = 90 2023-07-13 14:14:22 -03:00
3def4f26e4 Run prettier over src/js/ 2023-07-13 14:11:07 -03:00
dd833a384d Additional changes for iOS
Still not flawless. More work required.
2023-07-13 12:21:55 -03:00
465e3bf224 Try to fix audio stream on iOS 2023-07-12 23:00:46 -03:00
7c8134cd05 Remove remnants of webpackage 2023-07-12 21:31:38 -03:00
5455881498 Add audio support 2023-07-12 17:20:32 -03:00
f5472a3b6c Remove lib/WebPackage.ts 2023-07-11 20:10:27 -03:00
61728e7216 git rm -r src/js/lib/WebPackage 2023-07-11 18:59:58 -03:00
0a25e3aeb1 Remove another unused local 2023-07-01 19:36:17 -03:00
de070a08ad Remove unused local 2023-07-01 19:32:17 -03:00
8e0bde6c44 Fix index, and stream loaders 2023-07-01 19:28:55 -03:00
Robert
5716425bd2
Rename Packet to Postman (#131) 2023-06-23 22:31:25 -03:00
Robert
5f300681d2
Add new packet interface (#130) 2023-06-23 21:58:56 -03:00
6935e67a49 WebPackage -> Packet
Rename WebPackage to Packet.
Move Packet to `/packages/typescript/packet`.
2023-06-21 19:58:31 -03:00
faa5f25a81 Follow up 7f4c8f723d 2023-03-15 18:48:55 -03:00