Add permalink import

- Fill publish date on post edit page
This commit is contained in:
2022-04-29 23:46:26 -04:00
parent afca5edfdd
commit c07f1b11c9
7 changed files with 83 additions and 22 deletions

View File

@@ -264,6 +264,11 @@ module WebLog =
/// Convert a permalink to an absolute URL
let absoluteUrl webLog = function Permalink link -> $"{webLog.urlBase}{link}"
/// Convert a date/time to the web log's local date/time
let localTime webLog (date : DateTime) =
let tz = TimeZoneInfo.FindSystemTimeZoneById webLog.timeZone
TimeZoneInfo.ConvertTimeFromUtc (DateTime (date.Ticks, DateTimeKind.Utc), tz)
/// A user of the web log

View File

@@ -232,7 +232,7 @@ type EditPostModel =
setUpdated : bool
}
/// Create an edit model from an existing past
static member fromPost (post : Post) =
static member fromPost webLog (post : Post) =
let latest =
match post.revisions |> List.sortByDescending (fun r -> r.asOf) |> List.tryHead with
| Some rev -> rev
@@ -250,7 +250,7 @@ type EditPostModel =
metaNames = post.metadata |> List.map (fun m -> m.name) |> Array.ofList
metaValues = post.metadata |> List.map (fun m -> m.value) |> Array.ofList
setPublished = false
pubOverride = Nullable<DateTime> ()
pubOverride = post.publishedOn |> Option.map (WebLog.localTime webLog) |> Option.toNullable
setUpdated = false
}
@@ -338,8 +338,7 @@ type PostListItem =
/// Create a post list item from a post
static member fromPost (webLog : WebLog) (post : Post) =
let tz = TimeZoneInfo.FindSystemTimeZoneById webLog.timeZone
let inTZ (it : DateTime) = TimeZoneInfo.ConvertTimeFromUtc (DateTime (it.Ticks, DateTimeKind.Utc), tz)
let inTZ = WebLog.localTime webLog
{ id = PostId.toString post.id
authorId = WebLogUserId.toString post.authorId
status = PostStatus.toString post.status