@orchyn/mcp 1.17.7 → 1.17.8
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 +68 -6
- package/package.json +1 -1
|
@@ -49,8 +49,18 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
49
49
|
.stagger>*:nth-child(8){animation-delay:.4s}
|
|
50
50
|
|
|
51
51
|
/* ─── Cards ─── */
|
|
52
|
-
.gallery
|
|
53
|
-
.
|
|
52
|
+
.gallery-wrap{position:relative;margin:0 -4px}
|
|
53
|
+
.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}
|
|
54
|
+
.gallery::-webkit-scrollbar{display:none}
|
|
55
|
+
.gallery-dots{display:flex;justify-content:center;gap:6px;margin-top:10px;flex-wrap:wrap}
|
|
56
|
+
.gallery-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:var(--transition);padding:0}
|
|
57
|
+
.gallery-dots .dot.active{background:var(--accent);transform:scale(1.3)}
|
|
58
|
+
.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}
|
|
59
|
+
.gallery-wrap:hover .gallery-nav{opacity:1}
|
|
60
|
+
.gallery-nav:hover{background:var(--accent);color:#fff}
|
|
61
|
+
.gallery-nav.prev{left:-16px}
|
|
62
|
+
.gallery-nav.next{right:-16px}
|
|
63
|
+
.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
64
|
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--muted);}
|
|
55
65
|
.card-wide{width:100%;}
|
|
56
66
|
.card img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .3s ease;}
|
|
@@ -487,6 +497,58 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
487
497
|
return result;
|
|
488
498
|
}
|
|
489
499
|
|
|
500
|
+
var galleryId=0;
|
|
501
|
+
function galleryWrap(cardsHtml,count){
|
|
502
|
+
var id="gal"+(galleryId++);
|
|
503
|
+
if(count<=1)return cardsHtml;
|
|
504
|
+
var dots="";
|
|
505
|
+
for(var i=0;i<count;i++)dots+='<button class="dot'+(i===0?" active":"")+'" data-g="'+id+'" data-i="'+i+'"></button>';
|
|
506
|
+
return '<div class="gallery-wrap fade-in">'
|
|
507
|
+
+'<button class="gallery-nav prev" data-gnav="'+id+'" data-dir="-1">\u2039</button>'
|
|
508
|
+
+'<div class="gallery" id="'+id+'">'+cardsHtml+'</div>'
|
|
509
|
+
+'<button class="gallery-nav next" data-gnav="'+id+'" data-dir="1">\u203a</button>'
|
|
510
|
+
+'<div class="gallery-dots" id="'+id+'-dots">'+dots+'</div>'
|
|
511
|
+
+'</div>';
|
|
512
|
+
}
|
|
513
|
+
function initGalleryNav(){
|
|
514
|
+
document.addEventListener('click',function(e){
|
|
515
|
+
var navBtn=e.target.closest('.gallery-nav[data-gnav]');
|
|
516
|
+
if(navBtn){
|
|
517
|
+
var g=document.getElementById(navBtn.getAttribute('data-gnav'));
|
|
518
|
+
if(!g)return;
|
|
519
|
+
var dir=Number(navBtn.getAttribute('data-dir'));
|
|
520
|
+
var cardW=g.querySelector('.card')?.offsetWidth||380;
|
|
521
|
+
g.scrollBy({left:dir*(cardW+12),behavior:'smooth'});
|
|
522
|
+
return;
|
|
523
|
+
}
|
|
524
|
+
var dotBtn=e.target.closest('.dot[data-g]');
|
|
525
|
+
if(dotBtn){
|
|
526
|
+
var gId=dotBtn.getAttribute('data-g');
|
|
527
|
+
var g=document.getElementById(gId);
|
|
528
|
+
var dots=document.getElementById(gId+'-dots');
|
|
529
|
+
if(!g||!dots)return;
|
|
530
|
+
var idx=Number(dotBtn.getAttribute('data-i'));
|
|
531
|
+
var cards=g.querySelectorAll('.card');
|
|
532
|
+
if(cards[idx])cards[idx].scrollIntoView({behavior:'smooth',block:'nearest',inline:'start'});
|
|
533
|
+
dots.querySelectorAll('.dot').forEach(function(d){d.classList.remove('active')});
|
|
534
|
+
dotBtn.classList.add('active');
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
document.addEventListener('scroll',function(e){
|
|
538
|
+
if(!e.target.classList||!e.target.classList.contains('gallery'))return;
|
|
539
|
+
var g=e.target;var gId=g.id;
|
|
540
|
+
var dots=document.getElementById(gId+'-dots');
|
|
541
|
+
if(!dots)return;
|
|
542
|
+
var cards=g.querySelectorAll('.card');
|
|
543
|
+
if(!cards.length)return;
|
|
544
|
+
var scrollLeft=g.scrollLeft;var cardW=cards[0].offsetWidth+12;
|
|
545
|
+
var active=Math.round(scrollLeft/cardW);
|
|
546
|
+
active=Math.max(0,Math.min(active,cards.length-1));
|
|
547
|
+
dots.querySelectorAll('.dot').forEach(function(d,i){d.classList.toggle('active',i===active)});
|
|
548
|
+
},true);
|
|
549
|
+
}
|
|
550
|
+
initGalleryNav();
|
|
551
|
+
|
|
490
552
|
function render(result){
|
|
491
553
|
var app=document.getElementById("app");if(!app)return;
|
|
492
554
|
var d=extractResult(result);
|
|
@@ -499,11 +561,11 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
499
561
|
// Posts gallery
|
|
500
562
|
if(d.posts&&Array.isArray(d.posts)){
|
|
501
563
|
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=
|
|
564
|
+
app.innerHTML=galleryWrap(d.posts.map(function(p){return postCard(p,false);}).join(""),d.posts.length);return;}
|
|
503
565
|
// Creators
|
|
504
566
|
if(d.creators&&Array.isArray(d.creators)){
|
|
505
567
|
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=
|
|
568
|
+
app.innerHTML=galleryWrap(d.creators.map(function(c){return creatorCard(c);}).join(""),d.creators.length);return;}
|
|
507
569
|
// Comments
|
|
508
570
|
if(d.comments&&Array.isArray(d.comments)){
|
|
509
571
|
var ch=d.comments.slice(0,15).map(function(c){
|
|
@@ -516,7 +578,7 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
516
578
|
+'<div style="font-size:16px;font-weight:700;margin-bottom:12px">💬 Comments ('+d.comments.length+')</div>'+ch+"</div></div>";return;}
|
|
517
579
|
// Sounds
|
|
518
580
|
if(d.sounds&&Array.isArray(d.sounds)){
|
|
519
|
-
app.innerHTML=
|
|
581
|
+
app.innerHTML=galleryWrap(d.sounds.map(function(s){
|
|
520
582
|
var color=pColor(s.platform||"tiktok");
|
|
521
583
|
var cover=s.coverUrl?'<img class="sound-cover" src="'+esc(s.coverUrl)+'" alt="cover" loading="lazy"/>'
|
|
522
584
|
:'<div class="sound-cover" style="background:'+color+'15;display:flex;align-items:center;justify-content:center;font-size:26px">🎵</div>';
|
|
@@ -527,7 +589,7 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
|
|
|
527
589
|
+'<div style="font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">'+esc(s.title||"")+"</div>"
|
|
528
590
|
+'<div style="font-size:12px;color:var(--muted)">'+esc(s.artist||s.author||"")+(s.duration?" • "+esc(s.duration):"")+"</div>"
|
|
529
591
|
+playBtn+"</div></div></div>";
|
|
530
|
-
}).join("")
|
|
592
|
+
}).join(""),d.sounds.length);return;}
|
|
531
593
|
// Credits
|
|
532
594
|
if(d.balance!=null||d.tier){
|
|
533
595
|
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.8",
|
|
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",
|