diff --git a/webroot/index.html b/webroot/index.html
index 15ac3e6ec..c397adaed 100644
--- a/webroot/index.html
+++ b/webroot/index.html
@@ -90,40 +90,25 @@ GW TODO:
@@ -180,6 +165,7 @@ GW TODO:
+
diff --git a/webroot/js/footer.js b/webroot/js/footer.js
index 3198caca0..fc7d8460e 100644
--- a/webroot/js/footer.js
+++ b/webroot/js/footer.js
@@ -7,132 +7,3 @@ Vue.component('owncast-footer', {
`,
});
-
-
-const SOCIAL_PLATFORMS_URLS = {
- default: {
- name: "default",
- urlPrefix: "",
- imgPos: [0,0], // [row,col]
- },
-
- facebook: {
- name: "Facebook",
- urlPrefix: "http://www.facebook.com/",
- imgPos: [0,1], // [row,col]
- },
- twitter: {
- name: "Twitter",
- urlPrefix: "http://www.twitter.com/",
- imgPos: [0,2], // [row,col]
- },
- instagram: {
- name: "Instagram",
- urlPrefix: "http://www.instagram.com/",
- imgPos: [0,3], // [row,col]
- },
- instagram: {
- name: "Snapchat",
- urlPrefix: "http://www.snapchat.com/",
- imgPos: [0,4], // [row,col]
- },
- tiktok: {
- name: "TikTok",
- urlPrefix: "http://www.tiktok.com/",
- imgPos: [0,5], // [row,col]
- },
- soundcloud: {
- name: "Soundcloud",
- urlPrefix: "http://www.soundcloud.com/",
- imgPos: [0,6], // [row,col]
- },
- basecamp: {
- name: "Base Camp",
- urlPrefix: "http://www.basecamp.com/",
- imgPos: [0,7], // [row,col]
- },
- patreon: {
- name: "Patreon",
- urlPrefix: "http://www.patreon.com/",
- imgPos: [0,1], // [row,col]
- },
- youtube: {
- name: "YouTube",
- urlPrefix: "http://www.youtube.com/",
- imgPos: [0,9 ], // [row,col]
- },
- spotify: {
- name: "Spotify",
- urlPrefix: "http://www.spotify.com/",
- imgPos: [0,10], // [row,col]
- },
- twitch: {
- name: "Twitch",
- urlPrefix: "http://www.twitch.com/",
- imgPos: [0,11], // [row,col]
- },
- paypal: {
- name: "Paypal",
- urlPrefix: "http://www.paypal.com/",
- imgPos: [0,12], // [row,col]
- },
- github: {
- name: "Github",
- urlPrefix: "http://www.github.com/",
- imgPos: [0,13], // [row,col]
- },
- linkedin: {
- name: "LinkedIn",
- urlPrefix: "http://www.linkedin.com/",
- imgPos: [0,14], // [row,col]
- },
- discord: {
- name: "Discord",
- urlPrefix: "http://www.discord.com/",
- imgPos: [0,15], // [row,col]
- },
- mastadon: {
- name: "Mastadon",
- urlPrefix: "http://www.mastadon.com/",
- imgPos: [0,16], // [row,col]
- },
-};
-
-Vue.component('user-social-icon', {
- props: ['platform', 'username'],
- data: function() {
- const platformInfo = SOCIAL_PLATFORMS_URLS[this.platform.toLowerCase()] || SOCIAL_PLATFORMS_URLS["default"];
- const imgRow = platformInfo.imgPos && platformInfo.imgPos[0] || 0;
- const imgCol = platformInfo.imgPos && platformInfo.imgPos[1] || 0;
- const useDefault = platformInfo.name === "default";
- return {
- name: platformInfo.name,
- link: platformInfo.name !== "default" ? `${platformInfo.urlPrefix}/${this.username}` : '#',
- style: `--imgRow: -${imgRow}; --imgCol: -${imgCol};`,
- itemClass: {
- "user-social-item": true,
- "flex": true,
- "rounded": useDefault,
- "use-default": useDefault,
- },
- labelClass: {
- "platform-label": true,
- "visually-hidden": !useDefault,
- "text-indigo-800": true,
- },
- };
- },
- template: `
-
-
- Find @{{username}} on {{platform}}
-
- `,
-});
diff --git a/webroot/js/social.js b/webroot/js/social.js
new file mode 100644
index 000000000..ad8494c84
--- /dev/null
+++ b/webroot/js/social.js
@@ -0,0 +1,142 @@
+const SOCIAL_PLATFORMS_URLS = {
+ default: {
+ name: "default",
+ urlPrefix: "",
+ imgPos: [0,0], // [row,col]
+ },
+
+ facebook: {
+ name: "Facebook",
+ urlPrefix: "http://www.facebook.com/",
+ imgPos: [0,1],
+ },
+ twitter: {
+ name: "Twitter",
+ urlPrefix: "http://www.twitter.com/",
+ imgPos: [0,2],
+ },
+ instagram: {
+ name: "Instagram",
+ urlPrefix: "http://www.instagram.com/",
+ imgPos: [0,3],
+ },
+ instagram: {
+ name: "Snapchat",
+ urlPrefix: "http://www.snapchat.com/",
+ imgPos: [0,4],
+ },
+ tiktok: {
+ name: "TikTok",
+ urlPrefix: "http://www.tiktok.com/",
+ imgPos: [0,5],
+ },
+ soundcloud: {
+ name: "Soundcloud",
+ urlPrefix: "http://www.soundcloud.com/",
+ imgPos: [0,6],
+ },
+ basecamp: {
+ name: "Base Camp",
+ urlPrefix: "http://www.basecamp.com/",
+ imgPos: [0,7],
+ },
+ patreon: {
+ name: "Patreon",
+ urlPrefix: "http://www.patreon.com/",
+ imgPos: [0,1],
+ },
+ youtube: {
+ name: "YouTube",
+ urlPrefix: "http://www.youtube.com/",
+ imgPos: [0,9 ],
+ },
+ spotify: {
+ name: "Spotify",
+ urlPrefix: "http://www.spotify.com/",
+ imgPos: [0,10],
+ },
+ twitch: {
+ name: "Twitch",
+ urlPrefix: "http://www.twitch.com/",
+ imgPos: [0,11],
+ },
+ paypal: {
+ name: "Paypal",
+ urlPrefix: "http://www.paypal.com/",
+ imgPos: [0,12],
+ },
+ github: {
+ name: "Github",
+ urlPrefix: "http://www.github.com/",
+ imgPos: [0,13],
+ },
+ linkedin: {
+ name: "LinkedIn",
+ urlPrefix: "http://www.linkedin.com/",
+ imgPos: [0,14],
+ },
+ discord: {
+ name: "Discord",
+ urlPrefix: "http://www.discord.com/",
+ imgPos: [0,15],
+ },
+ mastadon: {
+ name: "Mastadon",
+ urlPrefix: "http://www.mastadon.com/",
+ imgPos: [0,16],
+ },
+};
+
+Vue.component('social-list', {
+ props: ['platforms'],
+
+ template: `
+
+ Follow me:
+
+
+ `,
+
+});
+
+Vue.component('user-social-icon', {
+ props: ['platform', 'username'],
+ data: function() {
+ const platformInfo = SOCIAL_PLATFORMS_URLS[this.platform.toLowerCase()] || SOCIAL_PLATFORMS_URLS["default"];
+ const imgRow = platformInfo.imgPos && platformInfo.imgPos[0] || 0;
+ const imgCol = platformInfo.imgPos && platformInfo.imgPos[1] || 0;
+ const useDefault = platformInfo.name === "default";
+ return {
+ name: platformInfo.name,
+ link: platformInfo.name !== "default" ? `${platformInfo.urlPrefix}/${this.username}` : '#',
+ style: `--imgRow: -${imgRow}; --imgCol: -${imgCol};`,
+ itemClass: {
+ "user-social-item": true,
+ "flex": true,
+ "rounded": useDefault,
+ "use-default": useDefault,
+ },
+ labelClass: {
+ "platform-label": true,
+ "visually-hidden": !useDefault,
+ "text-indigo-800": true,
+ },
+ };
+ },
+ template: `
+
+
+ Find @{{username}} on {{platform}}
+
+ `,
+});
diff --git a/webroot/styles/layout.css b/webroot/styles/layout.css
index 6b52b6a68..d38890598 100644
--- a/webroot/styles/layout.css
+++ b/webroot/styles/layout.css
@@ -126,19 +126,21 @@ footer {
.social-list {
flex-direction: row;
+ align-items: center;
+ justify-content: flex-start;
}
-.user-social-item:first-of-type::before {
- content: 'FOLLOW ME: ';
+.social-list .follow-label {
font-weight: bold;
font-size: .75em;
margin-right: .5em;
+ text-transform: uppercase;
}
.user-social-item {
display: flex;
justify-content: flex-start;
align-items: center;
- margin-right: 0em;
+ margin-right: -.25em;
}
.user-social-item .platform-icon {
--icon-width: 40px;