photoprism/frontend/src/css/notify.css
Michael Mayer f09aa7749b UX: Update tabindex attributes and remove focus workaround in notify.vue
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-13 13:44:25 +02:00

105 lines
2.6 KiB
CSS

/* Notifications */
#p-notify {
position: fixed;
bottom: 16px;
left: 16px;
right: 16px;
font-size: 0.875rem;
font-weight: 400;
margin-top: auto;
user-select: none;
display: flex;
gap: 4px;
align-items: center;
flex-direction: column;
justify-items: center;
z-index: 2500;
}
#p-notify .v-snackbar {
margin-left: auto;
margin-right: auto;
}
#p-notify .v-snackbar .v-snackbar__wrapper {
position: relative;
cursor: pointer;
min-width: 280px;
max-width: 440px;
color: rgba(var(--v-theme-on-surface), 1);
background-color: rgba(var(--v-theme-surface), 0.32);
backdrop-filter: blur(6px);
box-shadow: 0 2px 1px -1px var(--v-shadow-key-umbra-opacity, #0003), 0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, #00000024), 0 1px 3px 0 var(--v-shadow-key-ambient-opacity, #0000001f) !important;
padding: 8px 14px;
}
#p-notify .v-snackbar__wrapper .v-snackbar__content {
z-index: 2;
display: flex;
gap: 4px;
align-items: center;
align-self: center;
flex-wrap: nowrap;
flex-direction: row;
justify-content: space-between;
justify-items: center;
padding: 0;
margin: 0;
}
#p-notify .v-snackbar__wrapper .v-snackbar__content .p-notify__icon {
margin: 0;
align-self: center;
font-size: 22px;
height: 22px;
width: 22px;
}
#p-notify .v-snackbar__wrapper .v-snackbar__content .p-notify__text {
flex-grow: 1;
margin: 2px 8px;
padding: 0;
text-align: start;
align-self: center;
}
#p-notify .v-snackbar__wrapper .v-snackbar__content .p-notify__close {
opacity: 0.8;
font-size: 24px;
height: 24px;
width: 24px;
cursor: pointer;
}
.v-snackbar__wrapper .v-snackbar__underlay {
background-color: rgba(var(--v-theme-surface), 0.32);
position: absolute;
z-index: -1;
bottom: 0;
left: 0;
right: 0;
top: 0;
pointer-events: none;
border-radius: inherit;
}
.v-snackbar.p-notify--success .v-snackbar__wrapper {
background-color: rgba(var(--v-theme-success), 0.36) !important;
color: rgba(var(--v-theme-on-success), 1) !important;
}
.v-snackbar.p-notify--info .v-snackbar__wrapper {
background-color: rgba(var(--v-theme-info), 0.36) !important;
color: rgba(var(--v-theme-on-info), 1) !important;
}
.v-snackbar.p-notify--warning .v-snackbar__wrapper {
background-color: rgba(var(--v-theme-warning), 0.4) !important;
color: rgba(var(--v-theme-on-warning), 1) !important;
}
.v-snackbar.p-notify--error .v-snackbar__wrapper {
background-color: rgba(var(--v-theme-error), 0.42) !important;
color: rgba(var(--v-theme-on-error), 1) !important;
}