From aadfeccab1bd88b9d90d8fa2ad04055eb38fdadd Mon Sep 17 00:00:00 2001 From: Pablo Ferreiro Date: Sun, 2 Apr 2023 20:14:48 +0200 Subject: [PATCH 01/10] Added some details --- app/Helpers/Wrappers.php | 10 ++++++++++ misc/scss/cssgg.scss | 1 + styles/misc.css | 3 +++ styles/vendor/cssgg.min.css | 2 +- styles/vendor/cssgg.min.css.map | 2 +- templates/components/details.latte | 4 ++++ templates/components/head.latte | 1 + templates/components/themes/common/tags.latte | 2 +- templates/components/themes/default.latte | 10 ++++++++++ templates/views/user.latte | 18 ++++++++++++++++-- 10 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 styles/misc.css create mode 100644 templates/components/details.latte diff --git a/app/Helpers/Wrappers.php b/app/Helpers/Wrappers.php index ae8ba50..27aa636 100644 --- a/app/Helpers/Wrappers.php +++ b/app/Helpers/Wrappers.php @@ -91,9 +91,19 @@ class Wrappers { return UrlBuilder::download($url, $username, $id, $watermark); }); + $latte->addFunction('bool_to_str', function (bool $cond): string { + return $cond ? 'yes' : 'no'; + }); + // Add URLs to video descriptions // TODO: Make it work with unicode characters such as emojis $latte->addFunction('render_desc', function (string $desc, array $textExtras = []): string { + $bytesCount = strlen($desc); + $charsCount = mb_strlen($desc); + // Skip urlify for now if there is a special char like an emoji to avoid issues + if ($bytesCount !== $charsCount) { + return $desc; + } $sanitizedDesc = htmlspecialchars($desc); $out = $sanitizedDesc; foreach ($textExtras as $extra) { diff --git a/misc/scss/cssgg.scss b/misc/scss/cssgg.scss index 12d7f85..8d0e66f 100644 --- a/misc/scss/cssgg.scss +++ b/misc/scss/cssgg.scss @@ -15,6 +15,7 @@ @import "./node_modules/css.gg/icons/scss/comment.scss"; @import "./node_modules/css.gg/icons/scss/share.scss"; @import "./node_modules/css.gg/icons/scss/software-download.scss"; +@import "./node_modules/css.gg/icons/scss/check-o.scss"; @import "./node_modules/css.gg/icons/scss/lock.scss"; @import "./node_modules/css.gg/icons/scss/lock-unlock.scss"; diff --git a/styles/misc.css b/styles/misc.css new file mode 100644 index 0000000..8b58f37 --- /dev/null +++ b/styles/misc.css @@ -0,0 +1,3 @@ +.new-line { + white-space: pre-wrap; +} diff --git a/styles/vendor/cssgg.min.css b/styles/vendor/cssgg.min.css index ce5f674..f3f50dd 100644 --- a/styles/vendor/cssgg.min.css +++ b/styles/vendor/cssgg.min.css @@ -1 +1 @@ -.gg-home{background:linear-gradient(to left, currentColor 5px, transparent 0) no-repeat 0 bottom/4px 2px,linear-gradient(to left, currentColor 5px, transparent 0) no-repeat right bottom/4px 2px;box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:18px;height:14px;border:2px solid;border-top:0;border-bottom:0;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:-2px}.gg-home::after{content:"";display:block;box-sizing:border-box;position:absolute}.gg-home::before{content:"";display:block;box-sizing:border-box;position:absolute;border-top:2px solid;border-left:2px solid;border-top-left-radius:4px;transform:rotate(45deg);top:-5px;border-radius:3px;width:14px;height:14px;left:0}.gg-home::after{width:8px;height:10px;border:2px solid;border-radius:100px;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0;left:3px;bottom:0}.gg-options{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:10px;height:2px;box-shadow:-3px 4px 0 0,3px -4px 0 0}.gg-options::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;border:2px solid;border-radius:100%}.gg-options::before{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;border:2px solid;border-radius:100%;top:-7px;left:-4px}.gg-options::after{bottom:-7px;right:-4px}.gg-info{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:20px;height:20px;border:2px solid;border-radius:40px}.gg-info::after,.gg-info::before{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:2px;background:currentColor;left:7px}.gg-info::after{bottom:2px;height:8px}.gg-info::before{height:2px;top:2px}.gg-code-slash{display:block;position:relative;box-sizing:border-box;transform:rotate(15deg) scale(var(--ggs, 1));width:2px;height:16px;background:currentColor}.gg-code-slash::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;transform:rotate(-60deg)}.gg-code-slash::before{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;transform:rotate(-60deg);border-left:2px solid;border-top:2px solid;left:-8px;top:5px}.gg-code-slash::after{border-right:2px solid;border-bottom:2px solid;right:-8px;top:3px}.gg-search{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:16px;height:16px;border:2px solid;border-radius:100%;margin-left:-4px;margin-top:-4px}.gg-search::after{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:2px;height:8px;background:currentColor;transform:rotate(-45deg);top:10px;left:12px}.gg-feed{display:block;box-sizing:border-box;background:currentColor;box-shadow:0 10px 0 0;margin-left:-8px;margin-top:-8px;position:relative;transform:scale(var(--ggs, 1));width:7px;height:7px;border-radius:1px}.gg-feed::after,.gg-feed::before{display:block;box-sizing:border-box;background:currentColor;box-shadow:0 10px 0 0}.gg-feed::after,.gg-feed::before{content:"";position:absolute;border-radius:3px;width:12px;height:2px;top:1px;left:9px;opacity:.8}.gg-feed::after{width:8px;top:4px;opacity:.5}.gg-eye{position:relative;display:block;transform:scale(var(--ggs, 1));width:24px;height:18px;border-bottom-right-radius:100px;border-bottom-left-radius:100px;overflow:hidden;box-sizing:border-box}.gg-eye::after,.gg-eye::before{content:"";display:block;border-radius:100px;position:absolute;box-sizing:border-box}.gg-eye::after{top:2px;box-shadow:inset 0 -8px 0 2px,inset 0 0 0 2px;width:24px;height:24px}.gg-eye::before{width:8px;height:8px;border:2px solid;bottom:4px;left:8px}.gg-heart{border:2px solid;border-top-left-radius:100px;border-top-right-radius:100px;width:10px;height:8px;border-bottom:0;box-sizing:border-box;position:relative;transform:translate(calc(-5px * var(--ggs, 1)), calc(-3px * var(--ggs, 1))) rotate(-45deg) scale(var(--ggs, 1));display:block}.gg-heart::after{border:2px solid;border-top-left-radius:100px;border-top-right-radius:100px;width:10px;height:8px;border-bottom:0;content:"";display:block;box-sizing:border-box;position:absolute}.gg-heart::before{content:"";display:block;box-sizing:border-box;position:absolute}.gg-heart::after{right:-9px;transform:rotate(90deg);top:5px}.gg-heart::before{width:11px;height:11px;border-left:2px solid;border-bottom:2px solid;left:-2px;top:3px}.gg-comment{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:20px;height:16px;border:2px solid;border-bottom:0;box-shadow:-6px 8px 0 -6px,6px 8px 0 -6px}.gg-comment::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px}.gg-comment::before{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;border:2px solid;border-top-color:rgba(0,0,0,0);border-bottom-left-radius:20px;right:4px;bottom:-6px;height:6px}.gg-comment::after{height:2px;background:currentColor;box-shadow:0 4px 0 0;left:4px;top:4px}.gg-share{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:6px;height:6px;background:currentColor;border-radius:100px;box-shadow:10px -6px 0,10px 6px 0}.gg-share::after{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:10px;height:2px;background:currentColor;left:2px}.gg-share::before{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:10px;height:2px;background:currentColor;left:2px;top:0;transform:rotate(-35deg)}.gg-share::after{bottom:0;transform:rotate(35deg)}.gg-software-download{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:16px;height:6px;border:2px solid;border-top:0;border-bottom-left-radius:2px;border-bottom-right-radius:2px;margin-top:8px}.gg-software-download::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;border-left:2px solid;border-bottom:2px solid;transform:rotate(-45deg);left:2px;bottom:4px}.gg-software-download::before{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:2px;height:10px;background:currentColor;left:5px;bottom:5px}.gg-lock{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:12px;height:11px;border:2px solid;border-top-right-radius:50%;border-top-left-radius:50%;border-bottom:rgba(0,0,0,0);margin-top:-12px}.gg-lock::after{content:"";display:block;box-sizing:border-box;position:absolute;width:16px;height:10px;border-radius:2px;border:2px solid rgba(0,0,0,0);box-shadow:0 0 0 2px;left:-4px;top:9px}.gg-lock-unlock{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:12px;height:6px;border:2px solid;border-top-right-radius:100px;border-top-left-radius:100px;border-bottom:rgba(0,0,0,0);margin-top:-18px;margin-left:-2px}.gg-lock-unlock::after,.gg-lock-unlock::before{content:"";display:block;box-sizing:border-box;position:absolute}.gg-lock-unlock::after{border:2px solid rgba(0,0,0,0);box-shadow:0 0 0 2px;width:16px;height:10px;border-radius:2px;left:-4px;top:10px}.gg-lock-unlock::before{width:2px;height:6px;background:currentColor;left:-2px;top:4px}.gg-music{display:block;box-sizing:border-box;border:2px solid;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:0;margin-top:-4px;position:relative;transform:skewY(-15deg) scale(var(--ggs, 1));width:14px;height:16px}.gg-music::after,.gg-music::before{display:block;box-sizing:border-box;border:2px solid}.gg-music::after,.gg-music::before{content:"";position:absolute;width:7px;height:7px;top:9px;left:-7px;transform:skewY(15deg);border-radius:10px}.gg-music::after{left:5px}/*# sourceMappingURL=cssgg.min.css.map */ +.gg-home{background:linear-gradient(to left, currentColor 5px, transparent 0) no-repeat 0 bottom/4px 2px,linear-gradient(to left, currentColor 5px, transparent 0) no-repeat right bottom/4px 2px;box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:18px;height:14px;border:2px solid;border-top:0;border-bottom:0;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:-2px}.gg-home::after{content:"";display:block;box-sizing:border-box;position:absolute}.gg-home::before{content:"";display:block;box-sizing:border-box;position:absolute;border-top:2px solid;border-left:2px solid;border-top-left-radius:4px;transform:rotate(45deg);top:-5px;border-radius:3px;width:14px;height:14px;left:0}.gg-home::after{width:8px;height:10px;border:2px solid;border-radius:100px;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0;left:3px;bottom:0}.gg-options{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:10px;height:2px;box-shadow:-3px 4px 0 0,3px -4px 0 0}.gg-options::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;border:2px solid;border-radius:100%}.gg-options::before{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;border:2px solid;border-radius:100%;top:-7px;left:-4px}.gg-options::after{bottom:-7px;right:-4px}.gg-info{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:20px;height:20px;border:2px solid;border-radius:40px}.gg-info::after,.gg-info::before{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:2px;background:currentColor;left:7px}.gg-info::after{bottom:2px;height:8px}.gg-info::before{height:2px;top:2px}.gg-code-slash{display:block;position:relative;box-sizing:border-box;transform:rotate(15deg) scale(var(--ggs, 1));width:2px;height:16px;background:currentColor}.gg-code-slash::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;transform:rotate(-60deg)}.gg-code-slash::before{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;transform:rotate(-60deg);border-left:2px solid;border-top:2px solid;left:-8px;top:5px}.gg-code-slash::after{border-right:2px solid;border-bottom:2px solid;right:-8px;top:3px}.gg-search{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:16px;height:16px;border:2px solid;border-radius:100%;margin-left:-4px;margin-top:-4px}.gg-search::after{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:2px;height:8px;background:currentColor;transform:rotate(-45deg);top:10px;left:12px}.gg-feed{display:block;box-sizing:border-box;background:currentColor;box-shadow:0 10px 0 0;margin-left:-8px;margin-top:-8px;position:relative;transform:scale(var(--ggs, 1));width:7px;height:7px;border-radius:1px}.gg-feed::after,.gg-feed::before{display:block;box-sizing:border-box;background:currentColor;box-shadow:0 10px 0 0}.gg-feed::after,.gg-feed::before{content:"";position:absolute;border-radius:3px;width:12px;height:2px;top:1px;left:9px;opacity:.8}.gg-feed::after{width:8px;top:4px;opacity:.5}.gg-eye{position:relative;display:block;transform:scale(var(--ggs, 1));width:24px;height:18px;border-bottom-right-radius:100px;border-bottom-left-radius:100px;overflow:hidden;box-sizing:border-box}.gg-eye::after,.gg-eye::before{content:"";display:block;border-radius:100px;position:absolute;box-sizing:border-box}.gg-eye::after{top:2px;box-shadow:inset 0 -8px 0 2px,inset 0 0 0 2px;width:24px;height:24px}.gg-eye::before{width:8px;height:8px;border:2px solid;bottom:4px;left:8px}.gg-heart{border:2px solid;border-top-left-radius:100px;border-top-right-radius:100px;width:10px;height:8px;border-bottom:0;box-sizing:border-box;position:relative;transform:translate(calc(-5px * var(--ggs, 1)), calc(-3px * var(--ggs, 1))) rotate(-45deg) scale(var(--ggs, 1));display:block}.gg-heart::after{border:2px solid;border-top-left-radius:100px;border-top-right-radius:100px;width:10px;height:8px;border-bottom:0;content:"";display:block;box-sizing:border-box;position:absolute}.gg-heart::before{content:"";display:block;box-sizing:border-box;position:absolute}.gg-heart::after{right:-9px;transform:rotate(90deg);top:5px}.gg-heart::before{width:11px;height:11px;border-left:2px solid;border-bottom:2px solid;left:-2px;top:3px}.gg-comment{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:20px;height:16px;border:2px solid;border-bottom:0;box-shadow:-6px 8px 0 -6px,6px 8px 0 -6px}.gg-comment::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px}.gg-comment::before{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;border:2px solid;border-top-color:rgba(0,0,0,0);border-bottom-left-radius:20px;right:4px;bottom:-6px;height:6px}.gg-comment::after{height:2px;background:currentColor;box-shadow:0 4px 0 0;left:4px;top:4px}.gg-share{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:6px;height:6px;background:currentColor;border-radius:100px;box-shadow:10px -6px 0,10px 6px 0}.gg-share::after{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:10px;height:2px;background:currentColor;left:2px}.gg-share::before{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:10px;height:2px;background:currentColor;left:2px;top:0;transform:rotate(-35deg)}.gg-share::after{bottom:0;transform:rotate(35deg)}.gg-software-download{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:16px;height:6px;border:2px solid;border-top:0;border-bottom-left-radius:2px;border-bottom-right-radius:2px;margin-top:8px}.gg-software-download::after{content:"";display:block;box-sizing:border-box;position:absolute;width:8px;height:8px;border-left:2px solid;border-bottom:2px solid;transform:rotate(-45deg);left:2px;bottom:4px}.gg-software-download::before{content:"";display:block;box-sizing:border-box;position:absolute;border-radius:3px;width:2px;height:10px;background:currentColor;left:5px;bottom:5px}.gg-check-o{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:22px;height:22px;border:2px solid;border-radius:100px}.gg-check-o::after{content:"";display:block;box-sizing:border-box;position:absolute;left:3px;top:-1px;width:6px;height:10px;border-color:currentColor;border-width:0 2px 2px 0;border-style:solid;transform-origin:bottom left;transform:rotate(45deg)}.gg-lock{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:12px;height:11px;border:2px solid;border-top-right-radius:50%;border-top-left-radius:50%;border-bottom:rgba(0,0,0,0);margin-top:-12px}.gg-lock::after{content:"";display:block;box-sizing:border-box;position:absolute;width:16px;height:10px;border-radius:2px;border:2px solid rgba(0,0,0,0);box-shadow:0 0 0 2px;left:-4px;top:9px}.gg-lock-unlock{box-sizing:border-box;position:relative;display:block;transform:scale(var(--ggs, 1));width:12px;height:6px;border:2px solid;border-top-right-radius:100px;border-top-left-radius:100px;border-bottom:rgba(0,0,0,0);margin-top:-18px;margin-left:-2px}.gg-lock-unlock::after,.gg-lock-unlock::before{content:"";display:block;box-sizing:border-box;position:absolute}.gg-lock-unlock::after{border:2px solid rgba(0,0,0,0);box-shadow:0 0 0 2px;width:16px;height:10px;border-radius:2px;left:-4px;top:10px}.gg-lock-unlock::before{width:2px;height:6px;background:currentColor;left:-2px;top:4px}.gg-music{display:block;box-sizing:border-box;border:2px solid;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:0;margin-top:-4px;position:relative;transform:skewY(-15deg) scale(var(--ggs, 1));width:14px;height:16px}.gg-music::after,.gg-music::before{display:block;box-sizing:border-box;border:2px solid}.gg-music::after,.gg-music::before{content:"";position:absolute;width:7px;height:7px;top:9px;left:-7px;transform:skewY(15deg);border-radius:10px}.gg-music::after{left:5px}/*# sourceMappingURL=cssgg.min.css.map */ diff --git a/styles/vendor/cssgg.min.css.map b/styles/vendor/cssgg.min.css.map index 846ac9c..cd52492 100644 --- a/styles/vendor/cssgg.min.css.map +++ b/styles/vendor/cssgg.min.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../misc/scss/node_modules/css.gg/icons/scss/home.scss","../../misc/scss/node_modules/css.gg/icons/scss/options.scss","../../misc/scss/node_modules/css.gg/icons/scss/info.scss","../../misc/scss/node_modules/css.gg/icons/scss/code-slash.scss","../../misc/scss/node_modules/css.gg/icons/scss/search.scss","../../misc/scss/node_modules/css.gg/icons/scss/feed.scss","../../misc/scss/node_modules/css.gg/icons/scss/eye.scss","../../misc/scss/node_modules/css.gg/icons/scss/heart.scss","../../misc/scss/node_modules/css.gg/icons/scss/comment.scss","../../misc/scss/node_modules/css.gg/icons/scss/share.scss","../../misc/scss/node_modules/css.gg/icons/scss/software-download.scss","../../misc/scss/node_modules/css.gg/icons/scss/lock.scss","../../misc/scss/node_modules/css.gg/icons/scss/lock-unlock.scss","../../misc/scss/node_modules/css.gg/icons/scss/music.scss"],"names":[],"mappings":"AAAA,SACE,yLACA,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,aACA,gBACA,4BACA,2BACA,6BACA,4BACA,mBAEA,gBACE,WACA,cACA,sBACA,kBAGF,iBACE,WACA,cACA,sBACA,kBACA,qBACA,sBACA,2BACA,wBACA,SACA,kBACA,WACA,YACA,OAGF,gBACE,UACA,YACA,iBACA,oBACA,4BACA,6BACA,gBACA,SACA,SCjDJ,YACI,sBACA,kBACA,cACA,+BACA,WACA,WACA,qCAEA,mBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,iBACA,mBAGF,oBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,iBACA,mBACA,SACA,UAGF,mBACE,YACA,WCnCN,SACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,mBAEA,iCACE,WACA,cACA,sBACA,kBACA,kBACA,UACA,wBACA,SAGF,gBACE,WACA,WAGF,iBACE,WACA,QC5BN,eACI,cACA,kBACA,sBACA,6CACA,UACA,YACA,wBAEA,sBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,yBAGF,uBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,yBACA,sBACA,qBACA,UACA,QAGF,sBACE,uBACA,wBACA,WACA,QCrCN,WACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,mBACA,iBACA,gBAEA,kBACE,WACA,cACA,sBACA,kBACA,kBACA,UACA,WACA,wBACA,yBACA,SACA,UCvBN,SACI,cACA,sBACA,wBACA,sBASA,iBACA,gBACA,kBACA,+BACA,UACA,WACA,kBAbA,iCACE,cACA,sBACA,wBACA,sBAWF,iCACE,WACA,kBACA,kBACA,WACA,WACA,QACA,SACA,WAGF,gBACE,UACA,QACA,WCnCN,QACI,kBACA,cACA,+BACA,WACA,YACA,iCACA,gCACA,gBACA,sBAEA,+BACE,WACA,cACA,oBACA,kBACA,sBAGF,eACE,QACA,8CACA,WACA,YAGF,gBACE,UACA,WACA,iBACA,WACA,SC/BN,UACI,iBACA,6BACA,8BACA,WACA,WACA,gBAeA,sBACA,kBACA,gHACA,cAhBA,iBACE,iBACA,6BACA,8BACA,WACA,WACA,gBACA,WACA,cACA,sBACA,kBAQF,kBACE,WACA,cACA,sBACA,kBAGF,iBACE,WACA,wBACA,QAGF,kBACE,WACA,YACA,sBACA,wBACA,UACA,QC7CN,YACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,gBACA,0CAEA,mBACE,WACA,cACA,sBACA,kBACA,UAGF,oBACE,WACA,cACA,sBACA,kBACA,UACA,iBACA,+BACA,+BACA,UACA,YACA,WAGF,mBACE,WACA,wBACA,qBACA,SACA,QCtCN,UACI,sBACA,kBACA,cACA,+BACA,UACA,WACA,wBACA,oBACA,kCAEA,iBACE,WACA,cACA,sBACA,kBACA,kBACA,WACA,WACA,wBACA,SAGF,kBACE,WACA,cACA,sBACA,kBACA,kBACA,WACA,WACA,wBACA,SACA,MACA,yBAGF,iBACE,SACA,wBCvCN,sBACI,sBACA,kBACA,cACA,+BACA,WACA,WACA,iBACA,aACA,8BACA,+BACA,eAEA,6BACE,WACA,cACA,sBACA,kBACA,UACA,WACA,sBACA,wBACA,yBACA,SACA,WAGF,8BACE,WACA,cACA,sBACA,kBACA,kBACA,UACA,YACA,wBACA,SACA,WCrCN,SACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,4BACA,2BACA,4BACA,iBAEA,gBACE,WACA,cACA,sBACA,kBACA,WACA,YACA,kBACA,+BACA,qBACA,UACA,QCxBN,gBACI,sBACA,kBACA,cACA,+BACA,WACA,WACA,iBACA,8BACA,6BACA,4BACA,iBACA,iBAEA,+CACE,WACA,cACA,sBACA,kBAGF,uBACE,+BACA,qBACA,WACA,YACA,kBACA,UACA,SAGF,wBACE,UACA,WACA,wBACA,UACA,QCpCN,UACI,cACA,sBACA,iBAQA,2BACA,4BACA,gBACA,gBACA,kBACA,6CACA,WACA,YAbA,mCACE,cACA,sBACA,iBAYF,mCACE,WACA,kBACA,UACA,WACA,QACA,UACA,uBACA,mBAGF,iBACE","file":"cssgg.min.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../misc/scss/node_modules/css.gg/icons/scss/home.scss","../../misc/scss/node_modules/css.gg/icons/scss/options.scss","../../misc/scss/node_modules/css.gg/icons/scss/info.scss","../../misc/scss/node_modules/css.gg/icons/scss/code-slash.scss","../../misc/scss/node_modules/css.gg/icons/scss/search.scss","../../misc/scss/node_modules/css.gg/icons/scss/feed.scss","../../misc/scss/node_modules/css.gg/icons/scss/eye.scss","../../misc/scss/node_modules/css.gg/icons/scss/heart.scss","../../misc/scss/node_modules/css.gg/icons/scss/comment.scss","../../misc/scss/node_modules/css.gg/icons/scss/share.scss","../../misc/scss/node_modules/css.gg/icons/scss/software-download.scss","../../misc/scss/node_modules/css.gg/icons/scss/check-o.scss","../../misc/scss/node_modules/css.gg/icons/scss/lock.scss","../../misc/scss/node_modules/css.gg/icons/scss/lock-unlock.scss","../../misc/scss/node_modules/css.gg/icons/scss/music.scss"],"names":[],"mappings":"AAAA,SACE,yLACA,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,aACA,gBACA,4BACA,2BACA,6BACA,4BACA,mBAEA,gBACE,WACA,cACA,sBACA,kBAGF,iBACE,WACA,cACA,sBACA,kBACA,qBACA,sBACA,2BACA,wBACA,SACA,kBACA,WACA,YACA,OAGF,gBACE,UACA,YACA,iBACA,oBACA,4BACA,6BACA,gBACA,SACA,SCjDJ,YACI,sBACA,kBACA,cACA,+BACA,WACA,WACA,qCAEA,mBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,iBACA,mBAGF,oBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,iBACA,mBACA,SACA,UAGF,mBACE,YACA,WCnCN,SACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,mBAEA,iCACE,WACA,cACA,sBACA,kBACA,kBACA,UACA,wBACA,SAGF,gBACE,WACA,WAGF,iBACE,WACA,QC5BN,eACI,cACA,kBACA,sBACA,6CACA,UACA,YACA,wBAEA,sBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,yBAGF,uBACE,WACA,cACA,sBACA,kBACA,UACA,WACA,yBACA,sBACA,qBACA,UACA,QAGF,sBACE,uBACA,wBACA,WACA,QCrCN,WACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,mBACA,iBACA,gBAEA,kBACE,WACA,cACA,sBACA,kBACA,kBACA,UACA,WACA,wBACA,yBACA,SACA,UCvBN,SACI,cACA,sBACA,wBACA,sBASA,iBACA,gBACA,kBACA,+BACA,UACA,WACA,kBAbA,iCACE,cACA,sBACA,wBACA,sBAWF,iCACE,WACA,kBACA,kBACA,WACA,WACA,QACA,SACA,WAGF,gBACE,UACA,QACA,WCnCN,QACI,kBACA,cACA,+BACA,WACA,YACA,iCACA,gCACA,gBACA,sBAEA,+BACE,WACA,cACA,oBACA,kBACA,sBAGF,eACE,QACA,8CACA,WACA,YAGF,gBACE,UACA,WACA,iBACA,WACA,SC/BN,UACI,iBACA,6BACA,8BACA,WACA,WACA,gBAeA,sBACA,kBACA,gHACA,cAhBA,iBACE,iBACA,6BACA,8BACA,WACA,WACA,gBACA,WACA,cACA,sBACA,kBAQF,kBACE,WACA,cACA,sBACA,kBAGF,iBACE,WACA,wBACA,QAGF,kBACE,WACA,YACA,sBACA,wBACA,UACA,QC7CN,YACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,gBACA,0CAEA,mBACE,WACA,cACA,sBACA,kBACA,UAGF,oBACE,WACA,cACA,sBACA,kBACA,UACA,iBACA,+BACA,+BACA,UACA,YACA,WAGF,mBACE,WACA,wBACA,qBACA,SACA,QCtCN,UACI,sBACA,kBACA,cACA,+BACA,UACA,WACA,wBACA,oBACA,kCAEA,iBACE,WACA,cACA,sBACA,kBACA,kBACA,WACA,WACA,wBACA,SAGF,kBACE,WACA,cACA,sBACA,kBACA,kBACA,WACA,WACA,wBACA,SACA,MACA,yBAGF,iBACE,SACA,wBCvCN,sBACI,sBACA,kBACA,cACA,+BACA,WACA,WACA,iBACA,aACA,8BACA,+BACA,eAEA,6BACE,WACA,cACA,sBACA,kBACA,UACA,WACA,sBACA,wBACA,yBACA,SACA,WAGF,8BACE,WACA,cACA,sBACA,kBACA,kBACA,UACA,YACA,wBACA,SACA,WCrCN,YACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,oBAEA,mBACE,WACA,cACA,sBACA,kBACA,SACA,SACA,UACA,YACA,0BACA,yBACA,mBACA,6BACA,wBCvBN,SACI,sBACA,kBACA,cACA,+BACA,WACA,YACA,iBACA,4BACA,2BACA,4BACA,iBAEA,gBACE,WACA,cACA,sBACA,kBACA,WACA,YACA,kBACA,+BACA,qBACA,UACA,QCxBN,gBACI,sBACA,kBACA,cACA,+BACA,WACA,WACA,iBACA,8BACA,6BACA,4BACA,iBACA,iBAEA,+CACE,WACA,cACA,sBACA,kBAGF,uBACE,+BACA,qBACA,WACA,YACA,kBACA,UACA,SAGF,wBACE,UACA,WACA,wBACA,UACA,QCpCN,UACI,cACA,sBACA,iBAQA,2BACA,4BACA,gBACA,gBACA,kBACA,6CACA,WACA,YAbA,mCACE,cACA,sBACA,iBAYF,mCACE,WACA,kBACA,UACA,WACA,QACA,UACA,uBACA,mBAGF,iBACE","file":"cssgg.min.css"} \ No newline at end of file diff --git a/templates/components/details.latte b/templates/components/details.latte new file mode 100644 index 0000000..66a17c1 --- /dev/null +++ b/templates/components/details.latte @@ -0,0 +1,4 @@ +
+ {$title} + {block content}{/block} +
diff --git a/templates/components/head.latte b/templates/components/head.latte index dca9c55..d7dd4c6 100644 --- a/templates/components/head.latte +++ b/templates/components/head.latte @@ -31,6 +31,7 @@ {/if} + {$title} - ProxiTok diff --git a/templates/components/themes/common/tags.latte b/templates/components/themes/common/tags.latte index 89be8bf..f47e230 100644 --- a/templates/components/themes/common/tags.latte +++ b/templates/components/themes/common/tags.latte @@ -1,5 +1,5 @@
{foreach $challenges as $challenge} - #{$challenge->title} + #{$challenge->title} {/foreach}
diff --git a/templates/components/themes/default.latte b/templates/components/themes/default.latte index da3556a..3cd19da 100644 --- a/templates/components/themes/default.latte +++ b/templates/components/themes/default.latte @@ -28,6 +28,16 @@ {include './common/download.latte', playAddr: $item->video->playAddr, id: $item->id, uniqueId: $item->author->uniqueId}

