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: ` +
+ + +
+ `, + +}); + +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;