/** portal/domains/ui.mjs — 도메인 화면 뼈대(목록·연결·상세). 데이터는 /ui/domains/domains.js 가 채운다. */ import { esc } from '../../lib/http.mjs'; import { t } from '../../lib/i18n.mjs'; const shell = (ctx, deps, o) => deps.page({ ...o, user: ctx.user, group: ctx.group, groups: ctx.groups || [], unread: ctx.unread || 0, csrf: ctx.session ? ctx.session.csrf : '', scripts: ['/ui/domains/domains.js'] }); export const listPage = (ctx, deps) => shell(ctx, deps, { title: t('domains.title'), nav: 'domains', crumbs: [{ label: t('nav.dashboard'), href: '/' }, { label: t('domains.title') }], actions: [{ label: t('domains.connect'), href: '/domains/connect', kind: 'primary' }, { label: '도메인 구매·DNS 자동화(Webmaker)', href: '/sso/webmaker?path=/' }], body: `
${deps.statePanel('loading')}

도메인 등록·갱신·네임서버·레코드 자동화는 Webmaker 의 도메인 탭에서 기존 기능 그대로 제공됩니다. 도메인 등록 기능이 제공되지 않는 환경에서는 외부 등록기관에서 구매한 도메인을 여기서 연결하세요.

` }); export const connectPage = (ctx, deps, { siteId = '' } = {}) => shell(ctx, deps, { title: t('domains.connect'), nav: 'domains', crumbs: [{ label: t('domains.title'), href: '/domains' }, { label: t('domains.connect') }], body: `
  1. 도메인 입력
  2. 웹·메일 용도 선택
  3. 소유 확인(TXT)
  4. 필요한 DNS 값 안내
  5. DNS 반영 확인
  6. HTTPS 인증서 발급
  7. 외부 접속 확인
  8. 대표 도메인 지정
외부 등록기관에서 구매한 도메인도 연결할 수 있습니다. www 없이 입력하세요
용도
한 사이트에 여러 도메인을 연결해도 운영 사이트 수는 하나만 씁니다
` }); export const detailPage = (ctx, deps, d) => shell(ctx, deps, { title: d.name, nav: 'domains', crumbs: [{ label: t('domains.title'), href: '/domains' }, { label: d.name }], body: `
${deps.statePanel('loading')}
` });