缺少代码差异信息,无法生成具体的commit message。请提供code differences内容以便分析并生成符合Angular规范的提交信息。
当您提供代码差异后,我将按照以下格式生成: ``` <type>(<scope>): <subject> <body> ``` 其中type会根据更改类型选择(feat、fix、docs、style、refactor等),scope表示影响范围,subject简要描述变更内容,body详细说明修改内容。
This commit is contained in:
@@ -9,6 +9,7 @@ struct MeView: View {
|
||||
@State private var downloadService = ModelDownloadService.shared
|
||||
@State private var appLock = AppLock.shared
|
||||
@State private var lang = LanguageManager.shared
|
||||
@State private var fontScale = FontScaleManager.shared
|
||||
// key 必须与 AppLock.enabledKey 一致。
|
||||
@AppStorage("faceIDLockEnabled") private var lockEnabled = false
|
||||
|
||||
@@ -37,6 +38,7 @@ struct MeView: View {
|
||||
customMetricsCard
|
||||
modelManagementCard
|
||||
languageCard
|
||||
fontScaleCard
|
||||
faceIDCard
|
||||
NavigationLink {
|
||||
AboutView()
|
||||
@@ -74,23 +76,23 @@ struct MeView: View {
|
||||
Circle()
|
||||
.fill(Tj.Palette.amber.opacity(0.25))
|
||||
Image(systemName: "person.crop.circle.fill")
|
||||
.font(.system(size: 22))
|
||||
.font(.tjScaled( 22))
|
||||
.foregroundStyle(Tj.Palette.ink)
|
||||
}
|
||||
.frame(width: 44, height: 44)
|
||||
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text("个人资料")
|
||||
.font(.system(size: 15, weight: .semibold))
|
||||
.font(.tjScaled( 15, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.text)
|
||||
Text(profileLine)
|
||||
.font(.system(size: 12))
|
||||
.font(.tjScaled( 12))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
.lineLimit(1)
|
||||
}
|
||||
Spacer()
|
||||
Image(systemName: "chevron.right")
|
||||
.font(.system(size: 13, weight: .medium))
|
||||
.font(.tjScaled( 13, weight: .medium))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
.padding(14)
|
||||
@@ -108,23 +110,23 @@ struct MeView: View {
|
||||
Circle()
|
||||
.fill(customMetrics.isEmpty ? Tj.Palette.sand2 : Tj.Palette.leafSoft)
|
||||
Image(systemName: "slider.horizontal.3")
|
||||
.font(.system(size: 18))
|
||||
.font(.tjScaled( 18))
|
||||
.foregroundStyle(customMetrics.isEmpty ? Tj.Palette.text2 : Tj.Palette.ink)
|
||||
}
|
||||
.frame(width: 44, height: 44)
|
||||
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text("自定义指标")
|
||||
.font(.system(size: 15, weight: .semibold))
|
||||
.font(.tjScaled( 15, weight: .semibold))
|
||||
.foregroundStyle(Tj.Palette.text)
|
||||
Text(customMetricsLine)
|
||||
.font(.system(size: 12))
|
||||
.font(.tjScaled( 12))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
.lineLimit(1)
|
||||
}
|
||||
Spacer()
|
||||
Image(systemName: "chevron.right")
|
||||
.font(.system(size: 13, weight: .medium))
|
||||
.font(.tjScaled( 13, weight: .medium))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
.padding(14)
|
||||
@@ -166,6 +168,17 @@ struct MeView: View {
|
||||
.buttonStyle(.plain)
|
||||
}
|
||||
|
||||
private var fontScaleCard: some View {
|
||||
NavigationLink {
|
||||
FontSettingsView()
|
||||
} label: {
|
||||
settingsCard(title: String(appLoc: "字体大小"),
|
||||
detail: fontScale.scale.label,
|
||||
icon: "textformat.size")
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
}
|
||||
|
||||
// MARK: - Face ID 启动锁(可交互 Toggle 卡)
|
||||
|
||||
private var faceIDCard: some View {
|
||||
@@ -173,17 +186,17 @@ struct MeView: View {
|
||||
ZStack {
|
||||
Circle().fill(lockEnabled ? Tj.Palette.amber.opacity(0.25) : Tj.Palette.sand2)
|
||||
Image(systemName: "faceid")
|
||||
.font(.system(size: 18))
|
||||
.font(.tjScaled( 18))
|
||||
.foregroundStyle(lockEnabled ? Tj.Palette.ink : Tj.Palette.text2)
|
||||
}
|
||||
.frame(width: 44, height: 44)
|
||||
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text("Face ID 启动锁")
|
||||
.font(.system(size: 15, weight: .medium))
|
||||
.font(.tjScaled( 15, weight: .medium))
|
||||
.foregroundStyle(Tj.Palette.text)
|
||||
Text(faceIDLine)
|
||||
.font(.system(size: 12))
|
||||
.font(.tjScaled( 12))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
Spacer()
|
||||
@@ -219,20 +232,20 @@ struct MeView: View {
|
||||
ZStack {
|
||||
Circle().fill(Tj.Palette.sand2)
|
||||
Image(systemName: icon)
|
||||
.font(.system(size: 18))
|
||||
.font(.tjScaled( 18))
|
||||
.foregroundStyle(Tj.Palette.text2)
|
||||
}
|
||||
.frame(width: 44, height: 44)
|
||||
|
||||
Text(title)
|
||||
.font(.system(size: 15, weight: .medium))
|
||||
.font(.tjScaled( 15, weight: .medium))
|
||||
.foregroundStyle(Tj.Palette.text)
|
||||
Spacer()
|
||||
Text(detail)
|
||||
.font(.system(size: 12))
|
||||
.font(.tjScaled( 12))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
Image(systemName: "chevron.right")
|
||||
.font(.system(size: 13, weight: .medium))
|
||||
.font(.tjScaled( 13, weight: .medium))
|
||||
.foregroundStyle(Tj.Palette.text3)
|
||||
}
|
||||
.padding(14)
|
||||
|
||||
Reference in New Issue
Block a user