FV - Preview Vistas

Preview vistas you don't own

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         FV - Preview Vistas
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Preview vistas you don't own
// @author       msjanny
// @match        https://www.furvilla.com/forums/settings
// @grant       GM_addStyle
// ==/UserScript==

(function() {
  'use strict';
  /* globals $:false */

  GM_addStyle(".thread-user-info {min-height: 700px;}\
               .well {margin-top: 20px;}\
               .museum {max-width: 100px; float: left; margin-right: 20px; text-align: center;}\
               .thread-user-info {background-position: center top; background-repeat: no-repeat;}\
               #found a {width: 92.8px; display: inline-block;}");

  function searchByID(item_id) {
    var url = "https://www.furvilla.com/museum/item/" + item_id;
    $.get(url, function( data ) {
      var result = $.parseHTML(data);
  
      var vistaName = $("h1", result).text().substring(7);
      var vistaDesc = $(".help-block i", result).text();
      var artist = vistaDesc.indexOf("#") !== -1 ? vistaDesc.split('#')[1].split(' ')[0] : "";
      var itemURL = $(".margin-2em img", result).attr("src");
      var vistaURL = "https://www.furvilla.com/img/vistas/" + itemURL.split('/')[6];

      //set vista
      $(".thread-user-info").css("background-image", "url(" + vistaURL + ")");

      //display info about vista
      if (artist) {
        $("#preview").html($(`<h2>Preview</h2><a href="${url}" class="museum"> <img src="${itemURL}"><br>${vistaName}</a><a href="https://www.furvilla.com/profile/${artist.replace(/\D/g,'')}">${vistaDesc}</a><div class="clearfix"></div>`));
        $("#preview").show();
      }
      else
        $("#preview").html($(`<h2>Preview</h2><a href="${url}" class="museum"> <img src="${itemURL}"><br>${vistaName}</a>
        ${vistaDesc}<div class="clearfix"></div>`));
        $("#preview").show();
    });
  }


  $(document).ready(function(){
    //add HTML elements
    $(".thread-user-post-middle").append($('<div class="well" id="vista-settings"><h2>Search Vistas</h2><div class="form-group row" style=" position: relative; "><div class="col-xs-4"><div class=""> <label for="item_name">Item Name </label></div><div class=""> <input class="form-control" name="item_name" type="text" id="item_name"></div></div><div class="col-xs-4"><div class=""> <label for="item_id">Item ID </label></div><div class=""> <input class="form-control" name="item_id" type="text" id="item_id"></div></div><input class="btn pull-right" id="search_vistas" type="submit" style=" bottom: 0; position: absolute; width: 30%; " value="Search"/></div></div><div class="well" id="found" style="display: none;"></div><div class="well" id="preview" style="display: none;"></div>'));
 
    //add functionality to search button
    $("#search_vistas").click(function() {
      //retrieve search values
      var item_id = $("#item_id").val();
      if (item_id) {
        $("#found").hide();
        searchByID(item_id);
      }
      else
      {
        var url = "https://www.furvilla.com/museum/items?&is_vista=1&name=" + $("#item_name").val();

        $.get(url, function( data ) {
          var result = $.parseHTML(data);
          var items = $(".inventory a", result);

          //clear display & list # of results found
          $("#found").empty();
          $("#found").append($(`<h2>${items.length} Result(s) - maximum 20</h2>`));

          items.each(function (i, v) {
            //replace hover with name of item, then remove .name
            var name = $(this).find(".name");
            $(this).find("img").attr("title", name.text());
            name.remove();
            //replace link with item ID
            var item_id = $(this).attr("href").split('/')[3];
            $(this).attr("href", "#" + item_id);
            $(this).click(function() {
              searchByID(item_id);
            });
            $("#found").append($(this));
            $("#found").show();
          });
        });
      }
    });
  });

})();