diff --git a/assets/main.css b/assets/main.css index 2296579..2705c49 100644 --- a/assets/main.css +++ b/assets/main.css @@ -1,3 +1,10 @@ +:root { + --primary-bg: white; + --secondary-bg: #F7F9FA; + --text: #4C555E; + --text-light: #1D262E; +} + body { margin: 0; } @@ -8,15 +15,17 @@ main { main .panel { height: 100%; + width: 100%; position: absolute; + display: flex; } menu.sidebar { height: calc(100% - 50px); position: relative; margin: 0; - padding: 25px 10px; - background: #F7F9FA; + padding: 25px 0px; + background: var(--secondary-bg); list-style: none; font-size: 18px; display: flex; @@ -24,12 +33,17 @@ menu.sidebar { gap: 20px; } -menu.sidebar li { - color: #4C555E; +menu.sidebar a { + color: var(--text); display: flex; align-items: center; gap: 10px; - margin: 5px 0; + text-decoration: none; + padding: 10px 10px; +} + +menu.sidebar a.active { + background: var(--primary-bg); } /* The user avatar */ @@ -40,8 +54,8 @@ menu.sidebar img { border-radius: 50%; } -menu.sidebar li:hover { - color: #1D262E; +menu.sidebar a:hover { + color: var(--text-light); cursor: pointer; } @@ -49,3 +63,47 @@ menu.sidebar svg { height: 24px; width: 24px; } + +.spinner { + animation: rotate 2s linear infinite; + z-index: 2; + top: 50%; + left: 50%; + margin: -25px 0 0 -25px; + width: 50px; + height: 50px; +} + +.spinner .path { + stroke: var(--text); + stroke-linecap: round; + animation: dash 1.5s ease-in-out infinite; +} + +@keyframes rotate { + 100% { + transform: rotate(360deg); + } +} + +@keyframes dash { + 0% { + stroke-dasharray: 1, 150; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -35; + } + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -124; + } +} + +.page { + width: 100%; + display: flex; + justify-content: center; + align-items: center; +} diff --git a/components/app.vue b/components/app.vue index b81436a..6bb3df8 100644 --- a/components/app.vue +++ b/components/app.vue @@ -4,10 +4,10 @@ -
{{active}}, {{hash}}
- -
+
+
+
@@ -15,6 +15,7 @@