Compare commits
6 Commits
4973f48e36
...
6f3f571929
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f3f571929 | ||
|
|
0e48b7a337 | ||
|
|
60fbf66639 | ||
|
|
97370712bc | ||
|
|
c36e819ba3 | ||
|
|
61d34963fa |
@ -17,7 +17,7 @@
|
|||||||
"@types/react": "^19.1.9",
|
"@types/react": "^19.1.9",
|
||||||
"@types/react-dom": "^19.1.7",
|
"@types/react-dom": "^19.1.7",
|
||||||
"astro": "^5.12.8",
|
"astro": "^5.12.8",
|
||||||
"astro-pagefind": "^1.8.3",
|
"astro-pagefind": "1.8.3",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"markdown-it": "^14.1.0",
|
"markdown-it": "^14.1.0",
|
||||||
"react": "^19.1.1",
|
"react": "^19.1.1",
|
||||||
|
|||||||
@ -33,7 +33,7 @@ importers:
|
|||||||
specifier: ^5.12.8
|
specifier: ^5.12.8
|
||||||
version: 5.12.8(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.46.2)(typescript@5.9.2)
|
version: 5.12.8(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.46.2)(typescript@5.9.2)
|
||||||
astro-pagefind:
|
astro-pagefind:
|
||||||
specifier: ^1.8.3
|
specifier: 1.8.3
|
||||||
version: 1.8.3(astro@5.12.8(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.46.2)(typescript@5.9.2))
|
version: 1.8.3(astro@5.12.8(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.46.2)(typescript@5.9.2))
|
||||||
date-fns:
|
date-fns:
|
||||||
specifier: ^4.1.0
|
specifier: ^4.1.0
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 691 B |
|
Before Width: | Height: | Size: 777 B After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 144 KiB |
@ -1,349 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
viewBox="0 0 762 762"
|
|
||||||
version="1.1"
|
|
||||||
id="svg270"
|
|
||||||
sodipodi:docname="spotube-logo.svg"
|
|
||||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
|
||||||
xml:space="preserve"
|
|
||||||
inkscape:export-filename="spotube-logo.png"
|
|
||||||
inkscape:export-xdpi="96"
|
|
||||||
inkscape:export-ydpi="96"
|
|
||||||
width="762"
|
|
||||||
height="762"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:bx="https://boxy-svg.com"><sodipodi:namedview
|
|
||||||
id="namedview272"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#000000"
|
|
||||||
borderopacity="0.25"
|
|
||||||
inkscape:showpageshadow="2"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pagecheckerboard="0"
|
|
||||||
inkscape:deskcolor="#d1d1d1"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="0.76199998"
|
|
||||||
inkscape:cx="194.22573"
|
|
||||||
inkscape:cy="314.96064"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1001"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg270"
|
|
||||||
inkscape:lockguides="false"><inkscape:page
|
|
||||||
x="0"
|
|
||||||
y="0"
|
|
||||||
width="762"
|
|
||||||
height="762"
|
|
||||||
id="page3136" /><inkscape:page
|
|
||||||
x="640.44641"
|
|
||||||
y="132.29141"
|
|
||||||
width="89.999939"
|
|
||||||
height="89.999985"
|
|
||||||
id="page3138" /></sodipodi:namedview><defs
|
|
||||||
id="defs220"><linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient5535"><stop
|
|
||||||
style="stop-color:#00063b;stop-opacity:1;"
|
|
||||||
offset="0.25885531"
|
|
||||||
id="stop5531" /><stop
|
|
||||||
style="stop-color:#004256;stop-opacity:1;"
|
|
||||||
offset="1"
|
|
||||||
id="stop5533" /></linearGradient><linearGradient
|
|
||||||
id="linearGradient2809"><stop
|
|
||||||
offset="0.113"
|
|
||||||
style="stop-color:#5668ea;stop-opacity:1;"
|
|
||||||
id="stop2803" /><stop
|
|
||||||
offset="0.60799998"
|
|
||||||
style="stop-color:#0093b1;stop-opacity:1;"
|
|
||||||
id="stop2805" /><stop
|
|
||||||
offset="0.94400001"
|
|
||||||
style="stop-color:#00a29f;stop-opacity:1;"
|
|
||||||
id="stop2807" /></linearGradient><linearGradient
|
|
||||||
id="linearGradient938"><stop
|
|
||||||
offset="0.113"
|
|
||||||
style="stop-color:#5869eb;stop-opacity:1;"
|
|
||||||
id="stop932" /><stop
|
|
||||||
offset="0.60799998"
|
|
||||||
style="stop-color:#0093b1;stop-opacity:1;"
|
|
||||||
id="stop934" /><stop
|
|
||||||
offset="0.94400001"
|
|
||||||
style="stop-color:#02a7a4;stop-opacity:1;"
|
|
||||||
id="stop936" /></linearGradient><radialGradient
|
|
||||||
id="gradient-2-0"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
cx="251.179"
|
|
||||||
cy="248.821"
|
|
||||||
r="241.45"
|
|
||||||
gradientTransform="translate(-1.768285,0.589104)"
|
|
||||||
xlink:href="#gradient-2" /><linearGradient
|
|
||||||
id="gradient-2"><stop
|
|
||||||
offset="0.841"
|
|
||||||
style="stop-color: rgb(255, 255, 255);"
|
|
||||||
id="stop169" /><stop
|
|
||||||
offset="1"
|
|
||||||
style="stop-color: rgb(201, 201, 201);"
|
|
||||||
id="stop171" /></linearGradient><filter
|
|
||||||
id="drop-shadow-filter-0"
|
|
||||||
x="-0.050892502"
|
|
||||||
y="-0.050892502"
|
|
||||||
width="1.1017849"
|
|
||||||
height="1.1017849"
|
|
||||||
bx:preset="drop-shadow 1 0 0 10 0.42 rgba(201,201,201,1)"><feGaussianBlur
|
|
||||||
in="SourceAlpha"
|
|
||||||
stdDeviation="10"
|
|
||||||
id="feGaussianBlur174" /><feOffset
|
|
||||||
dx="0"
|
|
||||||
dy="0"
|
|
||||||
id="feOffset176" /><feComponentTransfer
|
|
||||||
result="offsetblur"
|
|
||||||
id="feComponentTransfer179"><feFuncA
|
|
||||||
id="spread-ctrl"
|
|
||||||
type="linear"
|
|
||||||
slope="0.84" /></feComponentTransfer><feFlood
|
|
||||||
flood-color="rgba(201,201,201,1)"
|
|
||||||
id="feFlood181" /><feComposite
|
|
||||||
in2="offsetblur"
|
|
||||||
operator="in"
|
|
||||||
id="feComposite183" /><feMerge
|
|
||||||
id="feMerge189"><feMergeNode
|
|
||||||
id="feMergeNode185" /><feMergeNode
|
|
||||||
in="SourceGraphic"
|
|
||||||
id="feMergeNode187" /></feMerge></filter><linearGradient
|
|
||||||
id="gradient-4-3"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
x1="47.146"
|
|
||||||
y1="18.044001"
|
|
||||||
x2="47.146"
|
|
||||||
y2="75.353996"
|
|
||||||
xlink:href="#gradient-4" /><linearGradient
|
|
||||||
id="gradient-4"><stop
|
|
||||||
offset="0.113"
|
|
||||||
style="stop-color: rgb(83, 240, 111);"
|
|
||||||
id="stop193" /><stop
|
|
||||||
offset="0.608"
|
|
||||||
style="stop-color: rgb(0, 177, 86);"
|
|
||||||
id="stop195" /><stop
|
|
||||||
offset="0.944"
|
|
||||||
style="stop-color: rgb(2, 167, 156);"
|
|
||||||
id="stop197" /></linearGradient><filter
|
|
||||||
id="inner-shadow-filter-0"
|
|
||||||
x="-0.064836091"
|
|
||||||
y="-0.071329232"
|
|
||||||
width="1.1296722"
|
|
||||||
height="1.108079"
|
|
||||||
bx:preset="inner-shadow 1 0 0 4 0.5 rgba(0,0,0,0.7)"><feOffset
|
|
||||||
dx="0"
|
|
||||||
dy="0"
|
|
||||||
id="feOffset200" /><feGaussianBlur
|
|
||||||
stdDeviation="4"
|
|
||||||
id="feGaussianBlur202"
|
|
||||||
result="result1" /><feComposite
|
|
||||||
operator="out"
|
|
||||||
in="SourceGraphic"
|
|
||||||
in2="result1"
|
|
||||||
id="feComposite204" /><feComponentTransfer
|
|
||||||
result="choke"
|
|
||||||
id="feComponentTransfer208"><feFuncA
|
|
||||||
type="linear"
|
|
||||||
slope="1"
|
|
||||||
id="feFuncA206" /></feComponentTransfer><feFlood
|
|
||||||
flood-color="rgba(0,0,0,0.7)"
|
|
||||||
result="color"
|
|
||||||
id="feFlood210" /><feComposite
|
|
||||||
operator="in"
|
|
||||||
in="color"
|
|
||||||
in2="choke"
|
|
||||||
result="shadow"
|
|
||||||
id="feComposite212" /><feComposite
|
|
||||||
operator="over"
|
|
||||||
in="shadow"
|
|
||||||
in2="SourceGraphic"
|
|
||||||
id="feComposite214" /></filter><linearGradient
|
|
||||||
id="gradient-4-1"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
x1="82.026001"
|
|
||||||
y1="144.832"
|
|
||||||
x2="82.026001"
|
|
||||||
y2="264.46201"
|
|
||||||
xlink:href="#linearGradient2809"
|
|
||||||
gradientTransform="translate(7.2213312)" /><linearGradient
|
|
||||||
id="gradient-4-2"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
x1="143.69299"
|
|
||||||
y1="22.804001"
|
|
||||||
x2="143.69299"
|
|
||||||
y2="264.582"
|
|
||||||
xlink:href="#linearGradient938" /><linearGradient
|
|
||||||
id="gradient-4-0"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
x1="205.862"
|
|
||||||
y1="146.28"
|
|
||||||
x2="205.862"
|
|
||||||
y2="265.91"
|
|
||||||
xlink:href="#gradient-4"
|
|
||||||
gradientTransform="translate(-7.2213312)" /><filter
|
|
||||||
style="color-interpolation-filters:sRGB"
|
|
||||||
inkscape:label="Drop Shadow"
|
|
||||||
id="filter2000"
|
|
||||||
x="-0.3425389"
|
|
||||||
y="-0.3425389"
|
|
||||||
width="1.6850778"
|
|
||||||
height="1.6850778"><feFlood
|
|
||||||
flood-opacity="1"
|
|
||||||
flood-color="rgb(0,0,0)"
|
|
||||||
result="flood"
|
|
||||||
id="feFlood1990" /><feComposite
|
|
||||||
in="flood"
|
|
||||||
in2="SourceGraphic"
|
|
||||||
operator="out"
|
|
||||||
result="composite1"
|
|
||||||
id="feComposite1992" /><feGaussianBlur
|
|
||||||
in="composite1"
|
|
||||||
stdDeviation="29.980818"
|
|
||||||
result="blur"
|
|
||||||
id="feGaussianBlur1994" /><feOffset
|
|
||||||
dx="0"
|
|
||||||
dy="0"
|
|
||||||
result="offset"
|
|
||||||
id="feOffset1996" /><feComposite
|
|
||||||
in="offset"
|
|
||||||
in2="SourceGraphic"
|
|
||||||
operator="atop"
|
|
||||||
result="fbSourceGraphic"
|
|
||||||
id="feComposite1998" /><feColorMatrix
|
|
||||||
result="fbSourceGraphicAlpha"
|
|
||||||
in="fbSourceGraphic"
|
|
||||||
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
|
|
||||||
id="feColorMatrix2062" /><feFlood
|
|
||||||
id="feFlood2064"
|
|
||||||
flood-opacity="1"
|
|
||||||
flood-color="rgb(0,0,0)"
|
|
||||||
result="flood"
|
|
||||||
in="fbSourceGraphic" /><feComposite
|
|
||||||
in2="fbSourceGraphic"
|
|
||||||
id="feComposite2066"
|
|
||||||
in="flood"
|
|
||||||
operator="out"
|
|
||||||
result="composite1" /><feGaussianBlur
|
|
||||||
id="feGaussianBlur2068"
|
|
||||||
in="composite1"
|
|
||||||
stdDeviation="28.6433"
|
|
||||||
result="blur" /><feOffset
|
|
||||||
id="feOffset2070"
|
|
||||||
dx="0"
|
|
||||||
dy="0"
|
|
||||||
result="offset" /><feComposite
|
|
||||||
in2="fbSourceGraphic"
|
|
||||||
id="feComposite2072"
|
|
||||||
in="offset"
|
|
||||||
operator="atop"
|
|
||||||
result="fbSourceGraphic" /><feColorMatrix
|
|
||||||
result="fbSourceGraphicAlpha"
|
|
||||||
in="fbSourceGraphic"
|
|
||||||
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
|
|
||||||
id="feColorMatrix3393" /><feFlood
|
|
||||||
id="feFlood3395"
|
|
||||||
flood-opacity="0.352941"
|
|
||||||
flood-color="rgb(0,0,0)"
|
|
||||||
result="flood"
|
|
||||||
in="fbSourceGraphic" /><feComposite
|
|
||||||
in2="fbSourceGraphic"
|
|
||||||
id="feComposite3397"
|
|
||||||
in="flood"
|
|
||||||
operator="in"
|
|
||||||
result="composite1" /><feGaussianBlur
|
|
||||||
id="feGaussianBlur3399"
|
|
||||||
in="composite1"
|
|
||||||
stdDeviation="6.59891"
|
|
||||||
result="blur" /><feOffset
|
|
||||||
id="feOffset3401"
|
|
||||||
dx="0"
|
|
||||||
dy="0"
|
|
||||||
result="offset" /><feComposite
|
|
||||||
in2="offset"
|
|
||||||
id="feComposite3403"
|
|
||||||
in="fbSourceGraphic"
|
|
||||||
operator="over"
|
|
||||||
result="composite2" /></filter><linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient2809"
|
|
||||||
id="linearGradient5506"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="translate(117.34662)"
|
|
||||||
x1="82.026001"
|
|
||||||
y1="144.832"
|
|
||||||
x2="82.026001"
|
|
||||||
y2="264.46201" /><radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient5535"
|
|
||||||
id="radialGradient5537"
|
|
||||||
cx="143.6935"
|
|
||||||
cy="143.69299"
|
|
||||||
fx="143.6935"
|
|
||||||
fy="143.69299"
|
|
||||||
r="152.72653"
|
|
||||||
gradientTransform="matrix(1,0,0,0.8506841,0,21.45565)"
|
|
||||||
gradientUnits="userSpaceOnUse" /></defs><circle
|
|
||||||
style="opacity:1;fill:#242832;fill-opacity:1;stroke:#000000;stroke-width:10;stroke-dasharray:none;stroke-opacity:0.961795;filter:url(#filter2000)"
|
|
||||||
id="path1157"
|
|
||||||
cx="381.48901"
|
|
||||||
cy="381.48901"
|
|
||||||
inkscape:label="path1157"
|
|
||||||
r="235.79112"
|
|
||||||
sodipodi:insensitive="true" /><g
|
|
||||||
transform="matrix(0.319972,0,0,0.323174,379.08153,437.03375)"
|
|
||||||
id="g228"><g
|
|
||||||
style="opacity:1;fill:none;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none"
|
|
||||||
transform="matrix(3.89,0,0,3.89,-175.05,-175.05)"
|
|
||||||
id="g226" /></g><g
|
|
||||||
id="g236"
|
|
||||||
style="fill:none;filter:url(#inner-shadow-filter-0)"
|
|
||||||
transform="matrix(1.107829,0,0,1.106267,221.95533,199.03714)"><path
|
|
||||||
d="m 78.642332,155.437 v 98.42 c 0,5.867 4.741,10.605 10.605,10.605 5.854,0 10.604995,-4.738 10.604995,-10.605 v -98.42 c 0,-5.856 -4.750995,-10.605 -10.604995,-10.605 -5.864,0 -10.605,4.744 -10.605,10.605 z"
|
|
||||||
style="fill:none;fill-opacity:1;stroke:url(#gradient-4-1);stroke-width:9.80924px;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="path230" /><path
|
|
||||||
d="m 29.456,264.582 h 23.351 v -116.85 c 0.064,-0.56 0.166,-1.119 0.166,-1.693 0,-50.412 40.69,-91.42 90.698,-91.42 50.002,0 90.692,41.008 90.692,91.42 0,0.771 0.113,1.518 0.228,2.263 v 116.28 h 23.354 c 16.254,0 29.442,-13.64 29.442,-30.469 v -60.936 c 0,-13.878 -8.989,-25.57 -21.261,-29.249 C 264.997,76.957 210.518,22.804 143.676,22.804 76.816,22.804 22.329,76.962 21.211,143.954 8.956,147.638 0,159.32 0,173.187 v 60.926 c 0,16.819 13.187,30.469 29.456,30.469 z"
|
|
||||||
style="fill:url(#radialGradient5537);fill-opacity:1;stroke:url(#gradient-4-2);stroke-width:18.0661;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
|
||||||
id="path232" /><path
|
|
||||||
d="M 49.735541,279.35822 C 23.7214,267.48486 38.122112,248.62719 80.85964,237.45225 c 14.400662,-3.49216 25.08508,-5.12184 43.66659,-4.88901 11.61348,0.23282 24.62053,3.49216 24.62053,3.49216 0,-42.13877 -0.46471,-121.7601 -0.46471,-160.872338 4.6454,0 7.89719,-0.232827 14.40071,-0.232827 0,2.328107 0,4.190613 0,6.053093 0,2.095305 0,3.259358 0.46471,4.656212 4.6454,14.66709 11.14893,20.48736 43.66659,38.41381 41.34392,23.04827 53.42195,36.78411 53.42195,55.17616 -0.46471,17.22802 -30.65954,54.01213 -37.16306,52.61528 9.29075,-13.03741 22.2978,-27.00606 25.54958,-38.64661 4.18085,-14.20147 -7.43263,-34.2232 -26.01414,-44.69971 -14.86522,-8.8468 -50.17016,-16.52957 -59.92547,-16.52957 0,0 -0.46472,84.74317 -0.46472,116.87109 0,5.35464 -9.7553,14.89989 -15.32977,18.15925 -25.54958,15.36551 -75.25519,22.34984 -97.553043,12.33896 z"
|
|
||||||
id="path3079"
|
|
||||||
style="stroke-width:3.28861" /><path
|
|
||||||
d="m 188.76763,155.437 v 98.42 c 0,5.867 4.741,10.605 10.60501,10.605 5.854,0 10.605,-4.738 10.605,-10.605 v -98.42 c 0,-5.856 -4.751,-10.605 -10.605,-10.605 -5.86401,0 -10.60501,4.744 -10.60501,10.605 z"
|
|
||||||
style="fill:none;stroke:url(#linearGradient5506);stroke-width:9.80924px;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="path5502" /></g><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g240" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g242" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g244" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g246" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g248" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g250" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g252" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g254" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g256" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g258" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g260" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g262" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g264" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g266" /><g
|
|
||||||
transform="matrix(0.972684,0,0,0.972684,193.06382,142.14148)"
|
|
||||||
id="g268" /></svg>
|
|
||||||
|
Before Width: | Height: | Size: 14 KiB |
@ -1,104 +1,109 @@
|
|||||||
import type { IconType } from "react-icons";
|
import type { IconType } from "react-icons";
|
||||||
import {
|
import {
|
||||||
FaAndroid,
|
FaAndroid,
|
||||||
FaApple,
|
FaApple,
|
||||||
FaDebian,
|
FaDebian,
|
||||||
FaFedora,
|
FaFedora,
|
||||||
FaOpensuse,
|
FaOpensuse,
|
||||||
FaUbuntu,
|
FaUbuntu,
|
||||||
FaWindows,
|
FaWindows,
|
||||||
FaRedhat,
|
FaRedhat,
|
||||||
} from "react-icons/fa6";
|
} from "react-icons/fa6";
|
||||||
import { LuHouse, LuNewspaper, LuDownload, LuBook } from "react-icons/lu";
|
import { LuHouse, LuNewspaper, LuDownload, LuBook } from "react-icons/lu";
|
||||||
|
|
||||||
export const routes: Record<string, [string, IconType|null]> = {
|
export const routes: Record<string, [string, IconType | null]> = {
|
||||||
"/": ["Home", LuHouse],
|
"/": ["Home", LuHouse],
|
||||||
"/blog": ["Blog", LuNewspaper],
|
"/blog": ["Blog", LuNewspaper],
|
||||||
"/docs": ["Docs", LuBook],
|
"/docs": ["Docs", LuBook],
|
||||||
"/downloads": ["Downloads", LuDownload],
|
"/downloads": ["Downloads", LuDownload],
|
||||||
"/about": ["About", null],
|
"/about": ["About", null],
|
||||||
};
|
};
|
||||||
|
|
||||||
const releasesUrl =
|
const releasesUrl =
|
||||||
"https://github.com/KRTirtho/Spotube/releases/latest/download";
|
"https://github.com/KRTirtho/Spotube/releases/latest/download";
|
||||||
|
|
||||||
export const downloadLinks: Record<string, [string, IconType[]]> = {
|
export const downloadLinks: Record<string, [string, IconType[]]> = {
|
||||||
"Android Apk": [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid]],
|
"Android Apk": [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid]],
|
||||||
"Windows Executable": [
|
"Windows Executable": [
|
||||||
`${releasesUrl}/Spotube-windows-x86_64-setup.exe`,
|
`${releasesUrl}/Spotube-windows-x86_64-setup.exe`,
|
||||||
[FaWindows],
|
[FaWindows],
|
||||||
],
|
],
|
||||||
"macOS Dmg": [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple]],
|
"macOS Dmg": [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple]],
|
||||||
"Ubuntu, Debian": [
|
"Ubuntu, Debian": [
|
||||||
`${releasesUrl}/Spotube-linux-x86_64.deb`,
|
`${releasesUrl}/Spotube-linux-x86_64.deb`,
|
||||||
[FaUbuntu, FaDebian],
|
[FaUbuntu, FaDebian],
|
||||||
],
|
],
|
||||||
"Fedora, Redhat, Opensuse": [
|
"Fedora, Redhat, Opensuse": [
|
||||||
`${releasesUrl}/Spotube-linux-x86_64.rpm`,
|
`${releasesUrl}/Spotube-linux-x86_64.rpm`,
|
||||||
[FaFedora, FaRedhat, FaOpensuse],
|
[FaFedora, FaRedhat, FaOpensuse],
|
||||||
],
|
],
|
||||||
"iPhone Ipa": [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple]],
|
"iPhone Ipa": [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple]],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const extendedDownloadLinks: Record<
|
export const extendedDownloadLinks: Record<
|
||||||
string,
|
string,
|
||||||
[string, IconType[], string]
|
[string, IconType[], string]
|
||||||
> = {
|
> = {
|
||||||
Android: [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid], "apk"],
|
Android: [`${releasesUrl}/Spotube-android-all-arch.apk`, [FaAndroid], "apk"],
|
||||||
Windows: [
|
Windows: [
|
||||||
`${releasesUrl}/Spotube-windows-x86_64-setup.exe`,
|
`${releasesUrl}/Spotube-windows-x86_64-setup.exe`,
|
||||||
[FaWindows],
|
[FaWindows],
|
||||||
"exe",
|
"exe",
|
||||||
],
|
],
|
||||||
macOS: [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"],
|
macOS: [`${releasesUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"],
|
||||||
"Ubuntu, Debian": [
|
"Ubuntu, Debian (x64)": [
|
||||||
`${releasesUrl}/Spotube-linux-x86_64.deb`,
|
`${releasesUrl}/Spotube-linux-x86_64.deb`,
|
||||||
[FaUbuntu, FaDebian],
|
[FaUbuntu, FaDebian],
|
||||||
"deb",
|
"deb",
|
||||||
],
|
],
|
||||||
"Fedora, Redhat, Opensuse": [
|
"Ubuntu, Debian (arm64)": [
|
||||||
`${releasesUrl}/Spotube-linux-x86_64.rpm`,
|
`${releasesUrl}/Spotube-linux-aarch64.deb`,
|
||||||
[FaFedora, FaRedhat, FaOpensuse],
|
[FaUbuntu, FaDebian],
|
||||||
"rpm",
|
"deb",
|
||||||
],
|
],
|
||||||
iPhone: [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"],
|
// "Fedora, Redhat, Opensuse": [
|
||||||
|
// `${releasesUrl}/Spotube-linux-x86_64.rpm`,
|
||||||
|
// [FaFedora, FaRedhat, FaOpensuse],
|
||||||
|
// "rpm",
|
||||||
|
// ],
|
||||||
|
iPhone: [`${releasesUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"],
|
||||||
};
|
};
|
||||||
|
|
||||||
const nightlyReleaseUrl =
|
const nightlyReleaseUrl =
|
||||||
"https://github.com/KRTirtho/Spotube/releases/download/nightly";
|
"https://github.com/KRTirtho/Spotube/releases/download/nightly";
|
||||||
|
|
||||||
export const extendedNightlyDownloadLinks: Record<
|
export const extendedNightlyDownloadLinks: Record<
|
||||||
string,
|
string,
|
||||||
[string, IconType[], string]
|
[string, IconType[], string]
|
||||||
> = {
|
> = {
|
||||||
Android: [
|
Android: [
|
||||||
`${nightlyReleaseUrl}/Spotube-android-all-arch.apk`,
|
`${nightlyReleaseUrl}/Spotube-android-all-arch.apk`,
|
||||||
[FaAndroid],
|
[FaAndroid],
|
||||||
"apk",
|
"apk",
|
||||||
],
|
],
|
||||||
Windows: [
|
Windows: [
|
||||||
`${nightlyReleaseUrl}/Spotube-windows-x86_64-setup.exe`,
|
`${nightlyReleaseUrl}/Spotube-windows-x86_64-setup.exe`,
|
||||||
[FaWindows],
|
[FaWindows],
|
||||||
"exe",
|
"exe",
|
||||||
],
|
],
|
||||||
macOS: [`${nightlyReleaseUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"],
|
macOS: [`${nightlyReleaseUrl}/Spotube-macos-universal.dmg`, [FaApple], "dmg"],
|
||||||
"Ubuntu, Debian": [
|
"Ubuntu, Debian": [
|
||||||
`${nightlyReleaseUrl}/Spotube-linux-x86_64.deb`,
|
`${nightlyReleaseUrl}/Spotube-linux-x86_64.deb`,
|
||||||
[FaUbuntu, FaDebian],
|
[FaUbuntu, FaDebian],
|
||||||
"deb",
|
"deb",
|
||||||
],
|
],
|
||||||
"Fedora, Redhat, Opensuse": [
|
"Fedora, Redhat, Opensuse": [
|
||||||
`${nightlyReleaseUrl}/Spotube-linux-x86_64.rpm`,
|
`${nightlyReleaseUrl}/Spotube-linux-x86_64.rpm`,
|
||||||
[FaFedora, FaRedhat, FaOpensuse],
|
[FaFedora, FaRedhat, FaOpensuse],
|
||||||
"rpm",
|
"rpm",
|
||||||
],
|
],
|
||||||
iPhone: [`${nightlyReleaseUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"],
|
iPhone: [`${nightlyReleaseUrl}/Spotube-iOS.ipa`, [FaApple], "ipa"],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ADS_SLOTS = Object.freeze({
|
export const ADS_SLOTS = Object.freeze({
|
||||||
rootPageDisplay: 5979549631,
|
rootPageDisplay: 5979549631,
|
||||||
blogPageInFeed: 3386010031,
|
blogPageInFeed: 3386010031,
|
||||||
downloadPageDisplay: 9928443050,
|
downloadPageDisplay: 9928443050,
|
||||||
packagePageArticle: 9119323068,
|
packagePageArticle: 9119323068,
|
||||||
// This is being used for rehype-auto-ads in svelte.config.js
|
// This is being used for rehype-auto-ads in svelte.config.js
|
||||||
blogArticlePageArticle: 6788673194,
|
blogArticlePageArticle: 6788673194,
|
||||||
|
|||||||
@ -12,7 +12,7 @@ const {
|
|||||||
adSlot,
|
adSlot,
|
||||||
adFormat,
|
adFormat,
|
||||||
fullWidthResponsive = true,
|
fullWidthResponsive = true,
|
||||||
style,
|
style = "display:block",
|
||||||
adLayout,
|
adLayout,
|
||||||
adLayoutKey,
|
adLayoutKey,
|
||||||
} = Astro.props;
|
} = Astro.props;
|
||||||
@ -22,7 +22,7 @@ const AD_CLIENT = "ca-pub-6419300932495863";
|
|||||||
|
|
||||||
<ins
|
<ins
|
||||||
class="adsbygoogle"
|
class="adsbygoogle"
|
||||||
{style}
|
style={style}
|
||||||
data-ad-layout={adLayout}
|
data-ad-layout={adLayout}
|
||||||
data-ad-client={AD_CLIENT}
|
data-ad-client={AD_CLIENT}
|
||||||
data-ad-slot={adSlot}
|
data-ad-slot={adSlot}
|
||||||
|
|||||||
@ -22,34 +22,7 @@ const otherDownloads: [string, string, IconType][] = [
|
|||||||
<br /><br />
|
<br /><br />
|
||||||
<h5 class="h5">Spotube is available for every platform</h5>
|
<h5 class="h5">Spotube is available for every platform</h5>
|
||||||
<br />
|
<br />
|
||||||
<!-- WARNING! -->
|
<DownloadItems links={extendedDownloadLinks} />
|
||||||
<h3 class="h3 text-red-500" data-svelte-h="svelte-1l4b696">
|
|
||||||
Versions of Spotube (<=v4.0.2) are ceased to work with Spotify™ API.
|
|
||||||
<br />
|
|
||||||
So users can no longer use/download those versions.
|
|
||||||
<br />
|
|
||||||
Please wait for the next version that will remedy this issue by not using such
|
|
||||||
APIs.
|
|
||||||
</h3>
|
|
||||||
<p class="text-surface-500 mt-5" data-svelte-h="svelte-1nkw9cu">
|
|
||||||
Spotube has no affiliation with Spotify™ or any of its subsidiaries.
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<!-- <DownloadItems links={extendedDownloadLinks} /> -->
|
|
||||||
<h6 class="h6 mb-5" data-svelte-h="svelte-1ws2638">
|
|
||||||
The new Spotube v5 is still under beta. Please use the Nightly version
|
|
||||||
until stable release.
|
|
||||||
</h6>
|
|
||||||
<!-- WARNING! -->
|
|
||||||
<div class="flex">
|
|
||||||
<a href="/downloads/nightly" class="flex gap-2 btn btn-lg preset-filled">
|
|
||||||
<LuDownload />
|
|
||||||
Download Nightly
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<Ads adSlot={ADS_SLOTS.downloadPageDisplay} adFormat="auto" />
|
<Ads adSlot={ADS_SLOTS.downloadPageDisplay} adFormat="auto" />
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
@ -53,11 +53,11 @@ import { ADS_SLOTS } from "~/collections/app";
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex justify-center">
|
<div class="flex justify-center">
|
||||||
<a
|
<a
|
||||||
href="/downloads/nightly"
|
href="/downloads"
|
||||||
class="flex gap-2 btn btn-lg preset-filled"
|
class="flex gap-2 btn btn-lg preset-filled"
|
||||||
>
|
>
|
||||||
<LuDownload />
|
<LuDownload />
|
||||||
Download Nightly
|
Download
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||