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.
+
+
+
+
+
Read / Write
+
+
+
+
+
+
+
+
+
+
+
+
\ 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.
+
+
+
+
+
+
+
+
test
+
+
+
test
+
+
+
+
+
+
+
+
\ 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: ``,
};