forked from intitni/CopilotForXcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFeatureSettingsView.swift
More file actions
69 lines (61 loc) · 1.91 KB
/
FeatureSettingsView.swift
File metadata and controls
69 lines (61 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import SwiftUI
import SharedUIComponents
struct FeatureSettingsView: View {
var tabContainer: ExternalTabContainer {
ExternalTabContainer.tabContainer(for: "Features")
}
@State var tag = 0
var body: some View {
SidebarTabView(tag: $tag) {
SuggestionSettingsView()
.sidebarItem(
tag: 0,
title: "Suggestion",
subtitle: "Generate suggestions for your code",
image: "lightbulb"
)
ChatSettingsView()
.sidebarItem(
tag: 1,
title: "Chat",
subtitle: "Chat about your code",
image: "character.bubble"
)
ScrollView {
PromptToCodeSettingsView().padding()
}
.sidebarItem(
tag: 2,
title: "Modification",
subtitle: "Write or modify code with natural language",
image: "paintbrush"
)
ScrollView {
XcodeSettingsView().padding()
}
.sidebarItem(
tag: 3,
title: "Xcode",
subtitle: "Xcode related features",
image: "hammer.circle"
)
ForEach(Array(tabContainer.tabs.enumerated()), id: \.1.id) { index, tab in
ScrollView {
tab.viewBuilder().padding()
}
.sidebarItem(
tag: 4 + index,
title: tab.title,
subtitle: tab.description,
image: tab.image
)
}
}
}
}
struct FeatureSettingsView_Previews: PreviewProvider {
static var previews: some View {
FeatureSettingsView()
.frame(width: 800)
}
}