diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index d998dc8d4..451aef5d9 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -8,13 +8,13 @@
"name": "fam-frontend",
"version": "0.0.0",
"dependencies": {
- "@bcgov-nr/nr-theme": "^1.4.2",
+ "@bcgov-nr/nr-theme": "^1.5.0",
"@carbon/icons-vue": "^10.72.1",
"aws-amplify": "^5.3.6",
"axios": "0.26.1",
"bootstrap": "^5.2.3",
"fam-api": "file:../client-code-gen/gen",
- "primevue": "^3.27.0",
+ "primevue": "3.34.0",
"vee-validate": "^4.7.3",
"vue": "^3.2.38",
"vue-router": "^4.1.5"
@@ -7616,9 +7616,9 @@
}
},
"node_modules/@bcgov-nr/nr-theme": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/@bcgov-nr/nr-theme/-/nr-theme-1.4.2.tgz",
- "integrity": "sha512-e1PCx2JvC56dehfjar5Hg7d+VF82i8K8Q8QrNvyLUiPVBx7qwk+kQF0Ur/b12xKgZXfsVeO5wxc2lcVZHyl9yA=="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@bcgov-nr/nr-theme/-/nr-theme-1.5.0.tgz",
+ "integrity": "sha512-6/CD1mnR9Kp5L+3JDykD/uui6ozbSrk8Eb+8pa1REFUC7cbW/D/CAvxIMiNJpyVYMSRAg+skSpux15kPJMWFpw=="
},
"node_modules/@bcoe/v8-coverage": {
"version": "0.2.3",
@@ -15686,9 +15686,9 @@
"peer": true
},
"node_modules/primevue": {
- "version": "3.29.1",
- "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.29.1.tgz",
- "integrity": "sha512-dn00eWy5ZVL5srjVD/sLppjg4leDPKx3EUxOMuTi/o5e0XHGB1ZASfXPSSNTr314k3NWpoQqzuDfPNOg4PJ7fg==",
+ "version": "3.34.0",
+ "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.34.0.tgz",
+ "integrity": "sha512-vh77EGp9ansFWixFPnJpjjQ9p/TLbZKJDx2lbTKTVrc370LyLx9Mh2JeDjOMlzhW1GAK4j209HwHGft/NTAtaA==",
"peerDependencies": {
"vue": "^3.0.0"
}
@@ -24643,9 +24643,9 @@
}
},
"@bcgov-nr/nr-theme": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/@bcgov-nr/nr-theme/-/nr-theme-1.4.2.tgz",
- "integrity": "sha512-e1PCx2JvC56dehfjar5Hg7d+VF82i8K8Q8QrNvyLUiPVBx7qwk+kQF0Ur/b12xKgZXfsVeO5wxc2lcVZHyl9yA=="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@bcgov-nr/nr-theme/-/nr-theme-1.5.0.tgz",
+ "integrity": "sha512-6/CD1mnR9Kp5L+3JDykD/uui6ozbSrk8Eb+8pa1REFUC7cbW/D/CAvxIMiNJpyVYMSRAg+skSpux15kPJMWFpw=="
},
"@bcoe/v8-coverage": {
"version": "0.2.3",
@@ -30776,9 +30776,9 @@
}
},
"primevue": {
- "version": "3.29.1",
- "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.29.1.tgz",
- "integrity": "sha512-dn00eWy5ZVL5srjVD/sLppjg4leDPKx3EUxOMuTi/o5e0XHGB1ZASfXPSSNTr314k3NWpoQqzuDfPNOg4PJ7fg==",
+ "version": "3.34.0",
+ "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.34.0.tgz",
+ "integrity": "sha512-vh77EGp9ansFWixFPnJpjjQ9p/TLbZKJDx2lbTKTVrc370LyLx9Mh2JeDjOMlzhW1GAK4j209HwHGft/NTAtaA==",
"requires": {}
},
"process-nextick-args": {
diff --git a/frontend/package.json b/frontend/package.json
index 2b4de201f..a3db71123 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -13,13 +13,13 @@
"test-coverage": "vitest run --coverage"
},
"dependencies": {
- "@bcgov-nr/nr-theme": "^1.4.2",
+ "@bcgov-nr/nr-theme": "^1.5.0",
"@carbon/icons-vue": "^10.72.1",
"aws-amplify": "^5.3.6",
"axios": "0.26.1",
"bootstrap": "^5.2.3",
"fam-api": "file:../client-code-gen/gen",
- "primevue": "^3.27.0",
+ "primevue": "3.34.0",
"vee-validate": "^4.7.3",
"vue": "^3.2.38",
"vue-router": "^4.1.5"
diff --git a/frontend/src/alltypes.d.ts b/frontend/src/alltypes.d.ts
index 71fa2f220..5d43bf476 100644
--- a/frontend/src/alltypes.d.ts
+++ b/frontend/src/alltypes.d.ts
@@ -23,3 +23,6 @@ declare module '@carbon/icons-vue/es/user--avatar/20';
// large
declare module '@carbon/icons-vue/es/error--filled/24';
+declare module '@carbon/icons-vue/es/trash-can/16';
+declare module '@carbon/icons-vue/es/edit/16';
+declare module '@carbon/icons-vue/es/menu/20';
diff --git a/frontend/src/assets/styles/default-theme.scss b/frontend/src/assets/styles/default-theme.scss
index cf9be451a..17ecb2e95 100644
--- a/frontend/src/assets/styles/default-theme.scss
+++ b/frontend/src/assets/styles/default-theme.scss
@@ -44,4 +44,4 @@ $light-support-success: map.get(lightTheme.$light-theme, 'support-success');
//icon
$light-icon-primary: map.get(lightTheme.$light-theme, 'icon-primary');
-
+$light-icon-on-color: map.get(lightTheme.$light-theme, 'icon-on-color');
diff --git a/frontend/src/assets/styles/icon.scss b/frontend/src/assets/styles/icon.scss
index 56c0862d1..6ce02b3bb 100644
--- a/frontend/src/assets/styles/icon.scss
+++ b/frontend/src/assets/styles/icon.scss
@@ -15,7 +15,7 @@
}
.custom-carbon-icon--help,
.custom-carbon-icon--sidenav {
- margin-right: 1.5625rem;
+ margin-right: 1.5rem;
}
.custom-carbon-icon--sidenav {
@@ -24,4 +24,8 @@
.custom-carbon-icon--trash-can {
color: $light-icon-primary;
+}
+
+.custom-carbon-icon--menu {
+ color: $light-icon-on-color;
}
\ No newline at end of file
diff --git a/frontend/src/assets/styles/layout.scss b/frontend/src/assets/styles/layout.scss
index 2bafa35ff..68e57aebd 100644
--- a/frontend/src/assets/styles/layout.scss
+++ b/frontend/src/assets/styles/layout.scss
@@ -9,15 +9,15 @@ body {
position: absolute;
display: block;
height: calc(100vh - $header-height);
- left: 16rem;
- right: 0;
+ width: 100vw;
bottom: 0;
overflow: auto;
- padding: 2.62rem 2rem 0;
+ padding: 1.06rem 1rem 0 1rem;
}
.page-body {
- margin-top: 2rem;
+ margin-top: 1.5rem;
+ width: 100%;
}
.form-container {
@@ -59,3 +59,20 @@ input[type='number'] {
.p-inputtext {
font-family: inherit;
}
+
+@media (min-width: 768px) {
+ .main {
+ padding: 1.5rem 1.5rem 0 1.5rem;
+ }
+}
+
+@media (min-width: 1024px) {
+ .page-body {
+ width: 100%;
+ }
+
+ .main {
+ left: 16rem;
+ width: calc(100vw - 16rem);
+ }
+}
\ No newline at end of file
diff --git a/frontend/src/components/common/Button.vue b/frontend/src/components/common/Button.vue
index 04d560265..bb947c883 100644
--- a/frontend/src/components/common/Button.vue
+++ b/frontend/src/components/common/Button.vue
@@ -66,9 +66,7 @@ function onClicked(event: any) {
diff --git a/frontend/src/components/grantaccess/Summary.vue b/frontend/src/components/grantaccess/Summary.vue
index da4f98947..8c275e6c1 100644
--- a/frontend/src/components/grantaccess/Summary.vue
+++ b/frontend/src/components/grantaccess/Summary.vue
@@ -4,7 +4,7 @@ import router from '@/router';
import { selectedApplicationDisplayText } from '@/store/ApplicationState';
import { onMounted } from 'vue';
-import { useNotificationMessage } from '@/store/NotificationState';
+import { notificationMessageState } from '@/store/NotificationState';
import { ApiServiceFactory } from '@/services/ApiServiceFactory';
import {
@@ -27,7 +27,7 @@ async function handleSubmit() {
await userRoleAssignmentApi.createUserRoleAssignment(
grantAccessFormData.value as FamUserRoleAssignmentCreate
);
- useNotificationMessage.isNotificationVisible = true;
+ notificationMessageState.isVisible = true;
router.push('/dashboard');
resetGrantAccessFormData();
}
diff --git a/frontend/src/components/grantaccess/SummaryCard.vue b/frontend/src/components/grantaccess/SummaryCard.vue
index 74fde9902..f2d9d1c06 100644
--- a/frontend/src/components/grantaccess/SummaryCard.vue
+++ b/frontend/src/components/grantaccess/SummaryCard.vue
@@ -4,7 +4,7 @@ import { selectedApplicationDisplayText } from '@/store/ApplicationState';
import Card from 'primevue/card';
import { onMounted, type PropType } from 'vue';
-import { useNotificationMessage } from '@/store/NotificationState';
+import { notificationMessageState } from '@/store/NotificationState';
import LoadingState from '@/store/LoadingState';
import type { FamUserRoleAssignmentCreate } from 'fam-api';
@@ -21,7 +21,7 @@ const props = defineProps({
});
onMounted(() => {
- useNotificationMessage.notificationMsg =
+ notificationMessageState.notificationMsg =
props.data != undefined
? `New access granted to ${props.data.user_name}`
: '';
diff --git a/frontend/src/components/header/Header.vue b/frontend/src/components/header/Header.vue
index b049b72b9..df212ee12 100644
--- a/frontend/src/components/header/Header.vue
+++ b/frontend/src/components/header/Header.vue
@@ -1,9 +1,12 @@