diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-camera.imageset/Contents.json b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-camera.imageset/Contents.json
new file mode 100644
index 0000000..eaa3baa
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-camera.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"icon-camera.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"template-rendering-intent":"template","preserves-vector-representation":true}}
diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-camera.imageset/icon-camera.svg b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-camera.imageset/icon-camera.svg
new file mode 100644
index 0000000..22668b2
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-camera.imageset/icon-camera.svg
@@ -0,0 +1 @@
+
diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-check.imageset/Contents.json b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-check.imageset/Contents.json
new file mode 100644
index 0000000..0bdd6c2
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-check.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"icon-check.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"template-rendering-intent":"template","preserves-vector-representation":true}}
diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-check.imageset/icon-check.svg b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-check.imageset/icon-check.svg
new file mode 100644
index 0000000..79c1619
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-check.imageset/icon-check.svg
@@ -0,0 +1 @@
+
diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-logout.imageset/Contents.json b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-logout.imageset/Contents.json
new file mode 100644
index 0000000..9d958b0
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-logout.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"icon-logout.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"template-rendering-intent":"template","preserves-vector-representation":true}}
diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-logout.imageset/icon-logout.svg b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-logout.imageset/icon-logout.svg
new file mode 100644
index 0000000..bb146f9
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-logout.imageset/icon-logout.svg
@@ -0,0 +1 @@
+
diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-trash.imageset/Contents.json b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-trash.imageset/Contents.json
new file mode 100644
index 0000000..880e7ca
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-trash.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"icon-trash.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"template-rendering-intent":"template","preserves-vector-representation":true}}
diff --git a/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-trash.imageset/icon-trash.svg b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-trash.imageset/icon-trash.svg
new file mode 100644
index 0000000..b40b3d1
--- /dev/null
+++ b/AIStudyApp/AIStudyApp/Assets.xcassets/Icons/icon-trash.imageset/icon-trash.svg
@@ -0,0 +1 @@
+
diff --git a/AIStudyApp/AIStudyApp/Features/AI/AIFeedbackPageView.swift b/AIStudyApp/AIStudyApp/Features/AI/AIFeedbackPageView.swift
index 09f96cd..f9cf580 100644
--- a/AIStudyApp/AIStudyApp/Features/AI/AIFeedbackPageView.swift
+++ b/AIStudyApp/AIStudyApp/Features/AI/AIFeedbackPageView.swift
@@ -47,7 +47,7 @@ struct AIFeedbackPageView: View {
}
VStack(alignment: .leading, spacing: 8) {
HStack(spacing: 8) {
- Image(systemName: "checkmark.circle.fill").foregroundColor(Color.zxGreen)
+ Image("icon-check").foregroundColor(Color.zxGreen)
Text("答对的部分").font(.system(size: 14, weight: .bold)).foregroundColor(Color.zxF0)
}
ForEach(["正确识别出过拟合是\"记住训练数据\"而非\"学习规律\"", "使用了死记硬背类比,方向正确且贴切"], id: \.self) { s in
diff --git a/AIStudyApp/AIStudyApp/Features/AI/ActiveRecallView.swift b/AIStudyApp/AIStudyApp/Features/AI/ActiveRecallView.swift
index a20612a..3ffd719 100644
--- a/AIStudyApp/AIStudyApp/Features/AI/ActiveRecallView.swift
+++ b/AIStudyApp/AIStudyApp/Features/AI/ActiveRecallView.swift
@@ -174,7 +174,7 @@ struct ActiveRecallView: View {
private var submittedView: some View {
VStack(spacing: 16) {
HStack(spacing: 10) {
- Image(systemName: "checkmark.circle.fill").font(.system(size: 22)).foregroundColor(Color.zxGreen)
+ Image("icon-check").font(.system(size: 22)).foregroundColor(Color.zxGreen)
VStack(alignment: .leading, spacing: 3) {
Text("回答已提交").font(.system(size: 14, weight: .bold)).foregroundColor(Color.zxGreen)
Text("AI 分析中,稍后可查看反馈").font(.system(size: 12)).foregroundColor(Color.zxF04)
diff --git a/AIStudyApp/AIStudyApp/Features/Library/LibrarySubpages.swift b/AIStudyApp/AIStudyApp/Features/Library/LibrarySubpages.swift
index 7c51145..5ce5fe2 100644
--- a/AIStudyApp/AIStudyApp/Features/Library/LibrarySubpages.swift
+++ b/AIStudyApp/AIStudyApp/Features/Library/LibrarySubpages.swift
@@ -24,7 +24,7 @@ struct CreateLibraryPage: View {
Image(uiImage: img).resizable().scaledToFill().frame(width: 120, height: 120).clipShape(RoundedRectangle(cornerRadius: 14))
} else {
VStack(spacing: 6) {
- Image(systemName: "camera.fill").font(.system(size: 22)).foregroundColor(Color.zxF04)
+ Image(systemName: "icon-camera").font(.system(size: 22)).foregroundColor(Color.zxF04)
Text("上传").font(.system(size: 11)).foregroundColor(Color.zxF04)
}
}
@@ -224,7 +224,7 @@ struct LibraryDetailPage: View {
Button {
Task { await deleteSource(src) }
} label: {
- Image(systemName: "trash").font(.system(size: 14)).foregroundColor(Color.zxF03)
+ Image("icon-trash").resizable().scaledToFit().frame(width: 14, height: 14).foregroundColor(Color.zxF03)
}
}
.padding(12).background(Color.zxFill003).clipShape(RoundedRectangle(cornerRadius: 14))
@@ -256,14 +256,14 @@ struct LibraryDetailPage: View {
Button {
showBatchDeleteConfirm = true
} label: {
- Image(systemName: "trash").font(.system(size: 16)).foregroundColor(selectedIds.isEmpty ? Color.zxF03 : Color.zxCoral)
+ Image("icon-trash").resizable().scaledToFit().frame(width: 16, height: 16).foregroundColor(selectedIds.isEmpty ? Color.zxF03 : Color.zxCoral)
}
.disabled(selectedIds.isEmpty)
}
} else {
ToolbarItem(placement: .topBarLeading) {
Button { showDeleteConfirm = true } label: {
- Image(systemName: "trash").font(.system(size: 16)).foregroundColor(Color.zxF03)
+ Image("icon-trash").resizable().scaledToFit().frame(width: 16, height: 16).foregroundColor(Color.zxF03)
}
}
ToolbarItem(placement: .topBarTrailing) {
diff --git a/AIStudyApp/AIStudyApp/Features/Profile/SettingsView.swift b/AIStudyApp/AIStudyApp/Features/Profile/SettingsView.swift
index f4cc89f..0448606 100644
--- a/AIStudyApp/AIStudyApp/Features/Profile/SettingsView.swift
+++ b/AIStudyApp/AIStudyApp/Features/Profile/SettingsView.swift
@@ -82,7 +82,7 @@ struct SettingsView: View {
showLogoutAlert = true
} label: {
HStack(spacing: 12) {
- Image(systemName: "rectangle.portrait.and.arrow.right").font(.system(size: 16)).foregroundColor(.red).frame(width: 32, height: 32)
+ Image("icon-logout").font(.system(size: 16)).foregroundColor(.red).frame(width: 32, height: 32)
Text("退出登录").font(.system(size: 14, weight: .semibold)).foregroundColor(.red)
Spacer()