// // AboutDialogDemo.swift // Adwaita // // Created by lambdaclan on 24.01.26. // // swiftlint:disable missing_docs import Adwaita import Foundation enum AboutDialogDemo { static var sample: (inout AdwaitaAboutDialogConfig) -> Void { { cfg in applyDemoConfig(&cfg) } } private static let demoReleaseNotes = """

This template supports three structures: paragraphs using <p>, ordered lists using <ol>, and unordered lists using <ul>. Both list types must contain list items marked with <li>.

Within paragraphs and list items, you may use <em> to apply emphasis(italic text) and <code> to mark inline code for monospaced text. These inline styles are supported only inside those elements.

Any text placed outside <p>, <ol>, <ul>, or <li> tags is ignored by the template processor.

  1. Ordered list items represent numbered content and may include <em> for emphasis or <code> for inline code.
  2. They follow the same rules as paragraphs regarding allowed inline styles.
""" private static let demoComments = """ This text demonstrates basic Pango markup along with helpful documentation links. Comments shown in an Adwaita AboutDialog will appear on the Details page. They can be long and detailed, and they may include links and Pango markup for formatting. Pango markup supports tags like: • bolditaliccolored text Full reference: Pango Markup Reference Example markup: Demo Title Highlighted text Underlined text Useful links: • Adwaita‑Swift Documentation You can embed these links directly in your UI using Pango markup. """ private static func applyDemoConfig(_ cfg: inout AdwaitaAboutDialogConfig) { cfg.appName = "Demo" cfg.developer = "david-swift" cfg.version = "Test" cfg.icon = .default(icon: .applicationXExecutable) cfg.website = URL(string: "https://adwaita-swift.aparoksha.dev/tutorials/table-of-contents") cfg.issues = URL(string: "https://git.aparoksha.dev/aparoksha/adwaita-swift/issues") cfg.support = URL(string: "https://adwaita-swift.aparoksha.dev/") cfg.links = [ .init(title: "Source Code", url: URL(string: "https://git.aparoksha.dev/aparoksha/adwaita-swift")), .init(title: "Donate", url: URL(string: "https://ko-fi.com/david_swift")) ] cfg.copyright = "© 2026 david-swift" cfg.license = "MIT" cfg.releaseNotes = demoReleaseNotes cfg.comments = demoComments cfg.credits = [ .init(role: .developer, name: "Jane Doe"), .init(role: .developer, name: "John Roe"), .init(role: .designer, name: "Mika Sato"), .init(role: .artist, name: "Leo Martins"), .init(role: .translator, name: "Yuki Nakamura"), .init(role: .translator, name: "Tod Brown") ] cfg.acknowledgements = [ .init(title: "Special Thanks", name: "GNOME Project"), .init(title: "Special Thanks", name: "Swift Programming Language"), .init(title: "Additional Support", name: "LibAdwaita Contributors") ] cfg.otherApps = [ .init( appID: "io.github.david_swift.Flashcards", name: "Memorize", summary: "An app for creating, studying, and importing flashcard sets with a built‑in test mode." ) ] } } // swiftlint:enable missing_docs