using Microsoft.AspNetCore.Components;
using Blazor.Models;
using Blazor.Services;

namespace Blazor.Pages.Chapters;

public partial class AddChapter
{
    private ChapterModel chapterModel = new();

    [Inject]
    public IDataService DataService { get; set; }

    [Inject]
    public NavigationManager NavigationManager { get; set; }

    [Inject]
    public ILogger<AddChapter> Logger { get; set; }



    private async void HandleValidSubmit()
    {
        await DataService.Add(chapterModel);

        var formData = new List<KeyValuePair<string, string>>();
        formData.Add(new KeyValuePair<string, string>("name", chapterModel.Name));


        var formContent = new FormUrlEncodedContent(formData);

        string apiUri = "https://trusting-panini.87-106-126-109.plesk.page/api/add/chapter";

        using (var httpClient = new HttpClient())
        {
            var response = await httpClient.PostAsync(apiUri, formContent);

            if (response.IsSuccessStatusCode)
            {
                var responseBody = await response.Content.ReadAsStringAsync();
            }
            else
            {
                var errorResponse = await response.Content.ReadAsStringAsync();
            }
        }

        Logger.LogInformation("Chapter '{chapterModelName}' added",chapterModel.Name);

        NavigationManager.NavigateTo("chapters");

    }

}
