@use crate::templates::base;
@use crate::template_utils::*;

@(ctx: BaseContext, now: &str)

@:base(ctx, i18n!(ctx.1, "Search"), {}, {}, {
  <h1>@i18n!(ctx.1, "Search")</h1>
  <form method="get" id="form">
    @(Input::new("q", "Your query")
        .input_type("search")
        .set_prop("style", "-webkit-appearance: none;")
        .optional()
        .html(ctx.1))
    <details>
        <summary>@i18n!(ctx.1, "Advanced search")</summary>

        @(Input::new("title", i18n!(ctx.1, "Article title matching these words"))
            .set_prop("placeholder", i18n!(ctx.1, "Title"))
            .optional()
            .html(ctx.1))
        @(Input::new("subtitle", i18n!(ctx.1, "Subtitle matching these words"))
            .set_prop("placeholder", i18n!(ctx.1, "Subtitle"))
            .optional()
            .html(ctx.1))
        @(Input::new("content", i18n!(ctx.1, "Content macthing these words"))
            .set_prop("placeholder", i18n!(ctx.1, "Body content"))
            .optional()
            .html(ctx.1))
        @(Input::new("after", i18n!(ctx.1, "From this date"))
            .input_type("date")
            .set_prop("max", now)
            .optional()
            .html(ctx.1))
        @(Input::new("before", i18n!(ctx.1, "To this date"))
            .input_type("date")
            .set_prop("max", now)
            .optional()
            .html(ctx.1))
        @(Input::new("tag", i18n!(ctx.1, "Containing these tags"))
            .set_prop("placeholder", i18n!(ctx.1, "Tags"))
            .optional()
            .html(ctx.1))
        @(Input::new("instance", i18n!(ctx.1, "Posted on one of these instances"))
            .set_prop("placeholder", i18n!(ctx.1, "Instance domain"))
            .optional()
            .html(ctx.1))
        @(Input::new("author", i18n!(ctx.1, "Posted by one of these authors"))
            .set_prop("placeholder", i18n!(ctx.1, "Author(s)"))
            .optional()
            .html(ctx.1))
        @(Input::new("blog", i18n!(ctx.1, "Posted on one of these blogs"))
            .set_prop("placeholder", i18n!(ctx.1, "Blog title"))
            .optional()
            .html(ctx.1))
        @(Input::new("lang", i18n!(ctx.1, "Written in this language"))
            .set_prop("placeholder", i18n!(ctx.1, "Language"))
            .optional()
            .html(ctx.1))
        @(Input::new("license", i18n!(ctx.1, "Published under this license"))
            .set_prop("placeholder", i18n!(ctx.1, "Article license"))
            .optional()
            .html(ctx.1))
    </details>
    <input type="submit" value="@i18n!(ctx.1, "Search")"/>
  </form>
})
