feat(homepage): GUARDiA 모바일 앱 목업 스크린샷 5장 생성 + 앱 탭 추가
- Playwright headless로 HTML 목업 → PNG 스크린샷 변환 11_app_home.png 홈 대시보드 (SR·서버 실시간 현황) 12_app_sr.png SR 서비스 요청 목록 13_app_chat.png AI 챗봇 (Ollama 연동) 14_app_dr.png DR 재해복구 RTO/RPO 모니터링 15_app_network.png 네트워크 장비 백업 현황 - GuardiaDetail.jsx: '모바일 앱' 탭 신규 추가 5장 목업 5열 그리드 (390x844 세로 비율) Google Play / App Store 다운로드 배지 - GuardiaDetail.css: 모바일 스크린샷 5열 그리드 스타일 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d972852038
commit
257ccb57af
@ -85,17 +85,28 @@
|
|||||||
gap: 20px;
|
gap: 20px;
|
||||||
margin-top: 40px;
|
margin-top: 40px;
|
||||||
}
|
}
|
||||||
/* 모바일 앱 스크린샷: 세로 비율 */
|
/* 모바일 앱 스크린샷: 세로 비율 5열 */
|
||||||
.gd-screenshots--mobile {
|
.gd-screenshots--mobile {
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(5, 1fr);
|
||||||
max-width: 720px;
|
gap: 14px;
|
||||||
margin-left: auto;
|
}
|
||||||
margin-right: auto;
|
.screenshot-card--mobile {
|
||||||
|
border-radius: 16px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: 0 8px 32px rgba(0,0,0,.25);
|
||||||
|
border: 3px solid #1e293b;
|
||||||
}
|
}
|
||||||
.screenshot-card--mobile .screenshot-img {
|
.screenshot-card--mobile .screenshot-img {
|
||||||
aspect-ratio: 9/16;
|
width: 100%;
|
||||||
|
aspect-ratio: 390/844;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
border-radius: 12px 12px 0 0;
|
display: block;
|
||||||
|
}
|
||||||
|
@media (max-width: 900px) {
|
||||||
|
.gd-screenshots--mobile { grid-template-columns: repeat(3, 1fr); }
|
||||||
|
}
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
.gd-screenshots--mobile { grid-template-columns: repeat(2, 1fr); }
|
||||||
}
|
}
|
||||||
.screenshot-card {
|
.screenshot-card {
|
||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
|
|||||||
@ -138,6 +138,7 @@ export default function GuardiaDetail() {
|
|||||||
<div className="gd-tabs">
|
<div className="gd-tabs">
|
||||||
{[
|
{[
|
||||||
{id:'features', label:'핵심 기능'},
|
{id:'features', label:'핵심 기능'},
|
||||||
|
{id:'app', label:'모바일 앱'},
|
||||||
{id:'messenger', label:'Messenger Bot'},
|
{id:'messenger', label:'Messenger Bot'},
|
||||||
{id:'manager', label:'Manager'},
|
{id:'manager', label:'Manager'},
|
||||||
{id:'editions', label:'에디션 비교'},
|
{id:'editions', label:'에디션 비교'},
|
||||||
@ -258,6 +259,58 @@ export default function GuardiaDetail() {
|
|||||||
</section>
|
</section>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* ── 모바일 앱 ────────────────────────────────────── */}
|
||||||
|
{activeTab === 'app' && (
|
||||||
|
<section className="section">
|
||||||
|
<div className="container">
|
||||||
|
<div className="section-header">
|
||||||
|
<span className="section-label">GUARDiA Messenger App</span>
|
||||||
|
<h2 className="section-title">현장에서 바로<br/><em>스마트폰으로 관제</em></h2>
|
||||||
|
<div className="divider" />
|
||||||
|
<p className="section-desc">
|
||||||
|
Android · iOS 모두 지원. SR 접수·처리, DR 복구 테스트, 네트워크 장비 관제,<br/>
|
||||||
|
AI 챗봇 명령까지 — 어디서든 GUARDiA를 손에 쥐세요.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="gd-screenshots gd-screenshots--mobile">
|
||||||
|
{[
|
||||||
|
{file:'11_app_home', caption:'홈 대시보드 — SR·서버 실시간 현황'},
|
||||||
|
{file:'12_app_sr', caption:'SR 서비스 요청 — 등록·처리·완료'},
|
||||||
|
{file:'13_app_chat', caption:'AI 챗봇 — 자연어 명령으로 서버 제어'},
|
||||||
|
{file:'14_app_dr', caption:'DR 재해복구 — RTO/RPO 실적 모니터링'},
|
||||||
|
{file:'15_app_network', caption:'네트워크 장비 — 백업·상태 현장 점검'},
|
||||||
|
].map((s,i) => (
|
||||||
|
<div key={i} className="screenshot-card screenshot-card--mobile">
|
||||||
|
<img src={`/screenshots/${s.file}.png`} alt={s.caption}
|
||||||
|
className="screenshot-img"
|
||||||
|
onError={e=>{e.target.style.display='none';e.target.nextSibling.style.display='flex';}}/>
|
||||||
|
<div className="screenshot-placeholder" style={{display:'none'}}>
|
||||||
|
<span className="icon">📱</span><span>준비 중</span>
|
||||||
|
</div>
|
||||||
|
<div className="screenshot-caption">{s.caption}</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* 앱 스토어 배지 */}
|
||||||
|
<div style={{display:'flex',justifyContent:'center',gap:16,marginTop:40}}>
|
||||||
|
<a href="#" style={{display:'flex',alignItems:'center',gap:10,
|
||||||
|
padding:'12px 24px',background:'#1e293b',borderRadius:12,
|
||||||
|
color:'#e2e8f0',textDecoration:'none',border:'1px solid rgba(255,255,255,.1)'}}>
|
||||||
|
<span style={{fontSize:28}}>🤖</span>
|
||||||
|
<div><div style={{fontSize:10,opacity:.6}}>다운로드</div><div style={{fontWeight:700,fontSize:15}}>Google Play</div></div>
|
||||||
|
</a>
|
||||||
|
<a href="#" style={{display:'flex',alignItems:'center',gap:10,
|
||||||
|
padding:'12px 24px',background:'#1e293b',borderRadius:12,
|
||||||
|
color:'#e2e8f0',textDecoration:'none',border:'1px solid rgba(255,255,255,.1)'}}>
|
||||||
|
<span style={{fontSize:28}}>🍎</span>
|
||||||
|
<div><div style={{fontSize:10,opacity:.6}}>다운로드</div><div style={{fontWeight:700,fontSize:15}}>App Store</div></div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* ── 메신저 봇 상세 소개 ──────────────────────────── */}
|
{/* ── 메신저 봇 상세 소개 ──────────────────────────── */}
|
||||||
{activeTab === 'messenger' && (
|
{activeTab === 'messenger' && (
|
||||||
<section className="section">
|
<section className="section">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user