🎨 Add site and rename app

This commit is contained in:
brunosimon
2017-12-27 15:52:29 +01:00
parent 0e491b0660
commit 657fa4546d
224 changed files with 206 additions and 42 deletions
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-19
View File
@@ -1,19 +0,0 @@
import Tooltip from '@/components/tooltip'
export default
{
name: 'alert',
components:
{
Tooltip
},
methods:
{
onAlertClick()
{
this.$store.commit('setPendingAlert')
}
}
}
-40
View File
@@ -1,40 +0,0 @@
.alert
display block
position fixed
bottom 0
right 60px
width 62px
height 40px
background #24263A
user-select none
.stroke
position absolute
top 0
left 0
right 0
height 1px
background #FD4141
display none
.icon
position absolute
top 10px
left 18px
&.default
display inline-block
&.hover
display none
&:hover
.icon
&.default
display none
&.hover
display inline-block
.stroke
display block
-6
View File
@@ -1,6 +0,0 @@
<a href="#" class="alert" @click.prevent="onAlertClick">
<span class="stroke"></span>
<img class="icon default" src="../../../static/svg/alert.svg" alt="">
<img class="icon hover" src="../../../static/svg/alert-hover.svg" alt="">
<tooltip position="top-left">It's going too fast? Send an alert to<br>the presenter (use wisely)</tooltip>
</a>
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus"></style>
-66
View File
@@ -1,66 +0,0 @@
import Connexion from '@/components/connexion'
import ProjectsHub from '@/components/projects-hub'
import Project from '@/components/project'
import Favicon from '@/components/favicon'
import Popin from '@/components/popin'
export default
{
name: 'application',
components:
{
Connexion,
ProjectsHub,
Project,
Favicon,
Popin
},
computed:
{
serverConfig()
{
return this.$store.state.serverConfig
},
project()
{
return this.$store.state.projects.current
}
},
mounted()
{
this.testScrollbar()
},
methods:
{
testScrollbar()
{
// Create dummy
const dummy = document.createElement("div")
dummy.style.width = '100px'
dummy.style.height = '100px'
dummy.style.overflow = 'scroll'
dummy.style.position = 'absolute'
dummy.style.top = '-9999px'
this.$el.appendChild(dummy)
// Get the scrollbar width
const scrollbarWidth = dummy.offsetWidth - dummy.clientWidth
this.$store.commit('updateScrollbarWidth', scrollbarWidth)
// Delete the DIV
this.$el.removeChild(dummy)
},
onHeaderClick()
{
this.$store.commit('setFile', null)
}
}
}
-191
View File
@@ -1,191 +0,0 @@
// Fonts
@font-face
font-family 'DINNextRoundedLTPro'
font-weight 300
font-style normal
src url('../../../static/fonts/DINNextRoundedLTPro-Light.otf')
@font-face
font-family 'DINNextRoundedLTPro'
font-weight normal
font-style normal
src url('../../../static/fonts/DINNextRoundedLTPro-Regular.otf')
// App
#application
position absolute
top 0
left 0
width 100%
height 100%
overflow hidden
font-family Helvetica, Arial
-webkit-font-smoothing antialiased
-moz-osx-font-smoothing grayscale
background #2d2d49
a
text-decoration none
// Scroll hack
.scroll-hack
position absolute
top 0
left 0
overflow scroll
// Header
.application-header
position absolute
top 0
left 0
width 290px
height 80px
background #393855
user-select none
a
display block
position absolute
top 0
left 0
width 100%
height 100%
.element
position absolute
&.background
top 0
left 0
&.robot-container
top 17px
left 46px
animation header-robot-container 3s alternate infinite ease-in-out
@keyframes header-robot-container
0%
transform translateX(-5px)
100%
transform translateX(5px)
&.robot
animation header-robot 4.15s alternate infinite ease-in-out
@keyframes header-robot
0%
transform translateY(-3px)
100%
transform translateY(3px)
&.title
top 21px
left 112px
// Reset
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
margin 0
padding 0
border 0
font-size 100%
font inherit
vertical-align baseline
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section
display block
body
line-height 1
-webkit-text-size-adjust 100%
-moz-text-size-adjust 100%
text-size-adjust 100%
ol, ul
list-style none
blockquote, q
quotes none
blockquote:before, blockquote:after,
q:before, q:after
content ''
content none
table
border-collapse collapse
border-spacing 0
th
text-align left
*,*::before,*::after,*:before,*:after
-moz-box-sizing border-box
-webkit-box-sizing border-box
box-sizing border-box
input,button,textarea,select
color inherit
font-size inherit
font-style inherit
font-family inherit
-webkit-border-radius 0
border-radius 0
-webkit-padding-start 0
align-items flex-start
text-index 0
border none
outline none
background none
padding 0
margin 0
width auto
height auto
line-height 1em
input[type=text],input[type=reset],input[type=password],input[type=search],input[type=email],input[type=tel],input[type=url],input[type=time],input[type=week],input[type=month],input[type=date],input[type=datetime],input[type=datetime-local],input[type=number],
input[type=submit],input[type=reset],input[type=color],input[type=file],
button,textarea,select
height 1em
-webkit-appearance none
-moz-appearance none
appearance none
input[type=color]
width 1em
input
&::-ms-clear
display none
details, summary
-webkit-appearance none
-moz-appearance none
appearance none
mark
background none
hr
height 1px
margin 0
padding 0
u
text-decoration none
a
color inherit
outline none
@@ -1,29 +0,0 @@
<div id="application">
<!-- Connexion -->
<connexion></connexion>
<!-- Favicon -->
<favicon></favicon>
<div v-if="serverConfig">
<!-- Header -->
<a class="application-header" href="#" @click.prevent="onHeaderClick">
<img class="element background" src="../../../static/svg/header-background.svg" alt="">
<span class="element robot-container">
<img class="element robot" src="../../../static/svg/header-robot.svg" alt="">
</span>
<img class="element title" src="../../../static/svg/keppler-title.svg" alt="">
</a>
<!-- Popin -->
<popin></popin>
<!-- Projects -->
<projects-hub></projects-hub>
<!-- Project -->
<project v-if="project"></project>
</div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-48
View File
@@ -1,48 +0,0 @@
export default
{
name: 'blast',
data()
{
return {
sparks: [],
cssColor: 'yellow'
}
},
props:
{
color: { type: String, default: 'random' },
sparksCount: { type: Number, default: 25 }
},
created()
{
// Create sparks
for(let i = 0; i < this.sparksCount; i++)
{
this.sparks.push([
Math.random() * 360 + 'deg', // Orientation
Math.random(), // Scale
0.5 + Math.random() * 1.5 + 's' // Duration
])
}
// End timeout
window.setTimeout(() =>
{
this.$emit('end', this.index)
}, 4000)
// Random color
if(this.color === 'random')
{
this.cssColor = `hsl(${255 * Math.random()}, 100%, 50%)`
}
// Specific color
else
{
this.cssColor = this.color
}
}
}
-45
View File
@@ -1,45 +0,0 @@
.blast
position absolute
transform translateY(0px)
will-change transform, opacity
animation-name blast
animation-duration 3s
animation-timing-function ease-in-out
animation-fill-mode forwards
@keyframes blast
0%
opacity 1
transform translateY(0px)
50%
opacity 1
100%
opacity 0
transform translateY(80px)
.spark
position absolute
will-change transform
.inner-1
position absolute
transform translateY(0px)
will-change transform
animation-name spark-inner-1
animation-timing-function cubic-bezier(0, 0, 0, 1)
animation-fill-mode forwards
@keyframes spark-inner-1
0%
transform translateY(0px)
100%
transform translateY(160px)
.inner-2
position absolute
top -3px
left -3px
width 30px
height 30px
will-change transform
-7
View File
@@ -1,7 +0,0 @@
<div class="blast" :style="`left:${Math.random() * 100}%;top:${Math.random() * 100}%;`">
<div v-for="spark of sparks" class="spark" :style="`transform: rotate(${spark[0]}) scale(${spark[1]}, ${spark[1]});`">
<div class="inner-1" :style="`animation-duration: ${spark[2]}`">
<div class="inner-2" :style="`transform: scale(${1 - spark[1]}, ${1 - spark[1]}); background-color: ${cssColor};`"></div>
</div>
</div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-223
View File
@@ -1,223 +0,0 @@
import Tooltip from '@/components/tooltip'
export default
{
name: 'chat',
components:
{
Tooltip
},
data()
{
return {
userName: '',
messageText: ''
}
},
computed:
{
open()
{
return this.$store.state.chat.open
},
question()
{
return this.$store.state.chat.question
},
messages()
{
return this.$store.state.chat.messages
},
user()
{
return this.$store.state.chat.user
},
scrollbarWidth()
{
return this.$store.state.scrollbarWidth
},
unreadCount()
{
return this.$store.state.chat.unreadCount
}
},
watch:
{
user(value)
{
this.userName = value.name
},
messages()
{
window.requestAnimationFrame(() =>
{
if(this.atBottom)
{
this.scrollToBottom()
}
})
},
open(value)
{
if(value)
{
window.requestAnimationFrame(() =>
{
// Focus on textearea
this.$textarea.focus()
})
}
},
question(value)
{
if(value)
{
window.requestAnimationFrame(() =>
{
// Focus on textearea
this.$textarea.focus()
// Scroll to bottom
this.scrollToBottom()
})
}
}
},
created()
{
this.atBottom = true
},
mounted()
{
this.$messages = this.$el.querySelector('.messages')
this.$textarea = this.$el.querySelector('.textarea')
this.$innerMessages = this.$messages.querySelector('.inner-messages')
},
methods:
{
onHeaderClick()
{
this.$store.commit('toggleChat')
},
onUserNameChange()
{
this.$store.commit('setPendingUser', { name: this.userName })
},
onUserNameKeyDown(event)
{
// Blur if enter pressed
if(event.keyCode === 13)
{
// Focus on textearea
this.$textarea.focus()
}
},
onMessageTextKeyDown(event)
{
// Enter key pressed but without shift key
if(event.keyCode === 13 && !event.shiftKey)
{
event.preventDefault()
const text = this.messageText.trim()
if(text)
{
// Create and send message
const message = {}
message.text = text
if(this.question)
{
message.file = this.question.file
message.line = this.question.line
message.version = this.question.version
}
this.$store.commit('setPendingMessage', message)
this.messageText = ''
// Reset question
this.$store.commit('setQuestion', null)
// Scroll to bottom
this.scrollToBottom()
}
}
},
onMessagesScroll()
{
this.atBottom = this.$messages.scrollTop + this.$messages.offsetHeight >= this.$innerMessages.offsetHeight - 15
},
onQuestionRemoveClick()
{
// Reset question
this.$store.commit('setQuestion', null)
// Focus on textearea
this.$textarea.focus()
},
onFileClick(file, version, line)
{
// Set file, line and version
this.$store.commit('setFile', file)
this.$store.commit('setLine', line)
window.requestAnimationFrame(() =>
{
this.$store.commit('setVersion', version)
})
// Focus on textearea
this.$textarea.focus()
// Scroll to bottom
this.scrollToBottom()
},
scrollToBottom()
{
this.$messages.scrollTop = this.$innerMessages.offsetHeight - this.$messages.offsetHeight + 15
},
formatMinutes(time)
{
const date = new Date(time)
let minutes = '' + date.getMinutes()
if(minutes.length === 1)
{
minutes = `0${minutes}`
}
let hours = '' + date.getHours()
if(hours.length === 1)
{
hours = `0${hours}`
}
return `${hours}:${minutes}`
}
}
}
-201
View File
@@ -1,201 +0,0 @@
.chat
position fixed
bottom 0
right 123px
color #fff
.trigger
position absolute
bottom 0
right 0
height 40px
padding-left 14px
padding-right 18px
line-height 40px
background #24263A
font-size 14px
white-space nowrap
user-select none
.stroke
position absolute
top 0
left 0
right 0
height 1px
background #4BD1C5
display none
.icon
margin-left 4px
.unread
display inline-block
position absolute
top 7px
left calc(100% - 25px)
width 20px
text-align center
font-size 9px
line-height 9px
color #4BD1C5
&:hover
.stroke
display block
.content
position relative
background #24263A
height 450px
width 300px
overflow hidden
.header
position absolute
top 0
left 0
width 100%
height 40px
padding-left 14px
line-height 40px
font-size 14px
user-select none
.stroke
position absolute
top 0
left 0
right 0
height 1px
background #4BD1C5
display none
.dash
position absolute
top calc(50% - 1px)
right 14px
height 2px
width 12px
background #fff
&:hover
.stroke
display block
.messages
position absolute
top 40px
left 0
right 0
height 330px
padding-top 4px
overflow-y scroll
background #393855
font-size 12px
.message
position relative
padding-left 21px
margin-bottom 10px
.stroke
position absolute
top 0px
left 10px
width 2px
bottom 2px
.message-user
padding-bottom 3px
.message-date
display inline-block
opacity 0
padding-left 4px
padding-bottom 3px
.message-file
display block
padding-bottom 3px
opacity 0.7
&:hover
opacity 1
color #4BD1C5
&:hover
.message-date
opacity 0.4
.user
position absolute
top 374px
left 0
font-size 12px
padding-left 8px
.user-label
opacity 0.7
pointer-events none
user-select none
.user-name
width 185px
padding-left 1px
outline none
border none
&:hover
background rgba(255, 255, 255, 0.075)
.question
position absolute
bottom 0
right 0
padding 4px
font-size 12px
.question-file
position absolute
bottom 5px
right 22px
opacity 0.7
white-space nowrap
pointer-events none
.remove
position absolute
bottom 0
right 0
width 20px
height 20px
padding-top 4px
padding-left 3px
.icon
&.default
display block
&.hover
display none
&:hover
.icon
&.default
display none
&.hover
display block
textarea
position absolute
bottom 0
left 0
font-size 12px
width 100%
height 58px
padding-left 8px
resize none
// opacity 0.8
-45
View File
@@ -1,45 +0,0 @@
<div class="chat">
<a href="#" v-show="!open" class="trigger" @click="onHeaderClick">
<span class="stroke"></span>
Discussions
<img v-if="unreadCount === 0" class="icon default" src="../../../static/svg/chat-star.svg" alt="">
<img v-if="unreadCount > 0" class="icon hover" src="../../../static/svg/chat-star-hover.svg" alt="">
<span v-if="unreadCount > 0" class="unread">{{ unreadCount > 99 ? '99+' : unreadCount }}</span>
<tooltip position="top-left">Chat with other person on the project</tooltip>
</a>
<div class="content" v-show="open">
<a href="#" class="header" @click="onHeaderClick">
<span class="stroke"></span>
<div class="dash"></div>
Discussions
</a>
<div class="messages" :style="`right: -${scrollbarWidth}px;`" @scroll="onMessagesScroll">
<div class="inner-messages">
<div class="message" v-for="message of messages" :key="message.date">
<div class="stroke" :style="`background: ${message.user.color};`"></div>
<span class="message-user" :style="`color: ${message.user.color};`">
{{ message.user.name }}
</span>
<span class="message-date">
{{ formatMinutes(message.time) }}
</span>
<a href="#" class="message-file" v-if="message.file && message.line" @click.prevent="onFileClick(message.file, message.version, message.line)">
{{ message.file }}:{{ message.line }}
</a>
<div class="message-text" v-html="message.text.replace(/\n/g, '<br>')"></div>
</div>
</div>
</div>
<div class="user" v-if="user">
<span class="user-label">Your nickname is</span> <input maxlength="22" class="user-name" :style="`color: ${user.color};`" v-model="userName" @change="onUserNameChange($event)" @keydown="onUserNameKeyDown($event)"/>
</div>
<textarea class="textarea" :style="`width:calc(100% + ${scrollbarWidth}px);padding-right:${scrollbarWidth}px;`" v-model="messageText" @keydown="onMessageTextKeyDown($event)" placeholder="Type you message here..."></textarea>
<div class="question" v-if="question">
<span class="question-file">{{ question.file }}:{{ question.line }}</span>
<a href="#" class="remove" @click.prevent="onQuestionRemoveClick">
<img class="icon default" src="../../../static/svg/cross.svg" alt="">
<img class="icon hover" src="../../../static/svg/cross-hover.svg" alt="">
</a>
</div>
</div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-165
View File
@@ -1,165 +0,0 @@
import socketIoClient from 'socket.io-client'
export default
{
name: 'connexion',
computed:
{
project()
{
return this.$store.state.projects.current
},
pendingUser()
{
return this.$store.state.chat.pendingUser
},
pendingMessage()
{
return this.$store.state.chat.pendingMessage
},
pendingAlert()
{
return this.$store.state.chat.pendingAlert
}
},
watch:
{
project: 'onProjectChange',
pendingUser: 'onPendingUser',
pendingMessage: 'onPendingMessage',
pendingAlert: 'onPendingAlert'
},
created()
{
const projectsUrl = `${process.env.NODE_ENV === 'production' ? '' : 'http://localhost:1571'}/projects`
this.projectsSocket = socketIoClient(projectsUrl)
this.projectsSocket.on('connect', (data) =>
{
// console.log('projects connected')
})
this.projectsSocket.on('config', (data) =>
{
this.$store.commit('updateServerConfig', data)
})
this.projectsSocket.on('update_projects', (data) =>
{
this.$store.commit('updateProjects', data.all)
})
},
methods:
{
onProjectChange(value)
{
if(!value)
{
return
}
// Reset file
this.$store.commit('setFile', null)
// Reset messages
this.$store.commit('emptyMessages', null)
// If was connected to another socket
if(this.projectSocket)
{
this.projectSocket.off('connect')
this.projectSocket.off('update_project')
this.projectSocket.off('create_file')
this.projectSocket.off('delete_file')
this.projectSocket.off('createVersion')
this.projectSocket.disconnect()
}
// Create new socket connexion
this.projectSocket = socketIoClient(`${process.env.NODE_ENV === 'production' ? '' : 'http://localhost:1571'}/project/${value.slug}`)
this.projectSocket.on('connect', () =>
{
// console.log('project connected')
})
this.projectSocket.on('update_project', (data) =>
{
this.$store.commit('updateFiles', data.files.items)
})
this.projectSocket.on('create_file', (data) =>
{
this.$store.commit('createFile', data)
})
this.projectSocket.on('delete_file', (data) =>
{
this.$store.commit('deleteFile', data)
})
this.projectSocket.on('createVersion', (data) =>
{
this.$store.commit('createVersion', data)
})
// If was connected to another socket
if(this.chatSocket)
{
this.chatSocket.off('connect')
this.chatSocket.off('user')
this.chatSocket.off('message')
this.chatSocket.disconnect()
}
// Chat socket
this.chatSocket = socketIoClient(`${process.env.NODE_ENV === 'production' ? '' : 'http://localhost:1571'}/project/${value.slug}/chat`)
this.chatSocket.on('connect', () =>
{
// console.log('chat connected')
})
this.chatSocket.on('user', (data) =>
{
this.$store.commit('updateUser', data)
})
this.chatSocket.on('message', (data) =>
{
this.$store.commit('createMessage', data)
})
},
onPendingUser(value)
{
if(value)
{
this.chatSocket.emit('update_user', value)
}
},
onPendingMessage(value)
{
if(value)
{
this.chatSocket.emit('message', value)
}
},
onPendingAlert(value)
{
if(value)
{
this.chatSocket.emit('alert')
}
}
}
}
@@ -1,2 +0,0 @@
<div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-86
View File
@@ -1,86 +0,0 @@
export default
{
name: 'favicon',
computed:
{
chatUnreadCount()
{
return this.$store.state.chat.unreadCount
}
},
watch:
{
chatUnreadCount: 'onChatUnreadCountChange'
},
created()
{
this.$favicon = document.querySelector('.favicon')
this.size = 16 * window.devicePixelRatio
this.notifSize = 0.17
this.canvas = document.createElement('canvas')
this.canvas.width = this.size
this.canvas.height = this.size
this.context = this.canvas.getContext('2d')
this.image = new Image()
this.image.addEventListener('load', () =>
{
this.updateFavicon()
})
this.image.src = require('../../../static/images/favicon-32x32.png')
},
methods:
{
onChatUnreadCountChange()
{
this.updateFavicon()
},
updateFavicon()
{
// Clear
this.context.clearRect(0, 0, this.size, this.size)
// Draw image
this.context.drawImage(this.image, 0, 0, this.size, this.size)
// // Draw file notif
// this.context.beginPath()
// this.context.arc(this.size * (1 - this.notifSize), this.size * (1 - this.notifSize), this.size * this.notifSize, 0, Math.PI * 2)
// this.context.fillStyle = '#9B52F5'
// this.context.fill()
// this.context.strokeStyle = '#360079'
// this.context.stroke()
// Draw chat notif
if(this.chatUnreadCount > 0)
{
this.context.beginPath()
this.context.arc(this.size * (1 - this.notifSize) - 1, this.size * (1 - this.notifSize) - 1, this.size * this.notifSize, 0, Math.PI * 2)
// this.context.arc(this.size * (1 - this.notifSize * 2.25), this.size * (1 - this.notifSize), this.size * this.notifSize, 0, Math.PI * 2)
this.context.fillStyle = '#4bd1c5' // ff763d
this.context.fill()
this.context.lineWidth = window.devicePixelRatio
this.context.strokeStyle = '#0071ab' // ad1d3c
this.context.stroke()
}
// Add to DOM
this.$favicon.setAttribute('href', this.canvas.toDataURL())
}
}
}
@@ -1,2 +0,0 @@
<div>
</div>
@@ -1,63 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="78.2 24.7 388.6 778.5" enable-background="new 78.2 24.7 388.6 778.5" xml:space="preserve">
<g>
<path fill="#C92037" d="M409.4,28.5c-12.2,7.3-32.6,27.6-56.7,57.1l22.2,42c15.6-22.4,31.5-42.4,47.5-59.6c1.2-1.3,1.9-2,1.9-2
c-0.6,0.7-1.3,1.3-1.9,2c-5.2,5.7-20.9,24-44.6,60.5c22.8-1.2,57.9-5.8,86.5-10.8c8.6-47.7-8.3-69.5-8.3-69.5
S434.6,13.5,409.4,28.5z"/>
<path fill="#555555" d="M371.6,268c0.1,0,0.3,0,0.4-0.1l-3.2,0.3c-0.1,0.1-0.4,0.1-0.6,0.3C369.4,268.3,370.6,268.2,371.6,268z"/>
<path fill="#555555" d="M348.9,343.2c-1.7,0.4-3.6,0.7-5.5,1C345.3,343.9,347.2,343.6,348.9,343.2z"/>
<path fill="#555555" d="M342,344.3L342,344.3L342,344.3L342,344.3z"/>
<path fill="#555555" d="M334.6,381.1c-2.9,0.6-5.8,1-8.7,1.5l0,0c1.5-0.1,3.1-0.4,4.5-0.7C331.8,381.7,333.3,381.4,334.6,381.1z"/>
<path opacity="0.35" fill="#555555" enable-background="new " d="M334.6,381.1c-2.9,0.6-5.8,1-8.7,1.5l0,0
c1.5-0.1,3.1-0.4,4.5-0.7C331.8,381.7,333.3,381.4,334.6,381.1z"/>
<path fill="#555555" d="M342.1,344.3L342.1,344.3C342,344.3,342,344.3,342.1,344.3c0.4,0,0.9-0.1,1.3-0.1c1.9-0.3,3.8-0.6,5.5-1
C346.8,343.6,344.4,343.9,342.1,344.3L342.1,344.3L342.1,344.3z"/>
<path opacity="0.35" fill="#555555" enable-background="new " d="M342.1,344.3L342.1,344.3C342,344.3,342,344.3,342.1,344.3
c0.4,0,0.9-0.1,1.3-0.1c1.9-0.3,3.8-0.6,5.5-1C346.8,343.6,344.4,343.9,342.1,344.3L342.1,344.3L342.1,344.3z"/>
<path fill="#C92037" d="M309.3,236.1c6.8-12.6,13.7-25,20.5-37.1c7.1-12.5,14.4-24.6,21.8-36.3c0.4-0.7,0.9-1.5,1.3-2
c7.3-11.5,14.5-22.5,21.9-33.1l-22.2-41.9c-1.6,2-3.3,4.1-5.1,6.3c-6.4,8-13.1,16.6-19.9,25.7c-7.7,10.3-15.6,21.2-23.7,32.7
c-7.4,10.6-15,21.8-22.5,33.3c-6.4,9.9-12.8,19.9-19.2,30.2c-0.3,0.4-0.4,0.7-0.7,1.2l28.9,57.1C296.8,260,303,248,309.3,236.1z"/>
<path fill="#C92037" d="M177.4,558.3c-3.8,10.5-7.7,21.2-11.5,32.3c0,0.1-0.1,0.3-0.1,0.4c-0.6,1.6-1.2,3.1-1.6,4.7
c-2.6,7.4-4.8,14.1-10,29.2c8.6,3.9,15.4,14.1,21.8,25.7c-0.7-12.1-5.7-23.4-15.1-32.1c42,1.9,78.3-8.7,97-39.5
c1.6-2.8,3.2-5.7,4.7-8.7c-8.6,10.8-19,15.4-39,14.2h-0.1h0.1c29.2-13.1,43.9-25.7,56.8-46.5c3.1-4.9,6.1-10.3,9.2-16.3
c-25.6,26.3-55.2,33.7-86.5,28.1l-23.4,2.6C178.9,554.4,178.2,556.3,177.4,558.3z"/>
<path fill="#C92037" d="M188.3,505.8c5.1-13.1,10.3-26.3,15.6-39.7c5.1-12.8,10.3-25.6,15.7-38.5s10.9-25.9,16.4-38.8
c5.7-13.2,11.5-26.3,17.4-39.4c5.8-12.9,11.9-25.9,17.9-38.7c2.2-4.7,4.4-9.2,6.7-13.8c3.8-7.8,7.7-15.7,11.6-23.5
c0.1-0.4,0.4-0.9,0.6-1.3l-28.6-57c-0.4,0.7-0.9,1.6-1.5,2.3c-6.7,11-13.5,22.2-20.1,33.7c-6.7,11.6-13.2,23.4-19.6,35.5
c-5.4,10.2-10.6,20.3-15.8,30.7c-1,2-2,4.2-3.1,6.3c-6.3,12.9-12.1,25.6-17.2,37.6c-5.8,13.7-10.9,26.7-15.4,39.1
c-2.9,8.1-5.7,16-8.1,23.5c-2,6.4-3.9,12.9-5.8,19.3c-4.4,15.1-8,30.2-11,45.4l29.1,57.4c3.8-10.3,7.8-20.6,11.8-31.3
C186,511.8,187.2,508.9,188.3,505.8z"/>
<path fill="#C92037" d="M143.6,490.6c-3.6,18.3-6.3,36.6-7.6,54.9c0,0.6-0.1,1.3-0.1,1.9c-9-14.5-33.4-28.8-33.3-28.6
c17.4,25.3,30.7,50.3,32.6,74.9c-9.3,1.9-22.1-0.9-36.8-6.3c15.4,14.1,26.9,18,31.4,19c-14.1,0.9-28.8,10.6-43.6,21.8
c21.7-8.9,39.2-12.4,51.7-9.4C118,675,98.1,737.2,78.2,803.2c6.1-1.7,9.7-6,11.8-11.5c3.5-11.9,27.2-90.4,64.1-193.5
c1-2.9,2.2-5.8,3.2-8.9c0.3-0.9,0.6-1.6,0.9-2.5c3.9-10.8,8-21.8,12.2-33.1c1-2.6,1.9-5.1,2.9-7.7v-0.1l-29.1-57.4
C143.9,489.3,143.7,489.8,143.6,490.6z"/>
<path fill="#C92037" d="M295,277c-0.9,1.7-1.6,3.3-2.5,5.1c-2.5,5.2-5.1,10.5-7.6,15.8c-2.8,5.8-5.5,11.8-8.4,17.9
c-1.5,3.1-2.9,6.1-4.4,9.3c-4.4,9.4-8.7,19.2-13.2,29.2c-5.5,12.4-11,25.1-16.7,38.5c-5.4,12.6-10.9,25.9-16.4,39.4
c-5.2,12.9-10.6,26.2-16,40c-4.8,12.2-9.6,24.9-14.5,37.8c-0.3,0.6-0.4,1.3-0.7,1.9c-4.8,12.8-9.7,26-14.7,39.5
c-0.1,0.3-0.3,0.6-0.3,0.9l23.4-2.6c-0.4-0.1-0.9-0.1-1.5-0.3c28.1-3.5,65.3-24.4,89.2-50.3c11-11.9,21.1-25.9,30.4-42.3
c7-12.2,13.4-25.7,19.6-40.8c5.4-13.1,10.6-27.3,15.6-42.7c-6.4,3.3-13.8,5.8-21.9,7.6c-1.5,0.3-2.9,0.6-4.4,0.9
c-1.5,0.3-2.9,0.4-4.5,0.7l0,0l0,0l0,0c26.2-10,42.6-29.4,54.5-53.2c-6.8,4.7-18,10.8-31.4,13.8c-1.7,0.4-3.6,0.7-5.5,1
c-0.4,0-0.9,0.1-1.5,0.1l0,0l0,0l0,0l0,0l0,0c9-3.8,16.7-8,23.4-13.1c1.5-1,2.8-2.2,4.1-3.3c2-1.7,3.9-3.6,5.8-5.5
c1.2-1.3,2.3-2.5,3.5-3.8c2.6-3.1,5.1-6.4,7.3-10c0.7-1.2,1.5-2.2,2-3.3c0.9-1.7,1.7-3.3,2.5-4.9c3.6-7.3,6.5-13.8,8.9-19.6
c1.2-2.9,2.2-5.5,3.1-8c0.3-1,0.7-1.9,1-2.9c0.9-2.8,1.7-5.2,2.3-7.4c0.9-3.2,1.5-5.8,1.7-7.7l0,0l0,0c-0.9,0.7-1.9,1.5-3.1,2
c-7.8,4.7-21.4,9-32.3,11l21.5-2.3l-21.5,2.3c-0.1,0-0.3,0-0.4,0.1c-1,0.1-2.2,0.3-3.3,0.6c0.1-0.1,0.4-0.1,0.6-0.3l-73.5,8
C295.3,276.6,295.2,276.9,295,277z"/>
<path fill="#C92037" d="M377.9,128.5c-6.5,10-13.7,21.5-21.4,34.3c-0.4,0.7-0.9,1.3-1.2,2c-6.7,11.2-13.7,23.4-21.1,36.9
c-6.4,11.6-13.1,24-20.1,37.5c-6.1,11.6-12.2,24-18.8,37.1l73.5-8c21.4-9.9,31-18.8,40.3-31.7c2.5-3.5,4.9-7.3,7.4-11.2
c7.6-11.8,15-24.7,21.5-37.6c6.4-12.5,12.1-24.9,16.3-35.9c2.8-7.1,4.9-13.7,6.5-19.5c1.3-5.1,2.3-9.9,3.2-14.5
C435.7,122.7,400.7,127.3,377.9,128.5z"/>
<path fill="#555555" d="M330.3,382c-1.5,0.3-2.9,0.4-4.5,0.7l0,0C327.3,382.4,328.7,382.1,330.3,382z"/>
<path opacity="0.35" fill="#555555" enable-background="new " d="M330.3,382c-1.5,0.3-2.9,0.4-4.5,0.7l0,0
C327.3,382.4,328.7,382.1,330.3,382z"/>
<path fill="#555555" d="M330.3,382c-1.5,0.3-2.9,0.4-4.5,0.7l0,0C327.3,382.4,328.7,382.1,330.3,382z"/>
<path fill="#555555" d="M342,344.3c0.4,0,0.9-0.1,1.5-0.1C343,344.2,342.6,344.3,342,344.3L342,344.3z"/>
<path opacity="0.35" fill="#555555" enable-background="new " d="M342,344.3c0.4,0,0.9-0.1,1.5-0.1
C343,344.2,342.6,344.3,342,344.3L342,344.3z"/>
<path fill="#555555" d="M342,344.3c0.4,0,0.9-0.1,1.5-0.1C343,344.2,342.6,344.3,342,344.3L342,344.3z"/>
<path fill="#555555" d="M342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3z"/>
<path opacity="0.35" fill="#555555" enable-background="new " d="M342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3
L342.1,344.3z"/>
<path fill="#555555" d="M342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3L342.1,344.3z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.0 KiB

