@page "{id:int}"
@model Admin.Pages.Forum.Board.Meta.CommentModel
@{
    ViewData["Title"] = "게시판 관리 - 댓글";
    ViewData["Sector"] = "Comment";
    ViewData["BoardID"] = Model.BoardID;
    ViewData["BoardList"] = Model.BoardList;
    ViewData["QueryString"] = Model.QueryString;
}

<div class="container">
    <partial name="_Header" />
    <partial name="_StatusMessage" />
    <partial name="/Pages/Forum/Board/_NavTabs.cshtml" />

    <form name="f_admin_write" id="fAdminWrite" method="post" accept-charset="utf-8" autocomplete="off" enctype="multipart/form-data">
        <input type="hidden" asp-for="Input.ID" />
        <input type="hidden" asp-for="Input.BoardID" />

        <div class="row mb-3">
            <label for="Input_EnableComment" class="col-md-3 col-form-label">댓글 사용</label>
            <div class="col-md-9">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.EnableComment" class="form-check-input" />
                    <label asp-for="Input.EnableComment" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">댓글 목록, 사용을 활성화합니다.</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_PerPage" class="col-12 col-md-3 col-form-label">목록 표시</label>
            <div class="col-lg-9">
                <div class="row">
                    <div class="col-12 col-lg-auto">
                        <input type="number" asp-for="Input.PerPage" class="form-control" min="10" max="100" required />
                        <span asp-validation-for="Input.PerPage" class="text-danger"></span>
                    </div>
                </div>
                <small class="text-muted form-text">한 페이지에 보이는 댓글 수, (최대 100개)</small>
            </div>
        </div>

        <div class="row mb-3">
            <label for="Input_AllowLike" class="col-md-3">댓글 좋아요</label>
            <div class="col-md-9 pt-2 pt-md-0">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.AllowLike" class="form-check-input" />
                    <label asp-for="Input.AllowLike" class="form-check-label">사용합니다.</label>
                </div>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_AllowDisLike" class="col-md-3">댓글 싫어요</label>
            <div class="col-md-9 pt-2 pt-md-0">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.AllowDisLike" class="form-check-input" />
                    <label asp-for="Input.AllowDisLike" class="form-check-label">사용합니다.</label>
                </div>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_ShowMemberThumb" class="col-md-3">회원 사진 공개</label>
            <div class="col-md-9 pt-2 pt-md-0">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.ShowMemberThumb" class="form-check-input" />
                    <label asp-for="Input.ShowMemberThumb" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">회원이 등록한 사진을 좌측에 보일지를 결정합니다.</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_ShowMemberIcon" class="col-md-3">회원 아이콘 공개</label>
            <div class="col-md-9 pt-2 pt-md-0">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.ShowMemberIcon" class="form-check-input" />
                    <label asp-for="Input.ShowMemberIcon" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">회원의 등급/첨부 아이콘을 글쓴이명 좌측에 보일지를 결정합니다.</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_ContentPlaceholder" class="col-md-3 col-form-label">안내 문구</label>
            <div class="col-md-9">
                <textarea asp-for="Input.ContentPlaceholder" class="form-control" rows="3"></textarea>
                <span asp-validation-for="Input.ContentPlaceholder" class="text-danger"></span>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_MinContentLength" class="col-md-3 col-form-label">최소 입력 글자</label>
            <div class="col-lg-9">
                <div class="row">
                    <div class="col-12 col-lg-auto">
                        <input type="number" asp-for="Input.MinContentLength" class="form-control" min="0" required />
                        <span asp-validation-for="Input.MinContentLength" class="text-danger"></span>
                    </div>
                </div>
                <small class="text-muted form-text">댓글 최소 입력 길이를 지정합니다. 0 입력시 제한 없음</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_MaxContentLength" class="col-md-3 col-form-label">최대 입력 글자</label>
            <div class="col-lg-9">
                <div class="row">
                    <div class="col-12 col-lg-auto">
                        <input type="number" asp-for="Input.MaxContentLength" class="form-control" min="0" required />
                        <span asp-validation-for="Input.MaxContentLength" class="text-danger"></span>
                    </div>
                </div>
                <small class="text-muted form-text">댓글 최대 입력 길이를 지정합니다. 0 입력시 제한 없음</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_EnableEditor" class="col-md-3 col-form-label">웹 에디터 사용</label>
            <div class="col-md-9">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.EnableEditor" class="form-check-input" />
                    <label asp-for="Input.EnableEditor" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">댓글을 웹 기반 에디터로 수정할 수 있도록합니다.</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_AllowSecret" class="col-md-3 col-form-label">비밀글 사용</label>
            <div class="col-md-9">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.AllowSecret" class="form-check-input" />
                    <label asp-for="Input.AllowSecret" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">비밀글 작성 기능을 활성화합니다. 비밀글은 작성자 본인과 게시판 관리자 이상만 열람 가능합니다.</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_BlameHideCount" class="col-md-3 col-form-label">댓글 신고 시 숨김</label>
            <div class="col-lg-9">
                <div class="row">
                    <div class="col-12 col-lg-auto">
                        <input type="number" asp-for="Input.BlameHideCount" class="form-control" min="0" required />
                        <span asp-validation-for="Input.BlameHideCount" class="text-danger"></span>
                    </div>
                    <small class="text-muted form-text">댓글을 신고할 수 있도록 합니다. 숨김 횟수가 0이면 작동하지 않습니다.</small>
                </div>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_AllowUpdateProtection" class="col-md-3 col-form-label">댓글 보호 기능 (수정 시)</label>
            <div class="col-md-9">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.AllowUpdateProtection" class="form-check-input" />
                    <label asp-for="Input.AllowUpdateProtection" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">수정 시 댓글을 보호하는 기능을 활성화합니다.</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_UpdateProtectionDays" class="col-md-3 col-form-label">댓글 수정 금지 기간</label>
            <div class="col-lg-9">
                <div class="row">
                    <div class="col-12 col-lg-auto">
                        <input type="number" asp-for="Input.UpdateProtectionDays" class="form-control" min="0" max="365" />
                        <span asp-validation-for="Input.UpdateProtectionDays" class="text-danger"></span>
                    </div>
                    <small class="text-muted form-text">댓글이 수정되지 않도록 보호하는 기간을 일 단위로 설정합니다.</small>
                </div>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_AllowDeleteProtection" class="col-md-3 col-form-label">댓글 보호 기능 (삭제 시)</label>
            <div class="col-md-9">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.AllowDeleteProtection" class="form-check-input" />
                    <label asp-for="Input.AllowDeleteProtection" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">삭제 시 댓글을 보호하는 기능을 활성화합니다.</small>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_DeleteProtectionDays" class="col-md-3 col-form-label">댓글 삭제 금지 기간</label>
            <div class="col-lg-9">
                <div class="row">
                    <div class="col-12 col-lg-auto">
                        <input type="number" asp-for="Input.DeleteProtectionDays" class="form-control" min="0" max="365" />
                        <span asp-validation-for="Input.DeleteProtectionDays" class="text-danger"></span>
                    </div>
                    <small class="text-muted form-text">댓글이 삭제되지 않도록 보호하는 기간을 일 단위로 설정합니다.</small>
                </div>
            </div>
        </div>
        <div class="row mb-3">
            <label for="Input_EnableCommentUpdateLog" class="col-md-3 col-form-label">댓글 변경 기록</label>
            <div class="col-md-9">
                <div class="form-check">
                    <input type="checkbox" asp-for="Input.EnableCommentUpdateLog" class="form-check-input" />
                    <label asp-for="Input.EnableCommentUpdateLog" class="form-check-label">사용합니다.</label>
                </div>
                <small class="text-muted form-text">댓글 변경 시 기록을 남깁니다.</small>
            </div>
        </div>
        <hr/>
        <div class="d-grid gap-2 text-center d-md-block">
            <button type="submit" class="btn btn-success">저장</button>
            <a href="/Forum/Board/List\@Model.QueryString" class="btn btn-secondary">취소</a>
        </div>
        <br />
    </form>
</div>

@section Scripts {
    <script>
        $("#fAdminWrite").validate({
            rules: {
                "Input.UpdateProtectionDays": {
                    required: "#Input_AllowUpdateProtection:checked",
                    min: function () {
                        return $("#Input_AllowUpdateProtection").is(":checked") ? 1 : null;
                    }
                },
                "Input.DeleteProtectionDays": {
                    required: "#Input_AllowDeleteProtection:checked",
                    min: function () {
                        return $("#Input_AllowDeleteProtection").is(":checked") ? 1 : null;
                    }
                }
            },
            submitHandler: function(form) {
                form.submit();
            }
        });
    </script>
}