refactor: Torrent metadata, use thumbs instead of full-sized images

This commit is contained in:
Oha-you
2021-05-06 14:28:00 -04:00
parent f529044f5a
commit 08b890dc59
39 changed files with 1203 additions and 599 deletions

View File

@@ -79,3 +79,48 @@ if (! function_exists('hrefCollection')) {
return sprintf('%s/mediahub/collections/%s', $appurl, $collection->id);
}
}
if (! function_exists('tmdbImage')) {
function tmdb_image($type, $original)
{
$new = 'original';
switch ($type) {
case 'back_big':
$new = 'w1280';
break;
case 'back_small':
$new = 'w780';
break;
case 'poster_big':
$new = 'w500';
break;
case 'poster_mid':
$new = 'w342';
break;
case 'poster_small':
$new = 'w92';
break;
case 'cast_face':
$new = 'w138_and_h175_face';
break;
case 'cast_mid':
$new = 'w185';
break;
case 'cast_big':
$new = 'w300';
break;
case 'still_mid':
$new = 'w400';
break;
case 'logo_small':
$new = 'h60';
break;
case 'logo_mid':
$new = 'w300';
break;
}
return \str_replace('/original/', '/'.$new.'/', $original);
}
}

372
package-lock.json generated
View File

@@ -1070,7 +1070,6 @@
"version": "7.14.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz",
"integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==",
"dev": true,
"requires": {
"regenerator-runtime": "^0.13.4"
}
@@ -1118,6 +1117,131 @@
"integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==",
"dev": true
},
"@jimp/bmp": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz",
"integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.16.1",
"bmp-js": "^0.1.0"
}
},
"@jimp/core": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz",
"integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.16.1",
"any-base": "^1.1.0",
"buffer": "^5.2.0",
"exif-parser": "^0.1.12",
"file-type": "^9.0.0",
"load-bmfont": "^1.3.1",
"mkdirp": "^0.5.1",
"phin": "^2.9.1",
"pixelmatch": "^4.0.2",
"tinycolor2": "^1.4.1"
},
"dependencies": {
"buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"file-type": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz",
"integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw=="
}
}
},
"@jimp/custom": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz",
"integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/core": "^0.16.1"
}
},
"@jimp/gif": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz",
"integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.16.1",
"gifwrap": "^0.9.2",
"omggif": "^1.0.9"
}
},
"@jimp/jpeg": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz",
"integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.16.1",
"jpeg-js": "0.4.2"
}
},
"@jimp/plugin-resize": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz",
"integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.16.1"
}
},
"@jimp/png": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz",
"integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.16.1",
"pngjs": "^3.3.3"
}
},
"@jimp/tiff": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz",
"integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"utif": "^2.0.1"
}
},
"@jimp/types": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz",
"integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/bmp": "^0.16.1",
"@jimp/gif": "^0.16.1",
"@jimp/jpeg": "^0.16.1",
"@jimp/png": "^0.16.1",
"@jimp/tiff": "^0.16.1",
"timm": "^1.6.1"
}
},
"@jimp/utils": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz",
"integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==",
"requires": {
"@babel/runtime": "^7.7.2",
"regenerator-runtime": "^0.13.3"
}
},
"@nodelib/fs.scandir": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
@@ -1389,6 +1513,11 @@
"integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
"dev": true
},
"@types/lodash": {
"version": "4.14.168",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
"integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q=="
},
"@types/micromatch": {
"version": "2.3.30",
"resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-2.3.30.tgz",
@@ -1799,6 +1928,11 @@
"color-convert": "^1.9.0"
}
},
"any-base": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
"integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
},
"anymatch": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
@@ -2109,8 +2243,7 @@
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"base64id": {
"version": "2.0.0",
@@ -2152,6 +2285,11 @@
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
"dev": true
},
"bmp-js": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz",
"integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM="
},
"bn.js": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
@@ -2386,6 +2524,11 @@
"isarray": "^1.0.0"
}
},
"buffer-equal": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
"integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs="
},
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@@ -3704,6 +3847,11 @@
}
}
},
"dom-walk": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
"integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
},
"domain-browser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
@@ -4088,6 +4236,11 @@
"strip-final-newline": "^2.0.0"
}
},
"exif-parser": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
"integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI="
},
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -4671,6 +4824,15 @@
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
"gifwrap": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz",
"integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==",
"requires": {
"image-q": "^1.1.1",
"omggif": "^1.0.10"
}
},
"glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -4712,6 +4874,15 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
"global": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
"integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
"requires": {
"min-document": "^2.19.0",
"process": "^0.11.10"
}
},
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -5223,8 +5394,7 @@
"ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"ignore": {
"version": "5.1.8",
@@ -5232,6 +5402,11 @@
"integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
"dev": true
},
"image-q": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz",
"integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY="
},
"imagemin": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz",
@@ -5549,6 +5724,11 @@
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-function": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
"integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
},
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
@@ -5730,6 +5910,11 @@
}
}
},
"jpeg-js": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz",
"integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw=="
},
"jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
@@ -5957,6 +6142,21 @@
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
"dev": true
},
"load-bmfont": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz",
"integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==",
"requires": {
"buffer-equal": "0.0.1",
"mime": "^1.3.4",
"parse-bmfont-ascii": "^1.0.3",
"parse-bmfont-binary": "^1.0.5",
"parse-bmfont-xml": "^1.1.4",
"phin": "^2.9.1",
"xhr": "^2.0.1",
"xtend": "^4.0.0"
}
},
"loader-runner": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -5997,8 +6197,7 @@
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.debounce": {
"version": "4.0.8",
@@ -6221,8 +6420,7 @@
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
"version": "1.47.0",
@@ -6245,6 +6443,14 @@
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
"min-document": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
"integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
"requires": {
"dom-walk": "^0.1.0"
}
},
"mini-css-extract-plugin": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.0.tgz",
@@ -6322,8 +6528,7 @@
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"mixin-deep": {
"version": "1.3.2",
@@ -6350,7 +6555,6 @@
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
@@ -6510,6 +6714,27 @@
"integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==",
"dev": true
},
"node-vibrant": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/node-vibrant/-/node-vibrant-3.1.6.tgz",
"integrity": "sha512-Wlc/hQmBMOu6xon12ZJHS2N3M+I6J8DhrD3Yo6m5175v8sFkVIN+UjhKVRcO+fqvre89ASTpmiFEP3nPO13SwA==",
"requires": {
"@jimp/custom": "^0.16.1",
"@jimp/plugin-resize": "^0.16.1",
"@jimp/types": "^0.16.1",
"@types/lodash": "^4.14.53",
"@types/node": "^10.11.7",
"lodash": "^4.17.20",
"url": "^0.11.0"
},
"dependencies": {
"@types/node": {
"version": "10.17.59",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.59.tgz",
"integrity": "sha512-7Uc8IRrL8yZz5ti45RaFxpbU8TxlzdC3HvxV+hOWo1EyLsuKv/w7y0n+TwZzwL3vdx3oZ2k3ubxPq131hNtXyg=="
}
}
},
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -6664,6 +6889,11 @@
"integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
"dev": true
},
"omggif": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",
"integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw=="
},
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -6795,8 +7025,7 @@
"pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
"dev": true
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
},
"param-case": {
"version": "3.0.4",
@@ -6838,6 +7067,30 @@
"safe-buffer": "^5.1.1"
}
},
"parse-bmfont-ascii": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
"integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU="
},
"parse-bmfont-binary": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
"integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY="
},
"parse-bmfont-xml": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz",
"integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==",
"requires": {
"xml-parse-from-string": "^1.0.0",
"xml2js": "^0.4.5"
}
},
"parse-headers": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz",
"integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
},
"parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
@@ -6943,12 +7196,25 @@
"sha.js": "^2.4.8"
}
},
"phin": {
"version": "2.9.3",
"resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz",
"integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA=="
},
"picomatch": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
"dev": true
},
"pixelmatch": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
"integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=",
"requires": {
"pngjs": "^3.0.0"
}
},
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -6958,6 +7224,11 @@
"find-up": "^4.0.0"
}
},
"pngjs": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
"integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w=="
},
"portfinder": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
@@ -8361,8 +8632,7 @@
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
"dev": true
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
},
"process-nextick-args": {
"version": "2.0.1",
@@ -8437,8 +8707,7 @@
"querystring": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
"dev": true
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
},
"querystring-es3": {
"version": "0.2.1",
@@ -8550,8 +8819,7 @@
"regenerator-runtime": {
"version": "0.13.7",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
"integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
"dev": true
"integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
},
"regenerator-transform": {
"version": "0.14.5",
@@ -8915,8 +9183,7 @@
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"schema-utils": {
"version": "2.7.1",
@@ -9856,12 +10123,22 @@
"setimmediate": "^1.0.4"
}
},
"timm": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz",
"integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw=="
},
"timsort": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
"dev": true
},
"tinycolor2": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz",
"integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA=="
},
"to-arraybuffer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
@@ -10103,7 +10380,6 @@
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
"requires": {
"punycode": "1.3.2",
"querystring": "0.2.0"
@@ -10112,8 +10388,7 @@
"punycode": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
}
}
},
@@ -10123,6 +10398,14 @@
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
"dev": true
},
"utif": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz",
"integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==",
"requires": {
"pako": "^1.0.5"
}
},
"util": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
@@ -10674,16 +10957,45 @@
"dev": true
},
"ws": {
"version": "7.4.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz",
"integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==",
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
"dev": true
},
"xhr": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
"integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
"requires": {
"global": "~4.4.0",
"is-function": "^1.0.1",
"parse-headers": "^2.0.0",
"xtend": "^4.0.0"
}
},
"xml-parse-from-string": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
"integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig="
},
"xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
}
},
"xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
},
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
},
"y18n": {
"version": "5.0.8",

View File

@@ -29,6 +29,7 @@
},
"dependencies": {
"dayjs": "^1.10.4",
"keen-slider": "^5.4.0"
"keen-slider": "^5.4.0",
"node-vibrant": "^3.1.6"
}
}