@@ -1,4 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 113.4 113.4" enable-background="new 0 0 113.4 113.4" xml:space="preserve">
<path fill="#A04B90" d="M0,0v113.4h113.4V0H0z M75.2,86.4L53.5,69.1H35.7V44.3h17.9L75.2,27V86.4z"/>
</svg>

Before

Width:  |  Height:  |  Size: 327 B

@@ -1,7 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 6.4 8.3" enable-background="new 0 0 6.4 8.3" xml:space="preserve">
<g>
<path fill="#8A3679" d="M6.3,8C6,8.2,5.2,8.3,4.2,8.3C1.4,8.3,0,6.6,0,4.3C0,1.5,2,0,4.4,0c0.9,0,1.7,0.2,2,0.4L6,1.8
C5.7,1.7,5.1,1.5,4.5,1.5C3,1.5,1.9,2.4,1.9,4.2c0,1.6,1,2.6,2.6,2.6c0.6,0,1.2-0.1,1.5-0.3L6.3,8z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 449 B

@@ -1,19 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 256 206" enable-background="new 0 0 256 206" xml:space="preserve">
<g>
<path fill="#3C4D6D" d="M101.6,9.1c0.2,1.4-0.5,2.6-2.8,3.7c-3-1.6-9.5-2.6-14.9-2.1c-5.8,0.5-10.7,2.3-10,6.3
c0.9,4,6.5,6.3,16.5,5.4c24.5-2.1,24.2-18.6,60.1-21.9c27.9-2.6,43.5,6.1,45.6,16.5c1.6,8.2-5.1,16.1-25.4,17.7
c-17.9,1.6-28.4-3.3-29.3-8.2c-0.5-2.6,0.9-6.3,9.5-7.2c0.9,4,5.8,8.2,17.5,7c8.4-0.7,15.4-3.7,14.4-8.4c-0.9-4.9-9.8-7.7-23.8-6.5
c-28.4,2.6-35.4,18.2-59.6,20.3c-17.2,1.6-31.2-4.7-33.1-14C65.8,14.2,65.8,6,83.9,4.4C93.2,3.7,100.7,5.3,101.6,9.1L101.6,9.1z
M10.8,106.4c-7.9,10-11.4,21.7-10.7,33.1s6.3,20.7,15.1,27.9c9.3,7.2,19.3,9.3,30.7,7.2c4.4-0.7,9.3-3,13.7-4.4
c-9.3,0-17.2-3-25.1-9.3c-8.6-6.3-14.4-15.1-15.8-25.8c-2.1-10,0-19.3,5.6-27.5c6.3-7.9,14.4-12.3,25.1-13.7
c10.7-0.7,20,2.1,29.3,8.6c-2.1-3-5.1-5.1-7.9-7.9c-9.3-6.3-19.3-9.3-31.7-6.3C28,90.6,18.7,96.4,10.8,106.4L10.8,106.4z
M135.6,52.6c-30,0-56.8-3-76.1-7.2c-20.7-5.1-31.7-10.7-31.7-17.9c0-3,1.4-5.6,5.6-8.6c-13,5.1-20,9.3-20,15.8
c0.7,7.2,12.3,14.4,36.1,20c22.4,5.6,51,8.6,85.5,8.6c35.2,0,63.1-3,85.5-8.6c23.8-5.6,35.2-13,35.2-20c0-5.1-5.1-10-14.4-13.7
c2.1,1.4,3.7,3.7,3.7,6.3c0,7.2-10.7,13-32.4,17.9C192.4,49.6,166.8,52.6,135.6,52.6L135.6,52.6z M221.3,72.6
c-22.4,5.1-51,8.6-85.5,8.6c-35.2,0-63.8-3.7-86.2-8.6c-20-5.1-30.7-10.7-34.5-16.5C18.9,81.3,27.6,105,39,126
c8.6,13,17.2,24.5,25.8,36.8c3.7,7.2,6.3,14.4,7.9,21.7c5.6,7.9,13.7,13,23.8,15.8c12.3,4.4,25.1,6.3,38.2,5.6h1.4
c13,0.7,26.8-1.4,39.4-5.6c9.3-3,17.2-7.9,23.1-15.8h0.7c1.4-7.2,3.7-14.4,7.2-21.7c8.6-12.3,17.2-23.8,25.8-36.8
c11.4-20.7,19.3-44.5,23.8-69.9C251.3,62.6,240.6,68.2,221.3,72.6L221.3,72.6z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@@ -1,6 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 85.3 595.3 671.2" enable-background="new 0 85.3 595.3 671.2" xml:space="preserve">
<path fill="#33A9DC" d="M0,85.3l50.1,602.9l247.5,68.3l243-66.8l54.7-604.4H0z M476.8,281.2l-177.7,75.9h171.6L451,585l-151.9,42.5
l-151.9-45.6l-10.6-112.4h75.9l4.6,62.3l80.5,19.7l86.6-25.8l4.6-95.7l-258.2-1.5l-4.6-69.9l179.2-75.9H118.4l-9.1-74.4h373.6
L476.8,281.2z"/>
</svg>

