Widget:CampaignCards: Difference between revisions

From Unforgotten Realms Wiki
Jump to navigationJump to search
Support absolute Rawb.art playlist links
Group DeadRealms and NewRealms cards with Specials
 
(2 intermediate revisions by the same user not shown)
Line 58: Line 58:
$(".campaignbox[data-season='Season 3']").wrapAll("<div id='Season_Three_Campaigns' class='season-wrap season-holder'></div>");
$(".campaignbox[data-season='Season 3']").wrapAll("<div id='Season_Three_Campaigns' class='season-wrap season-holder'></div>");
$(".campaignbox[data-season='Season 4']").wrapAll("<div id='Season_Four_Campaigns' class='season-wrap season-holder'></div>");
$(".campaignbox[data-season='Season 4']").wrapAll("<div id='Season_Four_Campaigns' class='season-wrap season-holder'></div>");
$(".campaignbox[data-season='Specials'], .campaignbox[data-season='DeadRealms'], .campaignbox[data-season='NewRealms']").wrapAll("<div id='Specials_Campaigns' class='season-wrap season-holder'></div>");


function scrollToCampaignsTop() {
var target = $(".campaign-holder").offset();
if (!target) {
  return;
}
$("html, body").stop(true).animate({ scrollTop: Math.max(target.top - 12, 0) }, 250);
}


  function openCard(card) {
  function openCard(card) {
Line 66: Line 74:
var ht = $(card).attr("data-height");
var ht = $(card).attr("data-height");
$(".campaignbox:not('div#" + id + "')").hide();
$(".campaignbox:not('div#" + id + "')").hide();
scrollToCampaignsTop();
     $("div#" + id + " .campaignbox-card").fadeOut("slow");
     $("div#" + id + " .campaignbox-card").fadeOut("slow");
     $("div#" + id + ".campaignbox").animate({width:"662px", height: ht}, function() {
     $("div#" + id + ".campaignbox").animate({width:"662px", height: ht}, function() {

Latest revision as of 01:48, 1 May 2026

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>

<script> $('head').append('<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">');

var series1 = [];

var obj = {};

 obj["name"] = "";
 obj["image"] = "";
 obj["season"] = "";
 obj["color"] = "";
 obj["description"] = ;
 obj["key"] = "";
 obj["date"] = "";
 obj["height"] = "";
 obj["characters"] = "";
 obj["playlist"] = "";
 series1.push(obj);

for(var i = 0; i < series1.length; i++){ var playlistHref = series1[i].playlist || ""; var playlistClass = ""; if (/^https?:\/\//.test(playlistHref)) {

 playlistClass = "rawb-link";

} else {

 playlistHref = "http://youtube.com/" + playlistHref;

}

$(".campaign-holder").append('

<img class="campaignbox-image" src="' + series1[i].image + '">

' + series1[i].season + '

' + series1[i].name + '

' + series1[i].name + ' ' + series1[i].date + '

' + series1[i].description + '

'+ series1[i].characters +'

<a class="' + playlistClass + '" href="' + playlistHref + '"> Playlist</a>

');

}

$(".campaignbox-content-characters a").each(function() { var title = $(this).attr("title"); $(this).removeAttr("title");

$(this).wrap("

");

$(this).after("" + title + ""); $(this).children("img").attr("alt", title);

});

$(".campaignbox-text a").each(function() { //var text = $(this).text(); //$(this).after("" + text + ""); //$(this).remove(); });

$(".campaignbox-content-topbar-name a").each(function() { $(this).removeAttr("title"); });

$(".campaignbox[data-season='Season 1']").wrapAll("
"); $(".campaignbox[data-season='Season 2']").wrapAll("
"); $(".campaignbox[data-season='Season 3']").wrapAll("
"); $(".campaignbox[data-season='Season 4']").wrapAll("
"); $(".campaignbox[data-season='Specials'], .campaignbox[data-season='DeadRealms'], .campaignbox[data-season='NewRealms']").wrapAll("
");

function scrollToCampaignsTop() { var target = $(".campaign-holder").offset(); if (!target) {

 return;

} $("html, body").stop(true).animate({ scrollTop: Math.max(target.top - 12, 0) }, 250); }

function openCard(card) {

$(".season-holder").removeClass("season-wrap"); $(card).parent().attr("data-scroll", $(window).scrollTop()); var id = $(card).parent().attr("id"); var ht = $(card).attr("data-height"); $(".campaignbox:not('div#" + id + "')").hide(); scrollToCampaignsTop();

   $("div#" + id + " .campaignbox-card").fadeOut("slow");
    $("div#" + id + ".campaignbox").animate({width:"662px", height: ht}, function() {
   $("div#" + id + " .campaignbox-content").fadeIn(200);
   });
 }
 function closeCard(card) {

var id = $(card).closest(".campaignbox").attr("id");

   $("div#" + id + " .campaignbox-content").hide();
     $("div#" + id + ".campaignbox").animate({width:"185px", height:"200px"}, function() {

$(".campaignbox:not('div#" + id + "')").fadeIn();

   $("div#" + id + " .campaignbox-card").fadeIn("slow");

$(".season-holder").addClass("season-wrap"); $(window).scrollTop($("div#" + id + ".campaignbox").attr("data-scroll"));

   });

}

$(".campaignbox-text a").click(function(e) {

  e.stopPropagation();

})

</script>

<style> .season-wrap {

   min-height: 100px;
   text-align: center;
   background: rgba(68,68,68,0.2);
   border-radius: 15px;
   border: 2px solid #8b4513;
   padding: 5px;
   margin-top: 10px;

} .campaignbox-content-topbar-back {

   padding-right: 30px;

} .campaignbox-text {

   padding: 10px;
   padding-bottom: 25px;

} .campaignbox-text a{

   color: white;

} .campaignbox-card {

   cursor: pointer;

} .campaignbox-content-topbar-back:hover {

   cursor: pointer;
   color: #9c6011;

}

.campaignbox-content-topbar {

 width: 100%;

}

.campaignbox-content-topbar-name a {

 color: inherit;
 text-decoration: none;

} .campaignbox {

 width: 185px;
 height: 200px;
 border: 2px solid #F9E4CA;
 border-radius: 10px;
 overflow: hidden;
 display: inline-block;
 background: rgb(33, 33, 33);
 margin: 8px;
 vertical-align: top;

}

.campaignbox-image {

 width: 100%;
 opacity:0.85;
 margin-bottom: -5px;

} .campaignbox-content {

 padding: 10px;
 text-align: initial;
 display:none;

} .campaignbox-content-characters-characterbox-portrait {

 object-fit: cover;
 width: 60px;
 height: 125px;
 margin-bottom: 2px;

}

.campaignbox-content-characters-characterbox {

 display:inline-block;

}

.campaignbox-content-characters-characterbox-tooltip {

   overflow:auto;
   background: rgba(33,33,33,1);
   border-radius:5px;
   border: 2px solid #F9E4CA;
   padding: 5px 8px;
   color: white;
   font-family: sans-serif;
   font-size: 14px;
   max-width: 400px;
   max-height: 400px;
   white-space:pre-line;
   z-index: 200;
 position: fixed;
 display: none;

}

.campaignbox-content-topbar-date {

 text-align: right;
 width: 130px;

} </style>