Add my library section in menu

This commit is contained in:
Chocobozzz 2019-03-20 13:53:51 +01:00
parent 7e73f07131
commit a55052c9ba
No known key found for this signature in database
GPG key ID: 583A612D890159BE
26 changed files with 272 additions and 130 deletions

View file

@ -211,4 +211,5 @@
# Icons
* [Robbie Pearce](https://robbiepearce.com/softies/)
* [Fork-Awesome](https://github.com/ForkAwesome/Fork-Awesome)
* playlist add by Google

View file

@ -21,23 +21,28 @@ export class MyAccountComponent {
children: [
{
label: this.i18n('My channels'),
routerLink: '/my-account/video-channels'
routerLink: '/my-account/video-channels',
iconName: 'folder'
},
{
label: this.i18n('My videos'),
routerLink: '/my-account/videos'
routerLink: '/my-account/videos',
iconName: 'videos'
},
{
label: this.i18n('My playlists'),
routerLink: '/my-account/video-playlists'
routerLink: '/my-account/video-playlists',
iconName: 'playlists'
},
{
label: this.i18n('My subscriptions'),
routerLink: '/my-account/subscriptions'
routerLink: '/my-account/subscriptions',
iconName: 'subscriptions'
},
{
label: this.i18n('My history'),
routerLink: '/my-account/history/videos'
routerLink: '/my-account/history/videos',
iconName: 'history'
}
]
}
@ -45,7 +50,8 @@ export class MyAccountComponent {
if (this.isVideoImportEnabled()) {
libraryEntries.children.push({
label: 'My imports',
routerLink: '/my-account/video-imports'
routerLink: '/my-account/video-imports',
iconName: 'cloud-download'
})
}
@ -54,15 +60,18 @@ export class MyAccountComponent {
children: [
{
label: this.i18n('Muted accounts'),
routerLink: '/my-account/blocklist/accounts'
routerLink: '/my-account/blocklist/accounts',
iconName: 'user'
},
{
label: this.i18n('Muted instances'),
routerLink: '/my-account/blocklist/servers'
routerLink: '/my-account/blocklist/servers',
iconName: 'server'
},
{
label: this.i18n('Ownership changes'),
routerLink: '/my-account/ownership'
routerLink: '/my-account/ownership',
iconName: 'im-with-her'
}
]
}

View file

@ -1,5 +1,5 @@
<div class="menu-wrapper">
<menu>
<menu [ngClass]="{ 'logged-in': isLoggedIn }">
<div class="top-menu">
<div *ngIf="isLoggedIn" class="logged-in-block">
<my-avatar-notification [user]="user"></my-avatar-notification>
@ -13,20 +13,16 @@
<my-global-icon iconName="more-vertical" ngbDropdownToggle role="button"></my-global-icon>
<div ngbDropdownMenu>
<a *ngIf="user.account" i18n [routerLink]="[ '/accounts', user.account.nameWithHost ]" class="dropdown-item">
My public profile
<a *ngIf="user.account" [routerLink]="[ '/accounts', user.account.nameWithHost ]" class="dropdown-item">
<my-global-icon iconName="go"></my-global-icon> <ng-container i18n>My public profile</ng-container>
</a>
<a i18n routerLink="/my-account" class="dropdown-item">
My account
<a routerLink="/my-account" class="dropdown-item">
<my-global-icon iconName="user"></my-global-icon> <ng-container i18n>My account</ng-container>
</a>
<a i18n routerLink="/my-account/videos" class="dropdown-item">
My videos
</a>
<a i18n (click)="logout($event)" class="dropdown-item" href="#">
Log out
<a (click)="logout($event)" class="dropdown-item" href="#">
<my-global-icon iconName="sign-out"></my-global-icon> <ng-container i18n>Log out</ng-container>
</a>
</div>
</div>
@ -37,31 +33,51 @@
<a i18n *ngIf="isRegistrationAllowed()" routerLink="/signup" class="create-account-button">Create an account</a>
</div>
<div class="panel-block">
<div i18n class="block-title">Videos</div>
<div *ngIf="isLoggedIn" class="panel-block">
<div i18n class="block-title">My library</div>
<a *ngIf="isLoggedIn" routerLink="/videos/subscriptions" routerLinkActive="active">
<span class="icon icon-videos-subscriptions"></span>
<a routerLink="/my-account/videos" routerLinkActive="active">
<my-global-icon iconName="videos"></my-global-icon>
<ng-container i18n>Videos</ng-container>
</a>
<a routerLink="/my-account/video-playlists" routerLinkActive="active">
<my-global-icon iconName="playlists"></my-global-icon>
<ng-container i18n>Playlists</ng-container>
</a>
<a routerLink="/videos/subscriptions" routerLinkActive="active">
<my-global-icon iconName="subscriptions"></my-global-icon>
<ng-container i18n>Subscriptions</ng-container>
</a>
<a routerLink="/my-account/history/videos" routerLinkActive="active">
<my-global-icon iconName="history"></my-global-icon>
<ng-container i18n>History</ng-container>
</a>
</div>
<div class="panel-block">
<div i18n class="block-title">Videos</div>
<a routerLink="/videos/overview" routerLinkActive="active">
<span class="icon icon-videos-overview"></span>
<my-global-icon iconName="globe"></my-global-icon>
<ng-container i18n>Overview</ng-container>
</a>
<a routerLink="/videos/trending" routerLinkActive="active">
<span class="icon icon-videos-trending"></span>
<my-global-icon iconName="trending"></my-global-icon>
<ng-container i18n>Trending</ng-container>
</a>
<a routerLink="/videos/recently-added" routerLinkActive="active">
<span class="icon icon-videos-recently-added"></span>
<my-global-icon iconName="recently-added"></my-global-icon>
<ng-container i18n>Recently added</ng-container>
</a>
<a routerLink="/videos/local" routerLinkActive="active">
<span class="icon icon-videos-local"></span>
<my-global-icon iconName="home"></my-global-icon>
<ng-container i18n>Local</ng-container>
</a>
</div>
@ -70,12 +86,12 @@
<div class="block-title" i18n>More</div>
<a *ngIf="userHasAdminAccess" [routerLink]="getFirstAdminRouteAvailable()" routerLinkActive="active">
<span class="icon icon-administration"></span>
<my-global-icon iconName="administration"></my-global-icon>
<ng-container i18n>Administration</ng-container>
</a>
<a routerLink="/about" routerLinkActive="active">
<span class="icon icon-about"></span>
<my-global-icon iconName="about"></my-global-icon>
<ng-container i18n>About</ng-container>
</a>
</div>

View file

@ -26,6 +26,16 @@ menu {
overflow-y: auto;
}
&.logged-in {
.panel-block {
margin-bottom: 25px;
}
.block-title {
margin-bottom: 15px;
}
}
.top-menu {
flex-grow: 1;
width: $menu-width;
@ -37,7 +47,7 @@ menu {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 35px;
margin-bottom: 20px;
.logged-in-info {
@include ellipsis;
@ -74,6 +84,24 @@ menu {
border: none;
}
}
.dropdown-item {
@include dropdown-with-icon-item;
my-global-icon {
@include apply-svg-color(var(--mainForegroundColor));
width: 22px;
height: 22px;
&[iconName="sign-out"] {
position: relative;
right: -1px;
height: 21px;
width: 21px;
}
}
}
}
}
@ -134,57 +162,31 @@ menu {
background-color: rgba(255, 255, 255, 0.10);
}
my-global-icon {
@include apply-svg-color(#808080);
display: flex;
width: 22px;
height: 22px;
margin-right: 18px;
&[iconName="playlists"] {
height: 24px;
width: 24px;
margin-right: 16px;
}
&[iconName="videos"] {
position: relative;
right: -1px;
}
}
.icon {
@include icon(22px);
margin-right: 18px;
&.icon-videos-subscriptions {
position: relative;
top: -1px;
background-image: url('../../assets/images/menu/subscriptions.svg');
}
&.icon-videos-overview {
position: relative;
background-image: url('../../assets/images/menu/globe.svg');
}
&.icon-videos-trending {
position: relative;
top: -1px;
background-image: url('../../assets/images/menu/trending.svg');
}
&.icon-videos-recently-added {
width: 23px;
height: 23px;
background-image: url('../../assets/images/menu/recently-added.svg');
}
&.icon-videos-local {
width: 23px;
height: 23px;
position: relative;
top: -1px;
background-image: url('../../assets/images/menu/home.svg');
}
&.icon-administration {
width: 23px;
height: 23px;
background-image: url('../../assets/images/menu/administration.svg');
}
&.icon-about {
width: 23px;
height: 23px;
background-image: url('../../assets/images/menu/about.svg');
}
}
}
}

View file

@ -2,6 +2,8 @@ import { Component, ElementRef, Input, OnInit } from '@angular/core'
const icons = {
'add': require('../../../assets/images/global/add.html'),
'user': require('../../../assets/images/global/user.html'),
'sign-out': require('../../../assets/images/global/sign-out.html'),
'syndication': require('../../../assets/images/global/syndication.html'),
'help': require('../../../assets/images/global/help.html'),
'sparkle': require('../../../assets/images/global/sparkle.html'),
@ -11,12 +13,15 @@ const icons = {
'no': require('../../../assets/images/global/no.html'),
'cloud-download': require('../../../assets/images/global/cloud-download.html'),
'undo': require('../../../assets/images/global/undo.html'),
'history': require('../../../assets/images/global/history.html'),
'circle-tick': require('../../../assets/images/global/circle-tick.html'),
'cog': require('../../../assets/images/global/cog.html'),
'download': require('../../../assets/images/global/download.html'),
'go': require('../../../assets/images/menu/go.html'),
'edit': require('../../../assets/images/global/edit.html'),
'im-with-her': require('../../../assets/images/global/im-with-her.html'),
'delete': require('../../../assets/images/global/delete.html'),
'server': require('../../../assets/images/global/server.html'),
'cross': require('../../../assets/images/global/cross.html'),
'validate': require('../../../assets/images/global/validate.html'),
'tick': require('../../../assets/images/global/tick.html'),
@ -28,7 +33,17 @@ const icons = {
'share': require('../../../assets/images/video/share.html'),
'upload': require('../../../assets/images/video/upload.html'),
'playlist-add': require('../../../assets/images/video/playlist-add.html'),
'play': require('../../../assets/images/global/play.html')
'play': require('../../../assets/images/global/play.html'),
'playlists': require('../../../assets/images/global/playlists.html'),
'about': require('../../../assets/images/menu/about.html'),
'globe': require('../../../assets/images/menu/globe.html'),
'home': require('../../../assets/images/menu/home.html'),
'recently-added': require('../../../assets/images/menu/recently-added.html'),
'trending': require('../../../assets/images/menu/trending.html'),
'videos': require('../../../assets/images/global/videos.html'),
'folder': require('../../../assets/images/global/folder.html'),
'administration': require('../../../assets/images/menu/administration.html'),
'subscriptions': require('../../../assets/images/menu/subscriptions.html')
}
export type GlobalIconName = keyof typeof icons

View file

@ -13,7 +13,11 @@
</span>
<div ngbDropdownMenu>
<a *ngFor="let menuChild of menuEntry.children" class="dropdown-item" [routerLink]="menuChild.routerLink">{{ menuChild.label }}</a>
<a *ngFor="let menuChild of menuEntry.children" class="dropdown-item" [ngClass]="{ icon: hasIcons }" [routerLink]="menuChild.routerLink">
<my-global-icon *ngIf="menuChild.iconName" [iconName]="menuChild.iconName"></my-global-icon>
{{ menuChild.label }}
</a>
</div>
</div>

View file

@ -1,3 +1,6 @@
@import '_variables';
@import '_mixins';
.parent-entry {
span[role=button] {
cursor: pointer;
@ -16,3 +19,9 @@
/deep/ .dropdown-menu {
margin-top: 0 !important;
}
.icon {
@include dropdown-with-icon-item;
top: -1px;
}

View file

@ -3,6 +3,7 @@ import { filter, take } from 'rxjs/operators'
import { NavigationEnd, Router } from '@angular/router'
import { Subscription } from 'rxjs'
import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'
import { GlobalIconName } from '@app/shared/images/global-icon.component'
export type TopMenuDropdownParam = {
label: string
@ -11,6 +12,8 @@ export type TopMenuDropdownParam = {
children?: {
label: string
routerLink: string
iconName?: GlobalIconName
}[]
}
@ -23,6 +26,7 @@ export class TopMenuDropdownComponent implements OnInit, OnDestroy {
@Input() menuEntries: TopMenuDropdownParam[] = []
suffixLabels: { [ parentLabel: string ]: string }
hasIcons = false
private openedOnHover = false
private routeSub: Subscription
@ -35,6 +39,10 @@ export class TopMenuDropdownComponent implements OnInit, OnDestroy {
this.routeSub = this.router.events
.pipe(filter(event => event instanceof NavigationEnd))
.subscribe(() => this.updateChildLabels(window.location.pathname))
this.hasIcons = this.menuEntries.some(
e => e.children && e.children.some(c => !!c.iconName)
)
}
ngOnDestroy () {
@ -48,7 +56,7 @@ export class TopMenuDropdownComponent implements OnInit, OnDestroy {
// Menu was closed
dropdown.openChange
.pipe(take(1))
.subscribe(e => this.openedOnHover = false)
.subscribe(() => this.openedOnHover = false)
}
dropdownAnchorClicked (dropdown: NgbDropdown) {

View file

@ -0,0 +1,10 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-708.000000, -115.000000)">
<g id="16" transform="translate(708.000000, 115.000000)">
<path d="M11.5857864,17 L14.2928932,19.7071068 L14.5857864,20 L15,20 L20.009222,20 C21.1044506,20 22,19.102094 22,18.0014977 L22,6.99850233 C22,5.89626364 21.1085926,5 20.0066023,5 L3.99339768,5 C2.89217541,5 2,5.89385529 2,6.99539757 L2,15.0046024 C2,16.099013 2.89670181,17 3.99754465,17 L11.5857864,17 Z" id="Rectangle-406" stroke="#000000" stroke-width="2" stroke-linejoin="round" transform="translate(12.000000, 12.500000) scale(1, -1) translate(-12.000000, -12.500000) "/>
<path d="M3,5 C3,4.44771525 3.4454627,4 3.99871095,4 L12.5,4 L10.5,6 L3.99594209,6 C3.44589846,6 3,5.55613518 3,5 L3,5 Z" id="Rectangle-409" fill="#000000"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,11 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Artboard-4" transform="translate(-620.000000, -863.000000)" stroke="#000000" stroke-width="2">
<g id="354" transform="translate(620.000000, 863.000000)">
<path d="M6.63582585,18.3637479 C8.26452234,19.9925528 10.5146102,21 13,21 L13,21 C17.9705627,21 22,16.9705627 22,12 C22,7.02943725 17.9705627,3 13,3 C8.02943725,3 4,7.02943725 4,12" id="Oval-203"/>
<polygon id="Path-282" fill="#000000" points="1.5 11 7.5 11 4.5 14"/>
<polyline id="Path-283" points="13 7 13 12 15.5 14.5"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 875 B

View file

@ -0,0 +1,9 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-664.000000, -467.000000)" stroke="#000000">
<g id="175" transform="translate(664.000000, 467.000000)">
<path stoke="#000000" d="M7.5,7 C7.5,6.72427445 7.72568093,6.5 8.00684547,6.5 L19.9931545,6.5 C20.2754761,6.5 20.5,6.72240424 20.5,7 C20.5,7.27572555 20.2743191,7.5 19.9931545,7.5 L8.00684547,7.5 C7.72452386,7.5 7.5,7.27759576 7.5,7 Z M7.5,12 C7.5,11.7242745 7.72568093,11.5 8.00684547,11.5 L19.9931545,11.5 C20.2754761,11.5 20.5,11.7224042 20.5,12 C20.5,12.2757255 20.2743191,12.5 19.9931545,12.5 L8.00684547,12.5 C7.72452386,12.5 7.5,12.2775958 7.5,12 Z M7.5,17 C7.5,16.7242745 7.72568093,16.5 8.00684547,16.5 L19.9931545,16.5 C20.2754761,16.5 20.5,16.7224042 20.5,17 C20.5,17.2757255 20.2743191,17.5 19.9931545,17.5 L8.00684547,17.5 C7.72452386,17.5 7.5,17.2775958 7.5,17 Z M4,7.5 C3.72385763,7.5 3.5,7.27614237 3.5,7 C3.5,6.72385763 3.72385763,6.5 4,6.5 C4.27614237,6.5 4.5,6.72385763 4.5,7 C4.5,7.27614237 4.27614237,7.5 4,7.5 Z M4,12.5 C3.72385763,12.5 3.5,12.2761424 3.5,12 C3.5,11.7238576 3.72385763,11.5 4,11.5 C4.27614237,11.5 4.5,11.7238576 4.5,12 C4.5,12.2761424 4.27614237,12.5 4,12.5 Z M4,17.5 C3.72385763,17.5 3.5,17.2761424 3.5,17 C3.5,16.7238576 3.72385763,16.5 4,16.5 C4.27614237,16.5 4.5,16.7238576 4.5,17 C4.5,17.2761424 4.27614237,17.5 4,17.5 Z" id="Combined-Shape"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,15 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-796.000000, -643.000000)">
<g id="258" transform="translate(796.000000, 643.000000)">
<ellipse id="Oval-140" stroke="#000000" stroke-width="2" cx="12" cy="6" rx="9" ry="3"/>
<path d="M3,10.5 C3,12.1568542 7.02943725,13.5 12,13.5 L12,13.5 C16.9705627,13.5 21,12.1568542 21,10.5" id="Oval-140" stroke="#000000"/>
<path d="M3,14.5 C3,16.1568542 7.02943725,17.5 12,17.5 C16.9705627,17.5 21,16.1568542 21,14.5" id="Oval-140" stroke="#000000"/>
<path d="M3,5.98958785 L3,19 C3,20.6568542 7.02943725,22 12,22 C16.9705627,22 21,20.6568542 21,19 L21,5.98958785" id="Oval-140" stroke="#000000" stroke-width="2"/>
<circle id="Oval-141" fill="#000000" cx="18.5" cy="10.5" r="1"/>
<circle id="Oval-141" fill="#000000" cx="18.5" cy="14.5" r="1"/>
<circle id="Oval-141" fill="#000000" cx="18.5" cy="18.5" r="1"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,3 @@
<svg viewBox="0 0 1536 1536" width="1536" height="1536" xmlns="http://www.w3.org/2000/svg">
<path fill="#000000" d="M640 1440c0 28 13 96-32 96H288c-159 0-288-129-288-288V544c0-159 129-288 288-288h320c17 0 32 15 32 32 0 28 13 96-32 96H288c-88 0-160 72-160 160v704c0 88 72 160 160 160h288c25 0 64-5 64 32zm928-544c0 17-7 33-19 45l-544 544c-12 12-28 19-45 19-35 0-64-29-64-64v-288H448c-35 0-64-29-64-64V704c0-35 29-64 64-64h448V352c0-35 29-64 64-64 17 0 33 7 45 19l544 544c12 12 19 28 19 45z"/>
</svg>

After

Width:  |  Height:  |  Size: 503 B

View file

@ -0,0 +1,10 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-532.000000, -159.000000)" stroke="#000000" stroke-width="2">
<g id="32" transform="translate(532.000000, 159.000000)">
<path d="M2,21 C2,21 1.5,16 7,16 C12.5,16 11.512498,16 17.006249,16 C22.5,16 22.0062485,21 22.0062485,21" id="Path-41" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="Oval-40" cx="12" cy="8" r="5"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 698 B

View file

@ -0,0 +1,14 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-312.000000, -511.000000)">
<g id="187" transform="translate(312.000000, 511.000000)">
<rect id="Rectangle-124" stroke="#000000" stroke-width="2" x="3" y="6" width="18" height="16" rx="1"/>
<polygon fill="#000000" id="Triangle-1" points="10 17.5 10 10.4 15.5 13.9"/>
<rect id="Rectangle-125" fill="#000000" x="4" y="3" width="16" height="1" rx="0.5"/>
<rect id="Rectangle-125" fill="#000000" x="5" y="1" width="14" height="1" rx="0.5"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 837 B

View file

@ -0,0 +1,14 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-312.000000, -511.000000)">
<g id="187" transform="translate(312.000000, 511.000000)">
<rect id="Rectangle-124" stroke="#000000" stroke-width="2" x="3" y="6" width="18" height="16" rx="1"/>
<polygon fill="#000000" id="Triangle-1" points="10 17.5 10 10.4 15.5 13.9"/>
<rect id="Rectangle-125" fill="#000000" x="4" y="3" width="16" height="1" rx="0.5"/>
<rect id="Rectangle-125" fill="#000000" x="5" y="1" width="14" height="1" rx="0.5"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 837 B

View file

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-400.000000, -247.000000)">
<g id="69" transform="translate(400.000000, 247.000000)">
<circle id="Oval-7" stroke="#808080" stroke-width="2" cx="12" cy="12" r="10"></circle>
<path d="M12.016,14.544 C12.384,14.544 12.64,14.256 12.704,13.904 L12.768,13.168 C14.544,12.864 16,11.952 16,9.936 L16,9.904 C16,7.904 14.48,6.656 12.24,6.656 C10.768,6.656 9.696,7.184 8.848,7.984 C8.624,8.176 8.528,8.432 8.528,8.672 C8.528,9.152 8.928,9.552 9.424,9.552 C9.648,9.552 9.856,9.456 10.016,9.328 C10.656,8.752 11.344,8.448 12.192,8.448 C13.344,8.448 14.032,9.072 14.032,9.968 L14.032,10 C14.032,11.008 13.2,11.584 11.696,11.728 C11.264,11.776 11.008,12.096 11.072,12.528 L11.232,13.904 C11.28,14.272 11.552,14.544 11.92,14.544 L12.016,14.544 Z M10.784,16.816 L10.784,16.976 C10.784,17.6 11.264,18.08 11.92,18.08 C12.576,18.08 13.056,17.6 13.056,16.976 L13.056,16.816 C13.056,16.192 12.576,15.712 11.92,15.712 C11.264,15.712 10.784,16.192 10.784,16.816 Z" id="?" fill="#808080"></path>
<circle id="Oval-7" stroke="#000000" stroke-width="2" cx="12" cy="12" r="10"></circle>
<path d="M12.016,14.544 C12.384,14.544 12.64,14.256 12.704,13.904 L12.768,13.168 C14.544,12.864 16,11.952 16,9.936 L16,9.904 C16,7.904 14.48,6.656 12.24,6.656 C10.768,6.656 9.696,7.184 8.848,7.984 C8.624,8.176 8.528,8.432 8.528,8.672 C8.528,9.152 8.928,9.552 9.424,9.552 C9.648,9.552 9.856,9.456 10.016,9.328 C10.656,8.752 11.344,8.448 12.192,8.448 C13.344,8.448 14.032,9.072 14.032,9.968 L14.032,10 C14.032,11.008 13.2,11.584 11.696,11.728 C11.264,11.776 11.008,12.096 11.072,12.528 L11.232,13.904 C11.28,14.272 11.552,14.544 11.92,14.544 L12.016,14.544 Z M10.784,16.816 L10.784,16.976 C10.784,17.6 11.264,18.08 11.92,18.08 C12.576,18.08 13.056,17.6 13.056,16.976 L13.056,16.816 C13.056,16.192 12.576,15.712 11.92,15.712 C11.264,15.712 10.784,16.192 10.784,16.816 Z" id="?" fill="#000000"></path>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
<title>filter</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-444.000000, -247.000000)" fill="#808080">
<g id="Artboard-4" transform="translate(-444.000000, -247.000000)" fill="#000000">
<g id="70" transform="translate(444.000000, 247.000000)">
<path d="M8.82929429,17 L20.0066023,17 C20.5552407,17 21,17.4438648 21,18 C21,18.5522847 20.5550537,19 20.0066023,19 L8.82929429,19 C8.41745788,20.1651924 7.30621883,21 6,21 C4.34314575,21 3,19.6568542 3,18 C3,16.3431458 4.34314575,15 6,15 C7.30621883,15 8.41745788,15.8348076 8.82929429,17 Z M9.17070571,13 L3.99339768,13 C3.44475929,13 3,12.5561352 3,12 C3,11.4477153 3.44494629,11 3.99339768,11 L9.17070571,11 C9.58254212,9.83480763 10.6937812,9 12,9 C13.3062188,9 14.4174579,9.83480763 14.8292943,11 L20.0066023,11 C20.5552407,11 21,11.4438648 21,12 C21,12.5522847 20.5550537,13 20.0066023,13 L14.8292943,13 C14.4174579,14.1651924 13.3062188,15 12,15 C10.6937812,15 9.58254212,14.1651924 9.17070571,13 Z M15.1659641,6.98648118 C15.1124525,6.99537358 15.05751,7 15.0014977,7 L3.99850233,7 C3.44704472,7 3,6.55613518 3,6 C3,5.44771525 3.44748943,5 3.99850233,5 L15.0014977,5 C15.0575314,5 15.1124871,5.00458274 15.1660053,5.01340035 C15.5740343,3.84121344 16.6887792,3 18,3 C19.6568542,3 21,4.34314575 21,6 C21,7.65685425 19.6568542,9 18,9 C16.688735,9 15.5739592,8.15872988 15.1659641,6.98648118 Z M18,7 C18.5522847,7 19,6.55228475 19,6 C19,5.44771525 18.5522847,5 18,5 C17.4477153,5 17,5.44771525 17,6 C17,6.55228475 17.4477153,7 18,7 Z M12,13 C12.5522847,13 13,12.5522847 13,12 C13,11.4477153 12.5522847,11 12,11 C11.4477153,11 11,11.4477153 11,12 C11,12.5522847 11.4477153,13 12,13 Z M6,19 C6.55228475,19 7,18.5522847 7,18 C7,17.4477153 6.55228475,17 6,17 C5.44771525,17 5,17.4477153 5,18 C5,18.5522847 5.44771525,19 6,19 Z" id="Combined-Shape"></path>
</g>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
<title>globe</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-224.000000, -687.000000)" stroke="#808080" stroke-width="2">
<g id="Artboard-4" transform="translate(-224.000000, -687.000000)" stroke="#000000" stroke-width="2">
<g id="265" transform="translate(224.000000, 687.000000)">
<circle id="Oval-148" cx="12" cy="12" r="10"></circle>
<path d="M12,2 L12,22.006249" id="Path-199"></path>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1,018 B

View file

@ -0,0 +1,12 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
<g id="Artboard-4" transform="translate(-576.000000, -1046.000000)" stroke="#000000" stroke-width="2">
<g id="Extras" transform="translate(48.000000, 1046.000000)">
<g id="up-right" transform="translate(528.000000, 0.000000)">
<path d="M18,6 L5,19" id="Path-58"/>
<polyline id="Path-59" stroke-linejoin="round" transform="translate(13.000000, 11.000000) scale(-1, -1) translate(-13.000000, -11.000000) " points="7 5 7 17 19 17"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 824 B

View file

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
<title>home</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Artboard-4" transform="translate(-620.000000, -159.000000)" stroke="#808080" stroke-width="2">
<g id="Artboard-4" transform="translate(-620.000000, -159.000000)" stroke="#000000" stroke-width="2">
<g id="34" transform="translate(620.000000, 159.000000)">
<path d="M1,11 L12,2 C12,2 22.9999989,11.0000005 23,11" id="Path-50"></path>
<path d="M3,10 C3,10 3,10.4453982 3,10.9968336 L3,20.0170446 C3,20.5675806 3.43788135,21.0138782 4.00292933,21.0138781 L8.99707067,21.0138779 C9.55097324,21.0138779 10,20.5751284 10,20.0089602 L10,15.0049177 C10,14.449917 10.4433532,14 11.0093689,14 L12.9906311,14 C13.5480902,14 14,14.4387495 14,15.0049177 L14,20.0089602 C14,20.5639609 14.4378817,21.0138779 15.0029302,21.0138779 L19.9970758,21.0138781 C20.5509789,21.0138782 21.000006,20.56848 21.000006,20.0170446 L21.0000057,10" id="Path-51"></path>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-92.000000, -115.000000)">
<g id="2" transform="translate(92.000000, 115.000000)">
<circle id="Oval-1" stroke="#808080" stroke-width="2" cx="12" cy="12" r="10"></circle>
<rect id="Rectangle-1" fill="#808080" x="11" y="7" width="2" height="10" rx="1"></rect>
<rect id="Rectangle-1" fill="#808080" x="7" y="11" width="10" height="2" rx="1"></rect>
<circle id="Oval-1" stroke="#000000" stroke-width="2" cx="12" cy="12" r="10"></circle>
<rect id="Rectangle-1" fill="#000000" x="11" y="7" width="2" height="10" rx="1"></rect>
<rect id="Rectangle-1" fill="#000000" x="7" y="11" width="10" height="2" rx="1"></rect>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 785 B

