cs193p-emojiart/EmojiArt/PaletteManager.swift
Ching 566f3539d1 feat(view, viewmodels): 增加调色板按钮,增加报错提示
1. 增加从调色板中增加、删除、跳转和编辑 emoji 的功能
2. 增加通过 url 获取背景图时失败带报错

Signed-off-by: Ching <loooching@gmail.com>
2023-02-26 19:34:35 +08:00

50 lines
1.4 KiB
Swift

//
// PaletteManager.swift
// EmojiArt
//
// Created by ching on 2023/2/25.
//
import SwiftUI
struct PaletteManager: View {
@EnvironmentObject var store: PaletteStore
@Environment(\.colorScheme) var colorScheme
@State private var editMode: EditMode = .inactive
var body: some View {
NavigationView {
List {
ForEach(store.palettes) { palette in
NavigationLink(destination: PaletteEditor(palette: $store.palettes[palette])) {
VStack(alignment: .leading) {
Text(palette.name)
Text(palette.emojis)
}
}
}
.onDelete { indexSet in
store.palettes.remove(atOffsets: indexSet)
}
.onMove { indexSet, newOffset in
store.palettes.move(fromOffsets: indexSet, toOffset: newOffset)
}
}
.navigationTitle("Manage Palettes")
.navigationBarTitleDisplayMode(.inline)
.toolbar {
EditButton()
}
.environment(\.editMode, $editMode)
}
}
}
struct PaletteManager_Previews: PreviewProvider {
static var previews: some View {
PaletteManager()
.previewDevice("iPhone 14 Pro Max")
.environmentObject(PaletteStore(named: "preview"))
}
}