@using Smartstore.Core
@using Smartstore.Core.Localization
@inject IWorkContext WorkContext
@inject CRS.EasyCreator.Services.IEasyStoryRenderer Renderer
@model CRS.EasyCreator.Domain.EasyStory

@{
    Layout = "_Layout";
    var title = Model.GetLocalized(x => x.Title).Value.NullEmpty() ?? Model.SystemName;
    ViewBag.Title = title;
    Assets.AppendTitleParts(title);

    var (html, css) = await Renderer.BuildHtmlAsync(Model.Id, WorkContext.WorkingLanguage.Id);
}

@{ var ecv = CRS.EasyCreator.EcAssets.Version; }
<link rel="stylesheet" href="~/Modules/CRS.EasyCreator/css/easycreator.css?v=@ecv" />

@if (!string.IsNullOrEmpty(css))
{
    <style data-crs-easycreator="@Model.Id">@Html.Raw(css)</style>
}

<div class="crs-easycreator-story ec-lang-@(WorkContext.WorkingLanguage.UniqueSeoCode)@(Model.FullWidth ? " ec-fullwidth" : "")" data-story-id="@Model.Id">
    @(await Component.InvokeAsync("EasyStoryBody", new { html }))
</div>

@if (Model.ParallaxScrolling || Model.ParallaxPlus)
{
    <script src="~/Modules/CRS.EasyCreator/js/easycreator/parallax-runtime.js?v=@ecv"></script>
}
@if (CRS.EasyCreator.Services.Catalog.EasyBodyParser.HasCatalog(html))
{
    <script src="~/Modules/CRS.EasyCreator/js/easycreator/catalog-fit.js?v=@ecv"></script>
}
@if (CRS.EasyCreator.Services.Catalog.EasyBodyParser.HasCatalog(html) || (html != null && html.Contains("ec-slider")))
{
    <script src="~/Modules/CRS.EasyCreator/js/easycreator/ec-slider.js?v=@ecv"></script>
}
