Files
Gnuboard7/templates/_bundled/sirsoft-basic/template.json
T
HeuJung 0d1105abfc fix(basic,admin_basic): 상한 목록의 페이저 소비단 정합 및 화면 표기
저장소가 총 건수를 상한까지만 세게 되면서 마지막 페이지 번호가 없는 목록이
생겼는데, 화면은 그 값을 1 로 접거나 페이저 노출 조건으로만 쓰고 있었다. 앞은
"1페이지뿐" 으로 잘못 말하고 뒤는 페이저를 통째로 지워 뒤쪽 페이지로 갈 방법
자체를 없앤다. 둘 다 예외도 404 도 내지 않아 화면은 정상으로 보이고 기능만 없다.

Pagination 컴포넌트가 세 형태를 모두 이해하도록 넓혔다. 마지막 페이지를 알면
페이지 산술이 우선이고, 모를 때만 다음 페이지 존재 여부로 판정한다. 처음·마지막
버튼을 따로 켜고 끌 수 있게 나눠, 마지막 페이지를 모르는 목록에서는 그 버튼만
감춰지고 나머지 이동은 그대로 열려 있다. DataGrid 는 페이저를 그리는 두 경로
모두에 그 값을 전달한다 — 한쪽만 전달하면 그 화면만 첫 페이지에 갇힌다.

마이페이지 주문·마일리지·위시리스트·알림함, 게시판 목록, 상품 리뷰·문의, 내가 쓴
글, 관리자 설정 탭과 스케줄 이력의 소비 지점을 전건 옮겼다.

검색 화면은 총 건수를 정확히 세지 못한 경우 "N건 이상" 으로 표기하고 검색어를
좁히면 정확한 건수를 볼 수 있다고 안내한다. 탭 배지도 세지 못한 값을 정확한
숫자처럼 보여주지 않는다. 최신순은 첫 페이지부터 커서로 이동하며, 주소로 특정
페이지를 지목한 딥링크는 종전 동작을 유지한다.

쇼핑 첫 화면과 분류 화면을 단일 요청으로 재배선하고, 섹션 partial 이 부모가
선언한 이름을 읽도록 통일했다. 데이터소스 이름에 직결돼 있으면 다른 화면이
재사용할 때 폴백에 걸려 예외도 로그도 없이 섹션이 사라진다. 상품 상세의 "최근 본
상품" 이 계속 비어 있던 것은 존재하지 않는 라우트 파라미터를 읽고 있어서였다.

게시판 목록 세 스킨의 블라인드 아이콘 대비와 이미지 위 공통 색의 다크 모드 표기를
정리했다.
2026-08-06 11:13:53 +09:00

150 lines
3.6 KiB
JSON

{
"identifier": "sirsoft-basic",
"vendor": "sirsoft",
"name": {
"ko": "Basic",
"en": "Basic"
},
"version": "1.0.4",
"license": "MIT",
"description": {
"ko": "그누보드7 기본 사용자 템플릿",
"en": "Gnuboard7 default user template"
},
"type": "user",
"locales": [
"ko",
"en"
],
"author": {
"name": "sirsoft",
"email": "contact@sirsoft.com",
"url": "https://sirsoft.com"
},
"release_date": "2026-01-07",
"g7_version": ">=7.0.6",
"dependencies": {
"modules": {
"sirsoft-board": ">=1.0.0",
"sirsoft-ecommerce": ">=1.0.5",
"sirsoft-page": ">=1.0.0"
},
"plugins": {
"sirsoft-daum_postcode": ">=1.0.0"
}
},
"assets": {
"css": [
"dist/css/components.css"
],
"js": [
"dist/js/components.iife.js"
],
"fonts": [],
"images": []
},
"components": {
"basic": [
"a",
"button",
"checkbox",
"div",
"form",
"h1",
"h2",
"h3",
"h4",
"hr",
"icon",
"img",
"input",
"label",
"li",
"nav",
"p",
"section",
"select",
"span",
"svg",
"table",
"tbody",
"td",
"textarea",
"th",
"thead",
"tr",
"ul"
],
"composite": [
"header",
"footer",
"mobile-nav",
"product-card",
"rich-text-editor",
"image-gallery",
"quantity-selector",
"post-reactions",
"social-login-buttons",
"file-uploader",
"card",
"modal",
"toast",
"pagination",
"stat-card",
"status-badge",
"tab-navigation",
"empty-state",
"loading-spinner",
"breadcrumb",
"search-bar",
"dropdown"
],
"layout": [
"container",
"flex",
"grid",
"section"
]
},
"preview": {
"thumbnail": "preview/thumbnail.png",
"screenshots": [
"preview/screenshot1.png",
"preview/screenshot2.png"
]
},
"error_config": {
"layouts": {
"401": "errors/401",
"403": "errors/403",
"404": "errors/404",
"500": "errors/500",
"503": "errors/503",
"maintenance": "errors/maintenance"
}
},
"features": {
"dark_mode": true,
"responsive": true,
"multi_language": true,
"multi_currency": true
},
"github_url": "https://github.com/gnuboard/g7-template-sirsoft-basic",
"github_changelog_url": "https://github.com/gnuboard/g7-template-sirsoft-basic/blob/main/CHANGELOG.md",
"externals": [
{
"id": "fontawesome",
"type": "style",
"url": "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css",
"preconnect": "https://cdnjs.cloudflare.com"
},
{
"id": "pretendard",
"type": "webfont",
"url": "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css",
"preconnect": "https://cdn.jsdelivr.net",
"crossorigin": "anonymous"
}
]
}