Share link

{include './common/share.latte', uniqueId: $item->author->uniqueId, id: $item->id} +
+ {embed '../details.latte', title: "Details"} + {block content} +

Is Ad: {bool_to_str($item->isAd)} +

Can duet: {bool_to_str($item->duetEnabled)}

+

Can stitch (add this video to other ones): {bool_to_str($item->stitchEnabled)}

+

Can be shared: {bool_to_str($item->shareEnabled)} + {/block} + {/embed} +

{/foreach} diff --git a/templates/views/user.latte b/templates/views/user.latte index f8708a6..9b280a1 100644 --- a/templates/views/user.latte +++ b/templates/views/user.latte @@ -10,17 +10,31 @@
-

{$info->detail->uniqueId}

+

+ {if $info->detail->verified} + {include '../components/icon.latte', icon: 'check-o', text: $info->detail->uniqueId} + {else} + {$info->detail->uniqueId} + {/if} +

{include '../components/rss.latte'}

{if $info->detail->privateAccount}

Private account

{/if} -

{$info->detail->signature}

+ Description +

{$info->detail->signature}

{if isset($info->detail->bioLink)}

Link: {$info->detail->bioLink->link}

{/if} + Stats

Following: {number($info->stats->followingCount)} / Followers: {number($info->stats->followerCount)}

