@orchyn/mcp 1.17.7 → 1.17.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/shared/ui-template.js +70 -7
- package/package.json +1 -1
|
@@ -32,8 +32,9 @@ export const ORCHYN_UI_TEMPLATE = `<!DOCTYPE html>
|
|
|
32
32
|
--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.3);
|
|
33
33
|
--shadow-lg:0 8px 24px rgba(0,0,0,.4);
|
|
34
34
|
}}
|
|
35
|
+
html{overflow-x:hidden;overflow-y:auto}
|
|
35
36
|
*{margin:0;padding:0;box-sizing:border-box;}
|
|
36
|
-
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--fg);padding:16px;line-height:1.5;}
|
|
37
|
+
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--fg);padding:16px;line-height:1.5;overflow-x:hidden;}
|
|
37
38
|
|
|
38
39
|
/* ─── Content entrance ─── */
|
|
39
40
|
.fade-in{animation:fadeIn .4s ease-out;}
|
|
@@ -49,8 +50,18 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
49
50
|
.stagger>*:nth-child(8){animation-delay:.4s}
|
|
50
51
|
|
|
51
52
|
/* ─── Cards ─── */
|
|
52
|
-
.gallery{
|
|
53
|
-
.
|
|
53
|
+
.gallery-wrap{position:relative;margin:0 -4px;overflow:visible}
|
|
54
|
+
.gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 4px 8px;scrollbar-width:none;width:100%;}
|
|
55
|
+
.gallery::-webkit-scrollbar{display:none}
|
|
56
|
+
.gallery-dots{display:flex;justify-content:center;gap:6px;margin-top:10px;flex-wrap:wrap}
|
|
57
|
+
.gallery-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:var(--transition);padding:0}
|
|
58
|
+
.gallery-dots .dot.active{background:var(--accent);transform:scale(1.3)}
|
|
59
|
+
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-md);cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--fg);transition:var(--transition);opacity:0}
|
|
60
|
+
.gallery-wrap:hover .gallery-nav{opacity:1}
|
|
61
|
+
.gallery-nav:hover{background:var(--accent);color:#fff}
|
|
62
|
+
.gallery-nav.prev{left:2px}
|
|
63
|
+
.gallery-nav.next{right:2px}
|
|
64
|
+
.card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;width:380px;min-width:380px;background:var(--card);display:block;box-shadow:var(--shadow-sm);transition:var(--transition);cursor:default;scroll-snap-align:start;flex-shrink:0}
|
|
54
65
|
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--muted);}
|
|
55
66
|
.card-wide{width:100%;}
|
|
56
67
|
.card img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .3s ease;}
|
|
@@ -487,6 +498,58 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
487
498
|
return result;
|
|
488
499
|
}
|
|
489
500
|
|
|
501
|
+
var galleryId=0;
|
|
502
|
+
function galleryWrap(cardsHtml,count){
|
|
503
|
+
var id="gal"+(galleryId++);
|
|
504
|
+
if(count<=1)return cardsHtml;
|
|
505
|
+
var dots="";
|
|
506
|
+
for(var i=0;i<count;i++)dots+='<button class="dot'+(i===0?" active":"")+'" data-g="'+id+'" data-i="'+i+'"></button>';
|
|
507
|
+
return '<div class="gallery-wrap fade-in">'
|
|
508
|
+
+'<button class="gallery-nav prev" data-gnav="'+id+'" data-dir="-1">\u2039</button>'
|
|
509
|
+
+'<div class="gallery" id="'+id+'">'+cardsHtml+'</div>'
|
|
510
|
+
+'<button class="gallery-nav next" data-gnav="'+id+'" data-dir="1">\u203a</button>'
|
|
511
|
+
+'<div class="gallery-dots" id="'+id+'-dots">'+dots+'</div>'
|
|
512
|
+
+'</div>';
|
|
513
|
+
}
|
|
514
|
+
function initGalleryNav(){
|
|
515
|
+
document.addEventListener('click',function(e){
|
|
516
|
+
var navBtn=e.target.closest('.gallery-nav[data-gnav]');
|
|
517
|
+
if(navBtn){
|
|
518
|
+
var g=document.getElementById(navBtn.getAttribute('data-gnav'));
|
|
519
|
+
if(!g)return;
|
|
520
|
+
var dir=Number(navBtn.getAttribute('data-dir'));
|
|
521
|
+
var cardW=g.querySelector('.card')?.offsetWidth||380;
|
|
522
|
+
g.scrollBy({left:dir*(cardW+12),behavior:'smooth'});
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
var dotBtn=e.target.closest('.dot[data-g]');
|
|
526
|
+
if(dotBtn){
|
|
527
|
+
var gId=dotBtn.getAttribute('data-g');
|
|
528
|
+
var g=document.getElementById(gId);
|
|
529
|
+
var dots=document.getElementById(gId+'-dots');
|
|
530
|
+
if(!g||!dots)return;
|
|
531
|
+
var idx=Number(dotBtn.getAttribute('data-i'));
|
|
532
|
+
var cards=g.querySelectorAll('.card');
|
|
533
|
+
if(cards[idx])cards[idx].scrollIntoView({behavior:'smooth',block:'nearest',inline:'start'});
|
|
534
|
+
dots.querySelectorAll('.dot').forEach(function(d){d.classList.remove('active')});
|
|
535
|
+
dotBtn.classList.add('active');
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
document.addEventListener('scroll',function(e){
|
|
539
|
+
if(!e.target.classList||!e.target.classList.contains('gallery'))return;
|
|
540
|
+
var g=e.target;var gId=g.id;
|
|
541
|
+
var dots=document.getElementById(gId+'-dots');
|
|
542
|
+
if(!dots)return;
|
|
543
|
+
var cards=g.querySelectorAll('.card');
|
|
544
|
+
if(!cards.length)return;
|
|
545
|
+
var scrollLeft=g.scrollLeft;var cardW=cards[0].offsetWidth+12;
|
|
546
|
+
var active=Math.round(scrollLeft/cardW);
|
|
547
|
+
active=Math.max(0,Math.min(active,cards.length-1));
|
|
548
|
+
dots.querySelectorAll('.dot').forEach(function(d,i){d.classList.toggle('active',i===active)});
|
|
549
|
+
},true);
|
|
550
|
+
}
|
|
551
|
+
initGalleryNav();
|
|
552
|
+
|
|
490
553
|
function render(result){
|
|
491
554
|
var app=document.getElementById("app");if(!app)return;
|
|
492
555
|
var d=extractResult(result);
|
|
@@ -499,11 +562,11 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
499
562
|
// Posts gallery
|
|
500
563
|
if(d.posts&&Array.isArray(d.posts)){
|
|
501
564
|
if(!d.posts.length){app.innerHTML='<div class="empty-state fade-in"><div class="icon">🔍</div><div class="text">No posts found</div></div>';return;}
|
|
502
|
-
app.innerHTML=
|
|
565
|
+
app.innerHTML=galleryWrap(d.posts.map(function(p){return postCard(p,false);}).join(""),d.posts.length);return;}
|
|
503
566
|
// Creators
|
|
504
567
|
if(d.creators&&Array.isArray(d.creators)){
|
|
505
568
|
if(!d.creators.length){app.innerHTML='<div class="empty-state fade-in"><div class="icon">👤</div><div class="text">No creators found</div></div>';return;}
|
|
506
|
-
app.innerHTML=
|
|
569
|
+
app.innerHTML=galleryWrap(d.creators.map(function(c){return creatorCard(c);}).join(""),d.creators.length);return;}
|
|
507
570
|
// Comments
|
|
508
571
|
if(d.comments&&Array.isArray(d.comments)){
|
|
509
572
|
var ch=d.comments.slice(0,15).map(function(c){
|
|
@@ -516,7 +579,7 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
516
579
|
+'<div style="font-size:16px;font-weight:700;margin-bottom:12px">💬 Comments ('+d.comments.length+')</div>'+ch+"</div></div>";return;}
|
|
517
580
|
// Sounds
|
|
518
581
|
if(d.sounds&&Array.isArray(d.sounds)){
|
|
519
|
-
app.innerHTML=
|
|
582
|
+
app.innerHTML=galleryWrap(d.sounds.map(function(s){
|
|
520
583
|
var color=pColor(s.platform||"tiktok");
|
|
521
584
|
var cover=s.coverUrl?'<img class="sound-cover" src="'+esc(s.coverUrl)+'" alt="cover" loading="lazy"/>'
|
|
522
585
|
:'<div class="sound-cover" style="background:'+color+'15;display:flex;align-items:center;justify-content:center;font-size:26px">🎵</div>';
|
|
@@ -527,7 +590,7 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
527
590
|
+'<div style="font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">'+esc(s.title||"")+"</div>"
|
|
528
591
|
+'<div style="font-size:12px;color:var(--muted)">'+esc(s.artist||s.author||"")+(s.duration?" • "+esc(s.duration):"")+"</div>"
|
|
529
592
|
+playBtn+"</div></div></div>";
|
|
530
|
-
}).join("")
|
|
593
|
+
}).join(""),d.sounds.length);return;}
|
|
531
594
|
// Credits
|
|
532
595
|
if(d.balance!=null||d.tier){
|
|
533
596
|
var bal=Number(d.balance)||0,tier=d.tier||"",ff=d.firstFreeTools||[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orchyn/mcp",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.9",
|
|
4
4
|
"description": "MCP server for orchyn - fetch, discover and understand TikTok/Instagram/YouTube/X/LinkedIn posts with AI (media metadata, niche discovery, hook & viral analysis)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|