// /AIWK_COMMON/modules/sample/hello.js
// AIWK EXT4 v027
(function () {
    "use strict";

    const AIWK = window.AIWK;

    AIWK.modules.register("sample.hello", {
        name: "sample.hello",
        run: async function (ctx) {
            return {
                ok: 1,
                module: "sample.hello",
                win_id: ctx.win.id,
                received: ctx.msg || {},
                message: "sample.hello run completed"
            };
        },
        mount: function (ctx) {
            const box = document.createElement("div");
            box.className = "space-y-2 text-sm";

            const h = document.createElement("div");
            h.className = "text-base font-semibold select-text";
            h.textContent = ctx.AIWK.i18n.t("hello.title", "AIWK EXT4 v027");

            const p = document.createElement("p");
            p.className = "select-text";
            p.textContent = ctx.AIWK.i18n.t("hello.body", "sample.hello module이 독립 JS 파일에서 실행되었습니다.");

            const role = document.createElement("p");
            role.className = "text-xs select-text";
            role.textContent = ctx.AIWK.i18n.t("hello.role", "현재 권한") + ": " + ctx.AIWK.auth.role;

            const note = document.createElement("p");
            note.className = "text-xs select-text";
            note.textContent = ctx.AIWK.i18n.t("hello.role_note", "guest/editor/dev 권한에 따라 디자인/JS 메뉴가 즉시 잠금/활성 표시됩니다.");

            const checks = document.createElement("div");
            checks.className = "aiwk-checkbox select-text";
            checks.innerHTML = "<b>" + ctx.AIWK.i18n.t("hello.check_title", "v006 전체 검토 항목") + "</b><br>" +
                "1. " + ctx.AIWK.i18n.t("hello.check_drag", "↕ 핸들을 잡고 드래그") + "<br>" +
                "2. " + ctx.AIWK.i18n.t("hello.check_resize", "오른쪽 아래 모서리로 리사이즈") + "<br>" +
                "3. " + ctx.AIWK.i18n.t("hello.check_reload", "새로고침 후 위치/크기 복원 확인") + "<br>" +
                "4. " + ctx.AIWK.i18n.t("hello.check_textarea", "textarea 높이 변경 후 새로고침 복원 확인") + "<br>" +
                "5. Auth 창에서 role 변경 시 메뉴 잠금/활성 확인<br>6. Win Registry 창에서 run() 테스트";

            const input = document.createElement("textarea");
            input.className = "aiwk-textarea w-full px-2 py-1 rounded border";
            input.rows = 1;
            input.setAttribute("data-aiwk-textarea-key", "memo");
            input.placeholder = ctx.AIWK.i18n.t("hello.memo", "1줄 최소 높이 textarea 테스트");

            box.appendChild(h);
            box.appendChild(p);
            box.appendChild(role);
            box.appendChild(note);
            box.appendChild(checks);
            box.appendChild(input);
            ctx.body.appendChild(box);
            ctx.status.textContent = ctx.AIWK.i18n.t("status.module_loaded", "module loaded") + ": sample.hello";
        }
    });
}());