After

Width:  |  Height:  |  Size: 767 B

View file

@ -1,25 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
<title>podcasts</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="97.3333865%" id="linearGradient-1">
<stop stop-color="#808080" offset="0%"></stop>
<stop stop-color="#808080" stop-opacity="0.247310915" offset="100%"></stop>
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#000000" stop-opacity="0.247310915" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="97.8635204%" id="linearGradient-2">
<stop stop-color="#808080" offset="0%"></stop>
<stop stop-color="#808080" stop-opacity="0.250707654" offset="100%"></stop>
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#000000" stop-opacity="0.250707654" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4" transform="translate(-532.000000, -775.000000)">
<g id="312" transform="translate(532.000000, 775.000000)">
<circle id="Oval-169" fill="#808080" cx="12" cy="10" r="3"></circle>
<circle id="Oval-169" fill="#000000" cx="12" cy="10" r="3"></circle>
<path d="M16.3851456,13.8501206 C17.4222377,12.6991612 18,11.4167199 18,10 C18,6.74089158 15.2591084,4 12,4 C8.74089158,4 6,6.74089158 6,10 C6,11.4186069 6.57916224,12.7027674 7.61838071,13.8540306 C7.80341316,14.0590125 8.11958231,14.0751848 8.32456427,13.8901523 C8.52954623,13.7051199 8.5457185,13.3889507 8.36068606,13.1839688 C7.47616718,12.2040844 7,11.148292 7,10 C7,7.29317633 9.29317633,5 12,5 C14.7068237,5 17,7.29317633 17,10 C17,11.1466944 16.5249958,12.2010466 15.6422459,13.1807178 C15.4573954,13.3858639 15.4738483,13.7020185 15.6789944,13.886869 C15.8841405,14.0717195 16.2002951,14.0552666 16.3851456,13.8501206 Z" id="Oval-169" fill="url(#linearGradient-1)" fill-rule="nonzero"></path>
<path d="M17.5678226,18.3077078 C20.3159646,16.4626239 22,13.3733223 22,10 C22,4.4771525 17.5228475,0 12,0 C6.4771525,0 2,4.4771525 2,10 C2,13.3762414 3.68696556,16.4678678 6.43901638,18.3122954 C6.89779529,18.6197696 7.51896613,18.4971129 7.82644029,18.0383339 C8.13391444,17.579555 8.0112577,16.9583842 7.55247879,16.65091 C5.34877306,15.1739839 4,12.7021478 4,10 C4,5.581722 7.581722,2 12,2 C16.418278,2 20,5.581722 20,10 C20,12.699815 18.6535741,15.1697843 16.4529947,16.6472384 C15.9944687,16.9550897 15.8723227,17.5763611 16.180174,18.0348871 C16.4880252,18.4934131 17.1092967,18.6155591 17.5678226,18.3077078 Z" id="Oval-169" fill="url(#linearGradient-2)" fill-rule="nonzero"></path>
<path d="M9.32918137,15.9750882 C9.14737952,14.8842771 9.89826062,14 10.9979131,14 L13.0020869,14 C14.1055038,14 14.8534426,14.8793447 14.6708186,15.9750882 L13.6633817,22.0197096 C13.5731485,22.561109 13.0573397,23 12.5010434,23 L11.4989566,23 C10.9472481,23 10.4276519,22.5659113 10.3366183,22.0197096 L9.32918137,15.9750882 Z" id="Rectangle-217" fill="#808080"></path>
<path d="M9.32918137,15.9750882 C9.14737952,14.8842771 9.89826062,14 10.9979131,14 L13.0020869,14 C14.1055038,14 14.8534426,14.8793447 14.6708186,15.9750882 L13.6633817,22.0197096 C13.5731485,22.561109 13.0573397,23 12.5010434,23 L11.4989566,23 C10.9472481,23 10.4276519,22.5659113 10.3366183,22.0197096 L9.32918137,15.9750882 Z" id="Rectangle-217" fill="#000000"></path>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
<title>graph</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Artboard-4" transform="translate(-444.000000, -203.000000)" stroke-width="2" stroke="#808080">
<g id="Artboard-4" transform="translate(-444.000000, -203.000000)" stroke-width="2" stroke="#000000">
<g id="50" transform="translate(444.000000, 203.000000)">
<polyline id="Path-96" points="3 3 3 21.006249 21.0246733 21.006249"></polyline>
<polyline id="Path-101" points="6 18 11 12 14 13 19 7"></polyline>

