Skip to content

Commit 13e4c60

Browse files
Remove "motivation" and replace with simple checkmark and x animations
Update Gemini 2.5 Flash date Remove unused files Update copyright and licensing details for additional clarity
1 parent 599450c commit 13e4c60

31 files changed

+769
-379
lines changed

Recap.xcodeproj/project.pbxproj

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
788EAFF42DACD5BF00471504 /* SettingsBoxView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 788EAFF32DACD5BF00471504 /* SettingsBoxView.swift */; };
1414
78B5A5E22C617B8200E06E8B /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 78B5A5BA2C617B8100E06E8B /* README.md */; };
1515
78B5A5E32C617B8200E06E8B /* Explanation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5BB2C617B8200E06E8B /* Explanation.swift */; };
16-
78B5A5E42C617B8200E06E8B /* Motivation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5BC2C617B8200E06E8B /* Motivation.swift */; };
1716
78B5A5E52C617B8200E06E8B /* PredefinedQuiz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5BD2C617B8200E06E8B /* PredefinedQuiz.swift */; };
1817
78B5A5E62C617B8200E06E8B /* Question.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5BE2C617B8200E06E8B /* Question.swift */; };
1918
78B5A5E72C617B8200E06E8B /* Quiz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5BF2C617B8200E06E8B /* Quiz.swift */; };
@@ -31,12 +30,10 @@
3130
78B5A5F42C617B8200E06E8B /* QuizView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5D02C617B8200E06E8B /* QuizView.swift */; };
3231
78B5A5F52C617B8200E06E8B /* ShareResults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5D12C617B8200E06E8B /* ShareResults.swift */; };
3332
78B5A5F62C617B8200E06E8B /* SplashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5D22C617B8200E06E8B /* SplashView.swift */; };
34-
78B5A5F72C617B8200E06E8B /* AppSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5D42C617B8200E06E8B /* AppSettings.swift */; };
3533
78B5A5F82C617B8200E06E8B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 78B5A5D52C617B8200E06E8B /* Assets.xcassets */; };
3634
78B5A5F92C617B8200E06E8B /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5D62C617B8200E06E8B /* ContentView.swift */; };
3735
78B5A5FA2C617B8200E06E8B /* GeminiAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5D72C617B8200E06E8B /* GeminiAPI.swift */; };
3836
78B5A5FC2C617B8200E06E8B /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 78B5A5D92C617B8200E06E8B /* Localizable.xcstrings */; };
39-
78B5A5FD2C617B8200E06E8B /* Recap-ICNS.icns in Resources */ = {isa = PBXBuildFile; fileRef = 78B5A5DA2C617B8200E06E8B /* Recap-ICNS.icns */; };
4037
78B5A5FF2C617B8200E06E8B /* RecapApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5DC2C617B8200E06E8B /* RecapApp.swift */; };
4138
78B5A6002C617B8200E06E8B /* Sample-JSON.json in Resources */ = {isa = PBXBuildFile; fileRef = 78B5A5DD2C617B8200E06E8B /* Sample-JSON.json */; };
4239
78B5A6012C617B8200E06E8B /* YoutubeTranscript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B5A5DE2C617B8200E06E8B /* YoutubeTranscript.swift */; };
@@ -59,7 +56,6 @@
5956
78B5A5A92C617B6500E06E8B /* Recap.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Recap.app; sourceTree = BUILT_PRODUCTS_DIR; };
6057
78B5A5BA2C617B8100E06E8B /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
6158
78B5A5BB2C617B8200E06E8B /* Explanation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Explanation.swift; sourceTree = "<group>"; };
62-
78B5A5BC2C617B8200E06E8B /* Motivation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Motivation.swift; sourceTree = "<group>"; };
6359
78B5A5BD2C617B8200E06E8B /* PredefinedQuiz.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PredefinedQuiz.swift; sourceTree = "<group>"; };
6460
78B5A5BE2C617B8200E06E8B /* Question.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Question.swift; sourceTree = "<group>"; };
6561
78B5A5BF2C617B8200E06E8B /* Quiz.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Quiz.swift; sourceTree = "<group>"; };
@@ -77,13 +73,11 @@
7773
78B5A5D02C617B8200E06E8B /* QuizView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QuizView.swift; sourceTree = "<group>"; };
7874
78B5A5D12C617B8200E06E8B /* ShareResults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShareResults.swift; sourceTree = "<group>"; };
7975
78B5A5D22C617B8200E06E8B /* SplashView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplashView.swift; sourceTree = "<group>"; };
80-
78B5A5D42C617B8200E06E8B /* AppSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppSettings.swift; sourceTree = "<group>"; };
8176
78B5A5D52C617B8200E06E8B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
8277
78B5A5D62C617B8200E06E8B /* ContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
8378
78B5A5D72C617B8200E06E8B /* GeminiAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeminiAPI.swift; sourceTree = "<group>"; };
8479
78B5A5D82C617B8200E06E8B /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8580
78B5A5D92C617B8200E06E8B /* Localizable.xcstrings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
86-
78B5A5DA2C617B8200E06E8B /* Recap-ICNS.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "Recap-ICNS.icns"; sourceTree = "<group>"; };
8781
78B5A5DC2C617B8200E06E8B /* RecapApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecapApp.swift; sourceTree = "<group>"; };
8882
78B5A5DD2C617B8200E06E8B /* Sample-JSON.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "Sample-JSON.json"; sourceTree = "<group>"; };
8983
78B5A5DE2C617B8200E06E8B /* YoutubeTranscript.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YoutubeTranscript.swift; sourceTree = "<group>"; };
@@ -132,7 +126,6 @@
132126
isa = PBXGroup;
133127
children = (
134128
78B5A5BB2C617B8200E06E8B /* Explanation.swift */,
135-
78B5A5BC2C617B8200E06E8B /* Motivation.swift */,
136129
78B5A5BD2C617B8200E06E8B /* PredefinedQuiz.swift */,
137130
78B5A5BE2C617B8200E06E8B /* Question.swift */,
138131
78B5A5BF2C617B8200E06E8B /* Quiz.swift */,
@@ -191,15 +184,13 @@
191184
78B5A5CA2C617B8200E06E8B /* Preview Content */,
192185
78B5A5CD2C617B8200E06E8B /* Syntax Highlighting */,
193186
78B5A5D32C617B8200E06E8B /* Views */,
194-
78B5A5D42C617B8200E06E8B /* AppSettings.swift */,
195187
788EAFF32DACD5BF00471504 /* SettingsBoxView.swift */,
196188
78B5A5D52C617B8200E06E8B /* Assets.xcassets */,
197189
78B5A5D62C617B8200E06E8B /* ContentView.swift */,
198190
788C0B4E2D89D4020001AD33 /* OnboardingView.swift */,
199191
78B5A5D72C617B8200E06E8B /* GeminiAPI.swift */,
200192
78B5A5D82C617B8200E06E8B /* Info.plist */,
201193
78B5A5D92C617B8200E06E8B /* Localizable.xcstrings */,
202-
78B5A5DA2C617B8200E06E8B /* Recap-ICNS.icns */,
203194
783D0D1A2C65F714003770A2 /* Recap.png */,
204195
78B5A5DC2C617B8200E06E8B /* RecapApp.swift */,
205196
78B5A5DD2C617B8200E06E8B /* Sample-JSON.json */,
@@ -290,7 +281,6 @@
290281
78B5A6002C617B8200E06E8B /* Sample-JSON.json in Resources */,
291282
78B5A5FC2C617B8200E06E8B /* Localizable.xcstrings in Resources */,
292283
78B5A5EF2C617B8200E06E8B /* Preview Assets.xcassets in Resources */,
293-
78B5A5FD2C617B8200E06E8B /* Recap-ICNS.icns in Resources */,
294284
78B5A6022C617B8200E06E8B /* LICENSE in Resources */,
295285
78B5A5F82C617B8200E06E8B /* Assets.xcassets in Resources */,
296286
78B5A5E22C617B8200E06E8B /* README.md in Resources */,
@@ -319,15 +309,13 @@
319309
78B5A5EB2C617B8200E06E8B /* CodeSyntaxHighlighter+splash.swift in Sources */,
320310
78B5A5E32C617B8200E06E8B /* Explanation.swift in Sources */,
321311
78B5A5EE2C617B8200E06E8B /* View+splashView.swift in Sources */,
322-
78B5A5E42C617B8200E06E8B /* Motivation.swift in Sources */,
323312
78B5A5F62C617B8200E06E8B /* SplashView.swift in Sources */,
324313
78B5A5F12C617B8200E06E8B /* TextOutputFormat.swift in Sources */,
325314
788C0B4F2D89D4020001AD33 /* OnboardingView.swift in Sources */,
326315
78B5A5EC2C617B8200E06E8B /* String+isValidURL.swift in Sources */,
327316
78B5A5ED2C617B8200E06E8B /* UTType+recapExportType.swift in Sources */,
328317
788EAFF42DACD5BF00471504 /* SettingsBoxView.swift in Sources */,
329318
78B5A5F42C617B8200E06E8B /* QuizView.swift in Sources */,
330-
78B5A5F72C617B8200E06E8B /* AppSettings.swift in Sources */,
331319
78B5A5F02C617B8200E06E8B /* SplashCodeSyntaxHighlighter.swift in Sources */,
332320
7858DE6D2C67F2EA0060F863 /* RainbowText.swift in Sources */,
333321
);

Recap/AppSettings.swift

Lines changed: 0 additions & 6 deletions
This file was deleted.

Recap/ContentView.swift

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// Copyright 2024-2025 Vaibhav Satishkumar
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
115
import SwiftUI
216
import PhotosUI
317
import MarkdownUI
@@ -65,7 +79,7 @@ class UserPreferences: ObservableObject {
6579
// Set default to 5 questions if not stored or is 0
6680
let storedQuestions = UserDefaults.standard.integer(forKey: "numberOfQuestions")
6781
self.numberOfQuestions = storedQuestions > 0 ? storedQuestions : 5
68-
self.geminiModel = UserDefaults.standard.string(forKey: "geminiModel") ?? AppSettings.geminiModel
82+
self.geminiModel = UserDefaults.standard.string(forKey: "geminiModel") ?? "gemini-2.5-pro-preview-05-06"
6983
self.safetySettings = UserDefaults.standard.bool(forKey: "safetySettings")
7084
}
7185
}
@@ -87,7 +101,7 @@ struct ContentView: View {
87101

88102
// Gemini
89103
let geminiAPI = GeminiAPI.shared
90-
let options = ["gemini-2.5-pro-preview-05-06", "gemini-2.5-flash-preview-04-17"]
104+
let options = ["gemini-2.5-pro-preview-05-06", "gemini-2.5-flash-preview-05-20"]
91105

92106
@State private var quiz: Quiz?
93107
@State private var showingQuizSheet = false

Recap/Data/Explanation.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// Copyright 2024-2025 Vaibhav Satishkumar
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
115
import Foundation
216

317
struct Explanation: Codable {

Recap/Data/Motivation.swift

Lines changed: 0 additions & 14 deletions
This file was deleted.

Recap/Data/PredefinedQuiz.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// Copyright 2024-2025 Vaibhav Satishkumar
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
115
import Foundation
216

317
struct PredefinedQuiz: Identifiable {

Recap/Data/Question.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// Copyright 2024-2025 Vaibhav Satishkumar
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
115
import Foundation
216

317
struct Option: Codable {

Recap/Data/Quiz.swift

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// Copyright 2024-2025 Vaibhav Satishkumar
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
115
import CoreTransferable
216
import Foundation
317
import UniformTypeIdentifiers
@@ -71,4 +85,4 @@ class QuizStorage: ObservableObject {
7185
history.append(newQuiz)
7286
await save(history: history)
7387
}
74-
}
88+
}

Recap/Data/UserAnswer.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// Copyright 2024-2025 Vaibhav Satishkumar
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
115
import Foundation
216

317
struct UserAnswer: Identifiable, Codable {

0 commit comments

Comments
 (0)