From 0479d5a02abb98c4e854f73af747dc61fd03f2fa Mon Sep 17 00:00:00 2001 From: checktheroads Date: Sat, 24 Jul 2021 17:08:18 -0700 Subject: [PATCH] #6797: Improve toast styles --- netbox/project-static/dist/config.js | Bin 107901 -> 107837 bytes netbox/project-static/dist/config.js.map | Bin 409427 -> 409361 bytes netbox/project-static/dist/jobs.js | Bin 108321 -> 108257 bytes netbox/project-static/dist/jobs.js.map | Bin 411592 -> 411526 bytes netbox/project-static/dist/lldp.js | Bin 108599 -> 108535 bytes netbox/project-static/dist/lldp.js.map | Bin 411941 -> 411875 bytes netbox/project-static/dist/netbox-dark.css | Bin 693331 -> 706340 bytes netbox/project-static/dist/netbox-light.css | Bin 398716 -> 439967 bytes netbox/project-static/dist/netbox.js | Bin 309596 -> 309532 bytes netbox/project-static/dist/netbox.js.map | Bin 1106657 -> 1106591 bytes netbox/project-static/dist/status.js | Bin 127996 -> 127932 bytes netbox/project-static/dist/status.js.map | Bin 460194 -> 460128 bytes netbox/project-static/src/bs.ts | 12 ++-- netbox/project-static/styles/netbox.scss | 43 ++++++++++-- netbox/project-static/styles/theme-base.scss | 4 ++ netbox/project-static/styles/theme-dark.scss | 8 +-- netbox/templates/inc/messages.html | 70 ++++++++++++------- netbox/utilities/templatetags/helpers.py | 31 +++++++- 18 files changed, 124 insertions(+), 44 deletions(-) diff --git a/netbox/project-static/dist/config.js b/netbox/project-static/dist/config.js index 9a70cba925088f53d7f8a66ee686797b436a9e98..c1ea8e0c08c9e474dfcd4f20e129d8a7f0048357 100644 GIT binary patch delta 156 zcmex+if!*HwuUW?qH{QNQ!;fEb5e^+rW?*-l+A^6m8_E!i&K?~OOumRi;I=4@@*H~$=SNenMKJtsZb@Ed1?7@c@U>4H?br$KMyLMl9-pCS_D@Bwo9otC$&VOXu9A$ WM)~a=a~WqdGUcXhUowyJCK~{ilsGK_ delta 209 zcmdmcitXFEi8MhIdfAobrW+^i%O>7tY)!C;+oX3XbXU3lQUA2vvrd* zi;{Cvrx(|-Xz+tXGxO5&i*gf7GV}AMud89v5`i0}ZXJ`Spimo=7n3*L@gI}OcHvqU zO(v$?ly=*CmhHCnthKutBd71NVv{gTcXD(N(g}5R_Rw*4bPU%i1@ryk{9-Ua7|xH} a&SuTV#>naK=;*KG?dY1bUDSrnju`+PLPenf delta 298 zcmbREPvY`FiG~)&7N!>FEi8MhWs)*=Q!A2l5_1zvGV}9vONufR^U`xtb<;9)a;6`v zX0gYwg0F@}TLfrEaz<)$wr+A}Q8G-gXAO&nFi<8lFD)NMqM?RGOC6uJ>eexN3JSF` zc`rqw1I8wOgpwat248CS65kE zZG#He9ds%~*B?qn!kThkA~4b(ETtz4g6zkjjEJC~3OW;FFX!CvobNk#zH?`EIqThv ztl0(@X!#iH!I);NfL0gTR{%sF2@INvgL78MS2&lZCnaB(22sku4}le?wPh^bTD zXGGQHh5H5^;f?;p*wEgKakae`HH96=u^sG4fP5;Nr~ZjqQ6=Za`%#;TKQJITk*G)d zM8bpTkBQfKe%$j53mpO@MFieU%a^ZjWMe7fbTv}68oO~8aKhW09y4lpXOg9ap`;2X z$b=YP5-WUy5N>lda#YlACyb{}auD@d=9{jW8!Lk!ILl!Pw! zOxNLxRCeZQ8GhsJYCeL6)d7p{e7zZY>f)#MVxW~7BiMjwD@It#H4&ei)`qQMapurr z$|eTFZ8jIt=4xOHA4@w!K@Pgmf(N0-3`Dto2sj{jtTecA(vBARqF7s?K(n?&7xI)o z0lYYSLx2xOC|kJ(odyHVC@(Egqy$p%#!NG4TEf^E7w9)l8P*#;I(OT*{w*`X$`+!tg7NqIB`yVxyg+wb>@j7^OA{fsEu z+-OMe`2&pqe7T3Xj=NMs&@b4}ybPMLe5NgsYhhYeR ZVPz=;)o2z*;fW5Pjzc-ZALCGI{0qbzDgFQe delta 884 zcmaJ=O-K}B80Os{D|BTe1ra0NV%g1IJBSCjrWO03x(F6^XoFg(nRaZQ)!Esc)z#Kk z+rUEIL8r2E)1_RIFsGbbV4xi;rIQ6g_G3^+b*WQ9?|{-px;*dCJkRre@B1G3&rciB!WaFCSl`xzxYSmInxgij_&L~~0Qp2TU;PuaqDsz>51=+3e`vtsSfUQ; znS>YfkBQfqKkoj8_^78FJDy8(KvKylrfo?Fs>YHb6IyP&a!?Px{^uBE$6y!Y#NY#@ zog5lL+V7!G$d`B=p%25=h?<*E7JA}boCn9?4 zbV>&s;c1Zz@ufsA$Xv`LqJwuj?RH0)lH}10u3mkgk&Fhy%gfn9wPk#t{s8y0B2KY$ zq83-AvXh6)@s3kV1z5~24O;ZcR~nJ0&VO1d0ZExOf(?kaXoP2ZCgS%<+HEUXoVikn zvV{YoR-21xGu4pA$I?zykc(4j!TnHe2BO?O0348eRst?`+S&|X6l*gSYStF$M4r+o zfDgS_1^7^mvc;>=VK7LH^3npuN}wO!m?Z`WSGtZvk>VeKgb8bxJo~jk`Oyy!WmgJn zjM!3^`%o~_51Vv#JO-u8f(TXtSuPkc9P m(_A-U7N9}>dL*meXUf$M_eMF+qb0JmeMW z=$xkG@8}o^B%EDzLLHqwbX*-B!*$Y~9G!!Z_@!VzP!UwV7|aib^CP!kbYx>=R delta 282 zcmZqcmpsug+0eq+!qmdNg=I^%Oj4$9YDIERVs2tdW`3S-Nl|8EUV2WdZdzte&h)+2 zEcWivZ0?&PYwp)=kbVN`~omsA16%2FhgSrRAeYl-ICm;Wc#osu~s#CdQ=p zFLf;2ztph?9`ez4a&%79@pp6#1QO0JI-!ov9y+d$j^R4F&W_GONPHup${>&;sJsD~ g9}MSfJ8kcGWMgCG^mTOf)$w+8&DuWCiR}do003cM0RR91 diff --git a/netbox/project-static/dist/lldp.js b/netbox/project-static/dist/lldp.js index acc6b16652196961135e9350fa31803c1fdf2086..49b8d80864a7c0deff45396e2c88b81e989e9d42 100644 GIT binary patch delta 156 zcmdmff$jTwwuUW?qH{QNQ!;fEb5e^+rW?*-l+A^6m8_E!i&K?~OOumRi;I=4@@*H~$=SNenMKJtsZb@Ed1?7@c@U>4H?br$KMyLMl9-pCS_D@Bwo9otC$&VOXu9A$ WM)~a=a~WqdGUcXhUowwzGA96&r#I;U delta 209 zcmex>8UOyB?j diff --git a/netbox/project-static/dist/lldp.js.map b/netbox/project-static/dist/lldp.js.map index a534001f52248d2c1c80c79435c87fe75cbdaa24..d133a775e95b188e251930adf7eff9719c012f7b 100644 GIT binary patch delta 216 zcmZ2FN%HYT$%Yoj7N!>FEiAjMIdfAobrW+^i%OFEiAjMWs)*=Q!A2l5_1zvGV}9vONufR^U`xtb<;9)a;6`t zX0gYwf~ST>TLfrEaz<)$wr+A}Q8G-gdku?*Fi<8lFD)NMqOOKT3$LNuH`cItFfk^z z|E^=%{=1I#*dZTnCr9Tr9e+p1Kp^4lq7&-q?4jf8=oqe(>+I+pgv2)jstf`tg323! g`N43$w$pZQCpI=lPG3hyUmb5p*R1VQ&TJ=H0gKXJ$p8QV diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css index 0083825e065590666f4e235bb5a7bdd56edbca0c..f76ea1c7fc687a92ea8bbeae601bb0a3ebe7ee52 100644 GIT binary patch delta 13336 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 delta 10243 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 OOt~rB|L$du{|x{}c{knw delta 213 zcmbR9N$Acep@tU57N#xCdAntjGIdicl5-Ms6H7Al^K?s!G86OCb5eEFGIMgKm+xkl zt;eTA$vQc)I8~{*G&wo7xLC<5-&P5zJUJsZIa@b5vnUyA5L8)aURpj(4Tz0JNea;R d)FPN7kjq4|I&J%}-OL9W8I!i}-OC*R8vxviP`Cg9 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index e54bdfe98978de79319cac6a03cfe731ede3849f..658249345c2ad8976681d5a673ec5928262cb5cd 100644 GIT binary patch delta 244 zcmaEO)Or3<=Y|%>7N!>F7M2#)7Pc1l7LFFqEnFw2aptCE>L%u-7L`nYGL6d~iEBTd zOIrXWo1BrFoUNOjS(KcUI=yZ>mj*vbG&3(PzbH4cBr`v6`p)TGS_qxn|4--gU}DNm zY4@1L1;pGy%mc){K+Lz@V;29gepD7N!>F7M2#)7Pc1l7LFFqEnFw2$s}d!rdA~9B<3cTWaj7TmK0?s z=B4MP>ZWDp^#%7|z#r+U_kXz{bew>*(mKW*AWl(kVo7Fx9#lFdF)ux} kNJ#|M^xB-%5{07a{`VLqw?DqaxR8-4H)VV4J;riT0E~r0ng9R* delta 221 zcmdnNKU=oYWG9qUjs&GRkjXaffj>BV*Eb*L#fRq5#ZgR9gT5 diff --git a/netbox/project-static/dist/status.js.map b/netbox/project-static/dist/status.js.map index 779623b857932e251d7e79bdd04e93c1d16b1217..dc885d2455200858e26cc43917c0025105e56021 100644 GIT binary patch delta 216 zcmZ3~E%TsDrlEzgg{g&k3(NnHoVh8Px`{cdMJ3avKe5;&amzljXbXU3lQUA2vvrd* zi;{Cvr*HklqQMUm&CE;7FUn0U$;{82{^1jg7DDHCv(GFZOiZ~c?e$+-w%31U{r=Z0 z($P6h$KTO05J)(?=!7~td+4}2I)>|{J2^TBA@NJWe4rwzd@-0G4ChB~KlGW6jgb>* SmcNd-qifFgi(l9-3IG6z#Z4Rl delta 282 zcmaFRC9|korlEzgg{g&k3(NnHGD(@bsTIjNiMfd-nfZCTB}JKudFeT+x@nm?Iny~l zvDo8R5%7scTLfrEaz<)$wr+A}Q8G+#_a_z&VW3QAURpki#Gy|tT6hiJ{`C`!2NPpb zyZu*|?e&%1YddXk_{_$}$m#3o=&R%H=$f^?{|nni0RY?8WLW?J diff --git a/netbox/project-static/src/bs.ts b/netbox/project-static/src/bs.ts index ecd7e5592..af87b481e 100644 --- a/netbox/project-static/src/bs.ts +++ b/netbox/project-static/src/bs.ts @@ -34,16 +34,16 @@ export function createToast( message: string, extra?: string, ): Toast { - let iconName = 'bi-exclamation-triangle-fill'; + let iconName = 'mdi-alert'; switch (level) { case 'warning': - iconName = 'bi-exclamation-triangle-fill'; + iconName = 'mdi-alert'; case 'success': - iconName = 'bi-check-circle-fill'; + iconName = 'mdi-check-circle'; case 'info': - iconName = 'bi-info-circle-fill'; + iconName = 'mdi-information'; case 'danger': - iconName = 'bi-exclamation-triangle-fill'; + iconName = 'mdi-alert'; } const container = document.createElement('div'); @@ -59,7 +59,7 @@ export function createToast( header.setAttribute('class', `toast-header bg-${level} text-body`); const icon = document.createElement('i'); - icon.setAttribute('class', `bi ${iconName}`); + icon.setAttribute('class', `mdi ${iconName}`); const titleElement = document.createElement('strong'); titleElement.setAttribute('class', 'me-auto ms-1'); diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss index abd9ccf4a..038fa12d9 100644 --- a/netbox/project-static/styles/netbox.scss +++ b/netbox/project-static/styles/netbox.scss @@ -94,12 +94,37 @@ margin-bottom: $spacer; } +// Ensure elements with data-href set show the correct cursor. +// data-href is set on non non-anchor elements that need to redirect the user to a URL when +// clicked, but where an anchor element does not suffice or is not supported. *[data-href] { cursor: pointer; } -// Use proper contrasting color foreground color for special components. @each $color, $value in $theme-colors { + // Override CSS values on each theme color. + + // Use Bootstrap's method of coloring alert links to appropriately color close buttons within + // another colored element. + // See: https://github.com/twbs/bootstrap/blob/2bdbb42dcf6bfb99b5e9e5444d9e64589eb8c08f/scss/_alert.scss#L50-L52 + // See: https://github.com/twbs/bootstrap/blob/2bdbb42dcf6bfb99b5e9e5444d9e64589eb8c08f/scss/_close.scss#L12 + $shaded-color: shade-color(mix($value, color-contrast($value), abs($alert-color-scale)), 5%); + $btn-close-bg: url("data:image/svg+xml,"); + .bg-#{$color} button.btn-close { + background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; + } + + // Use Bootstrap's method of coloring the .alert-link class automatically. + // See: https://github.com/twbs/bootstrap/blob/2bdbb42dcf6bfb99b5e9e5444d9e64589eb8c08f/scss/_alert.scss#L50-L52 + .toast.bg-#{$color}, + .alert.alert-#{$color} { + a { + color: $shaded-color; + font-weight: $font-weight-bold; + } + } + + // Use proper contrasting color foreground color for special components. .badge, .toast, .progress-bar { @@ -107,11 +132,11 @@ color: color-contrast($value); } } - // Use proper foreground color in the alert body. Note: this is applied to a, p, & small because + + // Use proper foreground color in the alert body. Note: this is applied to p, & small because // we *don't* want to override the h1-h6 colors for alerts, since those are set to a color // similar to the alert color. .alert.alert-#{$color} { - a, p, small { color: color-contrast($value); @@ -926,8 +951,9 @@ div.card > div.card-header > div.table-controls { border-bottom: 1px solid $nav-tabs-border-color; } -// Shade the home page content background-color. -body { +// Page-specific styles. +html { + // Shade the home page content background-color. &[data-netbox-path='/'] { .content-container, .search { @@ -940,4 +966,11 @@ body { } } } + + // Don't show the django-messages toasts on the login screen in favor of the alert component. + &[data-netbox-path*='/login'] { + #django-messages { + display: none; + } + } } diff --git a/netbox/project-static/styles/theme-base.scss b/netbox/project-static/styles/theme-base.scss index 8dafd5e16..35534de20 100644 --- a/netbox/project-static/styles/theme-base.scss +++ b/netbox/project-static/styles/theme-base.scss @@ -128,6 +128,10 @@ $font-family-sans-serif: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMa $font-family-monospace: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; +// This is the same value as the default from Bootstrap, but it needs to be in scope prior to +// importing _variables.scss from Bootstrap. +$btn-close-width: 1em; + $accordion-padding-y: 0.8125rem; $accordion-padding-x: 0.8125rem; diff --git a/netbox/project-static/styles/theme-dark.scss b/netbox/project-static/styles/theme-dark.scss index a2f675554..fae66e1f1 100644 --- a/netbox/project-static/styles/theme-dark.scss +++ b/netbox/project-static/styles/theme-dark.scss @@ -46,6 +46,7 @@ $link-hover-color: $blue-100; // Alerts $alert-bg-scale: -5%; $alert-border-scale: -20%; +$alert-color-scale: 20%; // Tables $table-color: $gray-100; @@ -261,15 +262,8 @@ $carousel-dark-control-icon-filter: invert(1) grayscale(100); // Close $btn-close-color: $white; $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); - $btn-close-bg: url("data:image/svg+xml,"); -@each $color, $value in $theme-colors { - .bg-#{$color} button.btn-close { - background: url("data:image/svg+xml,"); - } -} - // Code $code-color: $gray-200; $kbd-color: $white; diff --git a/netbox/templates/inc/messages.html b/netbox/templates/inc/messages.html index 352777564..409117efe 100644 --- a/netbox/templates/inc/messages.html +++ b/netbox/templates/inc/messages.html @@ -1,39 +1,59 @@ +{% load helpers %} +
+ {# Django Messages #} + {% if messages %} {% for message in messages %} -