diff --git a/frontend/src/assets/main.scss b/frontend/src/assets/main.scss index 7360c638..58ca7af5 100644 --- a/frontend/src/assets/main.scss +++ b/frontend/src/assets/main.scss @@ -7,6 +7,16 @@ font-weight: normal; } +a, +a:visited { + color: $bcbox-link-text; + text-decoration: underline; + &:hover { + color: $bcbox-link-text-hover; + text-decoration: none; + } +} + .truncate { max-width: 1px; white-space: nowrap; @@ -62,7 +72,7 @@ td .wrap-block{ width: inherit; } padding-bottom: 0; .svg-inline--fa { - color: $bcbox-icon-primary; + color: $bcbox-primary; font-size: 1.8rem; padding-right: .75rem; padding-top: .15rem; diff --git a/frontend/src/assets/primevue.scss b/frontend/src/assets/primevue.scss index a992bcd0..0ff31bc0 100644 --- a/frontend/src/assets/primevue.scss +++ b/frontend/src/assets/primevue.scss @@ -16,6 +16,35 @@ background-color: transparent !important; } + &.p-datatable-striped .p-datatable-tbody > tr { + &:nth-child(even) { + background-color: $bcbox-table-stripe-background; + } + } + + tbody { + tr { + &.p-highlight { + background: $bcbox-highlight-background !important; + } + + &:focus { + outline: none !important; + } + } + } + + .p-checkbox { + .p-checkbox-box.p-highlight { + background-color: $bcbox-primary; + border-color: $bcbox-primary !important; + + &:hover { + background-color: darken($bcbox-primary, 20%) !important; + } + } + } + .p-column-title { font-weight: bold; } @@ -29,3 +58,55 @@ margin-left: 1rem; } } + +// Primary color overrides for buttons and action items (checkboxes etc) +// Note this could be eventually replaced by a custom themeing (which has JUST been introduced in Primevue) +// once it is more settled implementation-wise +.p-button { + &:not( + .p-button-secondary, + .p-button-success, + .p-button-info, + .p-button-warning, + .p-button-help, + .p-button-danger + ) { + color: $bcbox-primary !important; + + &:not(.p-button-outlined, .p-button-text) { + background-color: $bcbox-primary; + border-color: $bcbox-primary; + color: $bcbox-outline-on-primary !important; + } + } +} + +.p-checkbox, +.p-radiobutton { + &.p-checkbox-checked, + &.p-radiobutton-checked { + .p-checkbox-box, + .p-radiobutton-box { + background-color: $bcbox-primary; + border-color: $bcbox-primary !important; + + &:hover { + background-color: darken($bcbox-primary, 20%) !important; + } + } + } +} + +.p-inputswitch.p-inputswitch-checked { + .p-inputswitch-slider { + background-color: $bcbox-primary; + } + + &:not(.p-disabled) { + &:hover { + .p-inputswitch-slider { + background-color: darken($bcbox-primary, 10%) !important; + } + } + } +} diff --git a/frontend/src/assets/variables.scss b/frontend/src/assets/variables.scss index 578b1f03..de191499 100644 --- a/frontend/src/assets/variables.scss +++ b/frontend/src/assets/variables.scss @@ -1,2 +1,9 @@ // General font/etc colors -$bcbox-icon-primary: #036; +$bcbox-primary: #036; +$bcbox-link-text: #1a5a96; +$bcbox-link-text-hover: #00f; +$bcbox-outline-on-primary: #fff; + +// Panel/row/etc backgrounds +$bcbox-highlight-background: #d9e1e8; +$bcbox-table-stripe-background: #f2f2f2; diff --git a/frontend/src/components/bucket/BucketList.vue b/frontend/src/components/bucket/BucketList.vue index 8f6c9a6f..6f94e143 100644 --- a/frontend/src/components/bucket/BucketList.vue +++ b/frontend/src/components/bucket/BucketList.vue @@ -119,10 +119,6 @@ h1 { font-weight: bold; } -h3 { - font-weight: bold; -} - button { text-indent: 10px; } diff --git a/frontend/src/components/bucket/BucketPermission.vue b/frontend/src/components/bucket/BucketPermission.vue index 96e12ccf..52cafe92 100644 --- a/frontend/src/components/bucket/BucketPermission.vue +++ b/frontend/src/components/bucket/BucketPermission.vue @@ -191,7 +191,7 @@ onMounted( async () => { { + + diff --git a/frontend/src/components/form/GridRow.vue b/frontend/src/components/form/GridRow.vue index 80a40dbd..c93ab9f7 100644 --- a/frontend/src/components/form/GridRow.vue +++ b/frontend/src/components/form/GridRow.vue @@ -15,13 +15,24 @@ const props = withDefaults(defineProps(), {