Skip to content

Commit 9e3ea71

Browse files
committed
refactor: move filter bar models to core module
Move `FilterBarComponent` and `FilterBarConfiguration` definitions from the Settings view into the core Model folder.
1 parent 18759ab commit 9e3ea71

File tree

2 files changed

+37
-29
lines changed

2 files changed

+37
-29
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
//
2+
// FilterBarComponent.swift
3+
// swift-paperless
4+
//
5+
// Created by Paul Gessinger on 15.02.26.
6+
//
7+
8+
import Foundation
9+
10+
enum FilterBarComponent: String, CaseIterable, Codable {
11+
case tags
12+
case documentType
13+
case correspondent
14+
case storagePath
15+
case permissions
16+
case customFields
17+
case asn
18+
case date
19+
20+
var localizedName: LocalizedStringResource {
21+
switch self {
22+
case .tags: .localizable(.tags)
23+
case .documentType: .localizable(.documentType)
24+
case .correspondent: .localizable(.correspondent)
25+
case .storagePath: .localizable(.storagePath)
26+
case .permissions: .localizable(.permissions)
27+
case .customFields: .localizable(.customFields)
28+
case .asn: .localizable(.asn)
29+
case .date: .localizable(.dateFilterTitle)
30+
}
31+
}
32+
}
33+
34+
enum FilterBarConfiguration: Equatable, Codable {
35+
case `default`
36+
case configured([FilterBarComponent])
37+
}

swift-paperless/Views/Settings/FilterBarConfigView.swift

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,6 @@
77

88
import SwiftUI
99

10-
enum FilterBarComponent: String, CaseIterable, Codable {
11-
case tags
12-
case documentType
13-
case correspondent
14-
case storagePath
15-
case permissions
16-
case customFields
17-
case asn
18-
case date
19-
20-
var localizedName: LocalizedStringResource {
21-
switch self {
22-
case .tags: .localizable(.tags)
23-
case .documentType: .localizable(.documentType)
24-
case .correspondent: .localizable(.correspondent)
25-
case .storagePath: .localizable(.storagePath)
26-
case .permissions: .localizable(.permissions)
27-
case .customFields: .localizable(.customFields)
28-
case .asn: .localizable(.asn)
29-
case .date: .localizable(.dateFilterTitle)
30-
}
31-
}
32-
}
33-
34-
enum FilterBarConfiguration: Equatable, Codable {
35-
case `default`
36-
case configured([FilterBarComponent])
37-
}
38-
3910
extension FilterBarConfiguration {
4011
fileprivate var components: [FilterBarComponent] {
4112
switch self {

0 commit comments

Comments
 (0)