@comsultia/speech2text
Version:
Google Speech to Text plugin using websockets to communicate with backend
103 lines (93 loc) • 1.61 kB
CSS
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap');
body {
-webkit-font-smoothing: antialiased;
font-family: 'Roboto', sans-serif;
margin: 0;
}
main {
margin: 100px 0;
padding: 0 15px;
}
h1 {
font-size: 28px;
font-weight: 500;
text-align: center;
margin-bottom: 35px;
}
.recorder {
width: 100%;
max-width: 500px;
margin: 0 auto;
}
.recorder-buttons {
display: flex;
justify-content: center;
align-items: center;
}
button {
border: none;
padding: 10px 15px;
font-size: 20px;
cursor: pointer;
width: 120px;
max-width: 100%;
transition: background 250ms ease;
}
button:disabled {
cursor: default;
}
.btn-start-recording {
background: #66bb6a;
margin-right: 20px;
}
.btn-start-recording:hover {
background: #98ee99;
}
.btn-start-recording:disabled:hover {
background: #66bb6a;
}
.btn-stop-recording {
background: #e64a19;
}
.btn-stop-recording:hover {
background: #ff7d47;
}
.btn-stop-recording:disabled:hover {
background: #e64a19;
}
.result-wrapper {
border-top: 2px solid #e4e4e4;
margin: 50px 0;
padding: 20px 0;
}
h2 {
text-align: center;
font-weight: 500;
}
.loading-holder.speech-loading {
position: absolute;
width: 30px;
height: 30px;
top: 35px;
left: 0;
right: 0;
margin: 0 auto;
border: 5px solid #333;
border-radius: 30px;
opacity: 0;
animation: pulsate 1s ease-out;
animation-iteration-count: infinite;
}
@keyframes pulsate {
0% {
transform: scale(.1);
opacity: 0.0;
}
50% {
opacity: 1;
}
100% {
transform: scale(1.2);
opacity: 0;
}
}