Spaces:
Running
Running
| <html lang="ko"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>MarketGo โ ๊ฐ์ ์ผํ๋ชฐ</title> | |
| <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap" rel="stylesheet"> | |
| <style> | |
| :root{--bg:#f5f4f0;--surface:#fff;--text:#111;--sub:#888;--accent:#e63946;--border:rgba(0,0,0,.08);} | |
| *{margin:0;padding:0;box-sizing:border-box;} | |
| body{font-family:'Noto Sans KR',sans-serif;background:var(--bg);color:var(--text);} | |
| nav{background:#111;color:#fff;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:56px;position:sticky;top:0;z-index:100;} | |
| .nav-logo{font-size:20px;font-weight:900;letter-spacing:-1px;}.nav-logo span{color:var(--accent);} | |
| .nav-links{display:flex;gap:24px;font-size:13px;font-weight:500;} | |
| .nav-links a{color:rgba(255,255,255,.7);text-decoration:none;}.nav-links a:hover{color:#fff;} | |
| .nav-right{display:flex;gap:12px;}.nav-right button{border:none;background:none;color:rgba(255,255,255,.7);font-size:20px;cursor:pointer;} | |
| .hero{background:linear-gradient(135deg,#111 60%,#1a1a2e);color:#fff;padding:60px 40px;display:flex;align-items:center;gap:40px;} | |
| .hero-text h1{font-size:42px;font-weight:900;line-height:1.15;letter-spacing:-1.5px;} | |
| .hero-text h1 em{color:var(--accent);font-style:normal;} | |
| .hero-text p{margin-top:12px;font-size:14px;color:rgba(255,255,255,.55);line-height:1.8;} | |
| .hero-btn{margin-top:24px;display:inline-block;padding:13px 28px;background:var(--accent);color:#fff;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;} | |
| .hero-badge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px 28px;min-width:220px;text-align:center;} | |
| .hero-badge .num{font-size:48px;font-weight:900;color:var(--accent);} | |
| .hero-badge .lbl{font-size:12px;color:rgba(255,255,255,.5);margin-top:4px;} | |
| .cats{background:#fff;border-bottom:1px solid var(--border);padding:0 40px;display:flex;overflow-x:auto;} | |
| .cats a{padding:14px 20px;font-size:13px;font-weight:500;color:var(--sub);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;} | |
| .cats a.active,.cats a:hover{color:var(--accent);border-bottom-color:var(--accent);} | |
| .section{padding:36px 40px;} | |
| .sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;} | |
| .sec-hd h2{font-size:18px;font-weight:800;}.sec-hd a{font-size:12px;color:var(--sub);text-decoration:none;} | |
| .products{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;} | |
| .card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:.2s;cursor:pointer;} | |
| .card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1);} | |
| .card-img{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:48px;background:#f0f0f0;} | |
| .card-body{padding:12px;} | |
| .card-badge{display:inline-block;padding:2px 7px;background:rgba(230,57,70,.1);color:var(--accent);border-radius:4px;font-size:10px;font-weight:700;margin-bottom:6px;} | |
| .card-name{font-size:13px;font-weight:600;line-height:1.4;margin-bottom:4px;} | |
| .card-sub{font-size:11px;color:var(--sub);margin-bottom:8px;} | |
| .card-price{font-size:16px;font-weight:900;}.card-price s{font-size:12px;color:var(--sub);font-weight:400;margin-right:4px;}.card-price em{font-size:12px;color:var(--accent);font-style:normal;margin-left:4px;} | |
| .banner-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 40px 36px;} | |
| .banner{border-radius:14px;padding:28px;color:#fff;position:relative;overflow:hidden;min-height:120px;display:flex;flex-direction:column;justify-content:flex-end;} | |
| .banner-a{background:linear-gradient(135deg,#0f3460,#16213e);}.banner-b{background:linear-gradient(135deg,#1b4332,#2d6a4f);} | |
| .banner h3{font-size:16px;font-weight:800;}.banner p{font-size:11px;opacity:.7;margin-top:4px;} | |
| .banner-ic{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:56px;opacity:.3;} | |
| footer{background:#111;color:rgba(255,255,255,.4);text-align:center;padding:24px;font-size:12px;} | |
| /* SiteAgent ํจ๋ */ | |
| #sa-fab{position:fixed;bottom:32px;right:32px;z-index:99999;width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,#5856D6,#007AFF);box-shadow:0 8px 32px rgba(88,86,214,.5);border:none;cursor:pointer;font-size:28px;display:flex;align-items:center;justify-content:center;transition:.2s;} | |
| #sa-fab:hover{transform:scale(1.1);} | |
| #sa-panel{position:fixed;bottom:110px;right:24px;z-index:99999;width:340px;max-height:78vh;background:#fff;border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.2);display:none;flex-direction:column;overflow:hidden;} | |
| #sa-panel.open{display:flex;} | |
| .sa-hdr{padding:14px 16px;background:linear-gradient(135deg,#5856D6,#007AFF);color:#fff;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;} | |
| .sa-hdr span{font-size:14px;font-weight:800;} | |
| .sa-close{border:none;background:none;color:rgba(255,255,255,.8);font-size:22px;cursor:pointer;line-height:1;padding:0;} | |
| .sa-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0;background:#fff;} | |
| .sa-tab{flex:1;padding:10px 0;font-size:10px;font-weight:600;color:#8e8e93;border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;} | |
| .sa-tab.active{color:#5856D6;border-bottom-color:#5856D6;} | |
| .sa-body{padding:14px;overflow-y:auto;flex:1;} | |
| .sa-sel{width:100%;padding:7px 10px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:11px;margin-bottom:8px;font-family:inherit;background:#fff;} | |
| .sa-inp{width:100%;padding:8px 10px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:11px;font-family:inherit;margin-bottom:8px;} | |
| .sa-ta{width:100%;padding:8px 10px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:11px;font-family:inherit;resize:none;margin-bottom:8px;} | |
| .sa-btn{width:100%;padding:11px;border:none;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;color:#fff;margin-bottom:8px;} | |
| .sa-result{border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px;font-size:11px;line-height:1.7;white-space:pre-wrap;color:#111;background:#fafafa;margin-bottom:8px;} | |
| .sa-copy{padding:6px 14px;border:1px solid rgba(88,86,214,.3);border-radius:8px;font-size:10px;font-weight:700;color:#5856D6;background:rgba(88,86,214,.05);cursor:pointer;} | |
| .sa-spin{text-align:center;padding:20px;} | |
| .sa-dot{display:inline-flex;gap:4px;} | |
| .sa-dot i{width:7px;height:7px;border-radius:50%;background:#5856D6;display:inline-block;animation:sd .8s ease-in-out infinite;} | |
| .sa-dot i:nth-child(2){animation-delay:.15s;}.sa-dot i:nth-child(3){animation-delay:.3s;} | |
| @keyframes sd{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}} | |
| .sa-store{background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:10px;margin-bottom:8px;} | |
| .sa-store-lbl{font-size:9px;font-weight:700;color:#92400e;margin-bottom:6px;} | |
| .sa-shop-item{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);} | |
| .sa-shop-img{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#eee;} | |
| .sa-shop-info{flex:1;min-width:0;} | |
| .sa-shop-name{font-size:11px;font-weight:600;line-height:1.3;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} | |
| .sa-shop-price{font-size:12px;font-weight:800;color:#e63946;} | |
| .sa-shop-mall{font-size:10px;color:#888;} | |
| .sa-shop-link{flex-shrink:0;padding:5px 8px;background:#5856D6;color:#fff;border-radius:6px;font-size:9px;font-weight:700;text-decoration:none;align-self:flex-start;margin-top:4px;} | |
| .sa-notice{position:fixed;top:68px;right:16px;background:#fff;border:2px solid #e63946;border-radius:12px;padding:14px 36px 14px 16px;font-size:11px;line-height:1.7;box-shadow:0 8px 32px rgba(0,0,0,.15);z-index:99998;max-width:280px;} | |
| .sa-notice strong{display:block;font-size:13px;font-weight:800;color:#e63946;margin-bottom:6px;} | |
| .sa-notice code{display:block;background:#f5f4f0;border-radius:6px;padding:8px;font-size:10px;color:#333;margin-top:8px;word-break:break-all;} | |
| .sa-nclose{position:absolute;top:8px;right:10px;border:none;background:none;font-size:16px;cursor:pointer;color:#aaa;} | |
| </style> | |
| </head> | |
| <body> | |
| <nav> | |
| <div class="nav-logo">Market<span>Go</span></div> | |
| <div class="nav-links"><a href="#">ํ</a><a href="#">๋ฒ ์คํธ</a><a href="#">์ ์ํ</a><a href="#">ํน๊ฐ</a></div> | |
| <div class="nav-right"><button>๐</button><button>๐</button><button>๐ค</button></div> | |
| </nav> | |
| <div class="sa-notice" id="sa-notice"> | |
| <button class="sa-nclose" onclick="document.getElementById('sa-notice').remove()">ร</button> | |
| <strong>๐ SiteAgent ํ ์ค ์ฝ์ ๋ฐ๋ชจ</strong> | |
| ์ด ์ผํ๋ชฐ์ ์คํฌ๋ฆฝํธ <b>๋จ ํ ์ค</b>๋ก<br>SiteAgent AI๊ฐ ์๋ํฉ๋๋ค.<br> | |
| ์ฐ์ธก ํ๋จ ๐ค ๋ฒํผ์ ํด๋ฆญํ์ธ์. | |
| <code><script src="https://ginigen-ai-siteagent.hf.space/sa-widget.js"></script></code> | |
| </div> | |
| <div class="hero"> | |
| <div class="hero-text"> | |
| <h1>์ค๋์ <em>ํน๊ฐ</em><br>๋์น์ง ๋ง์ธ์</h1> | |
| <p>๋งค์ผ ์ค์ 10์, ์ดํน๊ฐ ์ํ์ ํ์ ์๋ ๊ณต๊ฐํฉ๋๋ค.<br>AI๊ฐ ์ต์ ๊ฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ถ์ํด ๋๋ฆฝ๋๋ค.</p> | |
| <a href="#" class="hero-btn">ํน๊ฐ ๋ณด๋ฌ๊ฐ๊ธฐ โ</a> | |
| </div> | |
| <div class="hero-badge"><div class="num">73%</div><div class="lbl">์ค๋์ ์ต๋ ํ ์ธ์จ</div></div> | |
| </div> | |
| <div class="cats"> | |
| <a href="#" class="active">์ ์ฒด</a><a href="#">๊ฐ์ ยท๋์งํธ</a><a href="#">ํจ์ ยท์๋ฅ</a><a href="#">์ํยท๊ฑด๊ฐ</a><a href="#">๋ทฐํฐยท์ํ</a><a href="#">์คํฌ์ธ ยท๋ ์ </a> | |
| </div> | |
| <div class="section"> | |
| <div class="sec-hd"><h2>๐ฅ ์ค๋์ ์ธ๊ธฐ์ํ</h2><a href="#">๋๋ณด๊ธฐ โ</a></div> | |
| <div class="products"> | |
| <div class="card"><div class="card-img">๐ป</div><div class="card-body"><div class="card-badge">ํน๊ฐ</div><div class="card-name">์ผ์ฑ ๊ฐค๋ญ์๋ถ4 Pro</div><div class="card-sub">16์ธ์น ยท 32GB</div><div class="card-price"><s>2,890,000์</s>1,990,000์<em>31%โ</em></div></div></div> | |
| <div class="card"><div class="card-img">๐ฑ</div><div class="card-body"><div class="card-badge">์ธ๊ธฐ</div><div class="card-name">์์ดํฐ 16 Pro 256GB</div><div class="card-sub">์์ฐํฐํ๋ ยท ์๊ธ์ </div><div class="card-price"><s>1,750,000์</s>1,490,000์<em>15%โ</em></div></div></div> | |
| <div class="card"><div class="card-img">๐ง</div><div class="card-body"><div class="card-badge">ํน๊ฐ</div><div class="card-name">์๋ WH-1000XM6</div><div class="card-sub">๋ ธ์ด์ฆ์บ์ฌ๋ง ยท ๋ฌด์ </div><div class="card-price"><s>459,000์</s>289,000์<em>37%โ</em></div></div></div> | |
| <div class="card"><div class="card-img">โ</div><div class="card-body"><div class="card-badge">์ ์</div><div class="card-name">๊ฐค๋ญ์ ์์น7 ์ธํธ๋ผ</div><div class="card-sub">47mm ยท ํฐํ๋</div><div class="card-price"><s>799,000์</s>629,000์<em>21%โ</em></div></div></div> | |
| <div class="card"><div class="card-img">๐ฅ๏ธ</div><div class="card-body"><div class="card-badge">ํน๊ฐ</div><div class="card-name">LG ์ธํธ๋ผํ์ธ OLED 27์ธ์น</div><div class="card-sub">4K ยท 120Hz</div><div class="card-price"><s>1,290,000์</s>890,000์<em>31%โ</em></div></div></div> | |
| <div class="card"><div class="card-img">๐ฎ</div><div class="card-body"><div class="card-badge">ํ์ </div><div class="card-name">PS5 ์ฌ๋ฆผ ๋์คํฌ ์๋์ </div><div class="card-sub">+๋์ผ์ผ์ค ์ปจํธ๋กค๋ฌ</div><div class="card-price"><s>729,000์</s>589,000์<em>19%โ</em></div></div></div> | |
| </div> | |
| </div> | |
| <div class="banner-row"> | |
| <div class="banner banner-a"><div class="banner-ic">๐</div><h3>๋ก์ผ๋ฐฐ์ก ์ค๋ ์ฃผ๋ฌธ โ ๋ด์ผ ๋์ฐฉ</h3><p>์คํ 3์ ์ด์ ์ฃผ๋ฌธ ์ ์ต์ผ ๋ฐฐ์ก ๋ณด์ฅ</p></div> | |
| <div class="banner banner-b"><div class="banner-ic">๐ฟ</div><h3>์นํ๊ฒฝ ํจํค์ง ์ ํ ์๋ฃ</h3><p>100% ์ฌํ์ฉ ๊ฐ๋ฅํ ํฌ์ฅ์ฌ ์ฌ์ฉ</p></div> | |
| </div> | |
| <footer>ยฉ 2026 MarketGo (๊ฐ์ ๋ฐ๋ชจ ์ฌ์ดํธ) ยท SiteAgent ํ ์ค ์ฝ์ ๋ฐ๋ชจ์ฉ</footer> | |
| <!-- SiteAgent FAB --> | |
| <button id="sa-fab" onclick="saToggle()">๐ค</button> | |
| <!-- SiteAgent ํจ๋ --> | |
| <div id="sa-panel"> | |
| <div class="sa-hdr"> | |
| <span>๐ค SiteAgent AI</span> | |
| <button class="sa-close" onclick="saToggle()">ร</button> | |
| </div> | |
| <div class="sa-tabs"> | |
| <button class="sa-tab active" onclick="saTab(0,this)">โ๏ธ ๊ธ์ฐ๊ธฐ</button> | |
| <button class="sa-tab" onclick="saTab(1,this)">โญ ๋ฆฌ๋ทฐ ๋ต๋ณ</button> | |
| <button class="sa-tab" onclick="saTab(2,this)">๐ ์ผํ</button> | |
| </div> | |
| <!-- ๊ธ์ฐ๊ธฐ --> | |
| <div class="sa-body" id="sa-t0"> | |
| <select class="sa-sel" id="wr-style"> | |
| <option value="๋ธ๋ก๊ทธ">๐ ๋ธ๋ก๊ทธ</option> | |
| <option value="SNS">๐ฑ SNS</option> | |
| <option value="๋ณด๋์๋ฃ">๐ฐ ๋ณด๋์๋ฃ</option> | |
| <option value="๊ด๊ณ ์นดํผ">๐ข ๊ด๊ณ ์นดํผ</option> | |
| <option value="์ ํ๋ธ๋๋ณธ">๐ฌ ์ ํ๋ธ๋๋ณธ</option> | |
| </select> | |
| <select class="sa-sel" id="wr-tone"> | |
| <option value="์ ๋ฌธ์ ">๐ฉ ์ ๋ฌธ์ </option> | |
| <option value="์น๊ทผํ">๐ ์น๊ทผํ</option> | |
| <option value="์ ๋จธ๋ฌ์ค">๐ ์ ๋จธ๋ฌ์ค</option> | |
| </select> | |
| <input class="sa-inp" id="wr-topic" placeholder="โ๏ธ ์ฃผ์ (์: AI๊ฐ ๋ฐ๊ฟ ๋ฏธ๋ ๊ต์ก)"> | |
| <button class="sa-btn" style="background:linear-gradient(135deg,#5856D6,#0d9488);" onclick="doWrite()">โ๏ธ ๊ธ ์์ฑํ๊ธฐ</button> | |
| <div id="wr-spin" class="sa-spin" style="display:none"><div class="sa-dot"><i></i><i></i><i></i></div><div style="font-size:10px;color:#5856D6;margin-top:6px;">์์ฑ ์ค...</div></div> | |
| <div id="wr-result" class="sa-result" style="display:none"></div> | |
| <button id="wr-copy" class="sa-copy" style="display:none" onclick="saCopy('wr-result','wr-copy')">๐ ๋ณต์ฌ</button> | |
| </div> | |
| <!-- ๋ฆฌ๋ทฐ ๋ต๋ณ --> | |
| <div class="sa-body" id="sa-t1" style="display:none"> | |
| <div class="sa-store"> | |
| <div class="sa-store-lbl">๐ช ๊ฐ๊ฒ ์ ๋ณด (์๋ ์ ์ฅ)</div> | |
| <input class="sa-inp" id="rv-name" placeholder="๊ฐ๊ฒ๋ช " style="margin-bottom:4px"> | |
| <input class="sa-inp" id="rv-type" placeholder="์ ์ข (์: ํ์, ์นํจ)" style="margin-bottom:4px"> | |
| <input class="sa-inp" id="rv-menu" placeholder="๋ํ ๋ฉ๋ด" style="margin-bottom:4px"> | |
| <input class="sa-inp" id="rv-str" placeholder="๊ฐ์ " style="margin-bottom:0"> | |
| </div> | |
| <textarea class="sa-ta" id="rv-text" rows="4" placeholder="๊ณ ๊ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ถ์ฌ๋ฃ์ผ์ธ์..."></textarea> | |
| <button class="sa-btn" style="background:linear-gradient(135deg,#f59e0b,#ef4444);" onclick="doReview()">โญ ๋ต๋ณ ์์ฑํ๊ธฐ</button> | |
| <div id="rv-spin" class="sa-spin" style="display:none"><div class="sa-dot"><i></i><i></i><i></i></div><div style="font-size:10px;color:#f59e0b;margin-top:6px;">๋ถ์ ์ค...</div></div> | |
| <div id="rv-result" class="sa-result" style="display:none"></div> | |
| <button id="rv-copy" class="sa-copy" style="display:none" onclick="saCopy('rv-result','rv-copy')">๐ ๋ณต์ฌ</button> | |
| </div> | |
| <!-- ์ผํ --> | |
| <div class="sa-body" id="sa-t2" style="display:none"> | |
| <input class="sa-inp" id="sh-q" placeholder="๐ ๊ฒ์์ด (์: ์์ดํจ๋ ํ๋ก)"> | |
| <button class="sa-btn" style="background:linear-gradient(135deg,#f59e0b,#f97316);" onclick="doShop()">๐ ๊ฒ์ํ๊ธฐ</button> | |
| <div id="sh-spin" class="sa-spin" style="display:none"><div class="sa-dot"><i></i><i></i><i></i></div><div style="font-size:10px;color:#f59e0b;margin-top:6px;">๊ฒ์ ์ค...</div></div> | |
| <div id="sh-result"></div> | |
| </div> | |
| </div> | |
| <script> | |
| var SA = 'https://ginigen-ai-siteagent.hf.space'; | |
| function saToggle(){ | |
| var p = document.getElementById('sa-panel'); | |
| var open = p.classList.toggle('open'); | |
| if(open){ | |
| try{ | |
| var s = JSON.parse(localStorage.getItem('__sa_rv_store')||'{}'); | |
| if(s.store_name) document.getElementById('rv-name').value = s.store_name; | |
| if(s.store_type) document.getElementById('rv-type').value = s.store_type; | |
| if(s.menu) document.getElementById('rv-menu').value = s.menu; | |
| if(s.strengths) document.getElementById('rv-str').value = s.strengths; | |
| }catch(e){} | |
| } | |
| } | |
| function saTab(n, el){ | |
| for(var i=0;i<3;i++){ | |
| document.getElementById('sa-t'+i).style.display = i===n?'block':'none'; | |
| } | |
| document.querySelectorAll('.sa-tab').forEach(function(t,i){ | |
| t.classList.toggle('active', i===n); | |
| }); | |
| } | |
| function saCopy(rid, bid){ | |
| var txt = document.getElementById(rid).textContent; | |
| navigator.clipboard.writeText(txt).then(function(){ | |
| var b = document.getElementById(bid); | |
| b.textContent = 'โ ๋ณต์ฌ๋จ'; | |
| setTimeout(function(){ b.textContent = '๐ ๋ณต์ฌ'; }, 1500); | |
| }); | |
| } | |
| function doWrite(){ | |
| var topic = document.getElementById('wr-topic').value.trim(); | |
| if(!topic){ alert('์ฃผ์ ๋ฅผ ์ ๋ ฅํ์ธ์'); return; } | |
| var style = document.getElementById('wr-style').value; | |
| var tone = document.getElementById('wr-tone').value; | |
| document.getElementById('wr-spin').style.display='block'; | |
| document.getElementById('wr-result').style.display='none'; | |
| document.getElementById('wr-copy').style.display='none'; | |
| fetch(SA+'/api/writer',{method:'POST',headers:{'Content-Type':'application/json'}, | |
| body:JSON.stringify({style:style,tone:tone,topic:topic,context:''}),mode:'cors' | |
| }).then(function(r){return r.json();}).then(function(d){ | |
| document.getElementById('wr-spin').style.display='none'; | |
| if(!d.ok){alert(d.error||'์ค๋ฅ');return;} | |
| document.getElementById('wr-result').textContent=d.content; | |
| document.getElementById('wr-result').style.display='block'; | |
| document.getElementById('wr-copy').style.display='inline-block'; | |
| }).catch(function(e){document.getElementById('wr-spin').style.display='none';alert('์ค๋ฅ: '+e.message);}); | |
| } | |
| function doReview(){ | |
| var txt = document.getElementById('rv-text').value.trim(); | |
| if(!txt){alert('๋ฆฌ๋ทฐ ๋ด์ฉ์ ์ ๋ ฅํ์ธ์');return;} | |
| var sd={store_name:document.getElementById('rv-name').value.trim(), | |
| store_type:document.getElementById('rv-type').value.trim(), | |
| menu:document.getElementById('rv-menu').value.trim(), | |
| strengths:document.getElementById('rv-str').value.trim()}; | |
| try{localStorage.setItem('__sa_rv_store',JSON.stringify(sd));}catch(e){} | |
| document.getElementById('rv-spin').style.display='block'; | |
| document.getElementById('rv-result').style.display='none'; | |
| document.getElementById('rv-copy').style.display='none'; | |
| fetch(SA+'/api/review',{method:'POST',headers:{'Content-Type':'application/json'}, | |
| body:JSON.stringify({review_text:txt,store_name:sd.store_name,store_type:sd.store_type, | |
| menu:sd.menu,strengths:sd.strengths,reply_style:'๊ณต์ํ๊ณ ๋ฐ๋ปํ๊ฒ'}),mode:'cors' | |
| }).then(function(r){return r.json();}).then(function(d){ | |
| document.getElementById('rv-spin').style.display='none'; | |
| if(!d.ok){alert(d.error||'์ค๋ฅ');return;} | |
| document.getElementById('rv-result').textContent=d.reply; | |
| document.getElementById('rv-result').style.display='block'; | |
| document.getElementById('rv-copy').style.display='inline-block'; | |
| }).catch(function(e){document.getElementById('rv-spin').style.display='none';alert('์ค๋ฅ: '+e.message);}); | |
| } | |
| function doShop(){ | |
| var q = document.getElementById('sh-q').value.trim(); | |
| if(!q){alert('๊ฒ์์ด๋ฅผ ์ ๋ ฅํ์ธ์');return;} | |
| document.getElementById('sh-spin').style.display='block'; | |
| document.getElementById('sh-result').innerHTML=''; | |
| fetch(SA+'/api/shopping',{method:'POST',headers:{'Content-Type':'application/json'}, | |
| body:JSON.stringify({query:q,sort:'sim'}),mode:'cors' | |
| }).then(function(r){return r.json();}).then(function(d){ | |
| document.getElementById('sh-spin').style.display='none'; | |
| if(!d.ok){document.getElementById('sh-result').innerHTML='<p style="color:#e11d48;font-size:11px;">'+d.error+'</p>';return;} | |
| var html=''; | |
| (d.items||[]).slice(0,6).forEach(function(it){ | |
| html+='<div class="sa-shop-item">' | |
| +'<img class="sa-shop-img" src="'+it.image+'" onerror="this.style.background=\'#eee\';this.src=\'\'">' | |
| +'<div class="sa-shop-info">' | |
| +'<div class="sa-shop-name">'+it.title+'</div>' | |
| +'<div class="sa-shop-price">'+it.price.toLocaleString()+'์</div>' | |
| +'<div class="sa-shop-mall">'+it.mall+'</div>' | |
| +'</div>' | |
| +'<a class="sa-shop-link" href="'+it.link+'" target="_blank">๊ตฌ๋งค</a>' | |
| +'</div>'; | |
| }); | |
| document.getElementById('sh-result').innerHTML=html||'<p style="font-size:11px;color:#888;padding:10px 0;">๊ฒฐ๊ณผ ์์</p>'; | |
| }).catch(function(e){document.getElementById('sh-spin').style.display='none';alert('์ค๋ฅ: '+e.message);}); | |
| } | |
| </script> | |
| </body> | |
| </html> |