ChWebsiteApp/CHDataManagement/Model/LocalizedTag.swift
2024-12-01 15:01:36 +01:00

49 lines
1.0 KiB
Swift

import Foundation
final class LocalizedTag: ObservableObject {
@Published
var urlComponent: String
/// A custom name, different from the tag id
@Published
var name: String
@Published
var subtitle: String?
@Published
var description: String?
/// The image id of the thumbnail
@Published
var thumbnail: ImageResource?
/// The original url in the previous site layout
let originalUrl: String?
init(urlComponent: String,
name: String,
subtitle: String? = nil,
description: String? = nil,
thumbnail: ImageResource? = nil,
originalUrl: String? = nil) {
self.urlComponent = urlComponent
self.name = name
self.subtitle = subtitle
self.description = description
self.thumbnail = thumbnail
self.originalUrl = originalUrl
}
}
extension LocalizedTag {
func data() -> FeedEntryData.Tag {
.init(
name: name,
url: "tags/\(urlComponent).html"
)
}
}