Files
OSGKeyboard/OSGKeyboard/Views/HelpFeedbackView.swift
T
Rocky 05e005e9ce feat: cursor navigation, key sounds, dictionary tooling, key security
Batch of in-progress app work from the working tree.

- feat(keyboard): CursorNavigation + CursorDragPad for caret movement;
  KeyboardSoundFeedback for system key click sounds
- feat(dictionary): DictionaryAliasGenerator + PersonalDictionaryEntrySheet;
  TranscriptPostProcessor quality gate; retire DictionaryLearner
- feat(ui): TabBarVisibility handling; drop PageHeaderRow /
  PageHeaderConfirmButton; refresh views and localizable strings
- fix(security): move the hardcoded DeepSeek key out of
  PreconfiguredKeys.swift into a gitignored PreconfiguredKeys.local.swift
  (seeded from .example by generate-xcodeproj.sh)
- docs(agents): add Conventional Commits versioning + bilingual changelog rules
- chore(gitignore): ignore PreconfiguredKeys.local.swift, .cache/, pycache

Custom language model / lexicon work stays on
feature/custom-language-model-asr. Changelog bullets added under
[Unreleased]; no version bump.
2026-07-05 18:27:23 +08:00

37 lines
1.1 KiB
Swift

// HelpFeedbackView.swift
// OSGKeyboard · Main App
//
// In-app GitHub Issues page. Reached from Settings → About.
import SwiftUI
import OSGKeyboardShared
struct HelpFeedbackView: View {
@Environment(\.themePalette) private var palette: ThemePalette
@State private var isLoading = true
var body: some View {
Group {
if let url = LegalLinks.supportURL {
ZStack {
RemoteWebView(url: url, isLoading: $isLoading)
if isLoading {
ProgressView()
.tint(palette.accent)
}
}
} else {
ContentUnavailableView(
"settings.support.unavailable.title",
systemImage: "wifi.slash",
description: Text("settings.support.unavailable.message")
)
}
}
.background(palette.background.ignoresSafeArea())
.navigationTitle("settings.link.support")
.navigationBarTitleDisplayMode(.inline)
.hidesTabBarWhenPushed()
}
}