@@ -45,6 +52,7 @@ import { User } from "@/types/users";
import NewProjectIcon from '@/../static/images/navigation/newProject.svg';
import CreateAGIcon from '@/../static/images/navigation/createAccessGrant.svg';
+import S3Icon from '@/../static/images/navigation/s3.svg';
import UploadInCLIIcon from '@/../static/images/navigation/uploadInCLI.svg';
import UploadInWebIcon from '@/../static/images/navigation/uploadInWeb.svg';
@@ -53,6 +61,7 @@ import UploadInWebIcon from '@/../static/images/navigation/uploadInWeb.svg';
components: {
NewProjectIcon,
CreateAGIcon,
+ S3Icon,
UploadInCLIIcon,
UploadInWebIcon,
},
@@ -69,8 +78,24 @@ export default class QuickStartLinks extends Vue {
public navigateToCreateAG(): void {
this.analytics.eventTriggered(AnalyticsEvent.CREATE_AN_ACCESS_GRANT_CLICKED);
this.closeDropdowns();
- this.analytics.pageVisit(RouteConfig.AccessGrants.with(RouteConfig.CreateAccessGrant).with(RouteConfig.NameStep).path);
- this.$router.push(RouteConfig.AccessGrants.with(RouteConfig.CreateAccessGrant).path).catch(() => {return;});
+ this.analytics.pageVisit(RouteConfig.AccessGrants.with(RouteConfig.CreateAccessModal).path);
+ this.$router.push({
+ name: RouteConfig.AccessGrants.with(RouteConfig.CreateAccessModal).name,
+ params: { accessType: 'access' },
+ }).catch(() => {return;});
+ }
+
+ /**
+ * Redirects to Create Access Modal with "s3" access type preselected
+ */
+ public navigateToAccessGrantS3(): void {
+ this.analytics.eventTriggered(AnalyticsEvent.CREATE_S3_CREDENTIALS_CLICKED);
+ this.closeDropdowns();
+ this.analytics.pageVisit(RouteConfig.AccessGrants.with(RouteConfig.CreateAccessModal).path);
+ this.$router.push({
+ name: RouteConfig.AccessGrants.with(RouteConfig.CreateAccessModal).name,
+ params: { accessType: 's3' },
+ }).catch(() => {return;});
}
/**
diff --git a/web/satellite/src/router/index.ts b/web/satellite/src/router/index.ts
index 788b4671f..24e86475e 100644
--- a/web/satellite/src/router/index.ts
+++ b/web/satellite/src/router/index.ts
@@ -5,6 +5,7 @@ import Vue from 'vue';
import Router from 'vue-router';
import AccessGrants from '@/components/accessGrants/AccessGrants.vue';
+import CreateAccessModal from '@/components/accessGrants/CreateAccessModal.vue'
import CreateAccessGrant from '@/components/accessGrants/CreateAccessGrant.vue';
import CLIStep from '@/components/accessGrants/steps/CLIStep.vue';
import CreatePassphraseStep from '@/components/accessGrants/steps/CreatePassphraseStep.vue';
@@ -106,6 +107,7 @@ export abstract class RouteConfig {
public static CreditsHistory = new NavigationLink('credits-history', 'Credits History');
// access grant child paths
+ public static CreateAccessModal = new NavigationLink('create-access-modal', 'Create Access Modal');
public static CreateAccessGrant = new NavigationLink('create-grant', 'Create Access Grant');
public static NameStep = new NavigationLink('name', 'Name Access Grant');
public static PermissionsStep = new NavigationLink('permissions', 'Access Grant Permissions');
@@ -376,6 +378,11 @@ export const router = new Router({
name: RouteConfig.AccessGrants.name,
component: AccessGrants,
children: [
+ {
+ path: RouteConfig.CreateAccessModal.path,
+ name: RouteConfig.CreateAccessModal.name,
+ component: CreateAccessModal
+ },
{
path: RouteConfig.CreateAccessGrant.path,
name: RouteConfig.CreateAccessGrant.name,
diff --git a/web/satellite/static/images/navigation/s3.svg b/web/satellite/static/images/navigation/s3.svg
new file mode 100644
index 000000000..6fb158960
--- /dev/null
+++ b/web/satellite/static/images/navigation/s3.svg
@@ -0,0 +1,7 @@
+