Before

Width:  |  Height:  |  Size: 505 B

@@ -1,13 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="131 284 324.9 276.5"
enable-background="new 131 284 324.9 276.5" xml:space="preserve">
<title>eye-fill 12 copy 10</title>
<desc>Created with Sketch.</desc>
<g sketch:type="MSPage">
<g sketch:type="MSShapeGroup">
<path fill="#CCCCCC" d="M217.5,314c0.1,0,0.2,0.1,0.3,0.1l32.9,35.2c7.8,9.9,19.6,15.6,32.3,15.6h142.8v165.5H161V314H217.5
M218.8,284h-75.9c-6.6,0-11.9,5.3-11.9,11.9v252.8c0,6.6,5.3,11.9,11.9,11.9h301c6.6,0,11.9-5.3,11.9-11.9V346.9
c0-6.5-5.3-11.9-11.9-11.9H283c-3.7,0-7.2-1.9-9.3-4.9l-34.9-37.4C234.4,288,225.4,284,218.8,284L218.8,284z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 786 B

@@ -1,10 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="131 284 324.9 276.5"
enable-background="new 131 284 324.9 276.5" xml:space="preserve">
<title>eye-fill 12 copy 10</title>
<desc>Created with Sketch.</desc>
<g sketch:type="MSPage">
<path sketch:type="MSShapeGroup" fill="#CCCCCC" d="M131,295.9c0-6.6,5.4-11.9,11.9-11.9h75.9c6.6,0,15.6,3.9,20,8.7l34.9,37.4
c2.1,3.1,5.5,4.9,9.3,4.9H444c6.6,0,11.9,5.4,11.9,11.9v201.8c0,6.6-5.4,11.9-11.9,11.9h-301c-6.6,0-11.9-5.3-11.9-11.9V295.9z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 651 B

@@ -1,7 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="111.6 243.8 373.5 355.7" enable-background="new 111.6 243.8 373.5 355.7" xml:space="preserve">
<path fill="#CCCCCC" d="M230.7,243.8L111.6,599.5h46.1l35.7-111.6H317l37.2,111.6h47.6L275.3,243.8H230.7z M202.4,450.7L236.6,348
c6-22.3,11.9-43.2,17.9-64h1.5c4.5,20.8,10.4,41.7,17.9,65.5l34.2,102.7H202.4V450.7z M436,245.3h-20.8l-47.6,142.9h19.3l14.9-44.6
h49.1l14.9,44.6h19.3L436,245.3z M404.8,327.2l13.4-41.7c3-8.9,4.5-17.9,7.4-25.3l0,0c1.5,8.9,4.5,16.4,7.4,25.3l13.4,41.7H404.8z"
/>
</svg>

Before

Width:  |  Height:  |  Size: 634 B

@@ -1,10 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="2.6 2.6 91.9 91.9" enable-background="new 2.6 2.6 91.9 91.9" xml:space="preserve">
<g>
<path fill="#F05133" d="M92.7,44.4L52.6,4.3c-2.3-2.3-6.1-2.3-8.4,0l-8.3,8.3l10.6,10.6c2.5-0.8,5.3-0.3,7.2,1.7
c2,2,2.5,4.8,1.7,7.3l10.2,10.2c2.5-0.8,5.3-0.3,7.3,1.7c2.8,2.8,2.8,7.2,0,10c-2.8,2.8-7.2,2.8-10,0c-2.1-2.1-2.6-5.1-1.5-7.7
l-9.5-9.5v25c0.7,0.3,1.3,0.8,1.9,1.3c2.8,2.8,2.8,7.2,0,10c-2.8,2.7-7.2,2.7-10,0c-2.8-2.8-2.8-7.2,0-10c0.7-0.7,1.5-1.2,2.3-1.5
V36.4c-0.8-0.3-1.6-0.9-2.3-1.5c-2.1-2.1-2.6-5.1-1.5-7.7L31.8,16.7L4.3,44.2c-2.3,2.3-2.3,6.1,0,8.4l40.1,40.1
c2.3,2.3,6.1,2.3,8.4,0l39.9-39.9C95,50.5,95,46.7,92.7,44.4z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 785 B

@@ -1,8 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="55 162.1 485.3 517.8" enable-background="new 55 162.1 485.3 517.8" xml:space="preserve">
<g>
<path fill="#F16529" d="M443.4,314l5.5-56.8H146.4l15.9,172.8h209.4l-7.4,74.2L297.1,521l-67.4-16.8l-4.3-45.2h-60l8,89.9
l123.7,31.9h1.2l122.5-31.9l17.1-176.3H218l-5.5-58.6H443.4L443.4,314z M57,162.1h481.4l-44.1,465.6L297,679.9l-196.6-52.2
L57,162.1z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 508 B

@@ -1,5 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 123.3 595.3 595.3" enable-background="new 0 123.3 595.3 595.3" xml:space="preserve">
<path fill="#819B3A" d="M0,123.3v595.3h595.3V123.3H0z M74.4,197.7h446.5v223.2l-74.4-74.4l-74.4,74.4l148.8,148.8v74.4h-74.4
L148.8,346.5l-74.4,74.4V197.7z"/>
</svg>

Before

Width:  |  Height:  |  Size: 395 B

