analytics/assets/css/app.css
Uku Taht e8f20e67cc
React (#17)
* Load dashboard with react

* Rename stast2 to dashboard

* Save timeframe on the frontend

* Implement current visitors

* Implement comparisons

* React to route changes

* Add modals

* Show number of visitors on hover

* Show 'Today' for today

* Add 30 days

* Show referrer drilldown

* Arrow keys to go back and forward

* Improve comparisons UI

* Fix dropdown when clicking on it

* Verify API access in a memoized fashion

* Test API access

* Test stats through controller

* Move map formatting from stats controller to stats

* Remove unused code

* Remove dead code from query

* Remove dead code from stats templates

* Add stats view test back in

* Render modal inside the modal component

* Implement google search terms

* Add explanation for screen sizes

* Separate dashboard JS from the app js
2019-11-19 12:30:42 +08:00

221 lines
3.2 KiB
CSS

@tailwind preflight;
@tailwind components;
@import "modal.css";
@import "coffee_cup.css";
@import "tooltip.css";
.button {
@apply inline-block bg-indigo text-white text-center font-bold tracking-wide py-3 px-5 rounded no-underline;
}
.button:hover {
@apply shadow;
}
.button:focus {
@apply outline-none;
}
.button-outline {
@apply bg-transparent border border-indigo text-indigo;
}
.button-sm {
@apply text-sm py-2 px-4;
}
.button-md {
@apply py-2 px-4;
}
html {
@apply font-sans text-grey-darkest;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a, button {
@apply no-underline;
}
blockquote {
@apply my-4 py-2 px-4 border-l-4 border-grey;
}
@screen xl {
.container {
max-width: 70rem;
}
}
.pricing-table {
height: 920px;
}
@screen md {
.pricing-table {
height: auto;
}
}
@tailwind utilities;
.main-graph {
height: 310px;
}
@screen md {
.main-graph {
height: 360px;
}
}
@screen lg {
.main-graph {
height: 440px;
}
}
@screen xl {
.main-graph {
height: 480px;
}
}
a {
color: inherit;
}
.light-text {
color: #F0F4F8;
}
.transition {
transition: all .1s ease-in;
}
.truncated-label {
@apply no-underline text-grey-darkest;
white-space: nowrap;
width: calc(100% - 40px);
overflow: hidden;
text-overflow: ellipsis;
text-align: left;
}
.bar {
height: 4px;
width: 100%;
background-color: #f5f6f7;
border-radius: 4px;
margin-top: 8px;
margin-bottom: 24px;
}
.bar__fill {
height: 100%;
border-radius: 4px;
}
.pulsating-circle {
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
width: 20px;
height: 20px;
}
.pulsating-circle:before {
content: '';
position: relative;
display: block;
width: 300%;
height: 300%;
box-sizing: border-box;
margin-left: -100%;
margin-top: -100%;
border-radius: 45px;
background-color: #01a4e9;
animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
@apply bg-green;
}
.pulsating-circle:after {
content: '';
position: absolute;
left: 0;
top: 0;
display: block;
width: 100%;
height: 100%;
background-color: white;
border-radius: 15px;
animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.4s infinite;
@apply bg-green;
}
@keyframes pulse-ring {
0% {
transform: scale(.33);
}
80%, 100% {
opacity: 0;
}
}
@keyframes pulse-dot {
0% {
transform: scale(.8);
}
50% {
transform: scale(1);
}
100% {
transform: scale(.8);
}
}
.just-text h1, .just-text h2, .just-text h3 {
margin-top: 1em;
margin-bottom: .5em;
}
.just-text p {
margin-top: 0;
margin-bottom: 1rem;
}
.dropdown-content::before {
top: -16px;
right: 64px;
left: auto;
}
.dropdown-content::before {
border: 8px solid transparent;
border-bottom-color: rgba(27,31,35,0.15);
}
.dropdown-content::before, .dropdown-content::after {
position: absolute;
display: inline-block;
content: "";
}
.dropdown-content::after {
border: 7px solid transparent;
border-bottom-color: #fff;
}
.dropdown-content::after {
top: -14px;
right: 65px;
left: auto;
}
.feather {
height: 1em;
width: 1em;
transform: translateY(0.15em);
}