Skip to content

Commit 1c2e9e0

Browse files
committed
Merge branch 'release/1.2.0' into versions
2 parents da7babb + 867ca7b commit 1c2e9e0

File tree

100 files changed

+1649
-508
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+1649
-508
lines changed

.github/workflows/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
tests:
9-
runs-on: macOS-latest
9+
runs-on: macos-11
1010

1111
steps:
1212
- uses: actions/checkout@v2

App/Generated/SwiftGen/Assets.swift

+4-8
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,10 @@ internal typealias Images = Asset.Images
1414

1515
internal enum Asset {
1616
internal enum Colors {
17-
internal enum Theme {
18-
internal static let accent = UIColor(named: "Theme/Accent", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
19-
internal static let barBackground = UIColor(named: "Theme/BarBackground", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
20-
internal static let contentBackground = UIColor(named: "Theme/ContentBackground", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
21-
internal static let contentBackgroundElevated = UIColor(named: "Theme/ContentBackgroundElevated", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
22-
internal static let primary = UIColor(named: "Theme/Primary", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
23-
internal static let secondary = UIColor(named: "Theme/Secondary", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
24-
}
17+
internal static let accentColor = UIColor(named: "AccentColor", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
18+
internal static let contentBackground = UIColor(named: "ContentBackground", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
19+
internal static let primary = UIColor(named: "Primary", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
20+
internal static let secondary = UIColor(named: "Secondary", in: Bundle(for: BundleToken.self), compatibleWith: nil)!
2521
}
2622
internal enum Images {
2723
internal static let background = UIImage(named: "Background", in: Bundle(for: BundleToken.self), compatibleWith: nil)!

App/Generated/SwiftGen/Storyboards.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ internal enum StoryboardScene {
2020
internal enum Settings: StoryboardType {
2121
internal static let storyboardName = "Settings"
2222

23-
internal static let faqNavigationController = SceneType<App.BrandedNavigationController>(storyboard: Settings.self, identifier: "FAQNavigationController")
23+
internal static let faqNavigationController = SceneType<UIKit.UINavigationController>(storyboard: Settings.self, identifier: "FAQNavigationController")
2424
}
2525
}
2626
// swiftlint:enable explicit_type_interface identifier_name line_length type_body_length type_name

App/Generated/SwiftGen/Strings.swift

+82-6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ internal enum L10n {
1919
}
2020

2121
internal enum RakahComponent {
22+
/// %1$@ – part %2$d of %3$d
23+
internal static func splitRecitationTitle(_ p1: Any, _ p2: Int, _ p3: Int) -> String {
24+
return L10n.tr("Localizable", "RAKAH_COMPONENT.SPLIT_RECITATION_TITLE", String(describing: p1), p2, p3)
25+
}
2226
internal enum OpeningSupplication {
2327
/// Opening Supplication
2428
internal static let name = L10n.tr("Localizable", "RAKAH_COMPONENT.OPENING_SUPPLICATION.NAME")
@@ -66,10 +70,18 @@ internal enum L10n {
6670
/// al-Ma'Un (Assistance)
6771
internal static let name = L10n.tr("Localizable", "RECITATION.ASSISTANCE.NAME")
6872
}
73+
internal enum Destiny {
74+
/// Al-Qadr (Destiny)
75+
internal static let name = L10n.tr("Localizable", "RECITATION.DESTINY.NAME")
76+
}
6977
internal enum GoodInAbundance {
7078
/// al-Kawthar (Good in Abundance)
7179
internal static let name = L10n.tr("Localizable", "RECITATION.GOOD_IN_ABUNDANCE.NAME")
7280
}
81+
internal enum GreedForMoreAndMore {
82+
/// At-Takathur (Greed For More And More)
83+
internal static let name = L10n.tr("Localizable", "RECITATION.GREED_FOR_MORE_AND_MORE.NAME")
84+
}
7385
internal enum Men {
7486
/// an-Nas (Men)
7587
internal static let name = L10n.tr("Localizable", "RECITATION.MEN.NAME")
@@ -82,22 +94,58 @@ internal enum L10n {
8294
/// an-Nasr (Succour)
8395
internal static let name = L10n.tr("Localizable", "RECITATION.SUCCOUR.NAME")
8496
}
97+
internal enum TheBrightMorningHours {
98+
/// Ad-Duha (The Bright Morning Hours)
99+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_BRIGHT_MORNING_HOURS.NAME")
100+
}
101+
internal enum TheChargers {
102+
/// Al-Adiyat (The Chargers)
103+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_CHARGERS.NAME")
104+
}
85105
internal enum TheDecleratiionOfGodsPerfection {
86106
/// al-Ikhlas (The Decleration Of [God's] Perfection)
87107
internal static let name = L10n.tr("Localizable", "RECITATION.THE_DECLERATIION_OF_GODS_PERFECTION.NAME")
88108
}
109+
internal enum TheEarthquake {
110+
/// Al-Zalzalah (The Earthquake)
111+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_EARTHQUAKE.NAME")
112+
}
89113
internal enum TheElephant {
90114
/// al-Fil (The Elephant)
91115
internal static let name = L10n.tr("Localizable", "RECITATION.THE_ELEPHANT.NAME")
92116
}
117+
internal enum TheEvidenceOfTheTruth {
118+
/// Al-Bayyinah (The Evidence Of The Truth)
119+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_EVIDENCE_OF_THE_TRUTH.NAME")
120+
}
121+
internal enum TheFig {
122+
/// At-Tin (The Fig)
123+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_FIG.NAME")
124+
}
93125
internal enum TheFlightOfTime {
94126
/// al-'Asr (The Flight Of Time)
95127
internal static let name = L10n.tr("Localizable", "RECITATION.THE_FLIGHT_OF_TIME.NAME")
96128
}
129+
internal enum TheGermCell {
130+
/// Al-Alaq (The Germ-Cell)
131+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_GERM_CELL.NAME")
132+
}
133+
internal enum TheLand {
134+
/// Al-Balad (The Land)
135+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_LAND.NAME")
136+
}
137+
internal enum TheNight {
138+
/// Al-Layl (The Night)
139+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_NIGHT.NAME")
140+
}
97141
internal enum TheOpening {
98142
/// al-Fatiha (The Opening)
99143
internal static let name = L10n.tr("Localizable", "RECITATION.THE_OPENING.NAME")
100144
}
145+
internal enum TheOpeningUpOfTheHeart {
146+
/// Ash-Sharh (The Opening-Up Of The Heart)
147+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_OPENING_UP_OF_THE_HEART.NAME")
148+
}
101149
internal enum TheRisingDawn {
102150
/// al-Falaq (The Rising Dawn)
103151
internal static let name = L10n.tr("Localizable", "RECITATION.THE_RISING_DAWN.NAME")
@@ -106,6 +154,14 @@ internal enum L10n {
106154
/// al-Humaza (The Slanderer)
107155
internal static let name = L10n.tr("Localizable", "RECITATION.THE_SLANDERER.NAME")
108156
}
157+
internal enum TheSuddenCalamity {
158+
/// Al-Qariah (The Sudden Calamity)
159+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_SUDDEN_CALAMITY.NAME")
160+
}
161+
internal enum TheSun {
162+
/// Ash-Shams (The Sun)
163+
internal static let name = L10n.tr("Localizable", "RECITATION.THE_SUN.NAME")
164+
}
109165
internal enum TheTwistedStrands {
110166
/// al-Masad (The Twisted Strands)
111167
internal static let name = L10n.tr("Localizable", "RECITATION.THE_TWISTED_STRANDS.NAME")
@@ -141,7 +197,13 @@ internal enum L10n {
141197
}
142198
internal enum FaqEntries {
143199
internal enum AppMotivation {
144-
/// This App currently has two goals:\n1. Becoming aware of what you are actually saying when you pray.\n2. Use the regular prayers to read the Quran.\n\nCurrently the app contains only the last twelve surahs of the Quran and randomly selects between them while one is staying during a prayer, but this is only the first step. With updates we are to follow all the missing surahs, and we also have a planned solution for longer surahs so that you can read them bit by bit to be able to pray and understand them without losing context.\n\nSpecifically NOT the purpose of this app is to teach praying from the ground up. Knowledge of the fundamentals of the prayers is already assumed, the app is intended primarily to move from doing your prayers in a foreign language (Arabic) to a language which you already mastered (currently: English, German and Turkish).
200+
/// This App currently has two goals:
201+
/// 1. Becoming aware of what you are actually saying when you pray.
202+
/// 2. Use the regular prayers to read the Quran.
203+
///
204+
/// Currently the app contains only the last twelve surahs of the Quran and randomly selects between them while one is staying during a prayer, but this is only the first step. With updates we are to follow all the missing surahs, and we also have a planned solution for longer surahs so that you can read them bit by bit to be able to pray and understand them without losing context.
205+
///
206+
/// Specifically NOT the purpose of this app is to teach praying from the ground up. Knowledge of the fundamentals of the prayers is already assumed, the app is intended primarily to move from doing your prayers in a foreign language (Arabic) to a language which you already mastered (currently: English, German and Turkish).
145207
internal static let answer = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.APP_MOTIVATION.ANSWER")
146208
/// What is the purpose of this app?
147209
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.APP_MOTIVATION.QUESTION")
@@ -153,7 +215,9 @@ internal enum L10n {
153215
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.IPAD_READING.QUESTION")
154216
}
155217
internal enum Language {
156-
/// We are convinced that the Quran prescribes regular prayers above all to be aware of God and to remember his guidance. Words that can not be understood neither warn against the wrong path, nor show the right path which is, at the end, what the Quran aims to do.\n\nIn any case, we can not imagine that God wants us to merely admire the beauty of the sound of his lyrics five times a day. The Arabic in the Quran may be perfect and supreme in its meaning, but as long as the person doing the prayer has not mastered the Arabic language, his prayers in Arabic are imperfect. Moreover, we do not know a Quran verse which requires prayers to be done in Arabic.
218+
/// We are convinced that the Quran prescribes regular prayers above all to be aware of God and to remember his guidance. Words that can not be understood neither warn against the wrong path, nor show the right path which is, at the end, what the Quran aims to do.
219+
///
220+
/// In any case, we can not imagine that God wants us to merely admire the beauty of the sound of his lyrics five times a day. The Arabic in the Quran may be perfect and supreme in its meaning, but as long as the person doing the prayer has not mastered the Arabic language, his prayers in Arabic are imperfect. Moreover, we do not know a Quran verse which requires prayers to be done in Arabic.
157221
internal static let answer = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.LANGUAGE.ANSWER")
158222
/// Do prayers not have to be spoken in Arabic, the original language of the Koran?
159223
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.LANGUAGE.QUESTION")
@@ -165,7 +229,9 @@ internal enum L10n {
165229
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.LANGUAGE_MIX.QUESTION")
166230
}
167231
internal enum TranslationProblem {
168-
/// We understand that regular prayers are something so important that you want to do everything as correct as possible. We also understand that in religion many different opinions about the meaning of the same text prevail, and it is important that you remain as close as possible to the original text.\n\nThis is why we absolutely want you to read the Quran yourself, not the narratives and traditions of those who have studied the Quran for years and try to enlighten you (supposedly), and above all not those who try to teach you about "the real message of the Koran". We are convinced that this distinction is only possible if you read the Quran for yourself what this App tries to help with.
232+
/// We understand that regular prayers are something so important that you want to do everything as correct as possible. We also understand that in religion many different opinions about the meaning of the same text prevail, and it is important that you remain as close as possible to the original text.
233+
///
234+
/// This is why we absolutely want you to read the Quran yourself, not the narratives and traditions of those who have studied the Quran for years and try to enlighten you (supposedly), and above all not those who try to teach you about "the real message of the Koran". We are convinced that this distinction is only possible if you read the Quran for yourself what this App tries to help with.
169235
internal static let answer = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.TRANSLATION_PROBLEM.ANSWER")
170236
/// Do translations not necessarily change the meaning of the original text?
171237
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.TRANSLATION_PROBLEM.QUESTION")
@@ -178,16 +244,26 @@ internal enum L10n {
178244
internal enum PrayerSection {
179245
/// Prayer Settings
180246
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.TITLE")
247+
internal enum AllowLongerRecitations {
248+
/// Current position in split Surah was cleared.
249+
internal static let resetMessage = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.ALLOW_LONGER_RECITATIONS.RESET_MESSAGE")
250+
/// Allow longer recitations
251+
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.ALLOW_LONGER_RECITATIONS.TITLE")
252+
}
253+
internal enum AllowSplittingRecitations {
254+
/// Include long surah by splitting them
255+
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.ALLOW_SPLITTING_RECITATIONS.TITLE")
256+
}
181257
internal enum ChangingText {
182-
/// Changing text speed
258+
/// Quran sura speed
183259
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.CHANGING_TEXT.TITLE")
184260
}
185261
internal enum ChangingTextName {
186-
/// Changing text name
262+
/// Quran sura name
187263
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.CHANGING_TEXT_NAME.TITLE")
188264
}
189265
internal enum FixedTexts {
190-
/// Fixed texts speed
266+
/// Other texts speed
191267
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.FIXED_TEXTS.TITLE")
192268
}
193269
internal enum MovementSoundInstrument {

App/Resources/Colors.xcassets/Theme/Accent.colorset/Contents.json App/Resources/Colors.xcassets/AccentColor.colorset/Contents.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
"color-space" : "srgb",
2424
"components" : {
2525
"alpha" : "1.000",
26-
"blue" : "0x99",
27-
"green" : "0x85",
28-
"red" : "0x4D"
26+
"blue" : "0.600",
27+
"green" : "0.522",
28+
"red" : "0.302"
2929
}
3030
},
3131
"idiom" : "universal"

App/Resources/Colors.xcassets/Theme/Primary.colorset/Contents.json App/Resources/Colors.xcassets/ContentBackground.colorset/Contents.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"color-space" : "srgb",
66
"components" : {
77
"alpha" : "1.000",
8-
"blue" : "0x1A",
9-
"green" : "0x0B",
10-
"red" : "0x00"
8+
"blue" : "0xF1",
9+
"green" : "0xEB",
10+
"red" : "0xE6"
1111
}
1212
},
1313
"idiom" : "universal"
@@ -23,9 +23,9 @@
2323
"color-space" : "srgb",
2424
"components" : {
2525
"alpha" : "1.000",
26-
"blue" : "0xF2",
27-
"green" : "0xEB",
28-
"red" : "0xE6"
26+
"blue" : "0.102",
27+
"green" : "0.043",
28+
"red" : "0.000"
2929
}
3030
},
3131
"idiom" : "universal"

App/Resources/Colors.xcassets/Theme/BarBackground.colorset/Contents.json App/Resources/Colors.xcassets/Primary.colorset/Contents.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"color-space" : "srgb",
66
"components" : {
77
"alpha" : "1.000",
8-
"blue" : "0xDE",
9-
"green" : "0xD0",
10-
"red" : "0xBA"
8+
"blue" : "0.102",
9+
"green" : "0.043",
10+
"red" : "0.000"
1111
}
1212
},
1313
"idiom" : "universal"
@@ -23,9 +23,9 @@
2323
"color-space" : "srgb",
2424
"components" : {
2525
"alpha" : "1.000",
26-
"blue" : "0x21",
27-
"green" : "0x12",
28-
"red" : "0x00"
26+
"blue" : "0.949",
27+
"green" : "0.922",
28+
"red" : "0.902"
2929
}
3030
},
3131
"idiom" : "universal"

App/Resources/Colors.xcassets/Theme/ContentBackground.colorset/Contents.json App/Resources/Colors.xcassets/Secondary.colorset/Contents.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"color-space" : "srgb",
66
"components" : {
77
"alpha" : "1.000",
8-
"blue" : "0xF3",
9-
"green" : "0xF3",
10-
"red" : "0xF3"
8+
"blue" : "0.502",
9+
"green" : "0.392",
10+
"red" : "0.090"
1111
}
1212
},
1313
"idiom" : "universal"
@@ -23,9 +23,9 @@
2323
"color-space" : "srgb",
2424
"components" : {
2525
"alpha" : "1.000",
26-
"blue" : "0x0C",
27-
"green" : "0x05",
28-
"red" : "0x00"
26+
"blue" : "0.600",
27+
"green" : "0.522",
28+
"red" : "0.302"
2929
}
3030
},
3131
"idiom" : "universal"

App/Resources/Colors.xcassets/Theme/ContentBackgroundElevated.colorset/Contents.json

-38
This file was deleted.

App/Resources/Colors.xcassets/Theme/Contents.json

-9
This file was deleted.

App/Resources/Colors.xcassets/Theme/Secondary.colorset/Contents.json

-38
This file was deleted.

0 commit comments

Comments
 (0)