about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/assets/images/bluesky-icon.svg63
-rw-r--r--src/assets/javascripts/services.js9
-rw-r--r--src/config.json30
-rw-r--r--src/pages/stylesheets/styles.css2
4 files changed, 103 insertions, 1 deletions
diff --git a/src/assets/images/bluesky-icon.svg b/src/assets/images/bluesky-icon.svg
new file mode 100644
index 00000000..8e916784
--- /dev/null
+++ b/src/assets/images/bluesky-icon.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="512"
+   height="512"
+   viewBox="0 0 135.46666 135.46667"
+   version="1.1"
+   id="svg1"
+   xml:space="preserve"
+   inkscape:version="1.3.1 (91b66b0783, 2023-11-16)"
+   sodipodi:docname="bluesky-icon.svg"
+   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"><sodipodi:namedview
+     id="namedview1"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:showpageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1"
+     inkscape:document-units="px"
+     inkscape:zoom="1.1452094"
+     inkscape:cx="358.01312"
+     inkscape:cy="227.46931"
+     inkscape:window-width="1888"
+     inkscape:window-height="1060"
+     inkscape:window-x="32"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" /><defs
+     id="defs1"><linearGradient
+       id="linearGradient1"
+       inkscape:collect="always"><stop
+         style="stop-color:#0062ff;stop-opacity:1;"
+         offset="0"
+         id="stop1" /><stop
+         style="stop-color:#0090fe;stop-opacity:1;"
+         offset="1"
+         id="stop2" /></linearGradient><linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1"
+       id="linearGradient2"
+       x1="-16.737301"
+       y1="0.19602649"
+       x2="-16.737301"
+       y2="136.34718"
+       gradientUnits="userSpaceOnUse" /></defs><g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"><rect
+       style="fill:url(#linearGradient2);stroke-width:1.165;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.53144"
+       id="rect1"
+       width="135.46667"
+       height="136.65152"
+       x="-4.9023438e-06"
+       y="-0.59242737"
+       ry="24.716606"
+       rx="24.716606" /></g></svg>
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index dbbe7c9f..ac87cb67 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -166,6 +166,10 @@ function redirect(url, type, initiator, forceRedirection) {
 		case "freetube": {
 			return 'freetube://' + url.href
 		}
+		case "freetubePwa": {
+			return 'freetube://' + url.href
+		}
+
 		case "poketube": {
 			if (url.pathname.startsWith('/channel')) {
 				const reg = /\/channel\/(.*)\/?$/.exec(url.pathname)
@@ -561,6 +565,10 @@ function redirect(url, type, initiator, forceRedirection) {
 		case "tekstoLibre": {
 			return `${randomInstance}/?${url.pathname.slice(1)}`;
 		}
+		case "skyview": {
+			if (url.pathname == '/') return randomInstance
+			return `${randomInstance}?url=${encodeURIComponent(url.href)}`
+		}
 		default: {
 			return `${randomInstance}${url.pathname}${url.search}`
 		}
@@ -731,6 +739,7 @@ const defaultInstances = {
 	'tuboYoutube': ['https://tubo.migalmoreno.com'],
 	'tuboSoundcloud': ['https://tubo.migalmoreno.com'],
 	'tekstoLibre': ['https://davilarek.github.io/TekstoLibre'],
+	'skyview': ['https://skyview.social'],
 }
 
 function initDefaults() {
diff --git a/src/config.json b/src/config.json
index 6cc43776..f17ba8f5 100644
--- a/src/config.json
+++ b/src/config.json
@@ -97,6 +97,16 @@
 					"desktopApp": true,
 					"instanceList": false,
 					"url": "https://github.com/yattee/yattee"
+				},
+				"freetubePwa": {
+					"excludeTargets": [
+						2,
+						3
+					],
+					"name": "FreeTube PWA",
+					"embeddable": false,
+					"instanceList": false,
+					"url": "https://github.com/MarmadileManteater/FreeTubeCordova"
 				}
 			},
 			"targets": [
@@ -963,6 +973,26 @@
 			},
 			"imageType": "svg",
 			"url": "https://www.tekstowo.pl"
+		},
+		"bluesky": {
+			"frontends": {
+				"skyview": {
+					"name": "Skyview",
+					"instanceList": true,
+					"url": "https://github.com/badlogic/skyview"
+				}
+			},
+			"targets": [
+				"^https?:\\/{2}bsky\\.app\\/"
+			],
+			"name": "Bluesky",
+			"options": {
+				"enabled": false,
+				"unsupportedUrls": "bypass",
+				"frontend": "skyview"
+			},
+			"imageType": "svg",
+			"url": "https://bsky.app/"
 		}
 	}
 }
\ No newline at end of file
diff --git a/src/pages/stylesheets/styles.css b/src/pages/stylesheets/styles.css
index 225023ec..2519a05f 100644
--- a/src/pages/stylesheets/styles.css
+++ b/src/pages/stylesheets/styles.css
@@ -131,7 +131,7 @@ section.links {
 	flex-wrap: wrap;
 	flex-direction: column;
 	width: 350px;
-	max-height: 890px;
+	max-height: 930px;
 }
 
 section.links div {