@@ -1,58 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="14.8 130.7 565.1 579.6" enable-background="new 14.8 130.7 565.1 579.6" xml:space="preserve">
<path fill="#C1272D" d="M441,449.4c2.5,2.5,3,6.8-0.3,9.1c-7.7,5.2-17.3,4.3-26.2,3.3c-15.2-1.6-33.2-2.2-41.1-16.8l-0.6-0.4
c-10-5.4,6.8-9.2,11.5-9.8c10.7-1.3,21.9,1.3,32.3,3.7C425.8,440.6,434.1,442.8,441,449.4L441,449.4z M579.1,675.1
c-7,5.1-3.9,13.4-9.1,19.5c-4.9,5.7-16.8,5.5-23.5,5.7c-26.9,0.3-53.6-1.9-80.5,0.3c-6.7,0.6-12.8,1.5-19.3,3.1
c-1.9,0.4-5.1,1.6-7.1,0.6c-5.5-2.8-10.4-11.9-17.4-8.9c-6,2.4-10.3,11.2-17.6,5.8c-12.9-9.5-24-0.9-37.5,1.8
c-14,2.8-27.5-5.1-41.5-1c-10.4,3-20.2,6.3-31,2.7c-10.9-3.6-13.7-12.1-4.3-19.8c14.7-12.1,32.7-13.8,51.2-12.5
c27.7,2.2,55.1,0.3,82.7-1c0.7,0,1.3,0.4,1.5,1c11.8,4.8,19.6-4.9,26.2-12.9c0.9-1,2.5-0.6,3.1,0.4c9.8,14.7,22-1.9,34.4-0.7
c3.3,0.3,6.5,1.2,8.3,4.3c0.9,1.3,1,3.3,1.2,4.8c0.6,7.4,10.1,6,9.8-1.8c0-1.2,1.3-2.4,2.5-1.9c9.7,3.9,22.6,9.2,31-1.2
c6.8-8.6,7.9-21.3,8.3-32c1.5-28.6-0.6-57.9-2.5-86.3c-1.8-27.7-4.8-56-1.5-83.6c3.3-27.4,3.3-54.3,2.5-82
c-0.3-14.4-0.7-28.9-0.1-43.3c0.6-13.2,3-27.4,1.3-40.6c-1.3-11.9-8.3-22-10-33.8c-1.5-10.7,0-21.7,2.5-32.1
c1.5-6.5,4.6-14.1,4.5-21c-0.1-5.8-0.6-11.6-0.4-17.4c0.1-2.8-0.4-7.3,1.6-9.7c3.4-4,5.1-9.8-2.7-10.7c-18.6-2.1-37.8-14-55.7-2.7
c0.1,3.9,0.6,8.5-0.4,12.4c0.7,1.2,1.6,2.4,2.7,3.4c4.5,1.9,9.1,2.7,13.8,2.7c5.7,0.1,12.1-1.5,17.6-0.9c4.9,0.6,8.8,4.8,7.1,10.1
c-1,3.9-4.6,7.3-6.7,10.7c-3.6,6-3.1,14.4-3.1,21.1c-0.3,17.1,0,34.4,0.6,51.5c0.4,14.3,1.9,28.6,3,42.9c0.3,0.3,1.2,0.7,1.2,1.2
c0.6,15.9,6,31.8,6.3,47.9c0.1,0.3-4.2,19.8-4.2,19.8c-0.1,20.8-1.9,59.4-1.9,59.4c-0.3,35.6-6.4,70.5-0.1,106
c2.5,14.3-2.8,27.8-3.4,42c-0.7,15.5,1.5,31.1-0.7,46.6c0.4,0.9,0.1,2.1-1.2,2.2c-32.4,6.1-65.3,7.3-98.2,5.4
c-8.2-0.4-18.2-1.2-25.9,1.9c-3.3,1.3-7.4,3.6-11.2,3c-4.8-0.7-7-4.3-11.6-5.2c-5.5-1-11.2-2.2-16.7-3c-14.6-1.9-28.6-2.8-42.4,3.1
c-7.6,3.3-15.5,2.1-23.1-1.2c-8.9-3.7-15.8-8.2-25.6-3.3c-4,1.9-7.6,4-12.1,5.1c-3.7,0.9-7-0.1-10.4-1.3c-7.6-2.8-13.5-3.7-21.6-2.2
c0.9,1,0.3,3.4-1.3,3.4c-48.1-2.5-96.3,3.3-144.4,3.6c-2.1,0.6-3.9,3.1-5.4,3.1h-1.5c-1,0-1.5-4-1.2-4.8c-6.5-7-4.9-30.4-4.6-37.4
c2.1-44.8-3.7-89.4-5.1-134.1c-0.6-22.3-0.6-44.5,3-66.7c4.2-24.9,4.2-48.7,3.6-73.8c-1-49.3,3.7-98.5,2.2-147.8
c0-0.9,0.9-1.2,1.5-0.9c0.1-0.1,0.3-0.3,0.6-0.3c13.2-1.2,27.7-4.9,40.8-1.2c0.3,0.1,0.4,0.3,0.6,0.4l2.1,0.3h14.7
c0.6,0,1,0.3,1.2,0.6c25.9,0.3,51.9-2.1,77.8-3.3c9.1-0.4,18.5,0,27.2-2.8c4.6-1.5,9.8-3.7,14.9-3.4c11.8,0.7,24.1,4.6,35.6,7
c8.2,1.8,13.8-12.4,21.1-7.7c11.2,7,24,4.5,36.6,4.8c6.7,0.1,13.2-1.2,19.9-1.2c3.6,0,6.7,0.9,10.1,1.8c3.4-0.6,6.4-0.1,10,1
c20.1,0.4,40.2-2.2,60.4-1.9c12.2,0.1,25.3,1,36.9-3.4c3-1.2,4.8-2.8,5.7-4.9l-1.3-3c-0.9-1.8-1.8-3.6-3.1-5.1
c-12.8-4.3-28-3-41.4-3.6c-18.8-0.7-36.9,1.6-55.5,3.1c-17.3,1.5-35.1,2.4-52.5,1.2c-10.1-0.7-29.5-5.4-38.1,1.6
c-0.9,0.6-1.6,0.6-2.5,0c-16.7-13.7-38.4,6.7-57.4,1c-11.3-3.4-22.2-5.5-34.1-4.3c-11.8,1.2-22.8,2.8-34.7,2.7
c-25.6-0.1-51.3,1.5-76.9,0.6c-5.5-0.1-11-0.3-16.5-0.9c-4.5-0.6-10.6-2.7-15-1c-7,2.7-8.5,5.1-7.9,7c1.9,1.3-4.8,10.4-4.9,14.9
c-0.1,4-0.4,7.9-0.4,11.8c-0.3,17.4-1.5,33.5-5.4,50.4c-2.1,9.1-6.4,21.7-3.1,30.8c2.1,5.8,6.5,9.8,9.1,15.3
c4.5,9.5,4.8,21.4,4.3,31.7c-1.5,33.8-1.5,67.7-2.7,101.5c-1.2,33.9-3.3,67.9-2.1,101.8c1,31.4,6.1,63.5,1.9,94.8
c-1.3,10.4-13.7,28.9-1.8,36c6.7,4,15,5.1,22.6,5.5c19.2,1,38.5-0.9,57.6-3c7-0.7,14.1-2.2,21.1-2.4c5.5-0.1,10.4,0.4,15.6,2.4
c4.5,1.6,11.3,4.8,16.8,4.8c0.3,0.3,8.5-0.3,9.1-2.7c7.1-3,13.2-5.5,22.5-3.6c8.6,1.8,16.8,2.8,25.7,1c4.8-0.9,11.9-1.3,16.7-0.1
c0.4,0.1,1.6,1.5,2.1,1.3c1.9-0.7-1.2,2.4-3,3.1c-10.7,4.3-7.3,18-8.6,27.1c-0.1,0.7-1,1.2-1.8,1.2c-4.3,0-10.1,0-12.4-4.5
c-4.9-9.4-17-15.5-17,3.6c0,1-0.9,1.6-1.6,1.6c-0.9,0-1.6-0.6-1.6-1.6s-12.5-7.7-14-8.6c-6.1-3.4-13.4-7.3-20.5-4.9
c-4.5,1.5-8.3,4-12.4,6c-7.6,9.4-15.5,19.3-26.9,13.2c-2.2-1.2-11.8-9.4-13.4-7.4c-2.7,3-5.5,5.5-9.2,7c-10.1,4-21,3.3-31.7,3.3
c-0.7,0-1.5-0.6-1.6-1.3c-0.6-4.3-3-12.8-8.8-7.6l-3.9,3.6c-1.8,1.5-3.6,3.4-5.8,4.3c-7.1,2.8-28.7-0.9-31.7-6
c-2.1-3.7-3.1-7.6-3.9-11.8c-1.8-10.4-0.6-21.7-1-32.4c-0.9-26.8-2.8-53-5.2-79.6c-1.2-13.7-2.2-27.5-1.2-41.2
c0.6-8.8,0.9-21,5.2-28.9c3.7-6.7,1-11.5-3.7-16.5c-1.2-1.3-1.6-4-1.8-5.7c-0.7-10,0.9-20.2,1.5-30.2c0.4-7.3,1.5-14.6,1.8-22
c0.1-5.7-1.2-11-1.6-16.5c-0.1-2.7-0.4-5.8,1.2-8.2c3.4-4.8,2.7-7.3,0.9-12.6c-3.7-10.6,0-23.1,0.7-33.8c0.7-12.8,1.3-25.6,0-38.4
c-1.5-14.1-4.2-28-3.3-42.3c0.7-12.8,1.8-24.7,2.4-37.7c1-23.1,1.2-46.7,0.6-69.8c0,1.3,0,5.5-0.1,5.5c0,0-2.1-29.6,10.6-36.8
c19-9.4,42.1-7.4,62.7-8.5c26.9-1.2,53.6,1.5,80.5,1.5c15.5,0,31-0.4,46.1-3.7c10.7-2.4,21.3-3.6,32.3-2.8c13.1,0.9,25.9,4.2,39,5.4
c12.9,1.2,25.7,0.6,38.7-0.4c28.1-1.9,56.4-1.2,84.7,0l43.9,1.9c6.7,0.3,14.7,1.9,21.3,0.1l12.5-4.3c9.2-2.4,15.6-0.1,24.6,1.9
c11,2.7,22.2,5.1,33.2,7.9c3.7-0.9,7.3-1,10.3,1.8c6.1,5.7,0.1,12.6,4.8,19c5.5,7.7,10.4,12.4,11.5,22.3c1,10.6,1.8,21.6-1.6,31.7
c-2.2,6.8-5.4,14.3-2.5,21.3c1.8,4.5,4.8,8.9,5.8,13.5c2.2,10.1,2.2,20.4,1.6,30.7c-0.6,11.9-1,23.8-2.5,35.7
c-0.9,7.4-3.9,14.9-4.2,22.5c-0.1,6.3,1.8,11.3,3,17.3c3.9,19.5-12.9,31.5-16.1,49.4c-1.6,9.5,9.4,5.5,14,11c3,3.6,1.5,9.8,1,14
c-1,10.4,1.9,20.7,1.5,31c-0.7,12.8-4.5,23.7-1.3,36.6c1.8,7.3,3.1,14.6,1.5,21.9c-1.6,7.1-10.1,25.7,1,29c0.4,0.1,0.7,0.6,0.7,1
c0,3.3-0.6,5.7-2.1,8.8c-5.1,11.2,2.7,9.1,4.2,16.4c1.3,6.7-2.7,9.2-3.6,15.5c-1.6,10.1,3.6,18.2,3.4,28c-0.1,9.2-5.4,14.4-3.6,22.8
c0.6,0,1,0.4,1.2,1.2c0.9,4.6,1.3,9.5-0.3,14.1c-2.2,6.5-4.9,8,2.4,12.1C580.4,672.9,580.1,674.4,579.1,675.1L579.1,675.1z
M455.4,361.3c-4.6-27.7-7.1-56.4-16.4-83c-3.9-11.2-6-23.2-18.9-25.3c-16.8-2.8-11.2,11.3-9.1,24.7c3.4,21,4.8,42,10.1,62.5
c3.7,14.1,10.9,31.1-8,19.9c-31.8-18.8-42.7-60.7-55.5-92c-5.8-14-22.3-48.1-33.5-56.4c-5.4-4-32.3-10-37.4-6.5
c-11.2,7.6,23.1,60.7,27.8,70.2c10.4,21.1,21.6,42.3,35,61.6c9.5,13.7,24.9,26,3.3,34.2c-22.3,8.5-33-3.9-48.4-15.5
c-12.1-9.2-27.4-10.3-42.6-12.2c-41.4-5.2-81.1-0.3-114.4,27.2c-16.2,13.4-26.2,32-34.7,50.9c-2.2,4.8-16.1,46.6-14.1,46.9
c-8.3-1.3-3.6-21-14.3-9.5c-9.5,10.3,2.7,39.6,7,49.7c9.7,22.8,19.8,45.1,27.4,68.6c7.7,23.7,9.2,23.1,31.3,25
c27.7,2.5,54.8-6,82-9.4c0,0-48.4-29.9,47.2,2.8c21.1,7.3,43.8,5.4,65.9,6.3c15.9-3.7,16.2-31,24.6-43.8
c3.1-4.8,18.3-28.9,23.2-30.8c6.8-2.7,16.7,4.5,23.4,5.5c39.9,6.3,52.1-26.5,45.8-58.5c-5.5-28.1-2.2-58.9,1.8-80.8
C465.2,386.1,456.7,368.9,455.4,361.3L455.4,361.3z M277.7,701c-4.3-4-10.9-5.1-15-9.2c-2.4-2.4-3-5.2-2.5-7.9l-0.3-0.3
c-3-5.5,4-10.4,9.1-8.3c2.5,1,6.5,2.8,6.8,6c0.4,3.9-2.4,6.7-3.1,10.3c2.7,1.6,5.7,5.5,7.1,7.7C281,700.7,278.9,702.1,277.7,701
L277.7,701z"/>
</svg>

Before

Width:  |  Height:  |  Size: 6.5 KiB

@@ -1,13 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 258.3 595.3 448.4" enable-background="new 0 258.3 595.3 448.4" xml:space="preserve">
<g id="Layer_1">
<g>
<path fill="#F0DB4F" d="M130.5,265.4h97.9v274.4c0,123.7-59.3,166.8-153.9,166.8c-23.1,0-52.8-3.8-72.2-10.3l10.9-79.2
c13.5,4.5,30.9,7.7,50.2,7.7c41.3,0,67-18.7,67-85.7V265.4H130.5z"/>
<path fill="#F0DB4F" d="M313.3,599.1c25.8,13.5,67,27.1,108.8,27.1c45.1,0,68.9-18.7,68.9-47.7c0-26.4-20.6-42.6-72.8-60.6
c-72.2-25.8-119.8-65.7-119.8-129.5c0-74.1,62.4-130.1,164.3-130.1c49.6,0,85,9.7,110.8,21.9l-22,78.7
c-16.7-8.4-48.4-20.6-90.2-20.6c-42.6,0-63.1,20-63.1,41.9c0,27.7,23.8,39.9,80.6,61.9C555.5,470.4,591,510.2,591,572.1
c0,72.8-55.3,134.6-174.5,134.6c-49.6,0-98.6-13.5-123-27.1L313.3,599.1z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 886 B

@@ -1,20 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0.3 23.2 595 795.6" enable-background="new 0.3 23.2 595 795.6" xml:space="preserve">
<g transform="matrix( 1, 0, 0, 1, 0,0) ">
<g>
<g id="a">
<path fill="#F0DB4F" d="M243.1,110.3V23.2h-57.8c-29.6,0-52.8,12.8-69.5,38.3c-18.1,27.8-27.1,67.4-27.1,118.7v59.4
c0,46.6-5.1,80.3-15.3,101c-11.5,21-31.4,31.6-59.7,31.6H0.3v97.7h13.4c28.3,0,48.2,10.5,59.7,31.6
c10.2,18.5,15.3,51.1,15.3,97.7v62.7c0,51.1,9,89.5,27.1,115.3c16.8,27.8,39.9,41.7,69.5,41.7h57.8v-90.9l-48.3-3.4
c-7.6-2.2-14-6.9-19.3-13.9c-5.2-7-9-17.5-11.4-31.6c-2.6-13.8-3.9-31.1-3.9-52.2v-45.5c0-39.6-5.8-72.1-17.3-97.7
c-12.8-25.5-29.5-45.3-49.9-59.4v-10.5c20.5-11.5,37.1-30,49.9-55.6c11.5-28.1,17.3-60.8,17.3-98.1v-48.8
c0-20.8,1.3-38.2,3.9-52.2c2.4-11.5,6.2-22,11.4-31.6c5.2-4.5,11.6-9.1,19.3-13.9L243.1,110.3 M595.3,372.1h-15.3
c-27.2,0-46.6-10.5-58.1-31.6c-11.5-20.8-17.3-54.4-17.3-101v-59.4c0-51.4-8.3-90.9-24.8-118.7c-16.8-25.5-39.9-38.3-69.5-38.3
h-59.7v87.1l50.3,3.4c6.3,4.8,12.1,9.4,17.3,13.9c5,9.5,8.8,20.1,11.4,31.6c2.6,14,3.9,31.4,3.9,52.2v48.8
c0,37.3,6.4,70,19.3,98.1c11.5,25.5,27.6,44.1,48.3,55.6v10.5c-20.7,14-36.8,33.8-48.3,59.4c-12.8,25.5-19.3,58.1-19.3,97.7v45.5
c0,21-1.3,38.4-3.9,52.2c-2.6,14-6.4,24.6-11.4,31.6c-5.2,7-11,11.6-17.3,13.9l-50.3,3.4v90.9h59.7c29.6,0,52.8-13.9,69.5-41.7
c16.5-25.8,24.8-64.3,24.8-115.3V599c0-46.6,5.8-79.1,17.3-97.7c11.5-21,30.9-31.6,58.1-31.6h15.3V372.1z"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

