From 3fa9d78690b6350ac1a69954a1730b07f92a2a45 Mon Sep 17 00:00:00 2001 From: Nikolay Yurchenko Date: Wed, 2 Jan 2019 15:46:55 +0200 Subject: [PATCH] [V3-964] Satellite api keys markup (#945) * initial api keys markup * Impemented api area markup and popups. --- .../src/components/apiKeys/AddApiKeyPopup.vue | 233 ++++++++++++++++++ .../src/components/apiKeys/ApiKeysArea.vue | 66 +++++ .../components/apiKeys/ApiKeysDropdown.vue | 96 ++++++++ .../src/components/apiKeys/ApiKeysItem.vue | 146 +++++++++++ .../src/components/apiKeys/Dropdown.vue | 102 ++++++++ .../src/components/apiKeys/PaginationArea.vue | 136 ++++++++++ .../apiKeys/headerArea/HeaderArea.vue | 60 +++++ .../apiKeys/headerArea/SearchArea.vue | 73 ++++++ .../apiKeys/headerArea/SortApiKeysHeader.vue | 118 +++++++++ .../src/components/common/Checkbox.vue | 4 +- .../src/components/common/EmptyStateArea.vue | 9 +- .../src/components/common/HeaderlessInput.vue | 4 + web/satellite/src/router/index.ts | 6 + .../src/utils/constants/emptyStatesImages.ts | 59 +++++ 14 files changed, 1107 insertions(+), 5 deletions(-) create mode 100644 web/satellite/src/components/apiKeys/AddApiKeyPopup.vue create mode 100644 web/satellite/src/components/apiKeys/ApiKeysArea.vue create mode 100644 web/satellite/src/components/apiKeys/ApiKeysDropdown.vue create mode 100644 web/satellite/src/components/apiKeys/ApiKeysItem.vue create mode 100644 web/satellite/src/components/apiKeys/Dropdown.vue create mode 100644 web/satellite/src/components/apiKeys/PaginationArea.vue create mode 100644 web/satellite/src/components/apiKeys/headerArea/HeaderArea.vue create mode 100644 web/satellite/src/components/apiKeys/headerArea/SearchArea.vue create mode 100644 web/satellite/src/components/apiKeys/headerArea/SortApiKeysHeader.vue diff --git a/web/satellite/src/components/apiKeys/AddApiKeyPopup.vue b/web/satellite/src/components/apiKeys/AddApiKeyPopup.vue new file mode 100644 index 000000000..090d5529e --- /dev/null +++ b/web/satellite/src/components/apiKeys/AddApiKeyPopup.vue @@ -0,0 +1,233 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + diff --git a/web/satellite/src/components/apiKeys/ApiKeysArea.vue b/web/satellite/src/components/apiKeys/ApiKeysArea.vue new file mode 100644 index 000000000..16bfd3d9a --- /dev/null +++ b/web/satellite/src/components/apiKeys/ApiKeysArea.vue @@ -0,0 +1,66 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/apiKeys/ApiKeysDropdown.vue b/web/satellite/src/components/apiKeys/ApiKeysDropdown.vue new file mode 100644 index 000000000..4bf946673 --- /dev/null +++ b/web/satellite/src/components/apiKeys/ApiKeysDropdown.vue @@ -0,0 +1,96 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/apiKeys/ApiKeysItem.vue b/web/satellite/src/components/apiKeys/ApiKeysItem.vue new file mode 100644 index 000000000..d7bcff92a --- /dev/null +++ b/web/satellite/src/components/apiKeys/ApiKeysItem.vue @@ -0,0 +1,146 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/apiKeys/Dropdown.vue b/web/satellite/src/components/apiKeys/Dropdown.vue new file mode 100644 index 000000000..dca17d698 --- /dev/null +++ b/web/satellite/src/components/apiKeys/Dropdown.vue @@ -0,0 +1,102 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/apiKeys/PaginationArea.vue b/web/satellite/src/components/apiKeys/PaginationArea.vue new file mode 100644 index 000000000..fbd32941b --- /dev/null +++ b/web/satellite/src/components/apiKeys/PaginationArea.vue @@ -0,0 +1,136 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/apiKeys/headerArea/HeaderArea.vue b/web/satellite/src/components/apiKeys/headerArea/HeaderArea.vue new file mode 100644 index 000000000..30c7dd962 --- /dev/null +++ b/web/satellite/src/components/apiKeys/headerArea/HeaderArea.vue @@ -0,0 +1,60 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/apiKeys/headerArea/SearchArea.vue b/web/satellite/src/components/apiKeys/headerArea/SearchArea.vue new file mode 100644 index 000000000..e2c858dd5 --- /dev/null +++ b/web/satellite/src/components/apiKeys/headerArea/SearchArea.vue @@ -0,0 +1,73 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/apiKeys/headerArea/SortApiKeysHeader.vue b/web/satellite/src/components/apiKeys/headerArea/SortApiKeysHeader.vue new file mode 100644 index 000000000..c8e01e9b6 --- /dev/null +++ b/web/satellite/src/components/apiKeys/headerArea/SortApiKeysHeader.vue @@ -0,0 +1,118 @@ +// Copyright (C) 2018 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + + \ No newline at end of file diff --git a/web/satellite/src/components/common/Checkbox.vue b/web/satellite/src/components/common/Checkbox.vue index b32b516df..f75af9f2a 100644 --- a/web/satellite/src/components/common/Checkbox.vue +++ b/web/satellite/src/components/common/Checkbox.vue @@ -43,7 +43,8 @@ export default class Checkbox extends Vue { display: block; position: relative; padding-left: 35px; - margin-bottom: 12px; + height: 25px; + width: 25px; cursor: pointer; font-size: 22px; -webkit-user-select: none; @@ -67,7 +68,6 @@ export default class Checkbox extends Vue { left: 0; height: 25px; width: 25px; - background-color: white; border: 2px solid rgba(56, 75, 101, 0.4); border-radius: 4px; } diff --git a/web/satellite/src/components/common/EmptyStateArea.vue b/web/satellite/src/components/common/EmptyStateArea.vue index 8be76fe6f..cd4274bfe 100644 --- a/web/satellite/src/components/common/EmptyStateArea.vue +++ b/web/satellite/src/components/common/EmptyStateArea.vue @@ -49,11 +49,14 @@ export default class EmptyStateProjectArea extends Vue { margin-top: 120px; &__wrap { - text-align: center; - margin-top: 30px; + text-align: center; + margin-top: 30px; + display: flex; + flex-direction: column; + align-items: center; &__img { - margin-top: 90px; + margin-top: 90px; } h1 { diff --git a/web/satellite/src/components/common/HeaderlessInput.vue b/web/satellite/src/components/common/HeaderlessInput.vue index 1e2b7473d..4eedd84cf 100644 --- a/web/satellite/src/components/common/HeaderlessInput.vue +++ b/web/satellite/src/components/common/HeaderlessInput.vue @@ -105,6 +105,10 @@ input { border-color: rgba(56, 75, 101, 0.4); border-radius: 6px; } +input::placeholder { + color: #384B65; + opacity: 0.4; +} h3 { font-family: 'montserrat_regular'; font-size: 16px; diff --git a/web/satellite/src/router/index.ts b/web/satellite/src/router/index.ts index 1a39fdcfc..4ea89dd50 100644 --- a/web/satellite/src/router/index.ts +++ b/web/satellite/src/router/index.ts @@ -11,6 +11,7 @@ import AccountArea from '@/components/dashboard/account/AccountArea.vue'; import ProjectDetails from '@/components/projectDetails/ProjectDetailsArea.vue'; import TeamArea from '@/components/team/TeamArea.vue'; import Page404 from '@/components/errors/Page404.vue'; +import ApiKeysArea from '@/components/apiKeys/ApiKeysArea.vue'; import { getToken } from '@/utils/tokenManager'; Vue.use(Router); @@ -50,6 +51,11 @@ let router = new Router({ path: '/team', name: 'Team', component: TeamArea + }, + { + path: '/api-keys', + name: 'ApiKeys', + component: ApiKeysArea } ] }, diff --git a/web/satellite/src/utils/constants/emptyStatesImages.ts b/web/satellite/src/utils/constants/emptyStatesImages.ts index 578a1b5d6..aa55d98d4 100644 --- a/web/satellite/src/utils/constants/emptyStatesImages.ts +++ b/web/satellite/src/utils/constants/emptyStatesImages.ts @@ -171,4 +171,63 @@ export const EMPTY_STATE_IMAGES = { `, + API_KEY: ` + + + + + + + + + + + + + + + + + + + + + + `, + ARROW_UP: ` + + `, + ARROW_DOWN: ` + + `, + ARROW_RIGHT: ` + + + `, + ARROW_LEFT: ` + + `, + ADD_API_KEY: ` + + + + + + + + + + + + + + + + + + + + + + `, };