minimal viable product
9
tubearchivist/static/css/dark.css
Normal file
@@ -0,0 +1,9 @@
|
||||
:root {
|
||||
--main-bg: #00202f;
|
||||
--highlight-bg: #00293b;
|
||||
--highlight-bg-transparent: #00293baf;
|
||||
--main-font: #eeeeee;
|
||||
--accent-font-dark: #259485;
|
||||
--accent-font-light: #97d4c8;
|
||||
--img-filter: invert(50%) sepia(9%) saturate(2940%) hue-rotate(122deg) brightness(94%) contrast(90%);
|
||||
}
|
||||
19
tubearchivist/static/css/light.css
Normal file
@@ -0,0 +1,19 @@
|
||||
:root {
|
||||
--main-bg: #eeeeee;
|
||||
--highlight-bg: #d9e0d9;
|
||||
--highlight-bg-transparent: #00293baf;
|
||||
--main-font: #00202f;
|
||||
--accent-font-dark: #259485;
|
||||
--accent-font-light: #35b399;
|
||||
--img-filter: invert(50%) sepia(9%) saturate(2940%) hue-rotate(122deg) brightness(94%) contrast(90%);
|
||||
}
|
||||
|
||||
/* :root {
|
||||
--main-bg: #00202f;
|
||||
--highlight-bg: #00293b;
|
||||
--highlight-bg-transparent: #00293baf;
|
||||
--main-font: #eeeeee;
|
||||
--accent-font-dark: #259485;
|
||||
--accent-font-light: #97d4c8;
|
||||
--img-filter: invert(50%) sepia(9%) saturate(2940%) hue-rotate(122deg) brightness(94%) contrast(90%);
|
||||
} */
|
||||
631
tubearchivist/static/css/style.css
Normal file
@@ -0,0 +1,631 @@
|
||||
@font-face {
|
||||
font-family: 'Sen-Bold';
|
||||
src: url('../font/Sen-Bold.ttf.woff');
|
||||
font-family: 'Sen-Bold';
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Sen-Regular';
|
||||
src: url('../font/Sen-Regular.ttf.woff');
|
||||
font-family: 'Sen-Regular';
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--main-bg);
|
||||
min-height: 100%;
|
||||
display: grid;
|
||||
grid-template-rows: 1fr auto;
|
||||
}
|
||||
|
||||
a {
|
||||
font-family: Sen-Regular, sans-serif;
|
||||
text-decoration: none;
|
||||
color: var(--accent-font-light);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: Sen-Bold, sans-serif;
|
||||
font-size: 2.3em;
|
||||
color: var(--accent-font-light);
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
font-family: Sen-Bold, sans-serif;
|
||||
color: var(--accent-font-dark);
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.1em;
|
||||
margin-bottom: 7px;
|
||||
font-family: Sen-Regular, sans-serif;
|
||||
color: var(--accent-font-light);
|
||||
}
|
||||
|
||||
p, i, li {
|
||||
font-family: Sen-Regular, sans-serif;
|
||||
margin-bottom: 10px;
|
||||
color: var(--main-font);
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
td, span {
|
||||
font-family: Sen-Regular, sans-serif;
|
||||
color: var(--main-font);
|
||||
}
|
||||
|
||||
select, input {
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
border-radius: 0;
|
||||
color: var(--main-bg);
|
||||
background-color: var(--accent-font-light);
|
||||
}
|
||||
|
||||
select {
|
||||
border: none;
|
||||
}
|
||||
|
||||
input {
|
||||
border: solid 1px var(--main-font);
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
padding: 5px 13px;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
background-color: var(--accent-font-dark);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: var(--accent-font-light);
|
||||
transform: scale(1.05);
|
||||
color: var(--main-bg);
|
||||
}
|
||||
|
||||
.boxed-content {
|
||||
max-width: 1000px;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.round-img img {
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.settings-current {
|
||||
color: var(--accent-font-light);
|
||||
}
|
||||
|
||||
.top-banner {
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.top-banner img {
|
||||
width: 100%;
|
||||
max-width: 700px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin: 0;
|
||||
padding: 20px 0;
|
||||
background-color: var(--accent-font-dark);
|
||||
grid-row-start: 2;
|
||||
grid-row-end: 3;
|
||||
}
|
||||
|
||||
/* navigation */
|
||||
.top-nav {
|
||||
display: block;
|
||||
padding: 15px 0;
|
||||
/* justify-content: space-around; */
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-items {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
font-size: 1.3em;
|
||||
padding: 10px 20px;
|
||||
margin: 0 10px;
|
||||
border-bottom: 2px solid;
|
||||
color: var(--accent-font-dark);
|
||||
}
|
||||
|
||||
.nav-icons {
|
||||
width: auto;
|
||||
display: inline-flex;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0;
|
||||
transform: translate(0,-50%);
|
||||
}
|
||||
|
||||
.nav-icons img {
|
||||
width: 40px;
|
||||
padding: 0 10px;
|
||||
filter: var(--img-filter);
|
||||
}
|
||||
|
||||
/* top of page */
|
||||
.title-bar {
|
||||
padding: 25px 0;
|
||||
}
|
||||
|
||||
.sort {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.sort > div {
|
||||
width: 100%;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.padding-box {
|
||||
padding: 30px 0;
|
||||
}
|
||||
|
||||
.two-col {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.two-col > div {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.search-form {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.search-form input {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.search-icon {
|
||||
flex: 0 0 40px;
|
||||
}
|
||||
|
||||
.search-icon img {
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
filter: var(--img-filter);
|
||||
}
|
||||
|
||||
#search-box {
|
||||
display: none;
|
||||
flex: auto;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#hidden-form {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#text-reveal {
|
||||
height: 0px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* video player */
|
||||
.video-player {
|
||||
position: relative;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.video-player video {
|
||||
max-height: 70vh;
|
||||
}
|
||||
|
||||
.player-title img {
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
.player-title:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.player-title {
|
||||
opacity: 0;
|
||||
background-color: var(--highlight-bg-transparent);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
.player-title > * {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
|
||||
/* video list */
|
||||
.video-list {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
grid-gap: 1rem;
|
||||
}
|
||||
|
||||
.video-item {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.video-thumb img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.video-play img {
|
||||
width: 40px;
|
||||
filter: var(--img-filter);
|
||||
}
|
||||
|
||||
.video-thumb-wrap {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.video-thumb-wrap:hover > .video-play {
|
||||
opacity: 1;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.video-play {
|
||||
opacity: 0;
|
||||
transition: all 0.3s ease-in-out;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 50%;
|
||||
transform: translate(50%,-50%);
|
||||
background-color: var(--highlight-bg);
|
||||
border-radius: 50%;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.video-desc {
|
||||
padding: 10px;
|
||||
height: 100%;
|
||||
background-color: var(--highlight-bg);
|
||||
}
|
||||
|
||||
.video-desc img {
|
||||
width: 20px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.video-desc a {
|
||||
text-decoration: none;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.video-desc h3 {
|
||||
font-size: 0.9em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.video-desc-player {
|
||||
margin-bottom: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.unseen-icon,
|
||||
.close-button {
|
||||
cursor: pointer;
|
||||
filter: var(--img-filter);
|
||||
}
|
||||
|
||||
.seen-icon {
|
||||
filter: var(--img-filter);
|
||||
}
|
||||
|
||||
.video-more {
|
||||
text-decoration: underline;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/* pagination */
|
||||
.pagination {
|
||||
padding: 30px 0;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.pagination-item {
|
||||
padding: 5px;
|
||||
border: 1px solid;
|
||||
}
|
||||
|
||||
|
||||
/* info box */
|
||||
.info-box {
|
||||
display: grid;
|
||||
grid-gap: 1rem;
|
||||
}
|
||||
|
||||
.info-box-3 {
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
.info-box-2 {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.info-box img {
|
||||
width: 80px;
|
||||
margin: 0 15px;
|
||||
}
|
||||
|
||||
.info-box-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 15px;
|
||||
background-color: var(--highlight-bg);
|
||||
}
|
||||
|
||||
.description-text {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.description-text br {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* video page */
|
||||
.video-main video {
|
||||
max-height: 70vh;
|
||||
}
|
||||
.video-info-watched {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.video-info-watched img {
|
||||
width: 20px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.thumb-icon img {
|
||||
width: 20px;
|
||||
margin: 0;
|
||||
filter: var(--img-filter);
|
||||
}
|
||||
|
||||
.thumb-icon.dislike img {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
/* channel overview page */
|
||||
.channel-item {
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
.channel-banner img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
/* download page */
|
||||
.icon-text {
|
||||
background-color: var(--highlight-bg);
|
||||
text-align: center;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.icon-text img {
|
||||
filter: var(--img-filter);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dl-item {
|
||||
display: flex;
|
||||
margin: 15px 0;
|
||||
align-items: center;
|
||||
background-color: var(--highlight-bg);
|
||||
}
|
||||
|
||||
.dl-check {
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
.dl-thumb {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.dl-item img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.dl-desc {
|
||||
padding-left: 15px;
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
|
||||
/* status message */
|
||||
.download-progress {
|
||||
background-color: var(--highlight-bg);
|
||||
text-align: center;
|
||||
padding: 30px 0 15px 0;
|
||||
}
|
||||
|
||||
|
||||
/* settings */
|
||||
.settings-group {
|
||||
background-color: var(--highlight-bg);
|
||||
padding: 20px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.settings-item {
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
.settings-item input {
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
/* about */
|
||||
.about-section {
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
.about-section ol {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.about-section ul {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.about-section li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.about-icon img {
|
||||
margin-left: 5px;
|
||||
width: 20px;
|
||||
cursor: unset;
|
||||
}
|
||||
|
||||
/* animation */
|
||||
.rotate-img {
|
||||
animation: rotation 4s infinite linear;
|
||||
}
|
||||
|
||||
.bounce-img {
|
||||
animation: bounce 1.5s infinite ease-in-out alternate;
|
||||
}
|
||||
|
||||
.pulse-img {
|
||||
animation: pulse 1.5s infinite ease-in-out alternate;
|
||||
}
|
||||
|
||||
@keyframes rotation {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes bounce {
|
||||
0% {
|
||||
transform: translateY(-5%);
|
||||
}
|
||||
100% {
|
||||
transform: translateY(5%);
|
||||
scale: 1.15;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
scale: 1;
|
||||
}
|
||||
100% {
|
||||
scale: 1.15;
|
||||
}
|
||||
}
|
||||
|
||||
/* tablet */
|
||||
@media screen and (max-width: 1000px) {
|
||||
.boxed-content {
|
||||
width: 90%;
|
||||
}
|
||||
.video-list {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
.two-col {
|
||||
display: block;
|
||||
}
|
||||
.two-col > div {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* phone */
|
||||
@media screen and (max-width: 600px) {
|
||||
* {
|
||||
word-wrap: anywhere;
|
||||
}
|
||||
.video-list {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.boxed-content {
|
||||
width: 95%;
|
||||
}
|
||||
.footer {
|
||||
text-align: center;
|
||||
}
|
||||
.top-nav {
|
||||
flex-wrap: wrap-reverse;
|
||||
display: flex;
|
||||
}
|
||||
.nav-icons {
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
position: unset;
|
||||
transform: unset;
|
||||
}
|
||||
.nav-item {
|
||||
padding: unset;
|
||||
margin: 15px;
|
||||
}
|
||||
.sort {
|
||||
display: block;
|
||||
}
|
||||
.sort > div {
|
||||
display: block;
|
||||
}
|
||||
.sort select {
|
||||
width: 100%;
|
||||
margin: unset;
|
||||
}
|
||||
.info-box-2,
|
||||
.info-box-3 {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.description-box {
|
||||
display: block;
|
||||
}
|
||||
.dl-item {
|
||||
display: block;
|
||||
}
|
||||
.dl-thumb {
|
||||
width: 100%;
|
||||
}
|
||||
.dl-desc {
|
||||
padding: 15px;
|
||||
}
|
||||
}
|
||||
BIN
tubearchivist/static/favicon.ico
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
tubearchivist/static/img/banner-tube-archivist-dark.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
tubearchivist/static/img/banner-tube-archivist-light.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
71
tubearchivist/static/img/icon-add.svg
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icon_add.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.85859018"
|
||||
inkscape:cx="-97.380081"
|
||||
inkscape:cy="261.09215"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true">
|
||||
<sodipodi:guide
|
||||
position="-221.87586,143.2945"
|
||||
orientation="1,0"
|
||||
id="guide1072"
|
||||
inkscape:locked="false" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="m 58.600542,170.62113 c -1.62283,1.61686 -2.626579,3.8573 -2.631447,6.33943 l -0.08037,43.5977 -43.597706,-0.0803 c -4.9648228,-0.009 -8.9691711,3.98046 -8.9784054,8.94536 l -0.00482,2.62846 c -0.00925,4.9649 3.9804459,8.96933 8.9452674,8.97832 l 43.597694,0.0805 -0.08027,43.59778 c -0.0093,4.96488 3.980368,8.96922 8.945263,8.9783 l 2.628471,0.005 c 4.964897,0.009 8.969245,-3.98054 8.978406,-8.94536 l 0.08035,-43.59771 43.597715,0.0803 c 4.96484,0.009 8.96917,-3.98046 8.9784,-8.94534 l 0.005,-2.62847 c 0.009,-4.96489 -3.98037,-8.96923 -8.94525,-8.97831 l -43.597784,-0.0805 0.08034,-43.59771 c 0.0093,-4.96481 -3.980379,-8.96923 -8.945267,-8.97831 l -2.628469,-0.005 c -2.482483,-0.005 -4.724106,0.98906 -6.346936,2.60592 z"
|
||||
id="rect1073"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
63
tubearchivist/static/img/icon-close.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icons_close.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4291625"
|
||||
inkscape:cx="122.66624"
|
||||
inkscape:cy="202.38142"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="m 115.5244,167.09017 c -3.04348,0 -6.08905,1.16742 -8.42111,3.49893 L 66.146003,211.54641 25.18874,170.5891 c -4.664143,-4.66413 -12.173961,-4.66413 -16.8382429,0 l -2.4692132,2.46935 c -4.664282,4.66413 -4.664282,12.17408 0,16.83807 l 40.9572491,40.9573 -40.9572491,40.95745 c -4.664282,4.66412 -4.664282,12.17393 0,16.83806 l 2.4692132,2.46935 c 4.6642819,4.66413 12.1740999,4.66413 16.8382429,0 l 40.957263,-40.9573 40.957287,40.9573 c 4.66413,4.66413 12.17393,4.66413 16.8382,0 l 2.46921,-2.46935 c 4.66427,-4.66413 4.66427,-12.17394 0,-16.83806 L 85.453463,230.85382 126.4107,189.89652 c 4.66427,-4.66399 4.66427,-12.17394 0,-16.83807 l -2.46921,-2.46935 c -2.33221,-2.33206 -5.37361,-3.49893 -8.41709,-3.49893 z"
|
||||
id="rect1073"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
63
tubearchivist/static/img/icon-download.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Download.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.71458126"
|
||||
inkscape:cx="-376.84122"
|
||||
inkscape:cy="260.65826"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="M 249.89062 39.6875 L 249.88477 39.693359 C 229.11581 39.693359 212.39453 59.135896 212.39453 83.289062 L 212.39453 289.66016 L 159.20312 236.46875 L 127.63867 268.05469 L 218.74805 359.14258 L 218.73242 359.1582 L 249.93555 390.33789 L 281.52148 358.77344 L 372.36133 267.91211 L 341.1582 236.73047 L 287.37891 290.50977 L 287.37891 83.283203 C 287.37891 59.130339 270.65971 39.6875 249.89062 39.6875 z M 50.566406 407.88867 C 44.284822 407.88867 39.228516 412.94498 39.228516 419.22656 L 39.228516 444.62695 C 39.228516 450.90854 44.284822 455.96484 50.566406 455.96484 L 449.43359 455.96484 C 455.71518 455.96484 460.77148 450.90854 460.77148 444.62695 L 460.77148 419.22656 C 460.77148 412.94498 455.71518 407.88867 449.43359 407.88867 L 50.566406 407.88867 z "
|
||||
transform="matrix(0.26458394,0,0,0.26458394,0,164.70749)"
|
||||
id="rect1208" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
63
tubearchivist/static/img/icon-gear.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icons_Settings02.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0105705"
|
||||
inkscape:cx="-25.63665"
|
||||
inkscape:cy="191.7261"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="m 57.383938,165.28042 c -4.849506,0 -8.753067,3.9047 -8.753067,8.75416 v 9.09569 a 50.663505,50.95301 0 0 0 -15.06221,8.94072 l -8.089206,-4.6705 c -4.199751,-2.42477 -9.533198,-0.99601 -11.957934,3.20377 l -8.61619,14.92534 c -2.4247365,4.19977 -0.9959782,9.53208 3.2037853,11.95684 l 8.3097237,4.79724 a 50.663505,50.95301 0 0 0 -0.791619,8.56976 50.663505,50.95301 0 0 0 0.811977,8.72482 l -8.0405786,4.64225 c -4.1997499,2.42476 -5.6285156,7.75707 -3.2037853,11.95677 l 8.6161899,14.92541 c 2.424737,4.19978 7.758197,5.62854 11.95794,3.20377 l 7.930877,-4.57893 a 50.663505,50.95301 0 0 0 14.93103,8.81636 v 9.12958 c 0,4.84953 3.903561,8.75306 8.753067,8.75306 h 17.234564 c 4.849471,0 8.753032,-3.90353 8.753032,-8.75306 v -8.90228 a 50.663505,50.95301 0 0 0 15.393578,-8.94415 l 7.757848,4.47942 c 4.19982,2.42477 9.53324,0.99601 11.95796,-3.20377 l 8.61621,-14.92541 c 2.42472,-4.1997 0.99596,-9.53201 -3.20378,-11.95677 l -7.78614,-4.49524 a 50.663505,50.95301 0 0 0 0.84705,-8.87183 50.663505,50.95301 0 0 0 -0.81197,-8.72475 l 8.0405,-4.64225 c 4.19982,-2.42476 5.62859,-7.75707 3.20385,-11.95684 l -8.6162,-14.92534 c -2.42474,-4.19978 -7.75823,-5.62854 -11.95797,-3.20377 l -7.930861,4.57893 a 50.663505,50.95301 0 0 0 -15.510075,-9.02895 v -8.91589 c 0,-4.84946 -3.903561,-8.75416 -8.753032,-8.75416 z m 8.9068,28.59545 A 36.767228,36.977328 0 0 1 103.05797,230.85344 36.767228,36.977328 0 0 1 66.290738,267.83108 36.767228,36.977328 0 0 1 29.5235,230.85344 36.767228,36.977328 0 0 1 66.290738,193.87587 Z"
|
||||
id="path981"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
68
tubearchivist/static/img/icon-help.svg
Normal file
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icons_Help.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0105705"
|
||||
inkscape:cx="58.993585"
|
||||
inkscape:cy="143.32456"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<g
|
||||
transform="matrix(6.2585232,0,0,6.2585232,-555.66096,-762.59652)"
|
||||
id="g1069"
|
||||
style="fill:#000000">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="M 99.35362,148.32944 A 10.406119,10.406119 0 0 0 88.947542,158.73553 10.406119,10.406119 0 0 0 99.35362,169.14162 10.406119,10.406119 0 0 0 109.7597,158.73553 10.406119,10.406119 0 0 0 99.35362,148.32944 Z m 0.022,2.79535 c 0.58489,0 1.12588,0.073 1.62304,0.2192 0.51178,0.14622 0.95018,0.37308 1.31574,0.68016 0.38018,0.30706 0.67262,0.70157 0.87734,1.18411 0.21933,0.46791 0.32933,1.02372 0.32933,1.6671 0,0.4533 -0.0809,0.86261 -0.24176,1.22816 -0.16084,0.35094 -0.3655,0.67987 -0.61408,0.98694 -0.23396,0.30706 -0.48991,0.60692 -0.76774,0.89936 -0.26321,0.27783 -0.51176,0.57027 -0.74571,0.87734 -0.21932,0.30707 -0.39436,0.63601 -0.52597,0.98694 -0.1316,0.33631 -0.17549,0.72394 -0.13163,1.16261 h -2.829714 c -0.07311,-0.49715 -0.0583,-0.95035 0.04406,-1.35979 0.116978,-0.40941 0.277739,-0.78965 0.482453,-1.14059 0.204712,-0.35093 0.431586,-0.67246 0.680164,-0.96491 0.263203,-0.29244 0.511747,-0.57062 0.745707,-0.83381 0.23395,-0.27783 0.4238,-0.54119 0.57002,-0.78977 0.16086,-0.26321 0.24123,-0.53344 0.24123,-0.81125 0,-0.4533 -0.13908,-0.79704 -0.41691,-1.03099 -0.2632,-0.23397 -0.61381,-0.35083 -1.052474,-0.35083 -0.409426,0 -0.774845,0.0952 -1.096536,0.28528 -0.307068,0.19009 -0.606919,0.43123 -0.899364,0.72368 l -1.7767,-1.62304 c 0.511782,-0.59952 1.118345,-1.08235 1.820217,-1.4479 0.716494,-0.36557 1.506571,-0.548 2.369287,-0.548 z m -0.307306,11.16414 c 0.555636,0 1.016256,0.19727 1.381816,0.59205 0.38018,0.38019 0.57003,0.86249 0.57003,1.44737 0,0.57028 -0.18985,1.05311 -0.57003,1.4479 -0.36556,0.38018 -0.82618,0.57002 -1.381816,0.57002 -0.555651,0 -1.016262,-0.18984 -1.38182,-0.57002 -0.36556,-0.39479 -0.548536,-0.87762 -0.548536,-1.4479 0,-0.58488 0.182976,-1.06718 0.548536,-1.44737 0.365558,-0.39478 0.826169,-0.59205 1.38182,-0.59205 z"
|
||||
id="path1038"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
75
tubearchivist/static/img/icon-play.svg
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icons_play.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.4343607"
|
||||
inkscape:cx="51.709313"
|
||||
inkscape:cy="230.85077"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
id="path1206"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="-142.60593"
|
||||
sodipodi:cy="272.75879"
|
||||
sodipodi:r1="30.817924"
|
||||
sodipodi:r2="15.408962"
|
||||
sodipodi:arg1="0.52359878"
|
||||
sodipodi:arg2="1.5707963"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="-3.46945e-18"
|
||||
inkscape:randomized="0"
|
||||
d="m -115.91682,288.16775 -26.68911,0 -26.6891,0 13.34455,-23.11344 13.34455,-23.11345 13.34456,23.11345 z"
|
||||
transform="matrix(0,1.7014617,-1.7014617,0,530.04498,473.492)"
|
||||
inkscape:transform-center-x="-18.792756" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
63
tubearchivist/static/img/icon-rescan.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Rescan Subscriptions.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.85859018"
|
||||
inkscape:cx="125.63373"
|
||||
inkscape:cy="156.7016"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="M 240.35352 18.810547 L 240.35352 29.246094 A 221.29301 221.29301 0 0 0 64.912109 129.45898 L 95.701172 150.14453 A 184.02261 184.02261 0 0 1 240.35352 66.369141 L 240.35352 87.705078 L 270.18359 70.480469 L 300.01562 53.257812 L 270.18359 36.035156 L 240.35352 18.810547 z M 312.28516 37.798828 L 301.08398 73.353516 A 184.02261 184.02261 0 0 1 422.6875 187.33594 L 406.34375 192.03125 L 431.13281 215.94922 L 455.92188 239.86719 L 464.24219 206.44141 L 472.56055 173.01367 L 458.55078 177.03711 A 221.29301 221.29301 0 0 0 312.28516 37.798828 z M 73.375 144.88281 L 48.585938 168.80078 L 23.796875 192.71875 L 35.617188 196.11328 A 221.29301 221.29301 0 0 0 28.707031 250 A 221.29301 221.29301 0 0 0 77.992188 388.9375 L 107.99805 366.83789 A 184.02261 184.02261 0 0 1 65.976562 250 A 184.02261 184.02261 0 0 1 71.474609 206.41211 L 90.013672 211.73633 L 81.693359 178.30859 L 73.375 144.88281 z M 433.95312 248.4375 A 184.02261 184.02261 0 0 1 434.02344 250 A 184.02261 184.02261 0 0 1 367.40625 391.49219 L 358.92773 380.14844 L 345.34375 411.80469 L 331.75977 443.45898 L 365.9668 439.39648 L 400.17188 435.33203 L 389.71484 421.33984 A 221.29301 221.29301 0 0 0 471.29297 250 A 221.29301 221.29301 0 0 0 471.23047 248.77539 L 433.95312 248.4375 z M 94.9375 385.80273 L 108.97852 417.25781 L 123.02148 448.71289 L 131.60156 436.87891 A 221.29301 221.29301 0 0 0 250 471.29297 A 221.29301 221.29301 0 0 0 328.64648 456.57227 L 315.99023 421.74805 A 184.02261 184.02261 0 0 1 250 434.02344 A 184.02261 184.02261 0 0 1 153.63867 406.48047 L 163.45898 392.93555 L 129.19727 389.36914 L 94.9375 385.80273 z "
|
||||
transform="matrix(0.26458394,0,0,0.26458394,0,164.70749)"
|
||||
id="path826" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
64
tubearchivist/static/img/icon-search.svg
Normal file
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icons_Lupe.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0105705"
|
||||
inkscape:cx="-23.955221"
|
||||
inkscape:cy="207.58555"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#002130;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="m 15.593586,179.85791 c 18.094683,-18.09394 47.431291,-18.09355 65.52552,7.7e-4 16.496472,16.53809 18.102694,42.7696 3.747207,61.19678 17.821687,15.21024 24.490877,18.93088 42.171347,34.20969 4.41254,4.71717 4.29213,12.08299 -0.27223,16.65347 -4.57089,4.56126 -11.93421,4.68001 -16.65007,0.26874 l -8.4e-4,9.1e-4 -0.0173,-0.0152 C 94.335453,273.50898 90.211408,265.24542 76.792795,249.15281 58.360539,263.5048 32.12693,261.89037 15.593512,245.38662 c -18.0947127,-18.09455 -18.0947127,-47.43175 0,-65.52636 z m 7.908493,7.90846 c -13.7275962,13.72683 -13.7279739,35.98299 -8.23e-4,49.71019 13.72719,13.72714 35.983444,13.72678 49.710173,-8.2e-4 13.726834,-13.72692 13.726834,-35.98245 0,-49.70937 -13.726863,-13.72676 -35.982478,-13.72676 -49.70935,0 z"
|
||||
id="rect826"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccccccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
63
tubearchivist/static/img/icon-seen.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icons_seen-02.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0316211"
|
||||
inkscape:cx="67.654116"
|
||||
inkscape:cy="175.0818"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="M 9.4628906 4.9277344 C 6.9502624 4.9277344 4.9277344 6.6131716 4.9277344 8.7070312 L 4.9277344 491.29297 C 4.9277344 493.38683 6.9502624 495.07227 9.4628906 495.07227 L 490.53711 495.07227 C 493.04974 495.07227 495.07227 493.38683 495.07227 491.29297 L 495.07227 8.7070312 C 495.07227 6.6131716 493.04974 4.9277344 490.53711 4.9277344 L 9.4628906 4.9277344 z M 53.607422 49.070312 L 446.39258 49.070312 C 448.90521 49.070312 450.92969 50.757703 450.92969 52.851562 L 450.92969 447.14844 C 450.92969 449.2423 448.90521 450.92969 446.39258 450.92969 L 53.607422 450.92969 C 51.094794 450.92969 49.070313 449.2423 49.070312 447.14844 L 49.070312 52.851562 C 49.070312 50.757703 51.094794 49.070312 53.607422 49.070312 z M 394.99414 104.48242 C 392.62745 104.47692 390.27922 105.49181 388.64453 107.46484 L 212.35547 320.24414 L 111.90625 232.94141 C 108.46825 229.95328 103.29681 230.31403 100.30859 233.75195 L 73.150391 264.99805 C 70.162261 268.43605 70.524968 273.60942 73.962891 276.59766 L 212.05469 396.62109 C 214.1632 398.4537 216.92406 399.02085 219.43359 398.39648 C 221.58781 398.24033 223.67676 397.24363 225.16992 395.44141 L 249.54883 366.01758 L 250.8125 364.5625 C 251.04106 364.29953 251.24412 364.0237 251.43359 363.74219 L 433.18555 144.36914 C 436.09166 140.86148 435.60727 135.69713 432.09961 132.79102 L 400.2207 106.37891 C 398.68612 105.10748 396.8349 104.4867 394.99414 104.48242 z "
|
||||
transform="matrix(0.26458394,0,0,0.26458394,0,164.70749)"
|
||||
id="rect816" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
63
tubearchivist/static/img/icon-thumb.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="Icons_thumbs.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.71458126"
|
||||
inkscape:cx="-133.80736"
|
||||
inkscape:cy="163.34297"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#1a1a1a;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="m 74.762046,169.84647 c -0.757275,-0.0266 -1.556205,0.0266 -2.398918,0.17006 -17.977757,2.9811 5.863528,29.19697 -15.075776,44.15933 -17.503229,14.60104 -23.870308,10.01972 -24.044759,14.80451 v 47.00292 c 2.623747,6.94761 20.093043,14.05087 38.660635,15.56434 18.567588,1.51346 44.529822,-2.41107 44.816272,-10.49357 0.15245,-7.31882 -4.01785,-7.48655 -4.01785,-7.48655 0,0 9.14077,-0.56532 9.44575,-8.4939 0.15212,-7.77626 -8.85445,-8.88809 -8.85445,-8.88809 0,0 11.53636,-0.3275 11.53636,-8.34902 0,-8.20546 -8.87381,-8.85175 -11.6189,-8.99092 1.70324,-0.10363 8.42562,-2.42967 8.3861,-10.53741 -0.0399,-8.37053 -12.87508,-7.67987 -35.956784,-9.20144 2.66326,-15.52873 4.52035,-48.76031 -10.87768,-49.26032 z m -63.387663,53.22425 c -2.167221,0 -3.911718,1.45375 -3.911718,3.25977 v 53.07599 c 0,1.80609 1.744497,3.25983 3.911718,3.25983 h 14.602385 c 2.167228,0 3.911725,-1.45374 3.911725,-3.25983 v -53.07599 c 0,-1.80602 -1.744497,-3.25977 -3.911725,-3.25977 z"
|
||||
id="rect1278"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
65
tubearchivist/static/img/icon-unseen.svg
Normal file
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 132.29197 132.29167"
|
||||
version="1.1"
|
||||
id="svg1303"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="icon-unseen.svg">
|
||||
<defs
|
||||
id="defs1297" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.72946627"
|
||||
inkscape:cx="216.49148"
|
||||
inkscape:cy="168.6324"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata1300">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70764)">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="m 9.6367188,5.1015625 c -2.5126284,0 -4.5351563,1.6854372 -4.5351563,3.7792969 V 491.11914 c 0,2.09386 2.022528,3.7793 4.5351563,3.7793 H 490.36328 c 2.51263,0 4.53516,-1.68544 4.53516,-3.7793 V 8.8808594 c 0,-2.0938597 -2.02253,-3.7792969 -4.53516,-3.7792969 z M 53.748047,49.212891 H 446.25195 c 2.51263,0 4.53516,1.685437 4.53516,3.779297 V 447.00781 c 0,2.09386 -2.02253,3.7793 -4.53516,3.7793 H 53.748047 c -2.512628,0 -4.535156,-1.68544 -4.535156,-3.7793 V 52.992188 c 0,-2.09386 2.022528,-3.779297 4.535156,-3.779297 z"
|
||||
transform="matrix(0.26458394,0,0,0.26458394,0,164.70749)"
|
||||
id="rect816"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssssssssssssssssss" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
84
tubearchivist/static/progress.js
Normal file
@@ -0,0 +1,84 @@
|
||||
/**
|
||||
* Handle progress bar on /download
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
setTimeout(function(){
|
||||
checkMessage();
|
||||
}, 1000);
|
||||
|
||||
// initial check for messages
|
||||
function checkMessage() {
|
||||
var req = new XMLHttpRequest();
|
||||
req.responseType = 'json';
|
||||
req.open('GET', '/downloads/progress', true);
|
||||
req.onload = function() {
|
||||
var dlProgress = req.response;
|
||||
if (dlProgress['status']) {
|
||||
console.log('start interval');
|
||||
buildDownloadMessage(dlProgress);
|
||||
handleInterval();
|
||||
};
|
||||
console.log(JSON.stringify(dlProgress));
|
||||
};
|
||||
req.send();
|
||||
}
|
||||
|
||||
// set interval until no more messages
|
||||
function handleInterval() {
|
||||
var watchDownload = setInterval(function() {
|
||||
var req = new XMLHttpRequest();
|
||||
req.responseType = 'json';
|
||||
req.open('GET', '/downloads/progress', true);
|
||||
req.onload = function() {
|
||||
var dlProgress = req.response;
|
||||
if (dlProgress['status']) {
|
||||
console.log('continue interval');
|
||||
buildDownloadMessage(dlProgress);
|
||||
} else {
|
||||
console.log('stop interval');
|
||||
clearInterval(watchDownload);
|
||||
location.reload();
|
||||
};
|
||||
console.log(JSON.stringify(dlProgress));
|
||||
};
|
||||
req.send();
|
||||
}, 3000);
|
||||
};
|
||||
|
||||
// remove and set message
|
||||
function buildDownloadMessage(dlProgress) {
|
||||
var box = document.getElementById('downloadMessage');
|
||||
box.innerHTML = '';
|
||||
var dlStatus = dlProgress['status'];
|
||||
var dlTitle = dlProgress['title'];
|
||||
var dlMessage = dlProgress['message'];
|
||||
// animate
|
||||
if (dlStatus === 'rescan') {
|
||||
animate('rescan-icon', 'rotate-img');
|
||||
} else if (dlStatus === 'downloading') {
|
||||
animate('download-icon', 'bounce-img');
|
||||
};
|
||||
// div box
|
||||
var box = document.getElementById('downloadMessage');
|
||||
var message = document.createElement('div');
|
||||
message.classList.add('download-progress');
|
||||
message.id = 'progress';
|
||||
message.setAttribute('data', dlStatus);
|
||||
var title = document.createElement('h3');
|
||||
title.innerHTML = dlTitle;
|
||||
var messageText = document.createElement('p');
|
||||
messageText.innerHTML = dlMessage;
|
||||
message.appendChild(title);
|
||||
message.appendChild(messageText);
|
||||
box.appendChild(message);
|
||||
};
|
||||
|
||||
function animate(elementId, animationClass) {
|
||||
var toAnimate = document.getElementById(elementId);
|
||||
if (toAnimate.className !== animationClass) {
|
||||
toAnimate.className = animationClass;
|
||||
console.log(elementId, animationClass);
|
||||
}
|
||||
}
|
||||
271
tubearchivist/static/script.js
Normal file
@@ -0,0 +1,271 @@
|
||||
|
||||
function sortChange(sortValue) {
|
||||
var payload = JSON.stringify({'sort_order': sortValue});
|
||||
sendPost(payload);
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
return false;
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function hideWatched(hideValue) {
|
||||
var payload = JSON.stringify({'hide_watched': hideValue});
|
||||
sendPost(payload);
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
return false;
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function showSubscribedOnly(showValue) {
|
||||
var payload = JSON.stringify({'show_subed_only': showValue});
|
||||
sendPost(payload);
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
return false;
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function isWatched(youtube_id) {
|
||||
var payload = JSON.stringify({'watched': youtube_id});
|
||||
sendPost(payload);
|
||||
var seenIcon = document.createElement('img');
|
||||
seenIcon.setAttribute('src', "/static/img/icon-seen.svg");
|
||||
seenIcon.setAttribute('alt', 'seen-icon');
|
||||
seenIcon.setAttribute('id', youtube_id);
|
||||
seenIcon.classList = 'seen-icon';
|
||||
document.getElementById(youtube_id).replaceWith(seenIcon);
|
||||
}
|
||||
|
||||
function unsubscribe(channel_id) {
|
||||
var payload = JSON.stringify({'unsubscribe': channel_id});
|
||||
sendPost(payload);
|
||||
document.getElementById('sub-' + channel_id).remove();
|
||||
}
|
||||
|
||||
// download page buttons
|
||||
function rescanPending() {
|
||||
var payload = JSON.stringify({'rescan_pending': true});
|
||||
animate('rescan-icon', 'rotate-img');
|
||||
sendPost(payload);
|
||||
setTimeout(function(){
|
||||
handleInterval();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function dlPending() {
|
||||
var payload = JSON.stringify({'dl_pending': true});
|
||||
animate('download-icon', 'bounce-img');
|
||||
sendPost(payload);
|
||||
setTimeout(function(){
|
||||
handleInterval();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function toIgnore(button) {
|
||||
var youtube_id = button.getAttribute('data-id');
|
||||
var payload = JSON.stringify({'ignore': youtube_id});
|
||||
console.log(payload);
|
||||
sendPost(payload);
|
||||
document.getElementById('dl-' + youtube_id).remove();
|
||||
}
|
||||
|
||||
function downloadNow(button) {
|
||||
var youtube_id = button.getAttribute('data-id');
|
||||
var payload = JSON.stringify({'dlnow': youtube_id});
|
||||
animate('download-icon', 'bounce-img');
|
||||
sendPost(payload);
|
||||
setTimeout(function(){
|
||||
handleInterval();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
// player
|
||||
function createPlayer(button) {
|
||||
var mediaUrl = button.getAttribute('data-src');
|
||||
var mediaThumb = button.getAttribute('data-thumb');
|
||||
var mediaTitle = button.getAttribute('data-title');
|
||||
var mediaChannel = button.getAttribute('data-channel');
|
||||
var dataId = button.getAttribute('data-id');
|
||||
// get watched status
|
||||
var playedStatus = document.createDocumentFragment();
|
||||
playedStatus.appendChild(document.getElementById(dataId));
|
||||
// create player
|
||||
removePlayer();
|
||||
var playerElement = document.getElementById('player');
|
||||
playerElement.setAttribute('data-id', dataId);
|
||||
// playerElement.innerHTML = '';
|
||||
var videoPlayer = document.createElement('video');
|
||||
videoPlayer.setAttribute('src', mediaUrl);
|
||||
videoPlayer.setAttribute('controls', true);
|
||||
videoPlayer.setAttribute('autoplay', true);
|
||||
videoPlayer.setAttribute('width', '100%');
|
||||
videoPlayer.setAttribute('poster', mediaThumb);
|
||||
playerElement.appendChild(videoPlayer);
|
||||
// title bar
|
||||
var titleBar = document.createElement('div');
|
||||
titleBar.className = 'player-title';
|
||||
// close
|
||||
var closeButton = document.createElement('img');
|
||||
closeButton.className = 'close-button';
|
||||
closeButton.setAttribute('src', "/static/img/icon-close.svg");
|
||||
closeButton.setAttribute('alt', 'close-icon');
|
||||
closeButton.setAttribute('data', dataId);
|
||||
closeButton.setAttribute('onclick', "removePlayer()");
|
||||
closeButton.setAttribute('title', 'Close player');
|
||||
titleBar.appendChild(closeButton);
|
||||
// played
|
||||
titleBar.appendChild(playedStatus);
|
||||
playerElement.appendChild(titleBar);
|
||||
// title
|
||||
var videoTitle = document.createElement('p');
|
||||
videoTitle.innerText = mediaTitle;
|
||||
titleBar.appendChild(videoTitle);
|
||||
var videoChannel = document.createElement('p');
|
||||
videoChannel.innerText = mediaChannel
|
||||
titleBar.appendChild(videoChannel);
|
||||
// button
|
||||
var videoButton = document.createElement('button');
|
||||
videoButton.innerText = 'Details';
|
||||
videoButton.setAttribute('onclick', "window.location.href='/video/" + dataId + "/';");
|
||||
titleBar.appendChild(videoButton);
|
||||
}
|
||||
|
||||
function removePlayer() {
|
||||
var playerElement = document.getElementById('player');
|
||||
if (playerElement.hasChildNodes()) {
|
||||
var youtubeId = playerElement.getAttribute('data-id');
|
||||
var playedStatus = document.createDocumentFragment();
|
||||
playedStatus.appendChild(document.getElementById(youtubeId));
|
||||
playerElement.innerHTML = '';
|
||||
// append played status
|
||||
var videoInfo = document.getElementById('video-info-' + youtubeId);
|
||||
videoInfo.insertBefore(playedStatus, videoInfo.firstChild);
|
||||
};
|
||||
}
|
||||
|
||||
// searching channels
|
||||
function searchChannels(query) {
|
||||
var searchResultBox = document.getElementById('resultBox');
|
||||
searchResultBox.innerHTML = '';
|
||||
if (query.length > 1) {
|
||||
var payload = JSON.stringify({'channel-search': query})
|
||||
sendSearchAsYouType(payload);
|
||||
console.log(payload);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
function populateChannelResults(allResults) {
|
||||
|
||||
var searchResultBox = document.getElementById('resultBox');
|
||||
|
||||
for (let i = 0; i < allResults.length; i++) {
|
||||
|
||||
var singleResult = allResults[i];
|
||||
var source = singleResult['source'];
|
||||
var channelName = source['channel_name'];
|
||||
var channelId = source['channel_id'];
|
||||
var optionElement = document.createElement('option');
|
||||
optionElement.value = channelName;
|
||||
optionElement.setAttribute('data', channelId);
|
||||
searchResultBox.appendChild(optionElement);
|
||||
console.log(channelId, channelName);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function channelRedirect(){
|
||||
var response = document.getElementById('resultBox');
|
||||
var firstChild = response.firstChild
|
||||
if (firstChild) {
|
||||
var redirectId = firstChild.getAttribute('data');
|
||||
console.log('redirecting: ' + redirectId);
|
||||
location = '/channel/' + redirectId;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function sendSearchAsYouType(payload) {
|
||||
console.log(payload);
|
||||
var http = new XMLHttpRequest();
|
||||
|
||||
http.onreadystatechange = function() {
|
||||
if (http.readyState === 4) {
|
||||
allResults = JSON.parse(http.response)['results'];
|
||||
populateChannelResults(allResults);
|
||||
}
|
||||
}
|
||||
|
||||
http.open("POST", "/process/", true);
|
||||
http.setRequestHeader("X-CSRFToken", getCookie("csrftoken"));
|
||||
http.setRequestHeader("Content-type", "application/json");
|
||||
http.send(payload);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// generic
|
||||
function sendPost(payload) {
|
||||
console.log(payload);
|
||||
var http = new XMLHttpRequest();
|
||||
http.open("POST", "/process/", true);
|
||||
http.setRequestHeader("X-CSRFToken", getCookie("csrftoken"));
|
||||
http.setRequestHeader("Content-type", "application/json");
|
||||
http.send(payload);
|
||||
}
|
||||
|
||||
|
||||
function getCookie(c_name) {
|
||||
if (document.cookie.length > 0) {
|
||||
c_start = document.cookie.indexOf(c_name + "=");
|
||||
if (c_start != -1) {
|
||||
c_start = c_start + c_name.length + 1;
|
||||
c_end = document.cookie.indexOf(";", c_start);
|
||||
if (c_end == -1) c_end = document.cookie.length;
|
||||
return unescape(document.cookie.substring(c_start,c_end));
|
||||
};
|
||||
};
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
// animations
|
||||
function textReveal() {
|
||||
var textBox = document.getElementById('text-reveal');
|
||||
var button = document.getElementById('text-reveal-button');
|
||||
var textBoxHeight = textBox.style.height;
|
||||
if (textBoxHeight === 'unset') {
|
||||
textBox.style.height = '0px';
|
||||
button.innerText = 'Show';
|
||||
} else {
|
||||
textBox.style.height = 'unset';
|
||||
button.innerText = 'Hide';
|
||||
};
|
||||
}
|
||||
|
||||
function showSearch() {
|
||||
var searchBox = document.getElementById('search-box');
|
||||
var displayStyle = searchBox.style.display
|
||||
if (displayStyle === "") {
|
||||
searchBox.style.display = 'block';
|
||||
} else {
|
||||
searchBox.style.display = "";
|
||||
}
|
||||
var inputBox = document.getElementById('searchInput');
|
||||
inputBox.focus();
|
||||
}
|
||||
|
||||
function showForm() {
|
||||
console.log('show hidden form');
|
||||
var formElement = document.getElementById('hidden-form');
|
||||
var displayStyle = formElement.style.display
|
||||
if (displayStyle === "") {
|
||||
formElement.style.display = 'block';
|
||||
animate('add-icon', 'pulse-img');
|
||||
} else {
|
||||
formElement.style.display = "";
|
||||
}
|
||||
}
|
||||