@@ -1,30 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 422.1 199.7" enable-background="new 0 0 422.1 199.7" xml:space="preserve">
<path fill="#20426E" d="M0,109.2c0-6.3,0-12.2,0-17.5c4.4-2.1,8.9-3.3,12.2-6c5.4-4.4,6.2-11.1,6.2-17.8c0.1-11.5-0.1-23,0.3-34.5
C19.5,12.7,29.3,2.6,50.1,0.8c3.6-0.3,7.3-0.7,10.9-0.8C71.2,0,81.3,0,92.3,0c0,2.1,0,4,0,5.9c0,40.1,0,80.3,0,120.4
c0,10.2,3.2,14,13.1,16.4c0.8,0.2,1.6,0.3,3.2,0.6c-1.1,6.6-2.2,13-3.3,19.9c-9.1-0.4-17.6-1-25.3-5.5C69.5,151.4,68,141,67.9,130.3
C67.7,95.7,67.8,61,67.8,26.4c0-2,0-4,0-7.3c-6.4,0.7-12.6,0.7-18.4,2.3c-5.8,1.5-7.9,6.9-8.1,12.5c-0.3,10.3-0.1,20.7-0.3,31
c-0.1,5-0.3,10-1,14.9c-1.2,8.3-5.4,14.9-13.2,19.9c14.1,9.1,14.2,22.9,14.3,36.7c0.1,8.8-0.1,17.7,0.1,26.5
c0.3,11.9,4.9,16.5,16.7,17.1c1.3,0.1,2.6,0.2,4.2,0.4c0,6.3,0,12.4,0,19c-11.1-0.4-22-0.6-31.6-7c-8.4-5.6-11.2-14.3-11.6-23.7
c-0.5-11.6-0.3-23.3-0.5-35c0-2.3-0.1-4.7-0.4-7C16.7,115.7,11.6,110.7,0,109.2z"/>
<path fill="#20426E" d="M195.3,138.1c1.1,6,2.2,11.5,2.9,17.1c0.1,1.1-1.3,3.1-2.4,3.5c-19.7,6.1-39.4,8.2-59-0.1
c-10.6-4.5-18.3-12.3-22.6-22.9c-7.6-18.9-7.9-38.1,0.8-56.7c11.5-24.7,41.5-35,66.1-23.1c13.8,6.7,20.7,18.5,23.1,33
c1.4,8.3,1.3,16.8,1.9,26c-24.4,0-47.8,0-71.1,0c-1.8,12.7,8.2,24.6,21.9,27.1C169.7,144.4,182.2,142.1,195.3,138.1z M180.9,96.8
c0.3-15.6-8.6-25.3-22.4-25.3c-13.2,0.1-24,11.4-23.7,25.3C150,96.8,165.3,96.8,180.9,96.8z"/>
<path fill="#20426E" d="M359.9,199.7c0-6.8,0-12.7,0-19.1c3.1-0.4,6.2-0.7,9.2-1.4c8-1.8,11.4-5.7,11.6-13.9
c0.3-10.5-0.1-21,0.3-31.5c0.2-6.1,0.3-12.6,2.2-18.2c2.1-5.8,6.4-10.9,9.7-16.3c0.4,0.2,0.8,0.5,1.2,0.7c-0.1-0.3,0-0.8-0.2-0.9
C383,91.5,381.2,80,381,67.9c-0.2-9.7,0-19.3-0.1-29c-0.1-14.5-4.1-18.6-18.5-19.4c-0.7,0-1.3-0.2-2.3-0.3c0-6.3,0-12.5,0-19.1
c10.4,0.2,20.4,0.6,29.6,5.7c10,5.6,13.1,15.2,13.6,25.7c0.5,11.8,0.2,23.6,0.5,35.5c0.1,3.5,0.3,7,1.2,10.4
c2.3,8.6,8.4,12.8,17.2,13.2c0,6.4,0,12.4,0,18.3c-14,3.3-18.3,8.8-18.4,23.4c-0.1,11.8,0.1,23.7-0.4,35.5
c-0.7,18.4-10.6,28.7-29,30.8C369.8,199,365.1,199.3,359.9,199.7z"/>
<path fill="#20426E" d="M279.2,75.6c-10.7-3.7-21.2-6-32.2-3.9c-4.9,0.9-9.3,3-10.4,8.7c-0.9,4.5,1.5,8.8,6.5,11.8
c1.7,1,3.5,1.9,5.3,2.7c3.4,1.4,6.8,2.6,10.2,4c4.4,1.9,8.9,3.7,13.2,5.9c15.9,8.4,18.9,19.5,16,35.6c-2.5,14.1-13.9,19.7-26.7,22
c-15.6,2.7-31.1,2.1-46.4-2.8c-3.7-1.2-4.7-2.8-3.8-6.5c1.2-4.8,2.1-9.7,3.3-15.1c4,1.2,7.7,2.3,11.5,3.3c9.6,2.6,19.3,3.6,29.1,1.7
c4.5-0.9,8.2-2.7,9.3-7.7c1.1-5.1-1-9.1-5.2-11.5c-5.5-3.1-11.4-5.4-17.1-8.1c-5.6-2.6-11.3-4.9-16.6-8c-17.9-10.2-17.6-41,2.3-51.1
c8.8-4.4,18-6.1,27.6-5.4c8.2,0.6,16.4,2.4,24.6,3.8c2.8,0.5,3.9,1.7,3,4.8C281.4,64.9,280.4,70.2,279.2,75.6z"/>
<path fill="#20426E" d="M364.6,55.4c-1.7,7.4-3.1,13.5-4.4,19.4c-7-1.3-13.7-3-20.6-3.6c-4.7-0.4-9.6,0.3-14.3,1.2
c-4.2,0.8-7.2,3.5-7.9,8c-0.7,4.8,1.3,8.6,5.4,10.9c3.7,2.1,7.7,3.8,11.7,5.6c5.6,2.5,11.5,4.5,17,7.2c14.5,7.3,19.7,17.4,17.8,33.9
c-1.3,11.6-9.7,20.2-24,23.5c-18.2,4.1-36.2,3.1-54.3-3.8c1.4-6.7,2.7-13.1,4-19.4c7.7,1.7,14.8,4,22.2,4.8
c6.4,0.7,12.9,0.2,19.3-0.5c4.1-0.4,7.5-2.7,8.4-7.3c0.9-4.6-0.3-8.6-4.2-10.9c-5.1-3.1-10.6-5.4-16-8c-6.3-3-12.8-5.6-18.8-9
c-17.5-10-17.2-40.4,2-50.5c9.5-5,19.6-6.5,30-5.7C346.8,52,355.6,54,364.6,55.4z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

@@ -1,15 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 208 128" enable-background="new 0 0 208 128" xml:space="preserve">
<defs>
<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="208" height="128">
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
</filter>
</defs>
<mask maskUnits="userSpaceOnUse" x="0" y="0" width="208" height="128" id="mask">
<rect fill="#FFFFFF" filter="url(#Adobe_OpacityMaskFilter)" width="208" height="128"/>
<path d="M30,98V30h20l20,25l20-25h20v68H90V59L70,84L50,59v39H30z"/>
<path d="M155,98l-30-33h20V30h20v35h20L155,98z"/>
</mask>
<path mask="url(#mask)" fill="#CCCCCC" d="M15,0h178c8.3,0,15,6.7,15,15v98c0,8.3-6.7,15-15,15H15c-8.3,0-15-6.7-15-15V15
C0,6.7,6.7,0,15,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 887 B

@@ -1,18 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 192 96"
enable-background="new 0 0 192 96" xml:space="preserve">
<g transform="translate(-44.63166,-445.54704)">
<g transform="matrix(2,0,0,2,-140.15749,-493.22304)">
<path fill="#666797" d="M100,479.5h14.2c4.2,0,7.2,1.2,9.1,3.6c1.9,2.4,2.5,5.6,1.9,9.7c-0.2,1.9-0.8,3.7-1.6,5.5
c-0.8,1.8-1.9,3.4-3.4,4.9c-1.8,1.8-3.7,3-5.7,3.5c-2,0.5-4.1,0.7-6.3,0.7h-6.4l-2,10.1h-7.4L100,479.5L100,479.5 M106.2,485.5
l-3.2,15.9c0.2,0,0.4,0.1,0.6,0.1c0.2,0,0.5,0,0.7,0c3.4,0,6.2-0.3,8.5-1c2.3-0.7,3.8-3.3,4.6-7.7c0.6-3.7,0-5.8-1.9-6.4
c-1.9-0.6-4.2-0.8-7-0.8c-0.4,0-0.8,0.1-1.2,0.1C106.9,485.6,106.5,485.6,106.2,485.5L106.2,485.5"/>
<path fill="#666797" d="M133.5,469.4h7.3l-2.1,10.1h6.6c3.6,0.1,6.3,0.8,8.1,2.2c1.8,1.4,2.3,4.1,1.6,8.1l-3.6,17.6H144l3.4-16.9
c0.4-1.8,0.2-3-0.3-3.8c-0.6-0.7-1.8-1.1-3.7-1.1l-5.9-0.1l-4.3,21.8h-7.3L133.5,469.4L133.5,469.4"/>
<path fill="#666797" d="M162.8,479.5H177c4.2,0,7.2,1.2,9.1,3.6c1.9,2.4,2.5,5.6,1.9,9.7c-0.2,1.9-0.8,3.7-1.6,5.5
c-0.8,1.8-1.9,3.4-3.4,4.9c-1.8,1.8-3.7,3-5.7,3.5c-2,0.5-4.1,0.7-6.3,0.7h-6.4l-2,10.1h-7.4L162.8,479.5L162.8,479.5 M169,485.5
l-3.2,15.9c0.2,0,0.4,0.1,0.6,0.1c0.2,0,0.5,0,0.7,0c3.4,0,6.2-0.3,8.5-1c2.3-0.7,3.8-3.3,4.6-7.7c0.6-3.7,0-5.8-1.9-6.4
c-1.9-0.6-4.2-0.8-7-0.8c-0.4,0-0.8,0.1-1.2,0.1C169.7,485.6,169.3,485.6,169,485.5L169,485.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

@@ -1,18 +0,0 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 222.3 138" enable-background="new 0 0 222.3 138" xml:space="preserve">
<path fill="#A96454" d="M65.2,4.6c-4.5,0-35.4,7.1-45.1,18.4S0,46.4,0,46.4s17.2,14.1,20.1,20.9s5.4,13.3,6.8,16
c1.4,2.7,7.2,2.7,7.2,2.7s1.2-31.4,5.2-47.2C43.7,21.8,51.8,12.3,65.2,4.6z"/>
<path fill="#A96454" d="M131.5,124.6c0-26.6-18.2-32.5-18.2-32.5s0-3.9,0-13.7c5.8-1.6,7.8-7.5,7.8-7.5s-3.7,3.2-9.7,3.2
s-9.7-3.2-9.7-3.2s2,5.9,7.8,7.5c0,9.7,0,13.7,0,13.7S91.1,98,91.1,124.6c0-20.9,15.9-28.5,20.2-28.5S131.5,103.7,131.5,124.6z"/>
<path fill="#A96454" d="M157.1,4.6c4.5,0,35.4,7.1,45.1,18.4s20.1,23.4,20.1,23.4s-17.2,14.1-20.1,20.9s-5.4,13.3-6.8,16
c-1.4,2.7-7.2,2.7-7.2,2.7s-1.2-31.4-5.2-47.2C178.7,21.8,170.5,12.3,157.1,4.6z"/>
<path fill="#A96454" d="M179.7,40.1c-3.6-17.2-8-21.9-20-30.8c-11.9-8.8-33-9.3-48.6-9.3S74.4,0.5,62.6,9.3
c-12,8.9-16.4,13.5-20,30.8c-3.6,17.2-5.4,26.7-5.4,36.7c0,10,2,14.5,4.5,18.3c2.5,3.7,7.2,4.1,8.6,12.6c1.4,8.6,5.3,13.6,8.1,15.3
c2.8,1.7,19.7,15,52.8,15s50-13.3,52.8-15c2.8-1.8,6.8-6.8,8.1-15.3c1.4-8.6,6-8.9,8.6-12.6c2.5-3.7,4.5-8.2,4.5-18.3
C185.1,66.8,183.3,57.3,179.7,40.1C176.1,22.9,183.3,57.3,179.7,40.1z M49.7,54.7c0-8.4,6.8-15.2,15.2-15.2s15.2,6.8,15.2,15.2
c0,2.1-0.4,4.2-1.2,6l-10.2,8.7c-1.2,0.3-2.4,0.5-3.7,0.5C56.5,69.9,49.7,63.1,49.7,54.7z M150.6,125.2c-8.6,7-30.9,8.9-39.4,9
c-8.5-0.1-30.8-2-39.4-9c-8.8-7.1-8.9-22.1-7.2-32.9c1.7-10.8,16.1-29.3,32.1-31.1c0.7-6.2,8.8-8.4,14.5-8.4s13.8,2.2,14.5,8.4
c16,1.8,30.4,20.3,32.1,31.1C159.5,103.2,159.4,118.1,150.6,125.2z M157.4,69.9c-1.3,0-2.5-0.2-3.7-0.5l-10.2-8.7
c-0.8-1.8-1.2-3.9-1.2-6c0-8.4,6.8-15.2,15.2-15.2s15.2,6.8,15.2,15.2S165.8,69.9,157.4,69.9z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

@@ -1,8 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 4.3 8.3" enable-background="new 0 0 4.3 8.3" xml:space="preserve">
<g>
<path fill="#A0A09F" d="M1.1,5.6l0-0.3c0-0.6,0.2-1.2,0.7-1.9C2.2,3,2.5,2.6,2.5,2.2c0-0.4-0.3-0.7-0.9-0.7c-0.4,0-0.9,0.1-1.2,0.4
L0,0.5C0.4,0.2,1.2,0,2,0c1.6,0,2.3,0.9,2.3,1.9c0,0.9-0.6,1.5-1,2c-0.4,0.5-0.6,1-0.6,1.5v0.2H1.1z M0.8,7.3
c0-0.6,0.4-1.1,1.1-1.1c0.6,0,1.1,0.5,1.1,1.1c0,0.6-0.4,1.1-1.1,1.1C1.2,8.3,0.8,7.9,0.8,7.3z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 567 B

