@model Dictionary<string, object>

@{
    Layout = "_ConfigureModule";
    ViewBag.Title = T("Plugins.CRS.HybridSearch.SearchReport").Value;
}

<div class="adminContent">
    <div class="adminRow">
        <div class="admin-config-group">
            <div class="head">@T("Plugins.CRS.HybridSearch.SearchReport")</div>
        </div>
    </div>

    @if (Model.TryGetValue("error", out var error))
    {
        <div class="alert alert-danger">@error</div>
    }

    <div class="adminRow">
        <div class="adminTitle">
            <strong>@T("Plugins.CRS.HybridSearch.IndexExists")</strong>
        </div>
        <div class="adminData">
            @(Model.TryGetValue("indexExists", out var exists) && (bool)exists ? T("Common.Yes") : T("Common.No"))
        </div>
    </div>

    @if (Model.TryGetValue("documentCount", out var docCount))
    {
        <div class="adminRow">
            <div class="adminTitle">
                <strong>@T("Plugins.CRS.HybridSearch.DocumentCount")</strong>
            </div>
            <div class="adminData">
                @docCount
            </div>
        </div>
    }

    @if (Model.TryGetValue("fields", out var fieldsObj) && fieldsObj is List<string> fields)
    {
        <div class="adminRow">
            <div class="adminTitle">
                <strong>@T("Plugins.CRS.HybridSearch.Fields")</strong>
            </div>
            <div class="adminData">
                <details>
                    <summary>@fields.Count @T("Plugins.CRS.HybridSearch.FieldsCount")</summary>
                    <ul class="mt-2">
                        @foreach (var field in fields)
                        {
                            <li><code>@field</code></li>
                        }
                    </ul>
                </details>
            </div>
        </div>
    }

    @if (Model.TryGetValue("entityId", out var entityId))
    {
        <div class="adminRow">
            <div class="admin-config-group">
                <div class="head">@T("Plugins.CRS.HybridSearch.EntityDocument") (ID: @entityId)</div>
            </div>
        </div>

        @if (Model.TryGetValue("entityDocument", out var entityDocObj) && entityDocObj is Dictionary<string, string> entityDoc)
        {
            <table class="table table-sm table-striped">
                <thead>
                    <tr>
                        <th>@T("Plugins.CRS.HybridSearch.FieldName")</th>
                        <th>@T("Plugins.CRS.HybridSearch.FieldValue")</th>
                    </tr>
                </thead>
                <tbody>
                    @foreach (var kvp in entityDoc.OrderBy(x => x.Key))
                    {
                        <tr>
                            <td><code>@kvp.Key</code></td>
                            <td>@kvp.Value</td>
                        </tr>
                    }
                </tbody>
            </table>
        }
        else
        {
            <div class="alert alert-info">@T("Plugins.CRS.HybridSearch.EntityNotFound")</div>
        }
    }
</div>
