Skip to content

Instantly share code, notes, and snippets.

@yokoishioka
Last active April 2, 2021 13:57
Show Gist options
  • Select an option

  • Save yokoishioka/5f99007157d3c687577743f99cfa3d7d to your computer and use it in GitHub Desktop.

Select an option

Save yokoishioka/5f99007157d3c687577743f99cfa3d7d to your computer and use it in GitHub Desktop.
Social Media component in Angular
<div class="social-media" [ngClass]="{'vertical':vertical}">
<div *ngIf="facebook" class="social-media-icon">
<a [href]="facebookLink + facebook.link" target="_blank" rel="noopener" title="view {{ facebook.user }} on facebook"><img src="/assets/images/svgs/facebook.svg" alt="facebook icon"></a>
</div>
<div *ngIf="twitter" class="social-media-icon">
<a [href]="twitterLink + twitter.link" target="_blank" rel="noopener" title="view {{ twitter.user }} on twitter"><img src="/assets/images/svgs/twitter.svg" alt="twitter icon"></a>
</div>
<div *ngIf="linkedIn" class="social-media-icon">
<a *ngIf="linkedIn.company; else altLinkedIn" [href]="linkedInLinkCompany + linkedIn.link" target="_blank" rel="noopener" title="view {{ linkedIn.user }} on twitter"><img src="/assets/images/svgs/linkedin.svg" alt="linkedIn icon"></a>
<ng-template #altLinkedIn>
<a [href]="linkedInLink + linkedIn.link" target="_blank" rel="noopener" title="view {{ linkedIn.user }} on twitter"><img src="/assets/images/svgs/linkedin.svg" alt="linkedIn icon"></a>
</ng-template>
</div>
<div *ngIf="medium" class="social-media-icon">
<a [href]="mediumLink + medium.link" target="_blank" rel="noopener" title="view {{ medium.user }} on medium"><img src="/assets/images/svgs/medium.svg" alt="medium icon"></a>
</div>
</div>
import { Component, Input } from '@angular/core';
import { SocialMedia } from './social-media';
@Component({
selector: 'ces-social-media',
templateUrl: './social-media.component.html',
styleUrls: ['./social-media.component.scss']
})
export class SocialMediaComponent {
@Input() facebook:SocialMedia;
@Input() twitter:SocialMedia;
@Input() linkedIn:SocialMedia;
@Input() medium:SocialMedia;
@Input() vertical:boolean = true;
facebookLink:string = "https://www.facebook.com/";
twitterLink:string = "https://twitter.com/";
linkedInLink:string = "https://www.linkedin.com/";
linkedInLinkCompany:string = "https://www.linkedin.com/company/"
mediumLink:string = "https://medium.com/@";
}
@yokoishioka

Copy link
Copy Markdown
Author

Here's a link to my blog post that describes more in detail what I'm doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment