aboutsummaryrefslogtreecommitdiff
path: root/DomainDig/SavedDomainsView.swift
blob: 59dcb73ae271f03aee929908072da155ab7d35f0 (plain) (blame)
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
import SwiftUI

struct SavedDomainsView: View {
    @Bindable var viewModel: DomainViewModel
    @Environment(\.dismiss) private var dismiss

    var body: some View {
        List {
            if viewModel.savedDomains.isEmpty {
                Text("No saved domains")
                    .font(.system(.callout, design: .monospaced))
                    .foregroundStyle(.secondary)
                    .listRowBackground(Color(.appSurface))
            } else {
                ForEach(viewModel.savedDomains, id: \.self) { domain in
                    Button {
                        viewModel.domain = domain
                        dismiss()
                        viewModel.run()
                    } label: {
                        Text(domain)
                            .font(.system(.callout, design: .monospaced))
                            .foregroundStyle(.primary)
                    }
                    .listRowBackground(Color(.appSurface))
                }
                .onDelete { offsets in
                    viewModel.removeSavedDomains(at: offsets)
                }
            }
        }
        .scrollContentBackground(.hidden)
        .background(Color(.appBackground))
        .navigationTitle("Saved Domains")
        .toolbar {
            if !viewModel.savedDomains.isEmpty {
                EditButton()
            }
        }
        .preferredColorScheme(.dark)
    }
}