@@ -1,28 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-0.1 0.2 512 383.7" enable-background="new -0.1 0.2 512 383.7" xml:space="preserve">
<path fill="#CF649A" d="M440.6,220.6c-17.9,0.1-33.4,4.4-46.4,10.8c-4.8-9.5-9.6-17.8-10.4-24c-0.9-7.2-2-11.6-0.9-20.2
s6.1-20.8,6.1-21.8c-0.1-0.9-1.1-5.3-11.4-5.4c-10.3-0.1-19.2,2-20.2,4.7s-3,8.9-4.3,15.3c-1.8,9.4-20.6,42.7-31.3,60.2
c-3.5-6.8-6.5-12.8-7.1-17.6c-0.9-7.2-2-11.6-0.9-20.2s6.1-20.8,6.1-21.8c-0.1-0.9-1.1-5.3-11.4-5.4c-10.3-0.1-19.2,2-20.2,4.7
s-2.1,9.1-4.3,15.3c-2.1,6.2-27.1,61.8-33.6,76.3c-3.3,7.4-6.2,13.3-8.3,17.3s-0.1,0.3-0.3,0.7c-1.8,3.4-2.8,5.3-2.8,5.3v0.1
c-1.4,2.5-2.9,4.9-3.6,4.9c-0.5,0-1.5-6.7,0.2-15.9c3.7-19.3,12.7-49.4,12.6-50.5c0-0.5,1.7-5.8-5.8-8.5c-7.3-2.7-9.9,1.8-10.5,1.8
s-1.1,1.6-1.1,1.6s8.1-33.9-15.5-33.9c-14.8,0-35.2,16.1-45.3,30.8c-6.4,3.5-20,10.9-34.4,18.8c-5.5,3-11.2,6.2-16.6,9.1l-1.1-1.2
c-28.6-30.5-81.5-52.1-79.3-93.1c0.8-14.9,6-54.2,101.6-101.8c78.3-39,141-28.3,151.9-4.5c15.5,34-33.5,97.2-114.9,106.3
c-31,3.5-47.3-8.5-51.4-13c-4.3-4.7-4.9-4.9-6.5-4c-2.6,1.4-1,5.6,0,8.1c2.4,6.3,12.4,17.5,29.4,23.1c14.9,4.9,51.3,7.6,95.3-9.4
c49.3-19.1,87.8-72.1,76.5-116.4c-11.5-45.1-86.3-59.9-157-34.8C121.4,27.4,75.8,50.8,43,81.5C4,117.9-2.2,149.7,0.4,162.9
c9.1,47.1,74,77.8,100,100.5c-1.3,0.7-2.5,1.4-3.6,2c-13,6.4-62.5,32.3-74.9,59.7c-14,31,2.2,53.3,13,56.3
c33.4,9.3,67.6-7.4,86.1-34.9c18.4-27.5,16.2-63.2,7.7-79.5l-0.3-0.6l10.2-6c6.6-3.9,13.1-7.5,18.8-10.6c-3.2,8.7-5.5,19-6.7,34
c-1.4,17.6,5.8,40.4,15.3,49.4c4.2,3.9,9.2,4,12.3,4c11,0,16-9.1,21.5-20c6.8-13.3,12.8-28.7,12.8-28.7s-7.5,41.7,13,41.7
c7.5,0,15-9.7,18.4-14.7v0.1c0,0,0.2-0.3,0.6-1c0.8-1.2,1.2-1.9,1.2-1.9v-0.2c3-5.2,9.7-17.1,19.7-36.8
c12.9-25.4,25.3-57.2,25.3-57.2s1.2,7.8,4.9,20.6c2.2,7.6,7,15.9,10.7,24c-3,4.2-4.8,6.6-4.8,6.6l0.1,0.1c-2.4,3.2-5.1,6.6-7.9,10
c-10.2,12.2-22.4,26.1-24,30.1c-1.9,4.7-1.5,8.2,2.2,11c2.7,2,7.5,2.4,12.6,2c9.2-0.6,15.6-2.9,18.8-4.3c5-1.8,10.7-4.5,16.2-8.5
c10-7.4,16.1-17.9,15.5-31.9c-0.3-7.7-2.8-15.3-5.9-22.5c0.9-1.3,1.8-2.6,2.7-4c15.8-23.1,28-48.5,28-48.5s1.2,7.8,4.9,20.6
c1.9,6.5,5.7,13.6,9.1,20.6c-14.8,12.1-24.1,26.1-27.3,35.3c-5.9,17-1.3,24.7,7.4,26.5c3.9,0.8,9.5-1,13.7-2.8
c5.2-1.7,11.5-4.6,17.3-8.9c10-7.4,19.6-17.7,19.1-31.6c-0.3-6.4-2-12.7-4.3-18.7c12.6-5.2,28.9-8.2,49.6-5.7
c44.5,5.2,53.3,33,51.6,44.6c-1.7,11.6-11,18-14.1,20c-3.1,1.9-4.1,2.6-3.8,4c0.4,2.1,1.8,2,4.5,1.6c3.7-0.6,23.4-9.5,24.2-30.9
C513,250.3,486.9,220.3,440.6,220.6L440.6,220.6z M97.4,336.3c-14.7,16.1-35.4,22.2-44.2,17c-9.5-5.5-5.8-29.2,12.3-46.3
c11-10.4,25.3-20,34.7-25.9c2.1-1.3,5.3-3.2,9.1-5.5c0.6-0.4,1-0.6,1-0.6c0.7-0.4,1.5-0.9,2.3-1.4C119.3,298,112.9,319.4,97.4,336.3
L97.4,336.3z M204.9,263.2c-5.1,12.5-15.9,44.6-22.4,42.8c-5.6-1.5-9-25.8-1.1-49.8c4-12.1,12.5-26.5,17.5-32.1
c8.1-9,16.9-12,19.1-8.3C220.6,220.6,208.1,255.4,204.9,263.2z M293.6,305.6c-2.2,1.1-4.2,1.9-5.1,1.3c-0.7-0.4,0.9-1.9,0.9-1.9
s11.1-11.9,15.5-17.4c2.5-3.2,5.5-6.9,8.7-11.1v1.2C313.6,292.1,299.8,301.7,293.6,305.6z M362,290c-1.6-1.2-1.4-4.9,4-16.5
c2.1-4.6,6.9-12.3,15.2-19.6c1,3,1.6,5.9,1.5,8.6C382.6,280.5,369.8,287.2,362,290z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

@@ -1,13 +0,0 @@
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="373.1 216 149.4 176.3" enable-background="new 373.1 216 149.4 176.3" xml:space="preserve">
<g>
<path fill="#E48E00" d="M447.8,392.3c41.9,0,74.7-15,74.7-34.1v-21.5c0-3.1-0.9-6.2-2.7-9.2l-0.1-0.1c1.7-2.9,2.7-6,2.7-9.2v-21.5
c0-3.1-0.9-6.2-2.7-9.2l-0.2-0.4c1.8-3,2.9-6.2,2.9-9.5V256c0-2.9-0.8-5.9-2.4-8.8l-0.2-0.3c0.5-1.3,0.8-2.6,0.8-4.1
c0-17.4-37.6-26.8-72.9-26.8c-35.3,0-72.9,9.4-72.9,26.8c0,1.4,0.3,2.8,0.8,4.1l-0.2,0.3c-1.6,2.9-2.4,5.9-2.4,8.8v21.5
c0,3.3,1,6.5,2.9,9.5l-0.2,0.4c-1.8,3.1-2.6,6.2-2.6,9.2v21.5c0,3.2,1,6.3,2.7,9.2l-0.1,0.1c-1.8,3-2.6,6.2-2.6,9.2v21.5
C373.1,377.3,405.9,392.3,447.8,392.3z M381.1,259.6c12,10.2,39.8,15.4,66.7,15.4c26.9,0,54.7-5.3,66.7-15.4v17.9
c0,12.3-27.4,26.1-66.7,26.1c-39.3,0-66.7-13.8-66.7-26.1V259.6z M381.1,297.9c12.3,11.2,37.5,18.4,66.7,18.4
c29.2,0,54.5-7.2,66.7-18.4v20.2c0,12.3-27.4,26.1-66.7,26.1c-39.3,0-66.7-13.8-66.7-26.1V297.9z M381.1,338
c12.3,11.2,37.5,18.4,66.7,18.4c29.2,0,54.5-7.2,66.7-18.4v20.2c0,12.3-27.4,26.1-66.7,26.1c-39.3,0-66.7-13.7-66.7-26.1V338z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

@@ -1,21 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="38.8 33.4 138.5 141.4" enable-background="new 38.8 33.4 138.5 141.4" xml:space="preserve">
<g>
<path fill="#B3D107" d="M170.8,33.4c1.6,0,3,0.4,4,1.2c1,0.8,1.7,1.9,2.1,3.3c0.4,1.4,0.4,2.9,0.2,4.7c-0.3,1.8-0.9,3.5-1.9,5.2
c-0.2,0.2-0.5,0.2-0.8,0c-0.3-0.2-0.5-0.5-0.7-0.8c0.2-1.3-0.2-2.4-1.4-3.3c-1.1-0.9-2.9-1.3-5.3-1.3c-4.5,0-9,1.7-13.5,5
c-4.5,3.3-8.9,7.7-13.2,13.2c-4.3,5.5-8.3,11.8-12,18.9c-3.7,7.1-6.9,14.4-9.7,22c-2.7,7.5-4.9,15-6.5,22.5
c-1.6,7.4-2.4,14.2-2.4,20.3c0,3.3,0.9,4.9,2.8,4.9c1.3,0,2.6-0.5,3.9-1.6c1.3-1.1,2.7-2.7,4.3-4.9c0.3-0.2,0.6-0.2,0.9,0.1
c0.3,0.3,0.4,0.6,0.2,1.1c-2.2,3.3-4.8,6-7.7,8.2c-2.9,2.2-5.6,3.3-8,3.3c-2.1,0-3.5-0.6-4.3-1.8c-0.8-1.2-1.2-2.7-1.2-4.6
c0-5.1,1.1-11.6,3.3-19.3c2.2-7.7,5.1-15.8,8.8-24.4c3.7-8.6,7.9-17.1,12.7-25.7c4.8-8.5,9.8-16.2,15-23
c5.2-6.8,10.4-12.4,15.7-16.6C161.3,35.6,166.2,33.4,170.8,33.4z"/>
</g>
<g>
<path fill="#B3D107" d="M45.3,174.9c-1.6,0-3-0.4-4-1.2c-1-0.8-1.7-1.9-2.1-3.3c-0.4-1.4-0.4-2.9-0.2-4.7c0.3-1.8,0.9-3.5,1.9-5.2
c0.2-0.2,0.5-0.2,0.8,0c0.3,0.2,0.5,0.5,0.7,0.8c-0.2,1.3,0.2,2.4,1.4,3.3c1.1,0.9,2.9,1.3,5.3,1.3c4.5,0,9-1.7,13.5-5
c4.5-3.3,8.9-7.7,13.2-13.2c4.3-5.5,8.3-11.7,12-18.9c3.7-7.1,6.9-14.4,9.7-22c2.7-7.5,4.9-15,6.5-22.5c1.6-7.4,2.4-14.2,2.4-20.3
c0-3.3-0.9-4.9-2.8-4.9c-1.3,0-2.6,0.5-3.9,1.6c-1.3,1.1-2.7,2.7-4.3,4.9c-0.3,0.2-0.6,0.2-0.9-0.1c-0.3-0.3-0.4-0.6-0.2-1.1
c2.2-3.3,4.8-6,7.7-8.2c2.9-2.2,5.6-3.3,8-3.3c2.1,0,3.5,0.6,4.3,1.8s1.2,2.7,1.2,4.6c0,5.1-1.1,11.6-3.3,19.3
c-2.2,7.7-5.1,15.8-8.8,24.4c-3.7,8.6-7.9,17.1-12.7,25.7c-4.8,8.5-9.8,16.2-15,23c-5.2,6.8-10.4,12.4-15.7,16.6
C54.8,172.7,49.9,174.9,45.3,174.9z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@@ -1,15 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="189.2 189.2 221.6 221.6" enable-background="new 189.2 189.2 221.6 221.6" xml:space="preserve">
<title>SVG Simple Logo Tiny</title>
<desc>
Designed for the SVG Logo Contest in 2006 by Harvey Rayner. It is available under the Creative Commons license for those who have an SVG product or who are using SVG on their site.
</desc>
<path fill="#7F7F7F" d="M189.2,189.2v221.6h221.6V189.2H189.2z M231.7,288.9L231.7,288.9c2.2,2.2,5.3,3.6,8.7,3.6v0
c8.2,0,15.7,3.3,21,8.7l0,0c5.4,5.4,8.7,12.8,8.7,21.1c0,16.4-13.3,29.8-29.8,29.8c-16.4,0-29.8-13.3-29.8-29.8h17.4
c0,6.8,5.5,12.3,12.3,12.3c6.8,0,12.3-5.5,12.3-12.3c0-3.4-1.4-6.5-3.6-8.7h0c-2.2-2.2-5.3-3.6-8.7-3.6v0c-8.2,0-15.7-3.3-21.1-8.7
s-8.7-12.8-8.7-21.1c0-16.4,13.3-29.8,29.8-29.8c16.4,0,29.8,13.3,29.8,29.8h-17.4c0-6.8-5.5-12.3-12.3-12.3
c-6.8,0-12.3,5.5-12.3,12.3C228.1,283.6,229.5,286.6,231.7,288.9z M308.7,352h-17.4l-21.1-101.7h17.4l12.3,59.5l12.3-59.5h17.4
L308.7,352z M359.5,352c-16.4,0-29.8-13.3-29.8-29.8v0v-42.1h0c0-16.4,13.3-29.8,29.8-29.8s29.8,13.3,29.8,29.8h-17.4
c0-6.8-5.5-12.3-12.3-12.3c-6.8,0-12.3,5.5-12.3,12.3v42.1c0,6.8,5.5,12.3,12.3,12.3c6.8,0,12.3-5.5,12.3-12.3v0v-12.3h-12.3v-17.4
h0h29.8v29.8h0C389.3,338.7,376,352,359.5,352z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

@@ -1,7 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 144 250" enable-background="new 0 0 144 250" xml:space="preserve">
<path fill="#8BB247" d="M41,250c0,0,11-95-41-148c34,14,52,55,52,55S69,98,26,0c59,62,60,162,60,162s31-21,58-7c-56,12-57,95-57,95
H41z"/>
<circle fill="#FFFFFF" cx="58" cy="198" r="6"/>
<circle fill="#FFFFFF" cx="73" cy="198" r="6"/>
</svg>

Before

Width:  |  Height:  |  Size: 456 B

@@ -1,9 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="11.9 0 89.5 113.4"
enable-background="new 11.9 0 89.5 113.4" xml:space="preserve">
<title>document_file</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<path fill="#CCCCCC" d="M100.2,0H13.2c-0.7,0-1.2,0.6-1.2,1.3v110.9c0,0.7,0.5,1.3,1.2,1.3h87.1c0.7,0,1.2-0.6,1.2-1.3V1.3
C101.5,0.6,100.9,0,100.2,0z M65.6,94.5H23.9v-6h41.8V94.5z M89.5,76.6H23.9v-6h65.6V76.6z M89.5,58.7H23.9v-6h65.6V58.7z
M89.5,40.8H23.9v-6h65.6V40.8z M89.5,22.9H23.9v-6h65.6V22.9z"/>
</svg>

Before

Width:  |  Height:  |  Size: 713 B

@@ -1,4 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 113.4 113.4" enable-background="new 0 0 113.4 113.4" xml:space="preserve">
<path fill="#4B72A1" d="M0,0v113.4h113.4V0H0z M44.2,84.8V28.6l32.1,28.1L44.2,84.8z"/>
</svg>

Before

Width:  |  Height:  |  Size: 314 B

@@ -1,8 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 13.5 8.7" enable-background="new 0 0 13.5 8.7" xml:space="preserve">
<g>
<path fill="#EF790F" d="M0,4.5l4.5-2.7v1.3L1.1,5v0l3.4,1.9v1.3L0,5.5V4.5z"/>
<path fill="#EF790F" d="M4.8,8.7L8.1,0h1L5.8,8.7H4.8z"/>
<path fill="#EF790F" d="M13.5,5.6L9,8.2V7L12.5,5v0L9,3.1V1.8l4.5,2.6V5.6z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 449 B

@@ -1,9 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="5 10 23 13"
enable-background="new 5 10 23 13" xml:space="preserve">
<title></title>
<desc></desc>
<path fill="#157EFB" d="M25,10H8c-1.7,0-3,1.3-3,3v7c0,1.7,1.3,3,3,3h17c1.7,0,3-1.3,3-3v-7C28,11.3,26.7,10,25,10z M13,14l-2,3v3
h-1v-3l-2-3v-1h1v1l1.5,2.2L12,14v-1h1V14z M19,20h-1v-5l-1,2h-0.5H16l-1-2v5h-1v-7h0.5H15l1.5,3l1.5-3h0.5H19V20z M25,20h-5v-7h1v6
h4V20z"/>
</svg>

Before

Width:  |  Height:  |  Size: 577 B

@@ -1,10 +0,0 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="5.7 5.7 102.1 102.1" enable-background="new 5.7 5.7 102.1 102.1" xml:space="preserve">
<g>
<path fill="#E8D36B" d="M58,84.2c-3.6,0-6.6,2.9-6.6,6.6c0,3.6,2.9,6.6,6.6,6.6c3.6,0,6.6-2.9,6.6-6.6C64.6,87.2,61.7,84.2,58,84.2
z"/>
<path fill="#E8D36B" d="M90.7,5.7h-68c-9.4,0-17,7.6-17,17v68c0,9.4,7.6,17,17,17h68c9.4,0,17-7.6,17-17v-68
C107.7,13.3,100.1,5.7,90.7,5.7z M51,12.5h12.5v5.4H51V12.5z M51,35h12.5v5.4H51V35z M51,24h12.5v5.4H51V24z M58,101.6
c-5.8,0-10.5-4.2-11.3-9.8l3.1-38.5h4.6v-7.9h6.8v7.9h5l3.1,38.9C68.6,97.8,63.8,101.6,58,101.6z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 710 B