View File

@@ -16,7 +16,9 @@ import Vue from 'vue';
import version from './components/Version';
import chatbox from './components/chat/Chatbox';
new Vue({
el: '#vue',
components: { version: version, chatbox: chatbox }
});
if (document.getElementById('vue')) {
new Vue({
el: '#vue',
components: { version: version, chatbox: chatbox }
});
}

View File

@@ -69,4 +69,7 @@ require('./wysibb/jquery.wysibb');
window.Swal = require('sweetalert2');
//carousel
window.KeenSlider = require('keen-slider/keen-slider');
window.KeenSlider = require('keen-slider/keen-slider');
//vibrant
window.Vibrant = require('node-vibrant');

View File

@@ -9,6 +9,23 @@ $('img.img-tor-poster, i.img-tor-poster').popover({
return '<img src="' + c + '" class="img-thumbnail torrent-poster-popup">';
},
});
var metaElement = document.getElementById('meta-info');
var metaPoster = document.getElementById('meta-poster');
if (metaElement && metaPoster) {
if (!metaPoster.src.includes('via.placeholder')) {
Vibrant.from(metaPoster.src).getPalette().then(function(palette) {
var rgb = palette.DarkMuted.getRgb();
rgb.push(0.75);
var rgba = 'rgba(' + rgb.join(',') + ')';
$meta = $(metaElement);
$meta.find('.movie-overlay').css('background-color', rgba);
$meta.find('.button-overlay').css('opacity', 0);
$meta.find('.vibrant-overlay').css({'opacity': 1, 'background': 'linear-gradient(to bottom, ' + rgba + ', transparent)'});
});
}
}
$(document).ready(function() {
$(window).scroll(function() {
if ($(this).scrollTop() > 50) {

View File

@@ -21,7 +21,7 @@ return [
'genres' => 'Genres',
'includes:' => 'Includes:',
'latest-project' => 'Latest Project:',
'networks' => 'Netvorks',
'networks' => 'Networks',
'no-data' => 'No Data Found!',
'movies' => 'Movies',
'movie-credits' => 'Movie Credits:',

View File

@@ -4941,10 +4941,6 @@ a.torrent-filename:visited {
background-color: #e2e2e2;
}
.movie-poster img {
width: 200px;
padding: 24px 10px 10px 0;
}
.badge-extra,
.badge-user {
@@ -5597,7 +5593,7 @@ a.sort {
.container.box {
display: block;
margin-bottom: 50px;
padding: 20px 15px;
padding: 15px;
border-radius: 15px;
border: 1px solid #fff;
background-color: #efefef;
@@ -6065,12 +6061,6 @@ a.view-torrent:visited {
display: inline-block;
}
.movie-wrapper {
min-height: 400px;
position: relative;
overflow: hidden;
}
.movie-row {
padding-top: 0;
}
@@ -6079,42 +6069,7 @@ a.view-torrent:visited {
padding: 0;
}
.movie-backdrop {
background: no-repeat;
background-size: cover;
min-height: 700px;
position: absolute;
top: 0;
left: 0;
right: 0;
max-width: 1280px;
margin: 0 auto;
}
@media only screen and (max-width: 767px) {
.movie-backdrop {
height: 340px;
}
}
.movie-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(28, 31, 36, 0.9);
background: linear-gradient(rgba(28, 31, 36, 0.25), rgba(28, 31, 36, 0.75), #1c1f24),
linear-gradient(to right, rgba(28, 31, 36, 0) 70%, rgba(28, 31, 36, 0.75) 100%, #1c1f24),
linear-gradient(270deg, rgba(28, 31, 36, 0) 70%, rgba(28, 31, 36, 0.75) 100%, #1c1f24);
}
@media only screen and (max-width: 767px) {
.movie-overlay {
background: rgba(28, 31, 36, 0.9);
background: linear-gradient(180deg, rgba(28, 31, 36, 0.25), rgba(28, 31, 36, 0.5) 50%, #1c1f24);
}
}
.movie-heading-box {
padding-left: 0;
@@ -6140,56 +6095,6 @@ a.view-torrent:visited {
}
}
.movie-poster {
display: block;
margin-top: 0;
width: 350px;
border: 5px solid #292e35;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.row.cast-list {
margin-top: 3%;
}
.movie-heading {
color: #fff;
padding: 0;
margin-bottom: 10px;
margin-top: 12px;
line-height: 1.2;
}
.movie-heading span.movie,
.movie-heading span.tvshow {
display: inline-block;
color: #fff;
font-size: 14px;
line-height: 18px;
padding: 0 5px 2px;
vertical-align: middle;
margin-top: -2px;
margin-left: 5px;
background: #9b59b6;
}
.movie-heading span.tvshow {
padding-left: 4px;
background: #e74c3c;
}
.movie-heading a {
display: inline-block;
border-bottom: 1px solid #27ae60;
}
@media only screen and (min-width: 1129px) {
.movie-heading {
line-height: 1;
}
}
body.movie .movie-heading,
body.movie .movie-poster,
body.tvshow .movie-heading,
@@ -6243,10 +6148,11 @@ body.tvshow .movie-poster {
.movie-overview {
margin-bottom: 0;
line-height: 1.7;
line-height: 1.5;
color: #fff;
text-shadow: 1.3px 1.5px rgba(0, 0, 0, 0.8);
background: rgba(0, 0, 0, 0.1);
padding: 5px 0;
max-width: 600px;
}
.movie-overview .translate-trigger {
@@ -6353,8 +6259,7 @@ body.tvshow .movie-poster {
margin: 0;
line-height: 1;
display: block;
padding-bottom: 5px;
padding-top: 7px
padding: 5px 0;
}
.movie-details li,
@@ -7490,20 +7395,291 @@ select.icon-right i {
hyphens: auto;
}
.tags {
color: rgba(0, 0, 0, 0.62);
position: absolute;
right: 20px;
top: 30px;
font-size: 100px;
font-weight: 700;
}
.container.box {
margin-right: auto;
margin-left: auto;
}
/* New meta styles */
.meta-wrapper.box {
margin-bottom: 0;
border: 0;
padding: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.meta-general.box {
padding-top: 0;
border-top: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.movie-wrapper {
padding: 1% 1% 0;
min-height: 400px;
position: relative;
overflow: hidden;
display: flex;
.single & {
padding: 1%;
}
}
.movie-wrapper .badge-user {
margin-left: 0;
font-size: 14px;
background-color: rgba(39, 38, 52, 0.6);
border-color: rgba(182, 218, 242, 0.3);
& + & {
margin-left: 7px;
}
> a {
color: #66a2e5;
display: block;
}
> a:hover {
color: #2780e3;
}
&.text-purple > a {
color: #d49deb;
}
&.text-purple > a:hover {
color: #c16ae6;
}
&.text-green > a {
color: #67ca46;
}
&.text-green > a:hover {
color: #3fb618;
}
}
.tags {
color: rgba(255, 255, 255, 0.3);
position: absolute;
right: 2%;
top: 25px;
font-size: 50px;
font-weight: 700;
z-index: 2;
}
.movie-right {
position: absolute;
right: 2%;
top: 125px;
z-index: 3;
max-width: 230px;
display: flex;
flex-direction: column;
align-items: flex-end;
img {
max-height: 50px;
}
.badge-user {
font-size: 22px;
white-space: normal;
}
.badge-user a:hover {
color: #66a2e5;
}
.badge-user + .badge-user {
margin-top: 10px;
}
}
.movie-poster {
z-index: 2;
width: 27%;
}
.movie-poster img {
width: 100%;
min-width: 100%;
border-radius: 15px;
}
.meta-info {
padding-left: 1%;
width: 73%;
position: relative;
overflow: hidden;
}
.movie-backdrop {
z-index: 0;
width: 100%;
padding-top: 56.25%;
background: no-repeat;
background-size: cover;
border-radius: 15px;
position: relative;
}
.movie-overlay {
z-index: 1;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
background: rgba(28, 31, 36, 0.75);
transition: background-color 0.3s;
.single & {
border-radius: 15px;
}
}
.movie-top, .movie-bottom {
position: absolute;
z-index: 2;
left: 3%;
}
.movie-top {
top: 3%;
}
.movie-bottom {
padding-top: 0;
bottom: 3%;
width: 95%;
.cast-list {
padding-top: 1%;
display: flex;
}
.cast-item {
max-width: 115px;
}
.cast-item > .badge-user {
white-space: normal;
overflow: hidden;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
color: #afc8e5;
}
.cast-item > .badge-user:hover {
color: #66a2e5;
}
.cast-item + .cast-item {
margin-left: 1.5%;
}
.cast-name {
padding: 6px;
font-size: 14px;
font-weight: bold;
line-height: 1.2;
}
}
.movie-heading {
color: #fff;
padding: 0;
margin-bottom: 8px;
margin-top: 0;
line-height: 1.2;
}
.movie-heading span.movie,
.movie-heading span.tvshow {
display: inline-block;
color: #fff;
font-size: 14px;
line-height: 18px;
padding: 0 5px 2px;
vertical-align: middle;
margin-top: -2px;
margin-left: 5px;
background: #9b59b6;
}
.movie-heading span.tvshow {
padding-left: 4px;
background: #e74c3c;
}
.movie-heading a {
display: inline-block;
border-bottom: 1px solid #27ae60;
}
.movie-subhead {
color: rgba(255,255,255,0.7);
margin: 0 0 6px;
line-height: 1.2;
font-size: 24px;
}
.movie-heading, .movie-subhead {
text-shadow: 1.3px 1.5px rgba(0, 0, 0, 0.8);
}
.torrent-buttons {
text-align: center;
padding: 20px 20px 15px;
position: relative;
> .button-block {
position: relative;
z-index: 2;
}
a, button {
margin-bottom: 5px;
}
.down {
min-width: 140px;
}
}
.button-overlay, .vibrant-overlay {
z-index: 1;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
transition: opacity 0.3s;
background: linear-gradient(to bottom, rgba(28, 31, 36, 0.75), transparent);
}
.button-overlay {
opacity: 1;
}
.vibrant-overlay {
opacity: 0;
}
/* New meta styles */
.profile {
min-height: 355px;
display: inline-block;

View File

@@ -296,15 +296,6 @@ select option {
border-radius: 0
}
.movie-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle at 20% 50%, #000 5.46%, rgba(17, 17, 17, .46))
}
.alert {
border: 3px solid transparent
}

View File

@@ -211,15 +211,6 @@ select option {
margin: 0 15px 15px 15px;
}
.movie-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: var(--movie-overlay);
}
.text-info,
.footer-icon {
color: var(--color-400);

View File

@@ -49,7 +49,7 @@
<div class="movie-image">
<img class="backdrop" src=
@if ($feature->torrent->category->tv_meta || $feature->torrent->category->movie_meta)
"{{ $meta->backdrop ?? 'https://via.placeholder.com/533x300' }}">
"{{ isset($meta->backdrop) ? \tmdb_image('back_small', $meta->backdrop) : 'https://via.placeholder.com/533x300' }}">
@elseif ($feature->torrent->category->game_meta && isset($meta) && $meta->artworks)
"https://images.igdb.com/igdb/image/upload/t_screenshot_med/{{ $meta->artworks[0]['image_id'] }}.jpg">
@else
@@ -65,7 +65,7 @@
<h1 class="movie-title">{{ $feature->torrent->name }}</h1>
</a>
<h4 class="movie-info">
@if (isset($meta) && $meta->genres->isNotEmpty())
@if (isset($meta) && isset($meta->genres) && $meta->genres->isNotEmpty())
@foreach ($meta->genres as $genre)
@if ($feature->torrent->category->tv_meta ||
$feature->torrent->category->movie_meta ||

View File

@@ -53,7 +53,7 @@
<th><i class="{{ config('other.font-awesome') }} fa-check-square"></i></th>
</tr>
</thead>
<tbody>
@foreach ($torrents as $torrent)
@php $meta = null; @endphp
@@ -82,7 +82,7 @@
@if ($user->show_poster == 1)
<div class="torrent-poster pull-left">
@if ($torrent->category->movie_meta || $torrent->category->tv_meta)
<img src="{{ $meta->poster ?? 'https://via.placeholder.com/600x900' }}"
<img src="{{ isset($meta->poster) ? \tmdb_image('poster_small', $meta->poster) : 'https://via.placeholder.com/60x90' }}"
class="torrent-poster-img-small show-poster" alt="@lang('torrent.poster')">
@endif
@@ -92,7 +92,7 @@
@endif
@if ($torrent->category->no_meta || $torrent->category->music_meta)
<img src="https://via.placeholder.com/600x900" class="torrent-poster-img-small show-poster"
<img src="https://via.placeholder.com/60x90" class="torrent-poster-img-small show-poster"
alt="@lang('torrent.poster')">
@endif
</div>

View File

@@ -1,11 +1,9 @@
<div style="display: inline;">
@if($this->isBookmarked)
<button wire:click="destroy({{ $torrent->id }})" class="btn btn-sm btn-danger">
<i class="{{ config('other.font-awesome') }} fa-bookmark"></i> @lang('torrent.unbookmark')
</button>
@else
<button wire:click="store({{ $torrent->id }})" class="btn btn-sm btn-primary">
<i class="{{ config('other.font-awesome') }} fa-bookmark"></i> @lang('torrent.bookmark')
</button>
@endif
</div>
@if($this->isBookmarked)
<button wire:click="destroy({{ $torrent->id }})" class="btn btn-sm btn-danger">
<i class="{{ config('other.font-awesome') }} fa-bookmark"></i> @lang('torrent.unbookmark')
</button>
@else
<button wire:click="store({{ $torrent->id }})" class="btn btn-sm btn-primary">
<i class="{{ config('other.font-awesome') }} fa-bookmark"></i> @lang('torrent.bookmark')
</button>
@endif

View File

@@ -6,11 +6,11 @@
@foreach($collections as $collection)
<div class="col-md-12 well profile-footer">
<div class="collection">
<div class="header collection" style=" background-image: url({{ $collection->backdrop ?? 'https://via.placeholder.com/1400x800' }}); background-size: cover; background-position: 50% 50%;">
<div class="header collection" style=" background-image: url({{ isset($collection->backdrop) ? \tmdb_image('back_big', $collection->backdrop) : 'https://via.placeholder.com/1280x300' }}); background-size: cover; background-position: 50% 50%;">
<div class="collection-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: linear-gradient(rgba(0, 0, 0, 0.87), rgba(45, 71, 131, 0.46));"></div>
<section class="collection">
<h2>{{ $collection->name }}</h2>
<p class="text-blue">@lang('mediahub.includes')
<p class="text-blue">Includes:
@foreach($collection->movie as $collection_movie)
{{ $collection_movie->title }},
@endforeach

View File

@@ -7,7 +7,13 @@
@foreach ($companies as $company)
<a href="{{ route('mediahub.companies.show', ['id' => $company->id]) }}" style="padding: 0 2px;">
<div class="general media_blocks" style="background-color: rgba(0, 0, 0, 0.33);">
<h2 class="text-bold"><img src="{{ $company->logo ?? 'https://via.placeholder.com/150x100.png/000000?text=No+Image' }}" style="max-height: 100px; max-width: 300px; width: auto;" width="150px" alt="{{ $company->name }}"></h2>
<h2 class="text-bold">
@if(isset($company->logo))
<img src="{{ \tmdb_image('logo_mid', $company->logo) }}" style="max-height: 100px; max-width: 300px; width: auto;" alt="{{ $company->name }}">
@else
{{ $company->name }}
@endif
</h2>
<span></span>
<h2 style="font-size: 14px;"><i class="{{ config('other.font-awesome') }} fa-tv-retro"></i> {{ $company->tv_count }} Shows | {{ $company->movie_count }} Movies</h2>
</div>

View File

@@ -21,9 +21,7 @@
</div>
<div class="card_body">
<div class="body_poster">
@if($movie->poster)
<img src="{{ $movie->poster }}" class="show-poster">
@endif
<img src="{{ isset($movie->poster) ? \tmdb_image('poster_mid', $movie->poster) : 'https://via.placeholder.com/200x300' }}" class="show-poster">
</div>
<div class="body_description">
<h3 class="description_title">

View File

@@ -7,7 +7,13 @@
@foreach ($networks as $network)
<a href="{{ route('mediahub.networks.show', ['id' => $network->id]) }}" style="padding: 0 2px;">
<div class="general media_blocks" style="background-color: rgba(0, 0, 0, 0.33);">
<h2 class="text-bold"><img src="{{ $network->logo ?? 'https://via.placeholder.com/150x100.png/000000?text=No+Image' }}" style="max-height: 100px; max-width: 300px; width: auto;" width="150px" alt="{{ $network->name }}"></h2>
<h2 class="text-bold">
@if(isset($network->logo))
<img src="{{ \tmdb_image('logo_mid', $network->logo) }}" style="max-height: 100px; max-width: 300px; width: auto;" alt="{{ $network->name }}">
@else
{{ $network->name }}
@endif
</h2>
<span></span>
<h2 style="font-size: 14px;"><i class="{{ config('other.font-awesome') }} fa-tv-retro"></i> {{ $network->tv_count }} Shows</h2>
</div>

View File

@@ -8,7 +8,7 @@
<div class="col-md-2 text-center">
<div class="thumbnail" style="min-height: 315px;">
<a href="{{ route('mediahub.persons.show', ['id' => $person->id]) }}">
<img alt="{{ $person->name }}" src="{{ $person->still }}" style="width: auto; height: 235px;">
<img alt="{{ $person->name }}" src="{{ isset($person->still) ? \tmdb_image('cast_mid', $person->still) : 'https://via.placeholder.com/160x240' }}">
</a>
<div class="caption">
<p class="text-bold">{{ $person->name }}</p>

View File

@@ -1,6 +1,3 @@
<div style="display: inline;">
<button wire:click="store({{ $torrent->id }})" class="btn btn-sm btn-primary">
<i class="{{ config('other.font-awesome') }} fa-heart text-pink"></i> @lang('torrent.thank') @lang('torrent.uploader')
({{ $torrent->thanks()->count() }} @lang('common.given'))
</button>
</div>
<button wire:click="store({{ $torrent->id }})" class="btn btn-sm btn-primary">
<i class="{{ config('other.font-awesome') }} fa-heart text-pink"></i> Give Thanks ({{ $torrent->thanks()->count() }})
</button>

View File

@@ -25,9 +25,7 @@
</div>
<div class="card_body">
<div class="body_poster">
@if($show->poster)
<img src="{{ $show->poster }}" class="show-poster">
@endif
<img src="{{ isset($show->poster) ? \tmdb_image('poster_mid', $show->poster) : 'https://via.placeholder.com/200x300' }}" class="show-poster">
</div>
<div class="body_description">
<h3 class="description_title">

View File

@@ -28,31 +28,30 @@
@endsection
@section('content')
<div class="torrent box container">
<div class="torrent box container single">
<div class="movie-wrapper">
<div class="movie-backdrop" style="background-image: url({{ $collection->backdrop ?? 'https://via.placeholder.com/1400x800' }});">
<div class="movie-overlay"></div>
<div class="movie-poster">
@php $tmdb_poster = $collection->poster ? \tmdb_image('poster_big', $collection->poster) : 'https://via.placeholder.com/400x600'; @endphp
<img src="{{ $tmdb_poster }}" class="img-responsive" id="meta-poster">
</div>
<div class="meta-info">
<div class="tags">
@lang('mediahub.collections')
</div>
</div>
<div class="movie-overlay"></div>
<div class="container movie-container">
<div class="row movie-row ">
<div class="col-xs-12 col-sm-8 col-md-8 col-sm-push-4 col-md-push-3 movie-heading-box">
<h1 class="movie-heading">
<span class="text-bold">{{ $collection->name }}</span>
</h1>
<br>
<span class="movie-overview">
{{ $collection->overview }}
</span>
<span class="movie-details">
</span>
</div>
@php $tmdb_backdrop = $collection->backdrop ? \tmdb_image('back_big', $collection->backdrop) : 'https://via.placeholder.com/960x540'; @endphp
<div class="movie-backdrop" style="background-image: url('{{ $tmdb_backdrop }}');"></div>
<div class="col-xs-12 col-sm-4 col-md-3 col-sm-pull-8 col-md-pull-8">
<img src="{{ $collection->poster }}" class="movie-poster img-responsive hidden-xs">
<div class="movie-top">
<h1 class="movie-heading">
<span class="text-bold">{{ $collection->name }}</span>
</h1>
<div class="movie-overview">
{{ $collection->overview }}
</div>
</div>
</div>
@@ -75,7 +74,7 @@
<div class="image_content">
<a href="{{ route('torrents.similar', ['category_id' => '1', 'tmdb' => $movie->id]) }}">
<div>
<img class="backdrop" src="{{ $movie->poster }}">
<img class="backdrop" src="{{ \tmdb_image('poster_mid', $movie->poster) }}">
</div>
<div style=" margin-top: 8px;">
<span class="badge-extra"><i class="fas fa-calendar text-purple"></i> @lang('common.year'): {{ substr($movie->release_date, 0, 4) }}</span>

View File

@@ -45,7 +45,7 @@
</div>
<div class="card_body">
<div class="body_poster">
<img src="{{ $show->poster }}" class="show-poster">
<img src="{{ isset($show->poster) ? \tmdb_image('poster_mid', $show->poster) : 'https://via.placeholder.com/200x300' }}" class="show-poster">
</div>
<div class="body_description">
<h3 class="description_title">

View File

@@ -46,7 +46,7 @@
</div>
<div class="card_body">
<div class="body_poster">
<img src="{{ $movie->poster }}" class="show-poster" data-image='<img src="{{ $movie->poster }}" style="height: 1000px;">'>
<img src="{{ isset($movie->poster) ? \tmdb_image('poster_mid', $movie->poster) : 'https://via.placeholder.com/200x300' }}" class="show-poster">
</div>
<div class="body_description">
<h3 class="description_title">
@@ -81,7 +81,7 @@
</div>
<div class="card_body">
<div class="body_poster">
<img src="{{ $show->poster }}" class="show-poster" data-image='<img src="{{ $show->poster }}" style="height: 1000px;">'>
<img src="{{ isset($show->poster) ? \tmdb_image('poster_mid', $show->poster) : 'https://via.placeholder.com/200x300' }}" class="show-poster">
</div>
<div class="body_description">
<h3 class="description_title">

View File

@@ -28,114 +28,127 @@
@section('content')
<div class="container">
<div class="block">
<div class="block single">
<div class="movie-wrapper">
<div class="movie-backdrop"
style="background-image: url('{{ $movie->backdrop ?? 'https://via.placeholder.com/1400x800' }}');">
<div class="movie-overlay"></div>
<div class="movie-poster">
@php $tmdb_poster = $movie->poster ? \tmdb_image('poster_big', $movie->poster) : 'https://via.placeholder.com/400x600'; @endphp
<img src="{{ $tmdb_poster }}" class="img-responsive" id="meta-poster">
</div>
<div class="meta-info">
<div class="tags">
@lang('mediahub.movies')
</div>
</div>
<div class="movie-overlay"></div>
<div class="container movie-container">
<div class="row movie-row ">
<div class="col-xs-12 col-sm-8 col-md-8 col-sm-push-4 col-md-push-3 movie-heading-box">
<h1 class="movie-heading">
<span class="text-bold">{{ $movie->title ?? 'No Meta Found' }}</span>
@if(isset($movie->release_date))
<span class="text-bold"><em> ({{ substr($movie->release_date, 0, 4) }})</em></span>
@endif
</h1>
@php $tmdb_backdrop = $movie->backdrop ? \tmdb_image('back_big', $movie->backdrop) : 'https://via.placeholder.com/960x540'; @endphp
<div class="movie-backdrop" style="background-image: url('{{ $tmdb_backdrop }}');"></div>
<br>
<div class="movie-top">
<h1 class="movie-heading">
<span class="text-bold">{{ isset($movie->title) ? Str::limit($movie->title, $limit = 100, $end = '...') : 'No Meta Found' }}</span>
@if(isset($movie->release_date))
<span> ({{ substr($movie->release_date, 0, 4) ?? '' }})</span>
@endif
</h1>
<span class="movie-overview">
{{ Str::limit($movie->overview ?? '', $limit = 350, $end = '...') }}
</span>
@if(isset($movie->original_name))
<h2 class="movie-subhead">
{{ Str::limit($meta->original_name, $limit = 70, $end = '...') }}
</h2>
@endif
<span class="movie-details">
@if (isset($movie->genres))
@foreach ($movie->genres as $genre)
<span class="badge-user text-bold text-green">
<i class="{{ config('other.font-awesome') }} fa-tag"></i> {{ $genre->name }}
<div class="movie-overview">
{{ isset($meta->overview) ? Str::limit($movie->overview, $limit = 310, $end = '...') : '' }}
</div>
</div>
<div class="movie-bottom">
<div class="movie-details">
@if ($movie->imdb_id != 0 && $movie->imdb_id != null)
<span class="badge-user text-bold">
<a href="https://www.imdb.com/title/{{ $movie->imdb_id }}" title="IMDB" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> IMDB: {{ \str_replace('tt', '', $movie->imdb_id) }}
</a>
</span>
@endforeach
@endif
</span>
@endif
<span class="movie-details">
<span class="badge-user text-bold text-orange">
Status: {{ $movie->status ?? 'Unknown' }}
</span>
<span class="badge-user text-bold">
<a href="https://www.themoviedb.org/movie/{{ $movie->id }}" title="The Movie Database"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TMDB: {{ $movie->id }}
</a>
</span>
<span class="badge-user text-bold text-orange">
@lang('torrent.runtime'): {{ $movie->runtime ?? 0 }}
@lang('common.minute')@lang('common.plural-suffix')
</span>
<span class="badge-user text-bold text-gold">@lang('torrent.rating'):
<span class="movie-rating-stars">
<i class="{{ config('other.font-awesome') }} fa-star"></i>
</span>
{{ $movie->vote_average ?? '0' }}/10 ({{ $movie->vote_count ?? '0' }} @lang('torrent.votes'))
</span>
</span>
<span class="movie-details">
@if(isset($movie->crew))
@php $director = $movie->crew->where('known_for_department' ,'=', 'Directing')->take(1)->first(); @endphp
@if($director)
<span class="badge-user text-bold text-orange">
<a href="{{ route('mediahub.persons.show', ['id' => $director->id]) }}" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-camera-movie"></i> Director: {{ $director->name }}
</a>
</span>
@endif
@endif
@if ($movie->imdb_id != 0 && $movie->imdb_id != null)
<span class="badge-user text-bold text-orange">
<a href="https://www.imdb.com/title/tt{{ $movie->imdb_id }}" title="IMDB" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> IMDB: {{ $movie->imdb_id }}
</a>
</span>
@endif
<span class="badge-user text-bold text-orange">
<a href="https://www.themoviedb.org/movie/{{ $movie->id }}" title="TheMovieDatabase"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TMDB: {{ $movie->id }}
</a>
</span>
<div class="row cast-list">
@if (isset($movie->cast))
@foreach ($movie->cast->sortBy('order')->take(6) as $cast)
<div class="col-xs-4 col-md-2 text-center">
<a href="{{ route('mediahub.persons.show', ['id' => $cast->id]) }}">
<img class="img-people" src="{{ $cast->still ?? 'https://via.placeholder.com/95x140' }}"
alt="{{ $cast->name }}">
<span class="badge-user" style="white-space:normal;">
<strong>{{ $cast->name }}</strong>
</span>
@if(isset($movie->crew))
@php $director = $movie->crew->where('known_for_department' ,'=', 'Directing')->sortBy('order')->first(); @endphp
@if($director)
<span class="badge-user text-bold text-purple">
<a href="{{ route('mediahub.persons.show', ['id' => $director->id]) }}">
<i class="{{ config('other.font-awesome') }} fa-camera-movie"></i> Dir. {{ $director->name }}
</a>
</div>
</span>
@endif
@endif
@if (isset($movie->genres) && $movie->genres->isNotEmpty())
@foreach ($movie->genres as $genre)
<span class="badge-user text-bold text-green">
<a href="{{ route('mediahub.genres.show', ['id' => $genre->id]) }}">
<i class="{{ config('other.font-awesome') }} fa-tag"></i> {{ $genre->name }}
</a>
</span>
@endforeach
@endif
</div>
<div class="movie-details">
@if(isset($meta) && !empty(trim($movie->homepage)))
<span class="badge-user text-bold">
<a href="{{ $movie->homepage }}" title="Homepage" rel="noopener noreferrer" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-external-link-alt"></i> Homepage
</a>
</span>
@endif
<span class="badge-user text-bold text-orange">
Status: {{ $movie->status ?? 'Unknown' }}
</span>
@if (isset($movie->runtime))
<span class="badge-user text-bold text-orange">
@lang('torrent.runtime'): {{ $movie->runtime }}
@lang('common.minute')@lang('common.plural-suffix')
</span>
@endif
<span class="badge-user text-bold text-gold">@lang('torrent.rating'):
<span class="movie-rating-stars">
<i class="{{ config('other.font-awesome') }} fa-star"></i>
</span>
{{ $movie->vote_average ?? 0 }}/10 ({{ $movie->vote_count ?? 0 }} @lang('torrent.votes'))
</span>
</div>
<div class="cast-list">
@if (isset($movie->cast) && $movie->cast->isNotEmpty())
@foreach ($movie->cast->sortBy('order')->take(7) as $cast)
<div class="cast-item">
<a href="{{ route('mediahub.persons.show', ['id' => $cast->id]) }}" class="badge-user">
@php $tmdb_face = $cast->still ? \tmdb_image('cast_face', $cast->still) : 'https://via.placeholder.com/138x175'; @endphp
<img class="img-responsive" src="{{ $tmdb_face }}" alt="{{ $cast->name }}">
<div class="cast-name">{{ $cast->name }}</div>
</a>
</div>
@endforeach
@endif
</div>
</span>
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-sm-pull-8 col-md-pull-8">
<img src="{{ $movie->poster ?? 'https://via.placeholder.com/600x900' }}"
class="movie-poster img-responsive hidden-xs">
</div>
</div>
</div>
</div>
<div class="table-responsive">
<div class="table-responsive mt-20">
<table class="table table-condensed table-bordered table-striped table-hover">
<thead>
<tr>

View File

@@ -48,7 +48,7 @@
</div>
<div class="card_body">
<div class="body_poster">
<img src="{{ $show->poster }}" class="show-poster">
<img src="{{ isset($show->poster) ? \tmdb_image('poster_mid', $show->poster) : 'https://via.placeholder.com/200x300' }}" class="show-poster">
</div>
<div class="body_description">
<h3 class="description_title">

View File

@@ -32,7 +32,7 @@
<div class="row">
<section class="col-sm-3">
<img src="{{ $details->still }}" alt="{{ $details->name }}" class="img-responsive thumb">
<img src="{{ isset($details->still) ? \tmdb_image('cast_big', $details->still) : 'https://via.placeholder.com/300x450' }}" alt="{{ $details->name }}" class="img-responsive thumb">
</section>
<section class="col-sm-9">
@@ -93,11 +93,7 @@
@foreach($credits->movie as $movie)
<tr>
<td class="col-sm-1">
@if($movie->poster)
<img src="{{ $movie->poster }}" width="100" height="100" alt="{{ $movie->name }}" class="img-responsive">
@else
<img src="/img/no-poster.png" width="100" height="100" alt="{{ $movie->name }}" class="img-responsive">
@endif
<img src="{{ isset($movie->poster) ? \tmdb_image('poster_small', $movie->poster) : 'https://via.placeholder.com/90x135' }}" alt="{{ $movie->name }}" class="img-responsive">
</td>
<td class="col-sm-5">
<i class="fa fa-film text-purple" aria-hidden="true"></i> <strong>@lang('mediahub.movies')</strong><br>
@@ -143,11 +139,7 @@
@foreach($credits->tv as $show)
<tr>
<td class="col-sm-1">
@if($show->poster)
<img src="{{ $show->poster }}" width="100" height="100" alt="{{ $show->name }}" class="img-responsive">
@else
<img src="/img/no-poster.png" width="100" height="100" alt="{{ $show->name }}" class="img-responsive">
@endif
<img src="{{ isset($show->poster) ? \tmdb_image('poster_small', $show->poster) : 'https://via.placeholder.com/90x135' }}" alt="{{ $show->name }}" class="img-responsive">
</td>
<td class="col-sm-5">
<i class="fa fa-tv-retro text-purple" aria-hidden="true"></i> <strong> @lang('mediahub.show')</strong><br>

View File

@@ -46,7 +46,7 @@
<path class="cls-1" d="M968.15,196A15.69,15.69,0,0,0,943,214.83h0A15.69,15.69,0,0,0,968.15,196Z"></path>
</svg>
</div>
<img src="{{ $season->poster }}" style="width: 80px; border-radius: 5px; z-index: 1; position: relative; margin-right: 40px;">
<img src="{{ isset($season->poster) ? \tmdb_image('poster_small', $show->poster) : 'https://via.placeholder.com/80x120' }}" style="width: 80px; border-radius: 5px; z-index: 1; position: relative; margin-right: 40px;">
<a href="{{ route('mediahub.shows.show', ['id' => $show->id]) }}">
<h2>{{ $season->name }} ({{ $season->air_date }})</h2>
<h3 style="z-index: 1; position: relative; font-size:20px; margin: 0; text-decoration: underline ;">
@@ -69,7 +69,7 @@
</div>
<div class="card_body">
<div class="body_poster">
<img src="{{ $episode->still }}" class="show-poster">
<img src="{{ isset($episode->still) ? \tmdb_image('still_mid', $episode->still) : 'https://via.placeholder.com/400x225' }}" class="show-poster">
</div>
<div class="body_description" style=" height: 190px;">
<h3 class="description_title">

View File

@@ -50,9 +50,7 @@
</div>
<div class="card_body" style="height: 190px;">
<div class="body_poster">
@if($season->poster)
<img src="{{ $season->poster }}" class="show-poster" style="height: 190px;">
@endif
<img src="{{ isset($season->poster) ? \tmdb_image('poster_mid', $season->poster) : 'https://via.placeholder.com/200x300' }}" class="show-poster" style="height: 190px;">
</div>
<div class="body_description" style=" height: 190px;">
<h3 class="description_title">

View File

@@ -16,7 +16,7 @@
@section('content')
<div class="container">
<div class="block">
<section class="inner_content header" style="background-image: url({{ $meta->backdrop ?? 'https://via.placeholder.com/1400x800' }});">
<section class="inner_content header" style="background-image: url({{ $meta->backdrop ?? 'https://via.placeholder.com/1280x350' }});">
<div class="bg_filter">
<div class="single_column">
<h2>{{ $playlist->name }}</h2>
@@ -127,7 +127,7 @@
<div class="card_body">
<div class="body_poster">
@if ($t->torrent->category->movie_meta || $t->torrent->category->tv_meta)
<img src="{{ $meta->poster ?? 'https://via.placeholder.com/600x900' }}"
<img src="{{ isset($meta->poster) ? \tmdb_image('poster_mid', $meta->poster) : 'https://via.placeholder.com/160x240' }}"
class="show-poster" alt="@lang('torrent.poster')">
@endif
@@ -137,7 +137,7 @@
@endif
@if ($t->torrent->category->no_meta || $t->torrent->category->music_meta)
<img src="https://via.placeholder.com/600x900"
<img src="https://via.placeholder.com/160x240"
class="show-poster" alt="@lang('torrent.poster')">
@endif
</div>

View File

@@ -37,7 +37,7 @@
<span class="text-green">@lang('request.for') <i class="{{ config('other.font-awesome') }} fa-coins text-gold">
</i> <strong>{{ $torrentRequest->bounty }}</strong> @lang('bon.bon')</span>
</h1>
<div class="block">
<div class="block single">
<div class="row mb-10">
<div class="col-sm-12">
<div class="pull-right">
@@ -66,18 +66,18 @@
</div>
@if ($torrentRequest->category->movie_meta)
@include('requests.partials.movie_meta')
@include('torrent.partials.movie_meta', ['torrent' => $torrentRequest])
@endif
@if ($torrentRequest->category->tv_meta)
@include('requests.partials.tv_meta')
@include('torrent.partials.tv_meta', ['torrent' => $torrentRequest])
@endif
@if ($torrentRequest->category->game_meta)
@include('requests.partials.game_meta')
@endif
<div class="table-responsive">
<div class="table-responsive mt-20">
<table class="table table-condensed table-bordered table-striped">
<tbody>
<tr>

View File

@@ -338,11 +338,8 @@
<div class="card_body">
<div class="body_poster">
@if ($torrent->category->movie_meta || $torrent->category->tv_meta)
<img src="{{ $torrent->meta->poster ?? 'https://via.placeholder.com/600x900' }}"
class="show-poster"
data-image='<img src="{{ $torrent->meta->poster ?? 'https://via.placeholder.com/600x900' }}" alt="@lang('
torrent.poster')" style="height: 1000px;">'
class="torrent-poster-img-small show-poster" alt="@lang('torrent.poster')">
<img src="{{ isset($torrent->meta->poster) ? \tmdb_image('poster_mid', $torrent->meta->poster) : 'https://via.placeholder.com/200x300' }}"
class="show-poster" alt="@lang('torrent.poster')">
@endif
@if ($torrent->category->game_meta && isset($torrent->meta) && $torrent->meta->cover->image_id &&

View File

@@ -288,9 +288,8 @@
</div>
<div class="card_alt">
<div class="body_poster">
<img src="{{ $t->meta->poster ?? 'https://via.placeholder.com/600x900' }}" class="show-poster" alt="@lang('torrent.poster')"
data-image='<img src="{{ $t->meta->poster ?? 'https://via.placeholder.com/600x900' }}" alt="@lang('torrent.poster')"
style="height: 1000px;">'>
<img src="{{ isset($t->meta->poster) ? \tmdb_image('poster_mid', $t->meta->poster) : 'https://via.placeholder.com/200x300' }}"
class="show-poster" alt="@lang('torrent.poster')">
</div>
<div class="body_grouping" style="width: 100%;">
<h3 class="description_title">

View File

@@ -1,121 +1,140 @@
<div class="movie-wrapper">
<div class="movie-backdrop"
style="background-image: url('{{ $meta->backdrop ?? 'https://via.placeholder.com/1400x800' }}');">
<div class="movie-overlay"></div>
<div class="movie-poster">
@php $tmdb_poster = ($meta && $meta->poster) ? \tmdb_image('poster_big', $meta->poster) : 'https://via.placeholder.com/400x600'; @endphp
<img src="{{ $tmdb_poster }}" class="img-responsive" id="meta-poster">
</div>
<div class="meta-info">
<div class="tags">
{{ $torrent->category->name }}
</div>
</div>
<div class="movie-overlay"></div>
<div class="container movie-container">
<div class="row movie-row ">
<div class="col-xs-12 col-sm-8 col-md-8 col-sm-push-4 col-md-push-3 movie-heading-box">
<h1 class="movie-heading">
<span class="text-bold">{{ $meta->title ?? 'No Meta Found' }}</span>
@if(isset($meta->release_date))
<span class="text-bold"><em> ({{ substr($meta->release_date, 0, 4) }})</em></span>
@endif
</h1>
<div class="movie-right">
@if(isset($meta->companies) && $meta->companies->isNotEmpty())
@php $company = $meta->companies->first(); @endphp
<div class="badge-user">
<a href="{{ route('mediahub.companies.show', ['id' => $company->id]) }}">
@if(isset($company->logo))
<img class="img-responsive" src="{{ \tmdb_image('logo_small', $company->logo) }}" title="{{ $company->name }}">
@else
{{ $company->name }}
@endif
</a>
</div>
@endif
</div>
<br>
@php $tmdb_backdrop = ($meta && $meta->backdrop) ? \tmdb_image('back_big', $meta->backdrop) : 'https://via.placeholder.com/960x540'; @endphp
<div class="movie-backdrop" style="background-image: url('{{ $tmdb_backdrop }}');"></div>
<span class="movie-overview">
{{ Str::limit($meta->overview ?? '', $limit = 350, $end = '...') }}
<div class="movie-top">
<h1 class="movie-heading">
<span class="text-bold">{{ isset($meta->title) ? Str::limit($meta->title, $limit = 100, $end = '...') : 'No Meta Found' }}</span>
@if(isset($meta->release_date))
<span> ({{ substr($meta->release_date, 0, 4) ?? '' }})</span>
@endif
</h1>
@if(isset($meta->original_name))
<h2 class="movie-subhead">
{{ Str::limit($meta->original_name, $limit = 70, $end = '...') }}
</h2>
@endif
<div class="movie-overview">
{{ isset($meta->overview) ? Str::limit($meta->overview, $limit = 310, $end = '...') : '' }}
</div>
</div>
<div class="movie-bottom">
<div class="movie-details">
@if ($torrent->imdb != 0 && $torrent->imdb != null)
<span class="badge-user text-bold">
<a href="https://www.imdb.com/title/tt{{ $torrent->imdb }}" title="IMDB" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> IMDB: {{ $torrent->imdb }}
</a>
</span>
@endif
<span class="movie-details">
@if (isset($meta->genres))
@foreach ($meta->genres as $genre)
<span class="badge-user text-bold text-green">
<i class="{{ config('other.font-awesome') }} fa-tag"></i> {{ $genre->name }}
</span>
@endforeach
@endif
@if ($torrent->tmdb != 0 && $torrent->tmdb != null)
<span class="badge-user text-bold">
<a href="https://www.themoviedb.org/movie/{{ $torrent->tmdb }}" title="The Movie Database"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TMDB: {{ $torrent->tmdb }}
</a>
</span>
@endif
<span class="movie-details">
<span class="badge-user text-bold text-orange">
Status: {{ $meta->status ?? 'Unknown' }}
</span>
<span class="badge-user text-bold text-orange">
@lang('torrent.runtime'): {{ $meta->runtime ?? 0 }}
@lang('common.minute')@lang('common.plural-suffix')
</span>
<span class="badge-user text-bold text-gold">@lang('torrent.rating'):
<span class="movie-rating-stars">
<i class="{{ config('other.font-awesome') }} fa-star"></i>
</span>
{{ $meta->vote_average ?? '0' }}/10 ({{ $meta->vote_count ?? '0' }} @lang('torrent.votes'))
</span>
@if ($torrent->mal != 0 && $torrent->mal != null)
<span class="badge-user text-bold">
<a href="https://myanimelist.net/anime/{{ $torrent->mal }}" title="MyAnimeList" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> MAL: {{ $torrent->mal }}</a>
</span>
@endif
<span class="movie-details">
@if(isset($meta->crew))
@php $director = $meta->crew->where('known_for_department' ,'=', 'Directing')->take(1)->first(); @endphp
@if($director)
<span class="badge-user text-bold text-orange">
<a href="{{ route('mediahub.persons.show', ['id' => $director->id]) }}" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-camera-movie"></i> Director: {{ $director->name }}
</a>
</span>
@endif
@endif
@if ($torrent->imdb != 0 && $torrent->imdb != null)
<span class="badge-user text-bold text-orange">
<a href="https://www.imdb.com/title/tt{{ $torrent->imdb }}" title="IMDB" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> IMDB: {{ $torrent->imdb }}
</a>
</span>
@endif
@if ($torrent->tmdb != 0 && $torrent->tmdb != null)
<span class="badge-user text-bold text-orange">
<a href="https://www.themoviedb.org/movie/{{ $torrent->tmdb }}" title="TheMovieDatabase"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TMDB: {{ $torrent->tmdb }}
</a>
</span>
@endif
@if ($torrent->mal != 0 && $torrent->mal != null)
<span class="badge-user text-bold text-pink">
<a href="https://myanimelist.net/anime/{{ $torrent->mal }}" title="MAL" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> MAL: {{ $torrent->mal }}</a>
</span>
@endif
<span class="badge-user text-bold">
<a href="{{ route('upload_form', ['category_id' => $torrent->category_id, 'title' => $meta->title ?? 'Unknown', 'imdb' => $torrent->imdb, 'tmdb' => $torrent->tmdb]) }}">
@lang('common.upload') {{ $meta->title ?? 'Unknown' }}
@if(isset($meta->crew))
@php $director = $meta->crew->where('known_for_department' ,'=', 'Directing')->sortBy('order')->first(); @endphp
@if($director)
<span class="badge-user text-bold text-purple">
<a href="{{ route('mediahub.persons.show', ['id' => $director->id]) }}">
<i class="{{ config('other.font-awesome') }} fa-camera-movie"></i> Dir. {{ $director->name }}
</a>
</span>
@endif
@endif
<div class="row cast-list">
@if (isset($meta->cast))
@foreach ($meta->cast->sortBy('order')->take(6) as $cast)
<div class="col-xs-4 col-md-2 text-center">
<a href="{{ route('mediahub.persons.show', ['id' => $cast->id]) }}">
<img class="img-people" src="{{ $cast->still ?? 'https://via.placeholder.com/95x140' }}"
alt="{{ $cast->name }}">
<span class="badge-user" style="white-space:normal;">
<strong>{{ $cast->name }}</strong>
</span>
</a>
</div>
@endforeach
@endif
</div>
@if (isset($meta->genres) && $meta->genres->isNotEmpty())
@foreach ($meta->genres as $genre)
<span class="badge-user text-bold text-green">
<a href="{{ route('mediahub.genres.show', ['id' => $genre->id]) }}">
<i class="{{ config('other.font-awesome') }} fa-tag"></i> {{ $genre->name }}
</a>
</span>
@endforeach
@endif
</div>
<div class="movie-details">
@if(isset($meta) && !empty(trim($meta->homepage)))
<span class="badge-user text-bold">
<a href="{{ $meta->homepage }}" title="Homepage" rel="noopener noreferrer" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-external-link-alt"></i> Homepage
</a>
</span>
@endif
<span class="badge-user text-bold text-orange">
Status: {{ $meta->status ?? 'Unknown' }}
</span>
@if (isset($meta->runtime))
<span class="badge-user text-bold text-orange">
@lang('torrent.runtime'): {{ $meta->runtime }}
@lang('common.minute')@lang('common.plural-suffix')
</span>
@endif
<span class="badge-user text-bold text-gold">@lang('torrent.rating'):
<span class="movie-rating-stars">
<i class="{{ config('other.font-awesome') }} fa-star"></i>
</span>
{{ $meta->vote_average ?? 0 }}/10 ({{ $meta->vote_count ?? 0 }} @lang('torrent.votes'))
</span>
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-sm-pull-8 col-md-pull-8">
<img src="{{ $meta->poster ?? 'https://via.placeholder.com/600x900' }}"
class="movie-poster img-responsive hidden-xs">
<div class="cast-list">
@if (isset($meta->cast) && $meta->cast->isNotEmpty())
@foreach ($meta->cast->sortBy('order')->take(7) as $cast)
<div class="cast-item">
<a href="{{ route('mediahub.persons.show', ['id' => $cast->id]) }}" class="badge-user">
@php $tmdb_face = $cast->still ? \tmdb_image('cast_face', $cast->still) : 'https://via.placeholder.com/138x175'; @endphp
<img class="img-responsive" src="{{ $tmdb_face }}" alt="{{ $cast->name }}">
<div class="cast-name">{{ $cast->name }}</div>
</a>
</div>
@endforeach
@endif
</div>
</div>
</div>
</div>

View File

@@ -1,119 +1,162 @@
<div class="movie-wrapper">
<div class="movie-backdrop"
style="background-image: url('{{ $meta->backdrop ?? 'https://via.placeholder.com/1400x800' }}');">
<div class="movie-overlay"></div>
<div class="movie-poster">
@php $tmdb_poster = ($meta && $meta->poster) ? \tmdb_image('poster_big', $meta->poster) : 'https://via.placeholder.com/400x600'; @endphp
<img src="{{ $tmdb_poster }}" class="img-responsive" id="meta-poster">
</div>
<div class="meta-info">
<div class="tags">
{{ $torrent->category->name }}
</div>
</div>
<div class="movie-overlay"></div>
<div class="container movie-container">
<div class="row movie-row ">
<div class="col-xs-12 col-sm-8 col-md-8 col-sm-push-4 col-md-push-3 movie-heading-box">
<h1 class="movie-heading">
<span class="text-bold">{{ $meta->name ?? 'No Meta Found' }}</span>
@if(isset($meta->first_air_date))
<span class="text-bold"><em> ({{ substr($meta->first_air_date, 0, 4) ?? '' }})</em></span>
@endif
</h1>
<div class="movie-right">
@if(isset($meta->networks) && $meta->networks->isNotEmpty())
@php $network = $meta->networks->first(); @endphp
<div class="badge-user">
<a href="{{ route('mediahub.networks.show', ['id' => $network->id]) }}">
@if(isset($network->logo))
<img class="img-responsive" src="{{ \tmdb_image('logo_small', $network->logo) }}" title="{{ $network->name }}">
@else
{{ $network->name }}
@endif
</a>
</div>
@endif
<br>
@if(isset($meta->companies) && $meta->companies->isNotEmpty())
@php $company = $meta->companies->first(); @endphp
<div class="badge-user">
<a href="{{ route('mediahub.companies.show', ['id' => $company->id]) }}">
@if(isset($company->logo))
<img class="img-responsive" src="{{ \tmdb_image('logo_small', $company->logo) }}" title="{{ $company->name }}">
@else
{{ $company->name }}
@endif
</a>
</div>
@endif
</div>
<span class="movie-overview">
{{ Str::limit($meta->overview ?? '', $limit = 350, $end = '...') }}
@php $tmdb_backdrop = ($meta && $meta->backdrop) ? \tmdb_image('back_big', $meta->backdrop) : 'https://via.placeholder.com/960x540'; @endphp
<div class="movie-backdrop" style="background-image: url('{{ $tmdb_backdrop }}');"></div>
<div class="movie-top">
<h1 class="movie-heading">
<span class="text-bold">{{ isset($meta->name) ? Str::limit($meta->name, $limit = 100, $end = '...') : 'No Meta Found' }}</span>
@if(isset($meta->first_air_date))
<span> ({{ substr($meta->first_air_date, 0, 4) ?? '' }})</span>
@endif
</h1>
@if(isset($meta->original_name))
<h2 class="movie-subhead">
{{ Str::limit($meta->original_name, $limit = 70, $end = '...') }}
</h2>
@endif
<div class="movie-overview">
{{ isset($meta->name) ? Str::limit($meta->overview, $limit = 310, $end = '...') : '' }}
</div>
</div>
<div class="movie-bottom">
<div class="movie-details">
@if ($torrent->imdb != 0 && $torrent->imdb != null)
<span class="badge-user text-bold">
<a href="https://www.imdb.com/title/tt{{ $torrent->imdb }}" title="IMDB" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> IMDB: {{ $torrent->imdb }}
</a>
</span>
@endif
<span class="movie-details">
@if (isset($meta->genres))
@foreach ($meta->genres as $genre)
<span class="badge-user text-bold text-green">
<i class="{{ config('other.font-awesome') }} fa-tag"></i> {{ $genre->name }}
</span>
@endforeach
@endif
@if ($torrent->tmdb != 0 && $torrent->tmdb != null)
<span class="badge-user text-bold">
<a href="https://www.themoviedb.org/tv/{{ $torrent->tmdb }}" title="The Movie Database"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TMDB: {{ $torrent->tmdb }}
</a>
</span>
@endif
<span class="movie-details">
<span class="badge-user text-bold text-orange">
Status: {{ $meta->status ?? 'Unknown' }}
</span>
<span class="badge-user text-bold text-orange">
@lang('torrent.runtime'): {{ $meta->episode_run_time ?? 0 }}
@lang('common.minute')@lang('common.plural-suffix')
</span>
<span class="badge-user text-bold text-gold">@lang('torrent.rating'):
<span class="movie-rating-stars">
<i class="{{ config('other.font-awesome') }} fa-star"></i>
</span>
{{ $meta->vote_average ?? 0 }}/10 ({{ $meta->vote_count ?? 0 }} @lang('torrent.votes'))
</span>
@if ($torrent->mal != 0 && $torrent->mal != null)
<span class="badge-user text-bold">
<a href="https://myanimelist.net/anime/{{ $torrent->mal }}" title="MyAnimeList" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> MAL: {{ $torrent->mal }}</a>
</span>
@endif
<span class="movie-details">
@if ($torrent->imdb != 0 && $torrent->imdb != null)
<span class="badge-user text-bold text-orange">
<a href="https://www.imdb.com/title/tt{{ $torrent->imdb }}" title="IMDB" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> IMDB: {{ $torrent->imdb }}
</a>
</span>
@endif
@if ($torrent->tvdb != 0 && $torrent->tvdb != null)
<span class="badge-user text-bold">
<a href="https://www.thetvdb.com/?tab=series&id={{ $torrent->tvdb }}" title="TheTVDB"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TVDB: {{ $torrent->tvdb }}
</a>
</span>
@endif
@if ($torrent->tmdb != 0 && $torrent->tmdb != null)
<span class="badge-user text-bold text-orange">
<a href="https://www.themoviedb.org/tv/{{ $torrent->tmdb }}" title="TheMovieDatabase"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TMDB: {{ $torrent->tmdb }}
</a>
</span>
@endif
@if ($torrent->mal != 0 && $torrent->mal != null)
<span class="badge-user text-bold text-pink">
<a href="https://myanimelist.net/anime/{{ $torrent->mal }}" title="MAL" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> MAL: {{ $torrent->mal }}</a>
</span>
@endif
@if ($torrent->tvdb != 0 && $torrent->tvdb != null)
<span class="badge-user text-bold text-pink">
<a href="https://www.thetvdb.com/?tab=series&id={{ $torrent->tvdb }}" title="TVDB"
target="_blank">
<i class="{{ config('other.font-awesome') }} fa-film"></i> TVDB: {{ $torrent->tvdb }}
</a>
</span>
@endif
<span class="badge-user text-bold">
<a href="{{ route('upload_form', ['category_id' => $torrent->category_id, 'title' => $meta->name ?? 'Unknown', 'imdb' => $torrent->imdb, 'tmdb' => $torrent->tmdb]) }}">
@lang('common.upload') {{ $meta->name ?? 'Unknown' }}
@if(isset($meta->crew))
@php $director = $meta->crew->where('known_for_department' ,'=', 'Directing')->sortBy('order')->first(); @endphp
@if($director)
<span class="badge-user text-bold text-purple">
<a href="{{ route('mediahub.persons.show', ['id' => $director->id]) }}">
<i class="{{ config('other.font-awesome') }} fa-camera-movie"></i> Dir. {{ $director->name }}
</a>
</span>
@endif
@endif
<div class="row cast-list">
@if (isset($meta->cast))
@foreach ($meta->cast->sortBy('order')->take(6) as $cast)
<div class="col-xs-4 col-md-2 text-center">
<a href="{{ route('mediahub.persons.show', ['id' => $cast->id]) }}">
<img class="img-people" src="{{ $cast->still ?? 'https://via.placeholder.com/95x140' }}"
alt="{{ $cast->name }}">
<span class="badge-user" style="white-space:normal;">
<strong>{{ $cast->name }}</strong>
</span>
</a>
</div>
@endforeach
@endif
</div>
@if (isset($meta->genres) && $meta->genres->isNotEmpty())
@foreach ($meta->genres as $genre)
<span class="badge-user text-bold text-green">
<a href="{{ route('mediahub.genres.show', ['id' => $genre->id]) }}">
<i class="{{ config('other.font-awesome') }} fa-tag"></i> {{ $genre->name }}
</a>
</span>
@endforeach
@endif
</div>
<div class="movie-details">
@if(isset($meta) && !empty(trim($meta->homepage)))
<span class="badge-user text-bold">
<a href="{{ $meta->homepage }}" title="Homepage" rel="noopener noreferrer" target="_blank">
<i class="{{ config('other.font-awesome') }} fa-external-link-alt"></i> Homepage
</a>
</span>
@endif
<span class="badge-user text-bold text-orange">
Status: {{ $meta->status ?? 'Unknown' }}
</span>
@if (isset($meta->episode_run_time))
<span class="badge-user text-bold text-orange">
@lang('torrent.runtime'): {{ $meta->episode_run_time }}
@lang('common.minute')@lang('common.plural-suffix')
</span>
@endif
<span class="badge-user text-bold text-gold">@lang('torrent.rating'):
<span class="movie-rating-stars">
<i class="{{ config('other.font-awesome') }} fa-star"></i>
</span>
{{ $meta->vote_average ?? 0 }}/10 ({{ $meta->vote_count ?? 0 }} @lang('torrent.votes'))
</span>
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-sm-pull-8 col-md-pull-8">
<img src="{{ $meta->poster ?? 'https://via.placeholder.com/600x900' }}"
class="movie-poster img-responsive hidden-xs">
<div class="cast-list">
@if (isset($meta->cast) && $meta->cast->isNotEmpty())
@foreach ($meta->cast->sortBy('order')->take(7) as $cast)
<div class="cast-item">
<a href="{{ route('mediahub.persons.show', ['id' => $cast->id]) }}" class="badge-user">
@php $tmdb_face = $cast->still ? \tmdb_image('cast_face', $cast->still) : 'https://via.placeholder.com/138x175'; @endphp
<img class="img-responsive" src="{{ $tmdb_face }}" alt="{{ $cast->name }}">
<div class="cast-name">{{ $cast->name }}</div>
</a>
</div>
@endforeach
@endif
</div>
</div>
</div>
</div>

View File

@@ -73,7 +73,7 @@
@if ($user->show_poster == 1)
<div class="torrent-poster pull-left">
@if ($torrent->category->movie_meta || $torrent->category->tv_meta)
<img loading="lazy" src="{{ $meta->poster ?? 'https://via.placeholder.com/52x80' }}"
<img loading="lazy" src="{{ isset($meta->poster) ? \tmdb_image('poster_small', $meta->poster) : 'https://via.placeholder.com/90x135' }}"
class="torrent-poster-img-small" alt="@lang('torrent.poster')">
@endif

View File

@@ -20,9 +20,8 @@
<div class="card_body">
<div class="body_poster">
@if ($t->category->movie_meta || $t->category->tv_meta)
<img src="{{ $t->meta->poster ?? 'https://via.placeholder.com/600x900' }}" class="show-poster"
data-image='<img src="{{ $t->meta->poster ?? 'https://via.placeholder.com/600x900' }}" alt="@lang('torrent.poster')" style="height: 1000px;">'
class="torrent-poster-img-small show-poster" alt="@lang('torrent.poster')">
<img src="{{ isset($t->meta->poster) ? \tmdb_image('poster_mid', $t->meta->poster) : 'https://via.placeholder.com/200x300' }}"
class="show-poster" alt="@lang('torrent.poster')">
@endif
@if ($t->category->game_meta && isset($t->meta) && $t->meta->cover->image_id && $t->meta->name)

View File

@@ -30,9 +30,8 @@
</div>
<div class="card_alt">
<div class="body_poster">
<img src="{{ $t->meta->poster ?? 'https://via.placeholder.com/600x900' }}" class="show-poster" alt="@lang('torrent.poster')"
data-image='<img src="{{ $t->meta->poster ?? 'https://via.placeholder.com/600x900' }}" alt="@lang('torrent.poster')"
style="height: 1000px;">'>
<img src="{{ isset($t->meta->poster) ? \tmdb_image('poster_mid', $t->meta->poster) : 'https://via.placeholder.com/200x300' }}"
class="show-poster" alt="@lang('torrent.poster')">
</div>
<div class="body_grouping" style="width: 100%;">
<h3 class="description_title">

View File

@@ -32,7 +32,7 @@
@section('content')
<div class="container">
<div class="block">
<div class="block single">
@if ($torrents->first()->category->movie_meta)
@include('torrent.partials.movie_meta', ['torrent' => $torrents->first()])
@endif
@@ -45,7 +45,7 @@
@include('torrent.partials.game_meta')
@endif
<div class="table-responsive">
<div class="table-responsive mt-20">
<table class="table table-condensed table-bordered table-striped">
@foreach(App\Models\Type::all()->sortBy('position') as $type)
@if($torrents->where('type_id', '=', $type->id)->count() > 0)

View File

@@ -23,7 +23,7 @@
@endsection
@section('content')
<div class="torrent box container">
<div class="meta-wrapper box container" id="meta-info">
@if ($torrent->category->movie_meta)
@include('torrent.partials.movie_meta')
@endif
@@ -36,70 +36,74 @@
@include('torrent.partials.game_meta')
@endif
<div class="table-responsive" id="vue">
<table class="table table-condensed table-bordered table-striped">
<div class="text-center">
<span class="badge-user" style=" width: 100%; background-color: rgba(0, 0, 0, 0.19);">
@if (file_exists(public_path().'/files/torrents/'.$torrent->file_name))
@if (config('torrent.download_check_page') == 1)
<a href="{{ route('download_check', ['id' => $torrent->id]) }}" role="button" class="btn btn-sm btn-success">
<i class='{{ config("other.font-awesome") }} fa-download'></i> @lang('common.download')
</a>
@else
<a href="{{ route('download', ['id' => $torrent->id]) }}" role="button" class="btn btn-sm btn-success">
<i class='{{ config("other.font-awesome") }} fa-download'></i> @lang('common.download')
</a>
@endif
@else
<a href="magnet:?dn={{ $torrent->name }}&xt=urn:btih:{{ $torrent->info_hash }}&as={{ route('torrent.download.rsskey', ['id' => $torrent->id, 'rsskey' => $user->rsskey ]) }}&tr={{ route('announce', ['passkey' => $user->passkey]) }}&xl={{ $torrent->size }}" role="button" class="btn btn-sm btn-success">
<i class='{{ config("other.font-awesome") }} fa-magnet'></i> @lang('common.magnet')
</a>
@endif
<div id="vue" class="torrent-buttons">
<div class="button-overlay"></div>
<div class="vibrant-overlay"></div>
<div class="button-block">
@if (file_exists(public_path().'/files/torrents/'.$torrent->file_name))
@if (config('torrent.download_check_page') == 1)
<a href="{{ route('download_check', ['id' => $torrent->id]) }}" role="button" class="down btn btn-sm btn-success">
<i class='{{ config("other.font-awesome") }} fa-download'></i> @lang('common.download')
</a>
@else
<a href="{{ route('download', ['id' => $torrent->id]) }}" role="button" class="down btn btn-sm btn-success">
<i class='{{ config("other.font-awesome") }} fa-download'></i> @lang('common.download')
</a>
@endif
@else
<a href="magnet:?dn={{ $torrent->name }}&xt=urn:btih:{{ $torrent->info_hash }}&as={{ route('torrent.download.rsskey', ['id' => $torrent->id, 'rsskey' => $user->rsskey ]) }}&tr={{ route('announce', ['passkey' => $user->passkey]) }}&xl={{ $torrent->size }}" role="button" class="down btn btn-sm btn-success">
<i class='{{ config("other.font-awesome") }} fa-magnet'></i> @lang('common.magnet')
</a>
@endif
@livewire('thank-button', ['torrent' => $torrent->id])
@livewire('thank-button', ['torrent' => $torrent->id])
@if ($torrent->tmdb != 0 && $torrent->category->no_meta == 0)
<a href="{{ route('torrents.similar', ['category_id' => $torrent->category_id, 'tmdb' => $torrent->tmdb]) }}" role="button" class="btn btn-sm btn-primary">
<i class='{{ config("other.font-awesome") }} fa-file'></i> @lang('torrent.similar')
</a>
@endif
@if ($torrent->tmdb != 0 && $torrent->category->no_meta == 0)
<a href="{{ route('torrents.similar', ['category_id' => $torrent->category_id, 'tmdb' => $torrent->tmdb]) }}" role="button" class="btn btn-sm btn-primary">
<i class='{{ config("other.font-awesome") }} fa-clone'></i> Similar
</a>
@endif
@if ($torrent->nfo != null)
<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modal-10">
<i class='{{ config("other.font-awesome") }} fa-file'></i> @lang('common.view') NFO
</button>
@endif
@if ($torrent->nfo != null)
<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modal-10">
<i class='{{ config("other.font-awesome") }} fa-info-circle'></i> NFO
</button>
@endif
<a href="{{ route('comment_thanks', ['id' => $torrent->id]) }}" role="button" class="btn btn-sm btn-primary">
<i class='{{ config("other.font-awesome") }} fa-heart'></i> @lang('torrent.quick-comment')
</a>
<a href="{{ route('comment_thanks', ['id' => $torrent->id]) }}" role="button" class="btn btn-sm btn-primary">
<i class='{{ config("other.font-awesome") }} fa-heart'></i> @lang('torrent.quick-comment')
</a>
<a data-toggle="modal" href="#myModal" role="button" class="btn btn-sm btn-primary">
<i class='{{ config("other.font-awesome") }} fa-file'></i> @lang('torrent.show-files')
</a>
<a data-toggle="modal" href="#myModal" role="button" class="btn btn-sm btn-primary">
<i class='{{ config("other.font-awesome") }} fa-file'></i> @lang('torrent.show-files')
</a>
@livewire('bookmark-button', ['torrent' => $torrent->id])
@livewire('bookmark-button', ['torrent' => $torrent->id])
@if ($playlists->count() > 0)
<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modal_playlist_torrent">
<i class="{{ config('other.font-awesome') }} fa-list-ol"></i> @lang('torrent.add-to-playlist')
</button>
@endif
@if ($playlists->count() > 0)
<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modal_playlist_torrent">
<i class="{{ config('other.font-awesome') }} fa-list-ol"></i> @lang('torrent.add-to-playlist')
</button>
@endif
@if ($torrent->seeders <= 2)
<a href="{{ route('reseed', ['id' => $torrent->id]) }}" role="button" class="btn btn-sm btn-warning">
<i class='{{ config("other.font-awesome") }} fa-envelope'></i> @lang('torrent.request-reseed')
</a>
@endif
@if ($torrent->seeders <= 2)
<a href="{{ route('reseed', ['id' => $torrent->id]) }}" role="button" class="btn btn-sm btn-warning">
<i class='{{ config("other.font-awesome") }} fa-envelope'></i> @lang('torrent.request-reseed')
</a>
@endif
<button class="btn btn-sm btn-danger" data-toggle="modal" data-target="#modal_torrent_report">
<i class="{{ config('other.font-awesome') }} fa-fw fa-eye"></i> @lang('common.report') @lang('torrent.torrent')
</button>
</span>
</div>
</table>
<button class="btn btn-sm btn-danger" data-toggle="modal" data-target="#modal_torrent_report">
<i class="{{ config('other.font-awesome') }} fa-fw fa-eye"></i> @lang('common.report')
</button>
<a role="button" class="btn btn-sm btn-primary" href="{{ route('upload_form', ['category_id' => $torrent->category_id, 'title' => $torrent->name ?? 'Unknown', 'imdb' => $torrent->imdb, 'tmdb' => $torrent->tmdb]) }}">
<i class="{{ config('other.font-awesome') }} fa-upload"></i> @lang('common.upload')
</a>
</div>
</div>
</div>
<div class="meta-general box container">
<div class="panel panel-chat shoutbox">
<div class="panel-heading">
<h4><i class="{{ config("other.font-awesome") }} fa-info"></i> @lang('torrent.general')</h4>
@@ -566,7 +570,7 @@
<br>
<div class="text-center">
<button class="show_hide btn btn-labeled btn-primary" href="#">
<span class="btn-label">@joypixels(':poop:')</span>{{ strtoupper(trans('torrent.original-output')) }}
{{ strtoupper(trans('torrent.original-output')) }}
</button>
</div>
<div class="slidingDiv">
@@ -597,7 +601,8 @@
<hr>
<div id="collection_waypoint" class="collection">
<div class="header collection"
style=" background-image: url({{ $meta->collection['0']->backdrop ?? 'https://via.placeholder.com/1400x800' }}); background-size: cover; background-position: 50% 50%;">
@php $backdrop = $meta->collection['0']->backdrop; @endphp
style=" background-image: url({{ isset($backdrop) ? \tmdb_image('back_big', $backdrop) : 'https://via.placeholder.com/1280x300' }}); background-size: cover; background-position: 50% 50%;">
<div class="collection-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: linear-gradient(rgba(0, 0, 0, 0.87), rgba(45, 71, 131, 0.46));"></div>
<section class="collection">
<h2>Part of the {{ $meta->collection['0']->name }}</h2>