- Split TabView and Sidebar logic into PhoneTabView, PadSidebarView, SidebarTab, and BookmarkState for better device adaptation - Remove old SettingsViewModel, introduce SettingsGeneralViewModel and SettingsServerViewModel for modular settings - Update BookmarksView and BookmarksViewModel for new paginated and filtered data model - Clean up and modularize settings UI (SettingsGeneralView, SettingsServerView, FontSettingsView) - Remove obsolete files (old TabView, File.swift, SettingsViewModel, etc.) - Add BookmarksPageDto and update related data flow - Various UI/UX improvements and code cleanup BREAKING: Settings and navigation structure refactored, old settings logic removed
58 lines
1.1 KiB
Swift
58 lines
1.1 KiB
Swift
import Foundation
|
|
|
|
struct BookmarksPage {
|
|
var bookmarks: [Bookmark]
|
|
let currentPage: Int?
|
|
let totalCount: Int?
|
|
let totalPages: Int?
|
|
let links: [String]?
|
|
}
|
|
|
|
struct Bookmark {
|
|
let id: String
|
|
let title: String
|
|
let url: String
|
|
let href: String
|
|
let description: String
|
|
let authors: [String]
|
|
let created: String
|
|
let published: String?
|
|
let updated: String
|
|
let siteName: String
|
|
let site: String
|
|
let readingTime: Int?
|
|
let wordCount: Int?
|
|
let hasArticle: Bool
|
|
let isArchived: Bool
|
|
let isDeleted: Bool
|
|
let isMarked: Bool
|
|
let labels: [String]
|
|
let lang: String?
|
|
let loaded: Bool
|
|
let readProgress: Int
|
|
let documentType: String
|
|
let state: Int
|
|
let textDirection: String
|
|
let type: String
|
|
let resources: BookmarkResources
|
|
}
|
|
|
|
struct BookmarkResources {
|
|
let article: Resource?
|
|
let icon: ImageResource?
|
|
let image: ImageResource?
|
|
let log: Resource?
|
|
let props: Resource?
|
|
let thumbnail: ImageResource?
|
|
}
|
|
|
|
struct Resource {
|
|
let src: String
|
|
}
|
|
|
|
struct ImageResource {
|
|
let src: String
|
|
let height: Int
|
|
let width: Int
|
|
}
|