- Add comprehensive German localization with Localizable.xcstrings - Integrate R.swift for type-safe resource management - Improve share extension UI with better styling and optional title input - Add archive functionality to bookmark detail view - Update README with current features and planned roadmap - Remove title validation requirement from share extension - Optimize share extension auto-dismiss timing - Clean up code structure and remove unused components
40 lines
820 B
Swift
40 lines
820 B
Swift
import Foundation
|
|
|
|
struct BookmarkDetail {
|
|
let id: String
|
|
let title: String
|
|
let url: String
|
|
let description: String
|
|
let siteName: String
|
|
let authors: [String]
|
|
let created: String
|
|
let updated: String
|
|
let wordCount: Int?
|
|
let readingTime: Int?
|
|
let hasArticle: Bool
|
|
let isMarked: Bool
|
|
var isArchived: Bool
|
|
let thumbnailUrl: String
|
|
let imageUrl: String
|
|
}
|
|
|
|
extension BookmarkDetail {
|
|
static let empty = BookmarkDetail(
|
|
id: "",
|
|
title: "",
|
|
url: "",
|
|
description: "",
|
|
siteName: "",
|
|
authors: [],
|
|
created: "",
|
|
updated: "",
|
|
wordCount: 0,
|
|
readingTime: 0,
|
|
hasArticle: false,
|
|
isMarked: false,
|
|
isArchived: false,
|
|
thumbnailUrl: "",
|
|
imageUrl: ""
|
|
)
|
|
}
|