diff --git a/assets/css/joe.video.css b/assets/css/joe.video.css index 5d0e6b8..86e3463 100644 --- a/assets/css/joe.video.css +++ b/assets/css/joe.video.css @@ -1 +1 @@ -.joe_video__type{position:relative;background:var(--background);border-radius:var(--radius-wrap);box-shadow:var(--box-shadow);padding:60px 15px 15px;margin-bottom:15px}.joe_video__type-title{position:absolute;top:15px;left:-10px;background:var(--theme);color:#fff;font-weight:500;box-shadow:2px 5px 10px rgba(49,58,70,0.15);height:30px;line-height:30px;padding:0 12px;border-radius:2px 2px 2px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_video__type-title::before{content:'';position:absolute;border-style:solid;border-width:10px;bottom:-20px;left:0;z-index:-1;border-color:var(--theme) transparent transparent}.joe_video__type-list{display:grid;gap:15px;grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));border-top:1px solid var(--classC);padding-top:15px}.joe_video__type-list .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:var(--classD);height:28px;line-height:28px;border-radius:14px;cursor:pointer;color:var(--routine);font-size:12px;padding:0 15px;text-align:center;transition:color 0.35s, background 0.35s, box-shadow 0.35s, -webkit-transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s, -webkit-transform 0.35s}.joe_video__type-list .item.active{-webkit-transform:translateY(-2px);transform:translateY(-2px);color:#fff;background:var(--theme);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_video__type-list .item:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_video__type-list .error{text-align:center;color:var(--routine);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_video__list{position:relative;background:var(--background);border-radius:var(--radius-wrap);box-shadow:var(--box-shadow);padding:60px 15px 15px;margin-bottom:15px}.joe_video__list-title{position:absolute;top:15px;left:-10px;background:var(--theme);color:#fff;font-weight:500;box-shadow:2px 5px 10px rgba(49,58,70,0.15);height:30px;line-height:30px;padding:0 12px;border-radius:2px 2px 2px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_video__list-title::before{content:'';position:absolute;border-style:solid;border-width:10px;bottom:-20px;left:0;z-index:-1;border-color:var(--theme) transparent transparent}.joe_video__list-item{display:grid;gap:15px;grid-template-columns:repeat(6, 1fr);border-top:1px solid var(--classC);padding-top:15px}.joe_video__list-item .item{position:relative;border-radius:var(--radius-inner);overflow:hidden}.joe_video__list-item .item .year{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:2px;font-size:12px;font-style:normal;background:#ff6800;color:#fff;z-index:3}.joe_video__list-item .item .thumb{position:relative;height:220px}.joe_video__list-item .item .thumb .pic{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.joe_video__list-item .item .thumb::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);transition:background 0.3s ease-out;z-index:2}.joe_video__list-item .item .thumb::after{content:'';position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;opacity:0;background:url(../img/play.png) no-repeat;-webkit-transform:scale(2);transform:scale(2);transition:opacity 0.25s ease-out, -webkit-transform 0.25s ease-out;transition:transform 0.25s ease-out, opacity 0.25s ease-out;transition:transform 0.25s ease-out, opacity 0.25s ease-out, -webkit-transform 0.25s ease-out;z-index:3}.joe_video__list-item .item .thumb:hover::before{background:rgba(0,0,0,0.5)}.joe_video__list-item .item .thumb:hover::after{opacity:0.8;-webkit-transform:scale(1);transform:scale(1)}.joe_video__list-item .item .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;text-align:center;color:var(--routine);background:var(--classD);height:32px;line-height:32px;font-size:12px}.joe_video__list-item:empty{position:relative;display:flex;align-items:center;justify-content:center;height:180px}.joe_video__list-item:empty::after{content:'';display:block;width:70px;height:70px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA1NyA1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM0MDllZmYiPg0KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiI+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI1IiBjeT0iNTAiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjUwOzU7NTA7NTAiDQogICAgICAgICAgICAgICAgICAgICBjYWxjTW9kZT0ibGluZWFyIg0KICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+DQogICAgICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giDQogICAgICAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMi4ycyINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTsyNzs0OTs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSIyNyIgY3k9IjUiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSI1IiB0bz0iNSINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTs1MDs1MDs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSIyNyIgdG89IjI3Ig0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIyNzs0OTs1OzI3Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI0OSIgY3k9IjUwIiByPSI1Ij4NCiAgICAgICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI1MDs1MDs1OzUwIg0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgZnJvbT0iNDkiIHRvPSI0OSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI0OTs1OzI3OzQ5Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=);background-repeat:no-repeat;background-size:100% 100%}.joe_video__pagination{display:flex;align-items:center;justify-content:flex-end}.joe_video__pagination-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;margin-left:5px;height:32px;line-height:32px;padding:0 15px;background:var(--background);color:var(--main);border-radius:2px;transition:background 0.35s, color 0.35s}.joe_video__pagination-item svg{fill:var(--routine);transition:fill 0.35s}.joe_video__pagination-item .next{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.joe_video__pagination-item.active,.joe_video__pagination-item:hover{color:#fff;background:var(--theme)}.joe_video__pagination-item.active svg,.joe_video__pagination-item:hover svg{fill:#fff} +.joe_video__contain{position:relative;background:var(--background);border-radius:var(--radius-wrap);box-shadow:var(--box-shadow);padding:60px 15px 15px}.joe_video__contain-title{position:absolute;top:15px;left:-10px;background:var(--theme);color:#fff;font-weight:500;box-shadow:2px 5px 10px rgba(49,58,70,0.15);height:30px;line-height:30px;padding:0 12px;border-radius:2px 2px 2px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_video__contain-title::before{content:'';position:absolute;border-style:solid;border-width:10px;bottom:-20px;left:0;z-index:-1;border-color:var(--theme) transparent transparent}.joe_video__type{margin-bottom:15px}.joe_video__type-list{display:grid;gap:15px;grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));border-top:1px solid var(--classC);padding-top:15px}.joe_video__type-list .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:var(--classD);height:28px;line-height:28px;border-radius:14px;cursor:pointer;color:var(--routine);font-size:12px;padding:0 15px;text-align:center;transition:color 0.35s, background 0.35s, box-shadow 0.35s, -webkit-transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s, -webkit-transform 0.35s}.joe_video__type-list .item.active{-webkit-transform:translateY(-2px);transform:translateY(-2px);color:#fff;background:var(--theme);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_video__type-list .item:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_video__type-list .error{text-align:center;color:var(--routine);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_video__list{margin-bottom:15px}.joe_video__list-item{display:grid;gap:15px;grid-template-columns:repeat(6, 1fr);border-top:1px solid var(--classC);padding-top:15px}.joe_video__list-item .item{position:relative;border-radius:var(--radius-inner);overflow:hidden}.joe_video__list-item .item .year{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:2px;font-size:12px;font-style:normal;background:#ff6800;color:#fff;z-index:3}.joe_video__list-item .item .thumb{position:relative;height:220px}.joe_video__list-item .item .thumb .pic{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.joe_video__list-item .item .thumb::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);transition:background 0.3s ease-out;z-index:2}.joe_video__list-item .item .thumb::after{content:'';position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;opacity:0;background:url(../img/play.png) no-repeat;-webkit-transform:scale(2);transform:scale(2);transition:opacity 0.25s ease-out, -webkit-transform 0.25s ease-out;transition:transform 0.25s ease-out, opacity 0.25s ease-out;transition:transform 0.25s ease-out, opacity 0.25s ease-out, -webkit-transform 0.25s ease-out;z-index:3}.joe_video__list-item .item .thumb:hover::before{background:rgba(0,0,0,0.5)}.joe_video__list-item .item .thumb:hover::after{opacity:0.8;-webkit-transform:scale(1);transform:scale(1)}.joe_video__list-item .item .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;text-align:center;color:var(--routine);background:var(--classD);height:34px;line-height:34px;font-size:12px}.joe_video__list-item .error{text-align:center;color:var(--minor)}.joe_video__list-item:empty{position:relative;display:flex;align-items:center;justify-content:center;height:180px}.joe_video__list-item:empty::after{content:'';display:block;width:70px;height:70px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA1NyA1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM0MDllZmYiPg0KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiI+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI1IiBjeT0iNTAiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjUwOzU7NTA7NTAiDQogICAgICAgICAgICAgICAgICAgICBjYWxjTW9kZT0ibGluZWFyIg0KICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+DQogICAgICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giDQogICAgICAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMi4ycyINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTsyNzs0OTs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSIyNyIgY3k9IjUiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSI1IiB0bz0iNSINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTs1MDs1MDs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSIyNyIgdG89IjI3Ig0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIyNzs0OTs1OzI3Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI0OSIgY3k9IjUwIiByPSI1Ij4NCiAgICAgICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI1MDs1MDs1OzUwIg0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgZnJvbT0iNDkiIHRvPSI0OSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI0OTs1OzI3OzQ5Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=);background-repeat:no-repeat;background-size:100% 100%}.joe_video__pagination{display:flex;align-items:center;justify-content:flex-end}.joe_video__pagination-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;margin-left:5px;height:32px;line-height:32px;padding:0 15px;background:var(--background);color:var(--main);border-radius:2px;transition:background 0.35s, color 0.35s}.joe_video__pagination-item svg{fill:var(--routine);transition:fill 0.35s}.joe_video__pagination-item .next{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.joe_video__pagination-item.active,.joe_video__pagination-item:hover{color:#fff;background:var(--theme)}.joe_video__pagination-item.active svg,.joe_video__pagination-item:hover svg{fill:#fff}.joe_video__detail{margin-bottom:15px}.joe_video__detail-info{display:flex;border-top:1px solid var(--classC);padding-top:15px}.joe_video__detail-info .thumbnail{position:relative;width:180px;height:250px;min-width:180px;min-height:180px;margin-right:15px}.joe_video__detail-info .thumbnail .pic{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.joe_video__detail-info .thumbnail .year{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:2px;font-size:12px;font-style:normal;background:#ff6800;color:#fff;z-index:3}.joe_video__detail-info .description dt{font-size:24px;color:var(--main);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:15px}.joe_video__detail-info .description dd{position:relative;padding-left:45px;line-height:24px;margin-bottom:5px}.joe_video__detail-info .description dd .muted{position:absolute;left:0;color:var(--minor)}.joe_video__detail-info .description dd .text{word-break:break-all;color:var(--routine);display:-webkit-box;-webkit-line-clamp:3;/*! autoprefixer: off */-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.joe_video__detail-info .error{color:var(--minor);margin:0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} diff --git a/assets/css/joe.video.scss b/assets/css/joe.video.scss index 2cd805d..c94e710 100644 --- a/assets/css/joe.video.scss +++ b/assets/css/joe.video.scss @@ -1,11 +1,10 @@ .joe_video { - &__type { + &__contain { position: relative; background: var(--background); border-radius: var(--radius-wrap); box-shadow: var(--box-shadow); padding: 60px 15px 15px; - margin-bottom: 15px; &-title { position: absolute; top: 15px; @@ -30,6 +29,9 @@ border-color: var(--theme) transparent transparent; } } + } + &__type { + margin-bottom: 15px; &-list { display: grid; gap: 15px; @@ -70,36 +72,7 @@ } } &__list { - position: relative; - background: var(--background); - border-radius: var(--radius-wrap); - box-shadow: var(--box-shadow); - padding: 60px 15px 15px; margin-bottom: 15px; - &-title { - position: absolute; - top: 15px; - left: -10px; - background: var(--theme); - color: #fff; - font-weight: 500; - box-shadow: 2px 5px 10px rgba(49, 58, 70, 0.15); - height: 30px; - line-height: 30px; - padding: 0 12px; - border-radius: 2px 2px 2px 0; - user-select: none; - &::before { - content: ''; - position: absolute; - border-style: solid; - border-width: 10px; - bottom: -20px; - left: 0; - z-index: -1; - border-color: var(--theme) transparent transparent; - } - } &-item { display: grid; gap: 15px; @@ -173,11 +146,15 @@ text-align: center; color: var(--routine); background: var(--classD); - height: 32px; - line-height: 32px; + height: 34px; + line-height: 34px; font-size: 12px; } } + .error { + text-align: center; + color: var(--minor); + } &:empty { position: relative; display: flex; @@ -228,4 +205,75 @@ } } } + &__detail { + margin-bottom: 15px; + &-info { + display: flex; + border-top: 1px solid var(--classC); + padding-top: 15px; + .thumbnail { + position: relative; + width: 180px; + height: 250px; + min-width: 180px; + min-height: 180px; + margin-right: 15px; + .pic { + width: 100%; + height: 100%; + object-fit: cover; + } + .year { + position: absolute; + top: 8px; + right: 8px; + padding: 2px 5px; + border-radius: 2px; + font-size: 12px; + font-style: normal; + background: #ff6800; + color: #fff; + z-index: 3; + } + } + .description { + dt { + font-size: 24px; + color: var(--main); + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin-bottom: 15px; + } + dd { + position: relative; + padding-left: 45px; + line-height: 24px; + margin-bottom: 5px; + .muted { + position: absolute; + left: 0; + color: var(--minor); + } + .text { + word-break: break-all; + color: var(--routine); + display: -webkit-box; + -webkit-line-clamp: 3; + /*! autoprefixer: off */ + -webkit-box-orient: vertical; + /* autoprefixer: on */ + overflow: hidden; + text-overflow: ellipsis; + } + } + } + .error { + color: var(--minor); + margin: 0 auto; + user-select: none; + } + } + } } diff --git a/assets/css/joe.wallpaper.css b/assets/css/joe.wallpaper.css index 3dd0a05..e660f07 100644 --- a/assets/css/joe.wallpaper.css +++ b/assets/css/joe.wallpaper.css @@ -1 +1 @@ -.joe_wallpaper__type{position:relative;background:var(--background);border-radius:var(--radius-wrap);box-shadow:var(--box-shadow);padding:60px 15px 15px;margin-bottom:15px}.joe_wallpaper__type-title{position:absolute;top:15px;left:-10px;background:var(--theme);color:#fff;font-weight:500;box-shadow:2px 5px 10px rgba(49,58,70,0.15);height:30px;line-height:30px;padding:0 12px;border-radius:2px 2px 2px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_wallpaper__type-title::before{content:'';position:absolute;border-style:solid;border-width:10px;bottom:-20px;left:0;z-index:-1;border-color:var(--theme) transparent transparent}.joe_wallpaper__type-list{display:grid;gap:15px;grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));border-top:1px solid var(--classC);padding-top:15px}.joe_wallpaper__type-list .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:var(--classD);height:28px;line-height:28px;border-radius:14px;cursor:pointer;color:var(--routine);font-size:12px;padding:0 15px;text-align:center;transition:color 0.35s, background 0.35s, box-shadow 0.35s, -webkit-transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s, -webkit-transform 0.35s}.joe_wallpaper__type-list .item.active{-webkit-transform:translateY(-2px);transform:translateY(-2px);color:#fff;background:var(--theme);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_wallpaper__type-list .item:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_wallpaper__type-list .error{text-align:center;color:var(--routine);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_wallpaper__list{display:grid;grid-template-columns:repeat(5, 1fr);margin-bottom:15px}.joe_wallpaper__list .item{position:relative;display:block}.joe_wallpaper__list .item img{max-width:100%;-o-object-fit:cover;object-fit:cover}.joe_wallpaper__list .item::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);transition:background 0.35s;z-index:2}.joe_wallpaper__list .item::after{content:'';position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSIgdmlld0JveD0iMCAwIDQ1IDQ1IiBzdHJva2U9IiNmZmYiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj48Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSI2IiBzdHJva2Utb3BhY2l0eT0iMCI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iciIgYmVnaW49IjEuNXMiIGR1cj0iM3MiIHZhbHVlcz0iNjsyMiIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgYmVnaW49IjEuNXMiIGR1cj0iM3MiIHZhbHVlcz0iMTswIiBjYWxjTW9kZT0ibGluZWFyIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InN0cm9rZS13aWR0aCIgYmVnaW49IjEuNXMiIGR1cj0iM3MiIHZhbHVlcz0iMjswIiBjYWxjTW9kZT0ibGluZWFyIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjIyIiBjeT0iMjIiIHI9IjYiIHN0cm9rZS1vcGFjaXR5PSIwIj48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiBiZWdpbj0iM3MiIGR1cj0iM3MiIHZhbHVlcz0iNjsyMiIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgYmVnaW49IjNzIiBkdXI9IjNzIiB2YWx1ZXM9IjE7MCIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utd2lkdGgiIGJlZ2luPSIzcyIgZHVyPSIzcyIgdmFsdWVzPSIyOzAiIGNhbGNNb2RlPSJsaW5lYXIiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+PC9jaXJjbGU+PGNpcmNsZSBjeD0iMjIiIGN5PSIyMiIgcj0iOCI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iciIgYmVnaW49IjBzIiBkdXI9IjEuNXMiIHZhbHVlcz0iNjsxOzI7Mzs0OzU7NiIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48L2NpcmNsZT48L2c+PC9zdmc+);background-repeat:no-repeat;background-size:100% 100%;z-index:3;-webkit-transform:scale(2);transform:scale(2);transition:opacity 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, opacity 0.35s;transition:transform 0.35s, opacity 0.35s, -webkit-transform 0.35s;opacity:0}.joe_wallpaper__list .item:hover::before{background:rgba(0,0,0,0.5)}.joe_wallpaper__list .item:hover::after{-webkit-transform:scale(1);transform:scale(1);opacity:1}.joe_wallpaper__list:empty{position:relative;display:flex;align-items:center;justify-content:center;height:180px}.joe_wallpaper__list:empty::after{content:'';display:block;width:70px;height:70px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA1NyA1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM0MDllZmYiPg0KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiI+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI1IiBjeT0iNTAiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjUwOzU7NTA7NTAiDQogICAgICAgICAgICAgICAgICAgICBjYWxjTW9kZT0ibGluZWFyIg0KICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+DQogICAgICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giDQogICAgICAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMi4ycyINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTsyNzs0OTs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSIyNyIgY3k9IjUiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSI1IiB0bz0iNSINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTs1MDs1MDs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSIyNyIgdG89IjI3Ig0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIyNzs0OTs1OzI3Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI0OSIgY3k9IjUwIiByPSI1Ij4NCiAgICAgICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI1MDs1MDs1OzUwIg0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgZnJvbT0iNDkiIHRvPSI0OSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI0OTs1OzI3OzQ5Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=);background-repeat:no-repeat;background-size:100% 100%}.joe_wallpaper__pagination{display:flex;align-items:center;justify-content:flex-end}.joe_wallpaper__pagination-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;margin-left:5px;height:32px;line-height:32px;padding:0 15px;background:var(--background);color:var(--main);border-radius:2px;transition:background 0.35s, color 0.35s}.joe_wallpaper__pagination-item svg{fill:var(--routine);transition:fill 0.35s}.joe_wallpaper__pagination-item .next{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.joe_wallpaper__pagination-item.active,.joe_wallpaper__pagination-item:hover{color:#fff;background:var(--theme)}.joe_wallpaper__pagination-item.active svg,.joe_wallpaper__pagination-item:hover svg{fill:#fff} +.joe_wallpaper__type{position:relative;background:var(--background);border-radius:var(--radius-wrap);box-shadow:var(--box-shadow);padding:60px 15px 15px;margin-bottom:15px}.joe_wallpaper__type-title{position:absolute;top:15px;left:-10px;background:var(--theme);color:#fff;font-weight:500;box-shadow:2px 5px 10px rgba(49,58,70,0.15);height:30px;line-height:30px;padding:0 12px;border-radius:2px 2px 2px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_wallpaper__type-title::before{content:'';position:absolute;border-style:solid;border-width:10px;bottom:-20px;left:0;z-index:-1;border-color:var(--theme) transparent transparent}.joe_wallpaper__type-list{display:grid;gap:15px;grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));border-top:1px solid var(--classC);padding-top:15px}.joe_wallpaper__type-list .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:var(--classD);height:28px;line-height:28px;border-radius:14px;cursor:pointer;color:var(--routine);font-size:12px;padding:0 15px;text-align:center;transition:color 0.35s, background 0.35s, box-shadow 0.35s, -webkit-transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s;transition:color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s, -webkit-transform 0.35s}.joe_wallpaper__type-list .item.active{-webkit-transform:translateY(-2px);transform:translateY(-2px);color:#fff;background:var(--theme);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_wallpaper__type-list .item:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 5px 5px rgba(0,0,0,0.1)}.joe_wallpaper__type-list .error{text-align:center;color:var(--routine);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_wallpaper__list{display:grid;grid-template-columns:repeat(5, 1fr);margin-bottom:15px}.joe_wallpaper__list .item{position:relative;display:block}.joe_wallpaper__list .item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.joe_wallpaper__list .item::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);transition:background 0.35s;z-index:2}.joe_wallpaper__list .item::after{content:'';position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSIgdmlld0JveD0iMCAwIDQ1IDQ1IiBzdHJva2U9IiNmZmYiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj48Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSI2IiBzdHJva2Utb3BhY2l0eT0iMCI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iciIgYmVnaW49IjEuNXMiIGR1cj0iM3MiIHZhbHVlcz0iNjsyMiIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgYmVnaW49IjEuNXMiIGR1cj0iM3MiIHZhbHVlcz0iMTswIiBjYWxjTW9kZT0ibGluZWFyIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InN0cm9rZS13aWR0aCIgYmVnaW49IjEuNXMiIGR1cj0iM3MiIHZhbHVlcz0iMjswIiBjYWxjTW9kZT0ibGluZWFyIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjIyIiBjeT0iMjIiIHI9IjYiIHN0cm9rZS1vcGFjaXR5PSIwIj48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiBiZWdpbj0iM3MiIGR1cj0iM3MiIHZhbHVlcz0iNjsyMiIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgYmVnaW49IjNzIiBkdXI9IjNzIiB2YWx1ZXM9IjE7MCIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utd2lkdGgiIGJlZ2luPSIzcyIgZHVyPSIzcyIgdmFsdWVzPSIyOzAiIGNhbGNNb2RlPSJsaW5lYXIiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+PC9jaXJjbGU+PGNpcmNsZSBjeD0iMjIiIGN5PSIyMiIgcj0iOCI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iciIgYmVnaW49IjBzIiBkdXI9IjEuNXMiIHZhbHVlcz0iNjsxOzI7Mzs0OzU7NiIgY2FsY01vZGU9ImxpbmVhciIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz48L2NpcmNsZT48L2c+PC9zdmc+);background-repeat:no-repeat;background-size:100% 100%;z-index:3;-webkit-transform:scale(2);transform:scale(2);transition:opacity 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, opacity 0.35s;transition:transform 0.35s, opacity 0.35s, -webkit-transform 0.35s;opacity:0}.joe_wallpaper__list .item:hover::before{background:rgba(0,0,0,0.5)}.joe_wallpaper__list .item:hover::after{-webkit-transform:scale(1);transform:scale(1);opacity:1}.joe_wallpaper__list:empty{position:relative;display:flex;align-items:center;justify-content:center;height:180px}.joe_wallpaper__list:empty::after{content:'';display:block;width:70px;height:70px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA1NyA1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM0MDllZmYiPg0KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiI+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI1IiBjeT0iNTAiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjUwOzU7NTA7NTAiDQogICAgICAgICAgICAgICAgICAgICBjYWxjTW9kZT0ibGluZWFyIg0KICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+DQogICAgICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giDQogICAgICAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMi4ycyINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTsyNzs0OTs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSIyNyIgY3k9IjUiIHI9IjUiPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN5Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSI1IiB0bz0iNSINCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iNTs1MDs1MDs1Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjIuMnMiDQogICAgICAgICAgICAgICAgICAgICBmcm9tPSIyNyIgdG89IjI3Ig0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIyNzs0OTs1OzI3Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgICAgICA8Y2lyY2xlIGN4PSI0OSIgY3k9IjUwIiByPSI1Ij4NCiAgICAgICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI1MDs1MDs1OzUwIg0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4Ig0KICAgICAgICAgICAgICAgICAgICAgZnJvbT0iNDkiIHRvPSI0OSINCiAgICAgICAgICAgICAgICAgICAgIGJlZ2luPSIwcyIgZHVyPSIyLjJzIg0KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSI0OTs1OzI3OzQ5Ig0KICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9ImxpbmVhciINCiAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICAgICAgICAgICAgPC9jaXJjbGU+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=);background-repeat:no-repeat;background-size:100% 100%}.joe_wallpaper__pagination{display:flex;align-items:center;justify-content:flex-end}.joe_wallpaper__pagination-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;margin-left:5px;height:32px;line-height:32px;padding:0 15px;background:var(--background);color:var(--main);border-radius:2px;transition:background 0.35s, color 0.35s}.joe_wallpaper__pagination-item svg{fill:var(--routine);transition:fill 0.35s}.joe_wallpaper__pagination-item .next{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.joe_wallpaper__pagination-item.active,.joe_wallpaper__pagination-item:hover{color:#fff;background:var(--theme)}.joe_wallpaper__pagination-item.active svg,.joe_wallpaper__pagination-item:hover svg{fill:#fff} diff --git a/assets/css/joe.wallpaper.scss b/assets/css/joe.wallpaper.scss index 5c09718..d6b31b0 100644 --- a/assets/css/joe.wallpaper.scss +++ b/assets/css/joe.wallpaper.scss @@ -77,7 +77,8 @@ position: relative; display: block; img { - max-width: 100%; + width: 100%; + height: 100%; object-fit: cover; } &::before { diff --git a/assets/js/joe.video.js b/assets/js/joe.video.js index fb642d7..0fcc0a4 100644 --- a/assets/js/joe.video.js +++ b/assets/js/joe.video.js @@ -3,26 +3,21 @@ console.time('Video.js执行时长') document.addEventListener('DOMContentLoaded', () => { const p = new URLSearchParams(window.location.search) - /* 判断渲染详情页还是列表页 */ - if (p.get('vod_id')) { + const vod_id = p.get('vod_id') + if (vod_id) { initVideoDetail() } else { initVideoList() } + /* 初始化列表页 */ function initVideoList() { /* 当前的分类id */ - let queryData = { - pg: 0, - t: -999 - } - + let queryData = { pg: -999, t: -999 } /* 总页数 */ - let total = 0 - + let total = -999 /* 是否正在加载列表 */ let isLoading = false - /* 获取视频分类 */ $.ajax({ url: Joe.BASE_API, @@ -30,13 +25,13 @@ document.addEventListener('DOMContentLoaded', () => { data: { routeType: 'maccms_list' }, success(res) { if (res.code !== 1) return $('.joe_video__type-list').html(`
  • ${res.data}
  • `) + if (!res.data.class.length) return $('.joe_video__type-list').html(`
  • 暂无数据!
  • `) let htmlStr = '
  • 全部
  • ' res.data.class.forEach(_ => (htmlStr += `
  • ${_.type_name}
  • `)) $('.joe_video__type-list').html(htmlStr) $('.joe_video__type-list .item').first().click() } }) - /* 点击切换分类 */ $('.joe_video__type-list').on('click', '.item', function () { const t = $(this).attr('data-t') @@ -47,47 +42,67 @@ document.addEventListener('DOMContentLoaded', () => { queryData.t = t renderDom() }) - /* 渲染视频列表 */ function renderDom() { + $('.joe_video__list-item').css('display', '').html('') isLoading = true - $('.joe_video__list-item').html('') $.ajax({ url: Joe.BASE_API, type: 'POST', data: { routeType: 'maccms_list', t: queryData.t, pg: queryData.pg, ac: 'videolist' }, success(res) { - if (res.code !== 1) return - let htmlStr = '' - res.data.list.forEach(_ => { - htmlStr += ` - - ${_.vod_year} -
    - ${_.vod_name} -
    -

    ${_.vod_name}

    -
    ` - }) - $('.joe_video__list-item').html(htmlStr) - new LazyLoad('.video_lazyload') - isLoading = false + if (res.code !== 1) return $('.joe_video__list-item').css('display', 'block').html('

    数据加载失败!请检查!

    ') + if (!res.data.list.length) { + $('.joe_video__list-item').css('display', 'block').html('

    当前分类暂无数据!

    ') + } else { + let htmlStr = '' + res.data.list.forEach(_ => { + htmlStr += ` + + ${_.vod_year} +
    + ${_.vod_name} +
    +

    ${_.vod_name}

    +
    ` + }) + $('.joe_video__list-item').html(htmlStr) + new LazyLoad('.video_lazyload') + } total = res.data.pagecount initPagination() - } + }, + complete: () => (isLoading = false) }) } - /* 初始化分页 */ function initPagination() { let htmlStr = '' - if (queryData.pg !== 0) htmlStr += `
  • ${queryData.pg}
  • ` - htmlStr += `
  • ${queryData.pg + 1}
  • ` - if (queryData.pg != total) htmlStr += `
  • ${queryData.pg + 2}
  • ` - if (queryData.pg < total) htmlStr += `
  • ` + if (queryData.pg !== 0) { + htmlStr += ` +
  • 首页
  • +
  • + + + +
  • +
  • ${queryData.pg}
  • + ` + } + htmlStr += `
  • ${queryData.pg + 1}
  • ` + if (queryData.pg != total) { + htmlStr += ` +
  • ${queryData.pg + 2}
  • +
  • + + + +
  • + ` + } + if (queryData.pg < total) htmlStr += `
  • 末页
  • ` $('.joe_video__pagination').html(htmlStr) } - /* 切换分页 */ $('.joe_video__pagination').on('click', '.joe_video__pagination-item', function () { const pg = $(this).attr('data-pg') @@ -98,7 +113,37 @@ document.addEventListener('DOMContentLoaded', () => { }) } - function initVideoDetail() {} + /* 初始化播放页 */ + function initVideoDetail() { + $.ajax({ + url: Joe.BASE_API, + type: 'POST', + data: { + routeType: 'maccms_list', + ac: 'detail', + ids: vod_id + }, + success(res) { + if (res.code !== 1) return $('.joe_video__detail-info').html(`

    ${res.data}

    `) + if (!res.data.list.length) return $('.joe_video__detail-info').html(`

    数据抓取异常!请检查!

    `) + const item = res.data.list[0] + $('.joe_video__detail-info').html(` +
    + ${item.vod_name} + ${item.vod_year} +
    +
    +
    ${item.vod_name + (item.vod_remarks ? ' - ' + item.vod_remarks : '')}
    +
    类型:

    ${item.vod_class || '未知'}

    +
    主演:

    ${item.vod_actor || '未知'}

    +
    导演:

    ${item.vod_director || '未知'}

    +
    简介:

    ${item.vod_content ? item.vod_content : item.vod_blurb}

    +
    + `) + new LazyLoad('.video_lazyload') + } + }) + } console.timeEnd('Video.js执行时长') }) diff --git a/assets/js/joe.wallpaper.js b/assets/js/joe.wallpaper.js index 234fca8..2aea4b1 100644 --- a/assets/js/joe.wallpaper.js +++ b/assets/js/joe.wallpaper.js @@ -1,94 +1,103 @@ /* 壁纸页面需要用到的JS */ -console.time('Wallpaper.js执行时长'); +console.time('Wallpaper.js执行时长') document.addEventListener('DOMContentLoaded', () => { - /* 是否正在请求 */ - let isLoading = false; - /* 查询字段 */ - let queryData = { - cid: '', - start: 0, - count: 30 - }; - /* 总页数 */ - let total = 0; + /* 是否正在请求 */ + let isLoading = false + /* 查询字段 */ + let queryData = { cid: -999, start: -999, count: 30 } + /* 总页数 */ + let total = -999 + /* 获取壁纸分类 */ + $.ajax({ + url: Joe.BASE_API, + type: 'POST', + data: { routeType: 'wallpaper_type' }, + success(res) { + if (res.code !== 1) return $('.joe_wallpaper__type-list').html('
  • 壁纸抓取失败!请联系作者!
  • ') + if (!res.data.length) return $('.joe_wallpaper__type-list').html(`
  • 暂无数据!
  • `) + let htmlStr = '' + res.data.forEach(_ => (htmlStr += `
  • ${_.name}
  • `)) + $('.joe_wallpaper__type-list').html(htmlStr) + $('.joe_wallpaper__type-list .item').first().click() + } + }) + /* 切换类目 */ + $('.joe_wallpaper__type-list').on('click', '.item', function () { + const cid = $(this).attr('data-cid') + if (queryData.cid === cid || isLoading) return + window.scrollTo({ top: 0, behavior: 'smooth' }) + $(this).addClass('active').siblings().removeClass('active') + queryData.cid = cid + queryData.start = 0 + renderDom() + }) - /* 获取壁纸分类 */ - $.ajax({ - url: Joe.BASE_API, - type: 'POST', - data: { - routeType: 'wallpaper_type' - }, - success(res) { - if (res.code !== 1) return $('.joe_wallpaper__type-list').html('
  • 壁纸抓取失败!请联系作者!
  • '); - let htmlStr = ''; - res.data.forEach(_ => (htmlStr += `
  • ${_.name}
  • `)); - $('.joe_wallpaper__type-list').html(htmlStr); - $('.joe_wallpaper__type-list .item').first().click(); - } - }); + /* 渲染DOM */ + function renderDom() { + $('.joe_wallpaper__list').html('') + isLoading = true + $.ajax({ + url: Joe.BASE_API, + type: 'POST', + data: { + routeType: 'wallpaper_list', + cid: queryData.cid, + start: queryData.start, + count: queryData.count + }, + success(res) { + if (res.code !== 1) return + let htmlStr = '' + res.data.forEach(_ => { + htmlStr += `壁纸` + }) + $('.joe_wallpaper__list').html(htmlStr) + new LazyLoad('.wallpaper_lazyload') + total = res.total + initPagination() + }, + complete: () => (isLoading = false) + }) + } - /* 切换类目 */ - $('.joe_wallpaper__type-list').on('click', '.item', function () { - const cid = $(this).attr('data-cid'); - if (queryData.cid === cid || isLoading) return; - window.scrollTo({ top: 0, behavior: 'smooth' }) - $(this).addClass('active').siblings().removeClass('active'); - queryData.cid = cid; - queryData.start = 0; - getList(); - }); + /* 初始化分页 */ + function initPagination() { + let htmlStr = '' + if (queryData.start / queryData.count !== 0) { + htmlStr += ` +
  • 首页
  • +
  • + + + +
  • +
  • ${Math.ceil(queryData.start / queryData.count)}
  • + ` + } + htmlStr += `
  • ${Math.ceil(queryData.start / queryData.count) + 1}
  • ` + if (queryData.start != total - queryData.count) { + htmlStr += ` +
  • ${Math.ceil(queryData.start / queryData.count) + 2}
  • +
  • + + + +
  • + ` + } + if (queryData.start < total - queryData.count) htmlStr += `
  • 末页
  • ` + $('.joe_wallpaper__pagination').html(htmlStr) + } - /* 渲染DOM */ - function getList() { - isLoading = true; - $('.joe_wallpaper__list').html(''); - $.ajax({ - url: Joe.BASE_API, - type: 'POST', - data: { - routeType: 'wallpaper_list', - cid: queryData.cid, - start: queryData.start, - count: queryData.count - }, - success(res) { - if (res.code !== 1) return; - let htmlStr = ''; - res.data.forEach(_ => { - htmlStr += ` - - 壁纸 - `; - }); - $('.joe_wallpaper__list').html(htmlStr); - new LazyLoad('.wallpaper_lazyload'); - total = res.total; - isLoading = false; - initPagination(); - } - }); - } + /* 切换分页 */ + $('.joe_wallpaper__pagination').on('click', '.joe_wallpaper__pagination-item', function () { + const start = $(this).attr('data-start') + if (!start || isLoading) return + window.scrollTo({ top: 0, behavior: 'smooth' }) + queryData.start = Number(start) + renderDom() + }) - /* 初始化分页 */ - function initPagination() { - let htmlStr = ''; - if (queryData.start / queryData.count !== 0) htmlStr += `
  • ${queryData.start / queryData.count}
  • `; - htmlStr += `
  • ${queryData.start / queryData.count + 1}
  • `; - if (queryData.start != total) htmlStr += `
  • ${queryData.start / queryData.count + 2}
  • `; - if (queryData.start < total) htmlStr += `
  • `; - $('.joe_wallpaper__pagination').html(htmlStr); - } - - /* 切换分页 */ - $('.joe_wallpaper__pagination').on('click', '.joe_wallpaper__pagination-item', function () { - const start = $(this).attr('data-start'); - if (!start || isLoading) return; - window.scrollTo({ top: 0, behavior: 'smooth' }) - queryData.start = Number(start); - getList(); - }); - - console.timeEnd('Wallpaper.js执行时长'); -}); + console.timeEnd('Wallpaper.js执行时长') +}) diff --git a/core/api.php b/core/api.php index b33b02b..32daf62 100644 --- a/core/api.php +++ b/core/api.php @@ -6,7 +6,10 @@ function _getRanking($self) header("HTTP/1.1 200 OK"); $ranking_txt = Helper::options()->JAside_Ranking; $ranking_arr = explode("$", $ranking_txt); - $arrContextOptions = ['ssl' => ['verify_peer' => false, 'verify_peer_name' => false,]]; + $arrContextOptions = [ + 'ssl' => ['verify_peer' => false, 'verify_peer_name' => false], + 'http' => ['method' => 'GET', 'timeout' => 5] + ]; $json = file_get_contents("https://the.top/v1/{$ranking_arr[1]}/1/9", false, stream_context_create($arrContextOptions)); $res = json_decode($json, TRUE); if ($res['code'] === 0) { @@ -173,7 +176,10 @@ function _pushRecord($self) function _getWallpaperType($self) { header("HTTP/1.1 200 OK"); - $arrContextOptions = ['ssl' => ['verify_peer' => false, 'verify_peer_name' => false,]]; + $arrContextOptions = [ + 'ssl' => ['verify_peer' => false, 'verify_peer_name' => false], + 'http' => ['method' => 'GET', 'timeout' => 5] + ]; $json = file_get_contents("http://cdn.apc.360.cn/index.php?c=WallPaper&a=getAllCategoriesV2&from=360chrome", false, stream_context_create($arrContextOptions)); $res = json_decode($json, TRUE); if ($res['errno'] == 0) { @@ -196,7 +202,10 @@ function _getWallpaperList($self) $cid = $self->request->cid; $start = $self->request->start; $count = $self->request->count; - $arrContextOptions = ['ssl' => ['verify_peer' => false, 'verify_peer_name' => false,]]; + $arrContextOptions = [ + 'ssl' => ['verify_peer' => false, 'verify_peer_name' => false], + 'http' => ['method' => 'GET', 'timeout' => 5] + ]; $json = file_get_contents( "http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid={$cid}&start={$start}&count={$count}&from=360chrome", false, @@ -229,14 +238,17 @@ function _getMaccmsList($self) $wd = $self->request->wd ? $self->request->wd : ''; if ($cms_api) { - $arrContextOptions = ['ssl' => ['verify_peer' => false, 'verify_peer_name' => false,]]; + $arrContextOptions = [ + 'ssl' => ['verify_peer' => false, 'verify_peer_name' => false], + 'http' => ['method' => 'GET', 'timeout' => 5] + ]; $json = file_get_contents( $cms_api . '?ac=' . $ac . '&ids=' . $ids . '&t=' . $t . '&pg=' . $pg . '&wd=' . $wd, false, stream_context_create($arrContextOptions) ); $res = json_decode($json, TRUE); - if ($res['code'] === 1) { + if ($res['code'] === 1) { $self->response->throwJson([ "code" => 1, "data" => $res, diff --git a/video.php b/video.php index de92f18..20c39bd 100644 --- a/video.php +++ b/video.php @@ -24,17 +24,28 @@ need('public/header.php'); ?>
    -
    -
    视频分类
    -
      -
    • 正在拼命加载中...
    • -
    -
    -
    -
    视频列表
    -
    -
    - + + +
    +
    影片简介
    +
    +

    正在拼命加载中...

    +
    +
    + +
    +
    视频分类
    +
      +
    • 正在拼命加载中...
    • +
    +
    +
    +
    视频列表
    +
    +
    + + +
    need('public/aside.php'); ?>