-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-56
View File
@@ -1,56 +0,0 @@
export default
{
name: 'file-icon',
props:
{
extension: { type: String, default: '' }
},
created()
{
this.icons = {
js: ['js'],
html: ['html', 'htm'],
sass: ['sass', 'scss'],
less: ['less'],
stylus: ['stylus', 'styl'],
css: ['css'],
php: ['php'],
json: ['json'],
jade: ['jade'],
pug: ['pug'],
md: ['md'],
sql: ['sql'],
apache: ['htaccess', 'htpasswd'],
yml: ['yml'],
svg: ['svg'],
font: ['eot', 'ttf', 'woff', 'woff2'],
image: ['jpeg', 'jpg', 'tiff', 'gif', 'bmp', 'png', 'webp'],
video: ['mpeg', 'mpg', 'mp4', 'amv', 'wmv', 'mov', 'avi', 'ogv', 'mkv', 'webm'],
audio: ['mp3', 'wav', 'ogg', 'raw'],
zip: ['zip', 'rar', '7z', 'gz'],
txt: ['txt'],
coffee: ['coffee'],
git: ['gitignore', 'gitkeep'],
xml: ['xml'],
twig: ['twig'],
c: ['c', 'h'],
folder: ['folder'],
'folder-active': ['folder-active']
}
this.icon = 'random'
for(const iconKey in this.icons)
{
const iconExtensions = this.icons[ iconKey ]
if(iconExtensions.indexOf(this.extension) !== -1)
{
this.icon = iconKey
}
}
this.iconPath = require(`./icons/${this.icon}.svg`)
}
}
-9
View File
@@ -1,9 +0,0 @@
.icon
display inline-block
width 12px
height 12px
img
display inline-block
width 100%
height 100%
@@ -1,3 +0,0 @@
<span>
<img :src="iconPath" alt="">
</span>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-94
View File
@@ -1,94 +0,0 @@
import Versions from '@/components/versions'
import Viewer from '@/components/viewer'
import Tooltip from '@/components/tooltip'
import Illustration from '@/components/illustration'
import copyToClipboard from 'copy-to-clipboard'
export default
{
name: 'file',
components:
{
Versions,
Viewer,
Tooltip,
Illustration
},
computed:
{
serverConfig()
{
return this.$store.state.serverConfig
},
downloadUrl()
{
return `${this.$store.state.serverConfig.domain}/${this.$store.state.projects.current.slug}/files/${this.content.path.full}`
},
downloadDataUri()
{
if(this.$store.state.files.currentVersion)
{
return `data:text/plain;charset=utf-8,${encodeURIComponent(this.$store.state.files.currentVersion.content)}`
}
return ''
},
isImage()
{
return ['jpg', 'jpeg', 'png', 'tiff', 'gif', 'webp'].indexOf(this.content.extension) !== -1
},
isCode()
{
return this.content.versions.length > 0
},
version()
{
return this.$store.state.files.currentVersion
}
},
data()
{
return {
differencesActive: true,
versionsActive: true,
copied: false
}
},
props:
{
content: { type: Object }
},
methods:
{
onDifferencesClick()
{
this.differencesActive = !this.differencesActive
},
onVersionsClick()
{
this.versionsActive = !this.versionsActive
},
onCopyClick()
{
copyToClipboard(this.version.content)
this.copied = true
},
onCopyMouseleave()
{
this.copied = false
}
}
}
-163
View File
@@ -1,163 +0,0 @@
.file
position absolute
top 0
right 0
left 290px
right 0
height 100%
header
position absolute
top 0
left 0
right 0
height 50px
background #1E202F
a
user-select none
&.active
background #26283B
.icon
&.default
display inline-block
&.hover
display none
&:hover
.icon
&.default
display none
&.hover
display inline-block
.versions-toggle
display block
position absolute
top 0
left 0
width 50px
height 50px
padding-top 13px
padding-left 18px
.icon
&.default
opacity 0.5
&.active
background #26283B
.differences-toggle
display block
position absolute
top 0
left 51px
width 58px
height 50px
padding-top 13px
padding-left 19px
.icon
&.default
opacity 0.7
&.active
background #26283B
.copy
display block
position absolute
top 0
right 58px
width 58px
height 50px
padding-top 14px
padding-left 22px
.icon
&.default
opacity 0.8
&.active
background #26283B
.download
display block
position absolute
top 0
right 0
width 58px
height 50px
padding-top 14px
padding-left 22px
.icon
&.default
opacity 0.5
.path
position absolute
top 20px
left 0
right 0
text-align center
font-size 14px
color #fff
letter-spacing 0.25px
.directory
opacity 0.3
.preview
position absolute
top 50px
right 0
bottom 0
left 0
background #2d2d49
text-align center
.inner
display flex
align-items center
justify-content center
position absolute
top 50px
right 50px
bottom 50px
left 50px
img
max-width 100%
max-height 100%
.cant-read
display flex
align-items center
justify-content center
flex-direction column
position absolute
top 0
right 0
left 0
height 100%
.text
text-align center
margin-bottom 35px
line-height 1.4em
color #9696a4
font-size 20px
font-weight 300
font-family 'DINNextRoundedLTPro'
.download
color #fff
&:hover
color #4bd1c5
-66
View File
@@ -1,66 +0,0 @@
<div class="file" :class="[versionsActive && isCode ? 'version-active' : '']">
<!-- Versions -->
<versions :file="content" :content="content.versions" v-if="versionsActive && isCode"></versions>
<!-- Viewer / Code -->
<viewer :differences-active="differencesActive" v-if="isCode"></viewer>
<!-- Preview image no server -->
<div class="preview" v-if="isImage && !serverConfig.server">
<a :href="downloadUrl" class="inner" download>
<img :src="downloadUrl">
</a>
</div>
<!-- Can't read image server -->
<div class="cant-read" v-if="isImage && serverConfig.server">
<illustration name="sad-robot"></illustration>
<div class="text">
Sorry, preview isn't available in server mode
</div>
</div>
<!-- Can't read -->
<div class="cant-read" v-if="!isCode && !isImage">
<illustration name="sad-robot"></illustration>
<div class="text">
Sorry, I can't read this file.
<div v-if="!serverConfig.server">
But you can <a :href="downloadUrl" download class="download">download it</a>.
</div>
</div>
</div>
<!-- Header -->
<header>
<div class="path"><span class="directory">{{ content.path.directory }}/</span><span class="name">{{ content.name }}</span></div>
<a class="versions-toggle" :class="[versionsActive ? 'active' : '']" href="#" @click.prevent="onVersionsClick" v-if="isCode">
<img class="icon default" src="../../../static/svg/versions.svg" alt="">
<img class="icon hover" src="../../../static/svg/versions-hover.svg" alt="">
<tooltip position="bottom-right">Toggle the revision history</tooltip>
</a>
<a class="differences-toggle" :class="[differencesActive ? 'active' : '']" href="#" @click.prevent="onDifferencesClick" v-if="isCode">
<img class="icon default" src="../../../static/svg/differences.svg" alt="">
<img class="icon hover" src="../../../static/svg/differences-hover.svg" alt="">
<tooltip position="bottom-right">Toggle the line-by-line differences</tooltip>
</a>
<a class="copy" :class="[copied ? 'active' : '']" href="#" @click.prevent="onCopyClick" @mouseleave="onCopyMouseleave" v-if="isCode">
<img class="icon default" src="../../../static/svg/copy.svg" alt="">
<img class="icon hover" src="../../../static/svg/copy-hover.svg" alt="">
<tooltip position="bottom">Copy to clipboard</tooltip>
</a>
<a class="download" :href="downloadDataUri" :download="content.name">
<img class="icon default" src="../../../static/svg/download.svg" alt="">
<img class="icon hover" src="../../../static/svg/download-hover.svg" alt="">
<tooltip position="bottom-left">Download this version of the file</tooltip>
</a>
</header>
</div>
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
@@ -1,76 +0,0 @@
import FileIcon from '@/components/file-icon/'
export default
{
name: 'files-tree-file',
components:
{
FileIcon
},
props:
{
depth: { type: Number, default: 0 },
content: { type: Object }
},
data()
{
return {
matchingPositions: []
}
},
computed:
{
visible()
{
let visible = true
// Get and clean search
const search = this.$store.state.files.search.replace(/ /g, '').toLowerCase()
// If no search value, return true
if(search !== '')
{
// Set up fuzzy search
const text = this.content.path.full.replace(/^\.\//, '')
let searchPosition = 0
this.matchingPositions = []
// Go through each character in the text
for(let n = 0; n < text.length; n++)
{
// If match a character in the search, highlight it
if(searchPosition < search.length && text[n].toLowerCase() === search[searchPosition])
{
searchPosition += 1
this.matchingPositions.push(n - this.content.path.directory.length + 1)
}
}
if(searchPosition !== search.length)
{
visible = false
}
}
return visible
},
currentFile()
{
return this.$store.state.files.currentFile
}
},
methods:
{
onNameClick()
{
this.$store.commit('setFile', this.content.path.full)
this.$store.commit('setLine', null)
}
}
}
@@ -1,43 +0,0 @@
.name
display block
white-space nowrap
.text
padding-left 12px
padding-right 6px
.letter
opacity 0.6
&.highlight
opacity 1
font-weight bold
.notif
display inline-block
position relative
top -1px
padding-left 3px
padding-right 3px
margin-left 0px
border-radius: 6px;
color #fff
font-size 8px
height 11px
line-height 11px
&.new
background-image linear-gradient(-90deg, #6E67FD 0%, #9B52F5 100%)
&.changed
background-image linear-gradient(-90deg, #FF708F 0%, #FE846F 100%)
&.active
background #2D2D49
&:hover
.text
color #4bd1c5
.letter
opacity 1
@@ -1,12 +0,0 @@
<div v-show="visible">
<a href="#" class="name" :class="[ currentFile && currentFile.id === content.id ? 'active' : '' ]" :style="{ paddingLeft:depth * 20 + 'px' }" @click.prevent="onNameClick">
<file-icon class="icon" :extension="content.extension"></file-icon>
<span class="text">
<template v-for="(letter, key) in content.name">
<span class="letter" :class="[matchingPositions.indexOf(key) !== -1 ? 'highlight' : '']">{{ letter }}</span>
</template>
</span>
<span v-if="content.isNew" class="notif new">new</span>
<span v-if="content.isChanged && !content.isNew" class="notif changed">changed</span>
</a>
</div>
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
@@ -1,96 +0,0 @@
import FilesTreeFile from '@/components/files-tree-file'
import FileIcon from '@/components/file-icon/'
export default
{
name: 'files-tree-folder',
components:
{
FilesTreeFile,
FileIcon
},
props:
{
depth: { type: Number, default: 0 },
directory: { type: String, default: '' },
content: { type: Object }
},
data()
{
return {
open: true,
matchingPositions: []
}
},
computed:
{
fullPath()
{
return `${this.directory}${this.content.name}`
},
files()
{
const files = this.content.files.sort((fileA, fileB) => fileA.name < fileB.name ? -1 : 1)
return files
},
visible()
{
let visible = false
const totalCount = this.content.files.length
let visibleCount = 0
for(const $child of this.$children)
{
if($child.visible === true)
{
visibleCount++
}
}
if(visibleCount > 0)
{
visible = true
}
// Get and clean search
const search = this.$store.state.files.search.replace(/ /g, '').toLowerCase()
// If no search value, return true
if(search !== '')
{
// Set up fuzzy search
const text = this.fullPath.replace(/^\.\//, '')
let searchPosition = 0
this.matchingPositions = []
// Go through each character in the text
for(let n = 0; n < text.length; n++)
{
// If match a character in the search, highlight it
if(searchPosition < search.length && text[n].toLowerCase() === search[searchPosition])
{
searchPosition += 1
this.matchingPositions.push(n - this.directory.length + 2)
}
}
}
return visible
}
},
methods:
{
onNameClick()
{
this.open = !this.open
}
}
}
@@ -1,27 +0,0 @@
.name
display block
white-space nowrap
.icon
opacity 0.6
.text
padding-left 12px
padding-right 6px
.letter
opacity 0.6
&.highlight
opacity 1
font-weight bold
&:hover
.icon
opacity 1
.text
color #4bd1c5
.letter
opacity 1
@@ -1,15 +0,0 @@
<div v-show="visible">
<a href="#" class="name" :style="{ paddingLeft:(depth + 1) * 20 + 'px' }" @click.prevent="onNameClick">
<file-icon class="icon" extension="folder-active" v-show="open"></file-icon>
<file-icon class="icon" extension="folder" v-show="!open"></file-icon>
<span class="text">
<template v-for="(letter, key) in content.name">
<span class="letter" :class="[matchingPositions.indexOf(key) !== -1 ? 'highlight' : '']">{{ letter }}</span>
</template>
</span>
</a>
<div v-show="open">
<files-tree-folder class="js-child" v-for="folder of content.folders" :key="folder.name" :content="folder" :depth="depth + 1" :directory="fullPath + '/'"></files-tree-folder>
<files-tree-file class="js-child" v-for="file of files" :key="file.path.full" :content="file" :depth="depth + 2"></files-tree-file>
</div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-69
View File
@@ -1,69 +0,0 @@
import FilesTreeFile from '@/components/files-tree-file'
import FilesTreeFolder from '@/components/files-tree-folder'
export default
{
name: 'files-tree',
data()
{
return {
searchValue: ''
}
},
components:
{
FilesTreeFile,
FilesTreeFolder
},
computed:
{
files()
{
return this.$store.state.files.tree
},
scrollbarWidth()
{
return this.$store.state.scrollbarWidth
}
},
watch:
{
searchValue: 'onSearchValueChange'
},
methods:
{
onSearchValueChange(value)
{
this.$store.commit('searchFile', value)
},
onAllReadClick()
{
// Go through each folder and file
const eachFolder = (obj) =>
{
for(const folder of obj.folders)
{
eachFolder(folder)
}
if(obj.files)
{
for(const file of obj.files)
{
// Update changed and new properties
file.isChanged = false
file.isNew = false
}
}
}
eachFolder(this.files)
}
}
}
-63
View File
@@ -1,63 +0,0 @@
.file-tree
position absolute
top 120px
bottom 0px
left 0
width 290px
background #26283B
color #ffffff
user-select none
overflow hidden
.no-file
display flex
align-items center
justify-content center
position absolute
top 0
left 0
width 100%
height 100%
text-align center
color #fff
font-size 20px
opacity 0.5
font-weight 300
font-family 'DINNextRoundedLTPro'
.search
display block
font-size 14px
padding-left 20px
width 100%
height 40px
margin-bottom 10px
line-height 40px
border-bottom 1px solid rgba(255, 255, 255, 0.2)
.inner
position absolute
top 40px
bottom 0
left 0
overflow-y scroll
.content
padding-bottom 60px
line-height 28px
font-size 14px
.all-read
position fixed
bottom 20px
left 20px
height 20px
padding-left 4px
padding-right 4px
line-height 20px
background #393855
font-size 12px
text-transform uppercase
&:hover
color #4BD1C5
@@ -1,13 +0,0 @@
<div class="file-tree">
<div v-if="files.allCount === 0" class="no-file">
There is no file yet
<br>Please wait
</div>
<div v-else>
<input class="search" type="text" v-model="searchValue" placeholder="Search for files ...">
<div class="inner" :style="`right: -${scrollbarWidth}px;`">
<files-tree-folder class="content" v-for="folder of files.folders" :key="+ new Date()" :content="folder" :depth="0"></files-tree-folder>
</div>
<a href="#" class="all-read" @click.prevent="onAllReadClick">Mark all as read</a>
</div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-87
View File
@@ -1,87 +0,0 @@
import Blast from '@/components/blast'
export default
{
name: 'fireworks',
components:
{
Blast
},
props:
{
running: { type: Boolean, default: true },
minimumFrequency: { type: Number, default: 0.5 },
randomFrequency: { type: Number, default: 2.5 },
color: { type: String, default: 'random' },
sparksCount: { type: Number, default: 30 }
},
data()
{
return {
blasts: []
}
},
watch:
{
running: 'onRunningChange'
},
created()
{
this.blastsIndex = 0
},
mounted()
{
// If running add first blast
if(this.running)
{
this.addBlast()
}
},
methods:
{
onRunningChange(value)
{
if(value)
{
this.addBlast()
}
},
addBlast()
{
// Add blast to array
this.blasts.push(this.blastsIndex++)
// If still running wait and add another blast
if(this.running)
{
const duration = (this.minimumFrequency * 1000) + Math.random() * (this.randomFrequency * 1000)
window.setTimeout(() =>
{
if(this.running)
{
this.addBlast()
}
}, duration)
}
},
onBlastEnd(index)
{
// Find blast index and remove properly from array
const blast = this.blasts.indexOf(index)
if(blast !== -1)
{
this.blasts.splice(blast, 1)
}
}
}
}
-10
View File
@@ -1,10 +0,0 @@
.fireworks
position absolute
top 50%
left 50%
width 400px
height 400px
margin-top -280px
margin-left calc(-200px - 145px)
z-index 1
pointer-events none
@@ -1,3 +0,0 @@
<div class="fireworks">
<blast v-for="blast in blasts" :key="blast" :color="color" :sparks-count="sparksCount" @end="onBlastEnd(blast)"></blast>
</div>
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
@@ -1,28 +0,0 @@
export default
{
name: 'illustration',
props:
{
name: { type: String, default: '' }
},
data()
{
return {
stars: []
}
},
created()
{
for(let i = 0; i < 20; i++)
{
this.stars.push([
Math.round(Math.random() * 200 - 50) + '%',
Math.round(Math.random() * 200 - 50) + '%',
Math.random() * 4 + 's'
])
}
}
}
@@ -1,83 +0,0 @@
.illustration
position relative
width 300px
height 275px
margin-bottom 30px
user-select none
.element
position absolute
&.star
top 0
left 0
width 8px
height 8px
opacity 0
animation illustration-star 4.5s ease-in-out infinite alternate
will-change opacity
@keyframes illustration-star
0%
opacity 0
100%
opacity 1
.bar
position absolute
background #fff
border-radius 2px
&.bar-1
top 0
left 3px
width 2px
height 100%
&.bar-2
top 3px
left 0
width 100%
height 2px
&.cloud
top 0
left 0
&.astronaut
top 60px
left 70px
animation illustration-astronaut 6s ease-in-out infinite alternate
will-change transform
@keyframes illustration-astronaut
0%
transform translateX(-10px) translateY(-5px) translateZ(0)
100%
transform translateX(10px) translateY(5px) translateZ(0)
&.book
top 170px
left 150px
animation illustration-book 4.5s ease-in-out infinite alternate
will-change transform
@keyframes illustration-book
0%
transform translateX(4px) translateY(-8px) translateZ(0)
100%
transform translateX(-4px) translateY(8px) translateZ(0)
&.sad-robot
top 60px
left 80px
width 130px
animation illustration-sad-robot 6s ease-in-out infinite alternate
will-change transform
@keyframes illustration-sad-robot
0%
transform translateX(-10px) translateY(-5px) translateZ(0)
100%
transform translateX(10px) translateY(5px) translateZ(0)
@@ -1,19 +0,0 @@
<div class="illustration">
<div class="element star" v-for="star of stars" :style="`left: ${star[0]};top: ${star[1]};animation-delay: ${star[2]};`">
<span class="bar bar-1"></span>
<span class="bar bar-2"></span>
</div>
<img class="element cloud" src="../../../static/svg/illustration-cloud.svg" alt="">
<div v-if="name === 'astronaut'">
<img class="element astronaut" src="../../../static/svg/illustration-astronaut.svg" alt="">
<img class="element book" src="../../../static/svg/illustration-book.svg" alt="">
</div>
<div v-if="name === 'sad-robot'">
<img class="element sad-robot" src="../../../static/svg/illustration-sad-robot.svg" alt="">
</div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-48
View File
@@ -1,48 +0,0 @@
export default
[
'Keep it simple',
'Keep it maintainable',
'Stick to one naming convention',
'Get your code reviewed by someone else',
'Get your code reviewed by someone better than you',
'Consistency is key',
'Simplicity is key',
'Use the right tools',
'Don\'t repeat yourself',
'Better refacter sooner than later',
'Did you test your code?',
'Watch talks',
'Learn from people better than you',
'Is your code readable?',
'The clearer your code, the fewer comments you need',
'Update your dependencies',
'Document your code',
'Have clear instructions in your README.md',
'Have your software tested by someone else',
'Be consistent in your commit messages',
'Don\'t invent new standards',
'Choose a styleguide and stick to it',
'CSS can be documented, too',
'Don\'t reinvent the wheel',
'Imagine coming back to your code after a year',
'Document your code for your future self',
'Ask questions',
'Always improve.',
'Take a chance',
'Stay focused',
'Remove all distractions',
'Make good use of your time',
'Remember your goals',
'Know your priorities',
'Comment you code',
'Don\'t forget to save',
'Use versionning tools',
'Take time to set up an environment that suits you',
'Automates every redundant tasks',
'Do not forget to thank those who helped you',
'Choose the coding language that suits the project, not your current knowledge',
'Experiment',
'Publish your work',
'Finish your work'
]
-72
View File
@@ -1,72 +0,0 @@
import quotes from './quotes'
import Fireworks from '@/components/fireworks'
import Illustration from '@/components/illustration'
export default
{
name: 'landing',
components:
{
Fireworks,
Illustration
},
data()
{
return {
focus: false,
fireworksRunning: false
}
},
watch:
{
focus: 'onFocusChange'
},
computed:
{
quote: () => quotes[Math.floor(quotes.length * Math.random())],
url()
{
return this.$store.state.serverConfig.domain
}
},
methods:
{
onFocusChange(value)
{
// Enter focus
if(value)
{
// Wait few seconds
window.setTimeout(() =>
{
// Still focusing
if(this.focus)
{
this.fireworksRunning = true
}
}, 3000)
}
// Leave focus
else
{
this.fireworksRunning = false
}
},
onUrlClick()
{
this.focus = !this.focus
},
onLandingClick()
{
this.focus = false
}
}
}
-71
View File
@@ -1,71 +0,0 @@
.landing
display flex
align-items center
justify-content center
flex-direction column
position absolute
top 0
right 0
left 290px
height 100%
background #2D2D49
font-family 'DINNextRoundedLTPro'
.title
position relative
margin-bottom 12px
color #fff
font-size 35px
.sub-title
position relative
margin-bottom 35px
color #fff
font-size 20px
opacity 0.5
font-weight 300
.quote
position relative
margin-bottom 35px
color #4bd1c5
font-size 18px
.url
color #fff
font-size 20px
margin-bottom 10px
padding 20px
cursor pointer
z-index 2
text-align center
transform translateX(0) translateY(0) scale(1, 1)
transition transform 0.3s
will-change transform
.network
padding-top 10px
font-size 14px
opacity 0.5
.focus &
transform translateX(-145px) translateY(250px) scale(3, 3)
transition-duration 5s
.mask
position absolute
top 0
left -290px
width calc(100% + 290px)
height 100%
background #000
z-index 1
pointer-events none
opacity 0
transition opacity 0.3s
will-change opacity
.focus &
pointer-events default
opacity 0.85
transition-duration 3s
-25
View File
@@ -1,25 +0,0 @@
<div class="landing" :class="[ focus ? 'focus' : '' ]" @click.prevent="onLandingClick">
<div class="url" @click.prevent.stop="onUrlClick">
{{ url }}
<div class="network">(on the same network)</div>
</div>
<illustration name="astronaut"></illustration>
<div class="title">
Welcome to keppler!
</div>
<div class="sub-title">
Here you can browse the presenter's code in real time.
</div>
<div class="quote">
— {{ quote }}
</div>
<div class="mask"></div>
<fireworks :running="fireworksRunning"></fireworks>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-42
View File
@@ -1,42 +0,0 @@
const packageJson = require('../../../../package.json')
export default
{
name: 'popin',
data()
{
return {
active: false,
version: packageJson.version
}
},
methods:
{
onTriggerClick()
{
this.open()
},
onMaskClick()
{
this.close()
},
onCloseClick()
{
this.close()
},
open()
{
this.active = true
},
close()
{
this.active = false
}
}
}
-104
View File
@@ -1,104 +0,0 @@
.trigger
position absolute
top 17px
left 253px
width 18px
height 18px
font-size 14px
border 1px solid rgba(255, 255, 255, 0.5)
font-family 'DINNextRoundedLTPro'
text-align center
line-height 20px
color #fff
border-radius 10px
&:hover
border-color #4bd1c5
.content
display flex
align-items center
justify-content center
flex-direction column
position absolute
top 0
right 0
bottom 0
left 0
z-index 3
pointer-events none
opacity 0
transition opacity 0.3s
will-change opacity
.mask
position absolute
top 0
right 0
bottom 0
left 0
opacity 0.85
background #000
.inner
position relative
width 400px
padding-top 0px
padding-right 30px
padding-bottom 26px
padding-left 30px
font-size 14px
line-height 1.2em
background #2d2d49
color #fff
.close
position absolute
top 10px
right 10px
width 40px
height 40px
padding-top 14px
padding-left 13px
.icon
&.default
display block
&.hover
display none
&:hover
.icon
&.default
display none
&.hover
display block
p
margin-bottom 1em
&.title
font-weight bold
margin-top 2em
.version
font-weight normal
opacity 0.6
a
text-decoration underline
&:hover
color #4bd1c5
ul
padding-left 22px
li
list-style-type disc
&.active
pointer-events initial
opacity 1
-40
View File
@@ -1,40 +0,0 @@
<div class="popin">
<!-- Trigger -->
<a href="#" class="trigger" @click.prevent="onTriggerClick">i</a>
<!-- Content -->
<div class="content" :class="[active ? 'active' : '']">
<div class="mask" @click.prevent="onMaskClick"></div>
<div class="inner">
<!-- Close -->
<a href="#" class="close" @click.prevent="onCloseClick">
<img class="icon default" src="../../../static/svg/cross.svg" alt="">
<img class="icon hover" src="../../../static/svg/cross-hover.svg" alt="">
</a>
<!-- Texts -->
<p class="title">Keppler <span class="version">{{ version }}</span></p>
<p>Real time code sharing for you lectures and presentations.</p>
<ul>
<li><a href="https://github.com/brunosimon/keppler" target="_blank">GitHub</a></li>
<li><a href="https://www.npmjs.com/package/keppler" target="_blank">NPM</a></li>
</ul>
<p class="title">Development</p>
<ul>
<li>Bruno Simon (<a href="https://github.com/brunosimon" target="_blank">GitHub</a>, <a href="https://twitter.com/bruno_simon/" target="_blank">Twitter</a>, <a href="https://bruno-simon.com" target="_blank">Site</a>)</li>
</ul>
<p class="title">UX / UI</p>
<ul>
<li>Tom Bonnike</li>
<li>Thibaud Vaubourg</li>
<li>Aymeric Sans</li>
<li>Axel Chalon</li>
</ul>
</div>
</div>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-45
View File
@@ -1,45 +0,0 @@
import FilesTree from '@/components/files-tree'
import File from '@/components/file'
import Landing from '@/components/landing'
import Chat from '@/components/chat'
import Alert from '@/components/alert'
export default
{
name: 'project',
components:
{
FilesTree,
File,
Landing,
Chat,
Alert
},
computed:
{
downloadUrl()
{
return `${this.$store.state.serverConfig.domain}/${this.project.slug}/download`
},
project()
{
return this.$store.state.projects.current
},
file()
{
return this.$store.state.files.currentFile
}
},
created()
{
},
methods:
{
}
}
@@ -1,7 +0,0 @@
<div>
<files-tree></files-tree>
<file v-if="file" :content="file"></file>
<landing v-if="!file"></landing>
<chat></chat>
<alert></alert>
</div>
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
@@ -1,58 +0,0 @@
import Tooltip from '@/components/tooltip'
export default
{
name: 'projects-hub',
components:
{
Tooltip
},
computed:
{
serverConfig()
{
return this.$store.state.serverConfig
},
projects()
{
return this.$store.state.projects.all
},
currentProject()
{
return this.$store.state.projects.current
},
projectsCount()
{
const keys = Object.keys(this.projects)
return keys.length
},
downloadUrl()
{
if(!this.currentProject)
{
return ''
}
return `${this.$store.state.serverConfig.domain}/${this.currentProject.slug}/download`
}
},
created()
{
},
methods:
{
onProjectClick(projectSlug)
{
this.$store.commit('setProject', projectSlug)
}
}
}
@@ -1,90 +0,0 @@
.projects-hub
position absolute
top 80px
left 0
width 290px
height 40px
font-size 14px
background #2F2E4B
color #ffffff
z-index 1
user-select none
.single-project
padding-left 20px
line-height 40px
opacity 0.6
.select-projects
line-height 22px
cursor pointer
.arrow-down
position absolute
top 15px
right 60px
&.default
display inline-block
opacity 0.6
&.hover
display none
.others
display none
top 100%
background #393855
.project
padding-top 9px
padding-bottom 9px
text-overflow ellipsis
&.current
padding-left 20px
white-space nowrap
overflow hidden
padding-right 92px
&.other-project
display block
padding-left 20px
&:hover
color #4bd1c5
&:hover
.others
display block
.arrow-down
&.default
display none
&.hover
display inline-block
a.download
position absolute
top 0
right 0
width 56px
height 40px
padding-top 9px
padding-left 22px
.icon
&.default
display inline-block
&.hover
display none
&:hover
.icon
&.default
display none
&.hover
display inline-block
@@ -1,27 +0,0 @@
<div class="projects-hub">
<div v-if="projectsCount === 1" class="single-project">
{{ currentProject.name }}
</div>
<div v-if="projectsCount > 1" class="select-projects">
<div class="current project">
{{ currentProject.name }}
</div>
<img class="icon arrow-down default" src="../../../static/svg/arrow-down.svg" alt="">
<img class="icon arrow-down hover" src="../../../static/svg/arrow-down-hover.svg" alt="">
<div class="others">
<a class="other-project project" v-if="currentProject.slug !== project.slug" href="#" v-for="project in projects" :key="project.slug" @click.prevent="onProjectClick(project.slug)">
{{ project.name }}
</a>
</div>
</div>
<a v-if="!serverConfig.server" class="download" :href="downloadUrl" download="test.zip">
<img class="icon default" src="../../../static/svg/download.svg" alt="">
<img class="icon hover" src="../../../static/svg/download-hover.svg" alt="">
<tooltip position="right">Download the whole project</tooltip>
</a>
</div>
-3
View File
@@ -1,3 +0,0 @@
<template src="./template.html"></template>
<script src="./script.js"></script>
<style src="./style.styl" lang="stylus" scoped></style>
-16
View File
@@ -1,16 +0,0 @@
export default
{
name: 'tooltip',
props:
{
position: {
type: String,
default: 'top',
validator(value)
{
return ['top', 'top-right', 'right', 'bottom-right', 'bottom', 'bottom-left', 'left', 'top-left'].indexOf(value) !== -1
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More