Hearts: {number($info->stats->heartCount)} / Videos: {$info->stats->videoCount}

+ {embed '../components/details.latte', title: "Details"} + {block content} +

Region: {$info->detail->region}

+

Category: {$info->detail->commerceUserInfo->category}

+ {/block} + {/embed} {/block} {block content} From 3bd6c553f4ab1d04e5f31abba7e3fda962f0a926 Mon Sep 17 00:00:00 2001 From: Pablo Ferreiro Date: Sun, 2 Apr 2023 20:18:10 +0200 Subject: [PATCH 02/10] bump --- composer.json | 2 +- composer.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index f646137..54a5a1c 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "pablouser1/proxitok", "description": "An alternative frontend for TikTok", - "version": "2.4.8.1", + "version": "2.4.9.0", "license": "AGPL-3.0-or-later", "type": "project", "authors": [ diff --git a/composer.lock b/composer.lock index a10ffef..d76d683 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "15a71acabddd2588be9800ae1bb37c92", + "content-hash": "d8e56c687ca265b350f34789ce3cf82b", "packages": [ { "name": "bramus/router", From 7e65da7fe96aab3a55ccd55279759dce35e28a02 Mon Sep 17 00:00:00 2001 From: Pablo Ferreiro Date: Sun, 2 Apr 2023 20:37:36 +0200 Subject: [PATCH 03/10] fixes to ttag --- templates/views/tag.latte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/templates/views/tag.latte b/templates/views/tag.latte index 3de0384..0e0671b 100644 --- a/templates/views/tag.latte +++ b/templates/views/tag.latte @@ -14,7 +14,12 @@ {/if}

{$info->detail->title}

{include '../components/rss.latte'}

-

Videos: {number($info->stats->videoCount)} / Views: {number($info->stats->viewCount)}

+

Views: {number($info->stats->viewCount)}

+ {embed '../components/details.latte', title: 'Details'} + {block content} +

Is commerce: {bool_to_str($info->detail->isCommerce)}

+ {/block} + {/embed} {/block} {block content} From 3556fef0366c72eeaee9c56b35d783a1a92f6921 Mon Sep 17 00:00:00 2001 From: Pablo Ferreiro Date: Mon, 3 Apr 2023 14:37:04 +0200 Subject: [PATCH 04/10] commerce fix --- templates/views/user.latte | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/views/user.latte b/templates/views/user.latte index 9b280a1..9f01839 100644 --- a/templates/views/user.latte +++ b/templates/views/user.latte @@ -32,7 +32,9 @@ {embed '../components/details.latte', title: "Details"} {block content}

Region: {$info->detail->region}

+ {if $info->detail->commerceUserInfo->commerceUser}

Category: {$info->detail->commerceUserInfo->category}

+ {/if} {/block} {/embed} {/block} From d09830cc8977975236355f49ee9e29591b746068 Mon Sep 17 00:00:00 2001 From: Pablo Ferreiro Date: Mon, 3 Apr 2023 16:24:51 +0200 Subject: [PATCH 05/10] bump scraper --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index d76d683..ad37fb3 100644 --- a/composer.lock +++ b/composer.lock @@ -303,16 +303,16 @@ }, { "name": "pablouser1/tikscraper", - "version": "v2.3.6.2", + "version": "v2.3.6.3", "source": { "type": "git", "url": "https://github.com/pablouser1/TikScraperPHP.git", - "reference": "10394fb5fb5213d05fe0eb29f7582423fc15d08a" + "reference": "99c75fc1786c63276592b0f9859a232f17876f6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/10394fb5fb5213d05fe0eb29f7582423fc15d08a", - "reference": "10394fb5fb5213d05fe0eb29f7582423fc15d08a", + "url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/99c75fc1786c63276592b0f9859a232f17876f6a", + "reference": "99c75fc1786c63276592b0f9859a232f17876f6a", "shasum": "" }, "require": { @@ -346,9 +346,9 @@ "description": "Get data from TikTok API", "support": { "issues": "https://github.com/pablouser1/TikScraperPHP/issues", - "source": "https://github.com/pablouser1/TikScraperPHP/tree/v2.3.6.2" + "source": "https://github.com/pablouser1/TikScraperPHP/tree/v2.3.6.3" }, - "time": "2023-04-01T13:46:50+00:00" + "time": "2023-04-03T14:23:28+00:00" }, { "name": "php-webdriver/webdriver", From 4e191922fef9d082cf5855b554acf8931552b8b2 Mon Sep 17 00:00:00 2001 From: Pablo Ferreiro Date: Wed, 5 Apr 2023 17:09:22 +0200 Subject: [PATCH 06/10] accept both desktop and mobile user agents scraper --- composer.lock | 12 ++++++------ templates/components/themes/default.latte | 5 ++++- templates/views/video.latte | 5 ++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/composer.lock b/composer.lock index ad37fb3..2e001aa 100644 --- a/composer.lock +++ b/composer.lock @@ -303,16 +303,16 @@ }, { "name": "pablouser1/tikscraper", - "version": "v2.3.6.3", + "version": "v2.3.6.4", "source": { "type": "git", "url": "https://github.com/pablouser1/TikScraperPHP.git", - "reference": "99c75fc1786c63276592b0f9859a232f17876f6a" + "reference": "b26764777121dbc4408f84140b802869a77b575e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/99c75fc1786c63276592b0f9859a232f17876f6a", - "reference": "99c75fc1786c63276592b0f9859a232f17876f6a", + "url": "https://api.github.com/repos/pablouser1/TikScraperPHP/zipball/b26764777121dbc4408f84140b802869a77b575e", + "reference": "b26764777121dbc4408f84140b802869a77b575e", "shasum": "" }, "require": { @@ -346,9 +346,9 @@ "description": "Get data from TikTok API", "support": { "issues": "https://github.com/pablouser1/TikScraperPHP/issues", - "source": "https://github.com/pablouser1/TikScraperPHP/tree/v2.3.6.3" + "source": "https://github.com/pablouser1/TikScraperPHP/tree/v2.3.6.4" }, - "time": "2023-04-03T14:23:28+00:00" + "time": "2023-04-05T15:08:06+00:00" }, { "name": "php-webdriver/webdriver", diff --git a/templates/components/themes/default.latte b/templates/components/themes/default.latte index 3cd19da..6eaf388 100644 --- a/templates/components/themes/default.latte +++ b/templates/components/themes/default.latte @@ -17,15 +17,18 @@ {if !empty($item->challenges)}

{include './common/tags.latte', challenges: $item->challenges}

{/if} -

{render_desc($item->desc, $item->textExtra)|noescape}

+

{render_desc($item->desc, $item->textExtra ?? [])|noescape}

Song: {$item->music->title}

{include './common/stats.latte', playCount: $item->stats->playCount, diggCount: $item->stats->diggCount, commentCount: $item->stats->commentCount, shareCount: $item->stats->shareCount}
{include './common/content.latte', item: $item, isAutoplay: false, isBig: false}
+ {if isset($item->video->playAddr)} +

Download video

{include './common/download.latte', playAddr: $item->video->playAddr, id: $item->id, uniqueId: $item->author->uniqueId} + {/if}

Share link

{include './common/share.latte', uniqueId: $item->author->uniqueId, id: $item->id}
diff --git a/templates/views/video.latte b/templates/views/video.latte index c142d22..8f9b73e 100644 --- a/templates/views/video.latte +++ b/templates/views/video.latte @@ -33,13 +33,16 @@

{include '../components/themes/common/tags.latte', challenges: $item->challenges}

{/if}
-

{render_desc($item->desc, $item->textExtra)|noescape}

+

{render_desc($item->desc, $item->textExtra ?? [])|noescape}

Song: {$item->music->title}

{include '../components/themes/common/stats.latte', playCount: $item->stats->playCount, diggCount: $item->stats->diggCount, commentCount: $item->stats->commentCount, shareCount: $item->stats->shareCount}
{include '../components/themes/common/share.latte', uniqueId: $info->detail->uniqueId, id: $item->id} + {if isset($item->video->playAddr)} + {include '../components/themes/common/download.latte', playAddr: $item->video->playAddr, id: $item->id, uniqueId: $info->detail->uniqueId} + {/if}
From b5d034437f614a0413deee9738f0cd34954d59ae Mon Sep 17 00:00:00 2001 From: Pablo Ferreiro Date: Sat, 8 Apr 2023 12:03:33 +0200 Subject: [PATCH 07/10] fix multiple carousel in one page --- templates/components/themes/common/content.latte | 4 ++-- templates/components/themes/default.latte | 2 +- templates/views/video.latte | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/components/themes/common/content.latte b/templates/components/themes/common/content.latte index 9ef7827..35a2482 100644 --- a/templates/components/themes/common/content.latte +++ b/templates/components/themes/common/content.latte @@ -6,14 +6,14 @@