Before

Width:  |  Height:  |  Size: 958 B

After

Width:  |  Height:  |  Size: 794 B

View file

@ -1,11 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 80 100"
enable-background="new 0 0 80 80" xml:space="preserve"><g><path fill="#000000" d="M33.3,51.5L33.3,51.5c-1.8,0-3.3-1.4-3.3-3.1V37.3c0-1.7,1.5-3.1,3.3-3.1c0.5,0,1,0.1,1.5,0.4l10.7,5.5 c1,0.5,1.6,1.5,1.6,2.7c0,1.2-0.6,2.2-1.7,2.8l-10.6,5.6C34.3,51.3,33.8,51.5,33.3,51.5z M33.3,36.2c-0.6,0-1.3,0.4-1.3,1.1v11.1 c0,0.6,0.7,1.1,1.3,1.1l0,0c0.2,0,0.4,0,0.5-0.1l10.6-5.6c0.4-0.2,0.6-0.6,0.6-1c0-0.2-0.1-0.6-0.5-0.9l-10.7-5.5 C33.6,36.2,33.4,36.2,33.3,36.2z"/></g>
<g><path fill="#000000" d="M62.9,65H12.1C10.4,65,9,63.6,9,61.9V22.1c0-1.7,1.4-3.1,3.1-3.1h50.8c1.7,0,3.1,1.4,3.1,3.1v39.8 C66,63.6,64.6,65,62.9,65z M12.1,21c-0.6,0-1.1,0.5-1.1,1.1v39.8c0,0.6,0.5,1.1,1.1,1.1h50.8c0.6,0,1.1-0.5,1.1-1.1V22.1 c0-0.6-0.5-1.1-1.1-1.1H12.1z"/></g>
<g><path fill="#000000" d="M63,16h-2c0-1-0.4-1-0.9-1H14.9c-0.5,0-0.9,0-0.9,1h-2c0-2,1.3-3,2.9-3h45.3C61.7,13,63,14,63,16z"/></g>
<g><path fill="#000000" d="M58,11h-2c0-1-0.4-1-0.5-1H19.5c-0.1,0-0.5,0-0.5,1h-2c0-2,1.1-3,2.5-3h36.1C56.9,8,58,9,58,11z"/></g>
<g><path fill="#000000" d="M68,29v-2c4,0,6.5-2.9,6.5-6.5S72,14,68,14v-2c5,0,8.5,3.8,8.5,8.5S73,29,68,29z"/></g>
<g><polygon fill="#000000" points="71.3,18.7 65.6,13 71.3,7.3 72.7,8.7 68.4,13 72.7,17.3 "/></g>
<text x="0" y="95" fill="#000000" font-size="5px" font-weight="bold"
font-family="'Helvetica Neue', Helvetica, Arial-Unicode, Arial, Sans-serif">Created by Yaroslav Samoylov</text>
<text x="0" y="100" fill="#000000" font-size="5px" font-weight="bold"
font-family="'Helvetica Neue', Helvetica, Arial-Unicode, Arial, Sans-serif">from the Noun Project</text></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -63,13 +63,25 @@
@mixin apply-svg-color ($color) {
/deep/ svg {
path[fill="#000000"], g[fill="#000000"], rect[fill="#000000"], circle[fill="#000000"], polygon[fill="#000000"] {
path[fill="#000000"],
g[fill="#000000"],
rect[fill="#000000"],
circle[fill="#000000"],
polygon[fill="#000000"] {
fill: $color;
}
path[stroke="#000000"], g[stroke="#000000"], rect[stroke="#000000"], circle[stroke="#000000"], polygon[stroke="#000000"] {
path[stroke="#000000"],
g[stroke="#000000"],
rect[stroke="#000000"],
circle[stroke="#000000"],
polygon[stroke="#000000"] {
stroke: $color;
}
stop[stop-color="#000000"] {
stop-color: $color;
}
}
}