<!doctype html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<head th:replace="~{fragments/layout :: head('정형 데이터 조회')}"></head>
<body>
<nav th:replace="~{fragments/layout :: nav}"></nav>
<main class="container py-4">
  <div class="page-title">
    <h1>정형 데이터 조회</h1>
    <details class="explanation-details">
      <summary>도움말</summary>
      <p>등록된 업무 데이터 객체를 읽기 전용으로 조회합니다. 임의 SQL이나 수정 기능은 제공하지 않으며, 한 번에 최대 50건까지만 표시합니다.</p>
    </details>
  </div>

  <div class="alert alert-warning">
    이 화면은 관리자용 업무 데이터 미리보기입니다. 사용자별 행 접근 적용 결과는 <a href="/probe">접근 검증</a>에서 확인하세요.
  </div>

  <section class="content-band">
    <div class="section-heading">
      <div>
        <h2>조회할 업무 데이터 선택</h2>
        <p class="section-subtitle"><code th:text="${catalogOwner}">OWNER</code> 스키마에서 등록한 <span th:text="${product.dataName()}">업무 데이터</span> 객체만 표시합니다.</p>
      </div>
    </div>
    <div class="structured-table-grid">
      <a th:each="entry : ${tables}"
         class="structured-table-card"
         th:classappend="${entry.key() == selectedKey} ? ' is-selected'"
         th:href="@{/structured-data(table=${entry.key()})}">
        <strong th:text="${entry.businessName()}">게임 사용자</strong>
        <code th:text="${entry.tableName()}">OBJECT_NAME</code>
        <small th:text="${entry.description()}">게임 사용자 마스터</small>
      </a>
    </div>
  </section>

  <div class="alert alert-danger" th:if="${errorMessage}" th:text="${errorMessage}"></div>

  <section class="content-band" th:if="${preview}">
    <div class="section-heading">
      <div>
        <h2 th:text="${preview.table().businessName()}">게임 사용자</h2>
        <p class="section-subtitle">
          <code th:text="${catalogOwner + '.' + preview.table().tableName()}">OWNER.TABLE_NAME</code>
          <span th:text="${' · 최대 ' + preview.rowLimit() + '건'}"> · 최대 50건</span>
        </p>
      </div>
    </div>
    <div class="table-responsive structured-data-result">
      <table class="table table-sm align-middle">
        <thead>
        <tr><th th:each="column : ${preview.columns()}" th:text="${column}">COLUMN</th></tr>
        </thead>
        <tbody>
        <tr th:each="row : ${preview.rows()}">
          <td th:each="column : ${preview.columns()}"
              th:text="${row.get(column) == null ? '-' : row.get(column)}">value</td>
        </tr>
        <tr th:if="${#lists.isEmpty(preview.rows())}">
          <td class="text-muted" th:attr="colspan=${#lists.size(preview.columns())}">표시할 데이터가 없습니다.</td>
        </tr>
        </tbody>
      </table>
    </div>
  </section>
</main>
</body>
</html>
