Ticket #8132: 8132.2.patch
| File 8132.2.patch, 45.2 KB (added by , 6 years ago) |
|---|
-
src/bp-core/admin/css/hello-rtl.css
diff --git src/bp-core/admin/css/hello-rtl.css src/bp-core/admin/css/hello-rtl.css index 48d7e6a21..8afabb2d7 100644
TABLE OF CONTENTS: 9 9 1.0 - Typography and colour 10 10 2.0 - Dashicons 11 11 3.0 - Elements 12 3.1 - Backdrop and container 13 3.2 - Modal footer 14 3.3 - Modal header 15 3.4 - Modal content 12 3.1 - Modal footer 13 3.2 - Modal content 16 14 4.0 - Content styles 17 4.1 - Backdrop and container 18 4.2 - Footer content 19 4.3 - Header content 20 4.4 - Content content 15 4.1 - Footer content 16 4.2 - Header content 17 4.3 - Content content 21 18 5.0 - Media 22 19 6.0 - Media Queries 23 20 6.1 - Desktop Medium … … TABLE OF CONTENTS: 32 29 --bp-hello-container-size: 15%; 33 30 } 34 31 35 #bp-hello-container a{36 color: var(--bp-hello-color-primary);32 .bp-hello-content p { 33 font-size: 16px; 37 34 } 38 35 39 #bp-hello-container a:hover { 40 transition: all 0.1s ease-in-out; 41 color: black;36 .bp-hello-content ul, 37 .bp-hello-content ol { 38 list-style: inherit; 42 39 } 43 40 44 #bp-hello-container .bp-hello-header h1 { 45 line-height: 1.7; 46 font-size: 21px; 47 font-weight: 400; 48 } 49 50 .bp-hello-content p { 51 font-size: 16px; 41 .bp-hello-content h3 { 42 font-size: 1.1em; 43 font-weight: 500; 52 44 } 53 45 54 46 /*------------------------------------------------------------------------------ 55 47 * 2.0 - Dashicons 56 48 *----------------------------------------------------------------------------*/ 57 .bp-hello-close .button {58 padding: 5px !important;59 }60 61 .bp-hello-close .close-modal:before {62 content: "\f158";63 color: #23282d;64 /* wp toolbar */65 font: 400 1.5em/1 dashicons;66 speak: none;67 -webkit-font-smoothing: antialiased;68 -moz-osx-font-smoothing: grayscale;69 background-image: none !important;70 }71 72 .bp-hello-close .close-modal:focus:before, .bp-hello-close .close-modal:hover:before {73 transition: all 0.1s ease-in-out;74 color: var(--bp-hello-color-primary);75 }76 77 49 .bp-hello-social li a:before { 78 50 color: #23282d; 79 51 /* wp toolbar */ … … TABLE OF CONTENTS: 97 69 content: "\f301"; 98 70 } 99 71 100 /*------------------------------------------------------------------------------ 101 * 3.0 - Elements 102 *----------------------------------------------------------------------------*/ 103 /* 104 * 3.1 - Backdrop and container 105 */ 106 #bp-hello-backdrop { 107 position: fixed; 108 top: 0; 109 right: 0; 110 left: 0; 111 bottom: 0; 112 z-index: 9998; 113 display: none; 72 div.dashicons { 73 width: -webkit-fit-content; 74 width: fit-content; 114 75 } 115 76 116 #bp-hello-container { 117 position: fixed; 118 top: 0; 119 bottom: 80px; 120 z-index: 99999; 121 } 122 123 .bp-disable-scroll { 124 overflow: hidden; 77 div.dashicons.big { 78 font-size: 128px; 79 display: block; 80 color: var(--bp-hello-color-primary); 81 height: 128px; 82 width: 128px; 125 83 } 126 84 85 /*------------------------------------------------------------------------------ 86 * 3.0 - Elements 87 *----------------------------------------------------------------------------*/ 127 88 /* 128 * 3. 2- Modal footer89 * 3.1 - Modal footer 129 90 */ 130 .bp-hello-footer {91 #plugin-information-footer { 131 92 display: flex; 132 93 flex-wrap: wrap; 133 height: 58px; 134 max-height: 58px; 94 padding: 0 16px; 95 height: auto; 96 } 97 98 #plugin-information-footer .dashicons-heart { 99 color: #be3631; 135 100 } 136 101 137 102 .bp-hello-social-cta, … … TABLE OF CONTENTS: 156 121 } 157 122 158 123 /* 159 * 3. 3 - Modal header124 * 3.2 - Modal content 160 125 */ 161 .bp-hello-header { 162 height: 58px; 163 max-height: 58px; 126 #bp-hello-container { 127 display: none; 164 128 } 165 129 166 /*167 * 3.4 - Modal content168 */169 130 .bp-hello-content { 170 131 padding: 0 25px; 171 height: calc(100% - 58px); 172 overflow-y: auto; 173 -webkit-overflow-scrolling: touch; 132 padding-bottom: 20px; 174 133 } 175 134 176 /*------------------------------------------------------------------------------ 177 * 4.0 - Content styles 178 *----------------------------------------------------------------------------*/ 179 /* 180 * 4.1 - Backdrop and container 181 */ 182 #bp-hello-backdrop { 183 background-color: rgba(0, 0, 0, 0.8); 184 transition: opacity 0.15s ease-out; 135 #dynamic-content { 136 padding-bottom: 40px; 137 display: none; 185 138 } 186 139 187 # bp-hello-container{188 background-color: white;140 #dynamic-content.show { 141 display: block; 189 142 } 190 143 191 /* 192 * 4.2 - Footer content 193 */ 194 .bp-hello-footer { 195 border-radius: 0 0 3px 3px; 196 background-color: white; 197 border-top: 1px solid var(--bp-hello-color-secondary); 198 padding: 6px 25px; 144 .plugin-details-modal #TB_title { 145 /* stylelint-disable-line */ 146 height: 0; 147 background: none; 148 border: none; 199 149 } 200 150 201 .bp-hello-footer p { 202 font-size: 15px; 151 #TB_window.plugin-details-modal.thickbox-loading:before { 152 /* stylelint-disable-line */ 153 z-index: 10; 154 margin-top: 40px; 155 background-color: none; 203 156 } 204 157 205 .bp-hello- social-cta{206 text-align: right;158 .bp-hello-aligncenter * { 159 margin: 10px auto; 207 160 } 208 161 209 .bp-hello- social-links{210 text-align: left;162 .bp-hello-alignleft { 163 float: right; 211 164 } 212 165 213 .bp-hello-social li a { 214 text-decoration: none; 166 .bp-hello-alignleft:after { 167 content: ""; 168 clear: right; 215 169 } 216 170 217 /* 218 * 4.3 - Header content 219 */ 220 .bp-hello-header { 221 padding: 6px 25px; 171 .bp-hello-alignright { 172 float: left; 222 173 } 223 174 224 .bp-hello-header h1 { 225 width: calc(100% - 51px); 175 .bp-hello-alignright:after { 176 content: ""; 177 clear: left; 226 178 } 227 179 228 #bp-hello-container .bp-hello-header { 229 border-bottom: 1px solid var(--bp-hello-color-secondary); 180 .bp-hello-divider { 181 clear: both; 182 border: none; 183 margin-bottom: 20px; 230 184 } 231 185 232 .bp-hello-title { 186 /*------------------------------------------------------------------------------ 187 * 4.0 - Content styles 188 *----------------------------------------------------------------------------*/ 189 /* 190 * 4.1 - Footer content 191 */ 192 .bp-hello-social-cta { 233 193 text-align: right; 234 194 } 235 195 236 .bp-hello-close { 237 position: absolute; 238 top: 20px; 239 left: 25px; 196 .bp-hello-social-links { 240 197 text-align: left; 241 198 } 242 199 200 .bp-hello-social li a { 201 text-decoration: none; 202 } 203 243 204 /* 244 * 4.4 - Content content 205 * 4.2 - Header content 206 */ 207 #plugin-information-title.with-banner { 208 background-image: url(https://ps.w.org/buddypress/assets/banner-772x250.png); 209 } 210 211 /* 212 * 4.3 - Content content 245 213 */ 246 214 .bp-hello-content { 247 215 background-color: white; … … TABLE OF CONTENTS: 259 227 width: 100%; 260 228 } 261 229 230 .bp-hello-content .bp-hello-alignleft img, 231 .bp-hello-content .bp-hello-alignright img { 232 max-width: 200px; 233 } 234 262 235 /*------------------------------------------------------------------------------ 263 236 * 6.0 - Media Queries 264 237 *----------------------------------------------------------------------------*/ … … TABLE OF CONTENTS: 266 239 * 6.1 - Desktop Medium 267 240 */ 268 241 @media only screen and (min-width: 1024px) { 269 #bp-hello-backdrop {270 display: block;271 }272 #bp-hello-container {273 position: fixed;274 top: 60px;275 right: var(--bp-hello-container-size);276 left: var(--bp-hello-container-size);277 bottom: 30px;278 z-index: 9999;279 border-radius: 3px;280 }281 #bp-hello-container .bp-hello-header h1 {282 line-height: inherit;283 }284 .bp-hello-header {285 height: auto;286 max-height: inherit;287 padding: 6px 30px;288 }289 .bp-hello-close {290 left: 30px;291 }292 .bp-hello-close .close-modal:before {293 line-height: 0.7;294 }295 .bp-hello-footer {296 position: fixed;297 right: var(--bp-hello-container-size);298 left: var(--bp-hello-container-size);299 bottom: 30px;300 z-index: 10000;301 height: auto;302 max-height: inherit;303 padding: 6px 30px;304 }305 242 .bp-hello-content { 306 height: calc(100% - 90px); 307 padding: 0 30px; 243 padding: 0 30px 20px; 308 244 } 309 245 .bp-hello-content p { 310 246 font-size: 14px; … … TABLE OF CONTENTS: 314 250 /** 315 251 * 6.2 - Desktop Large 316 252 */ 317 @media screen and (min-width: 1280px) { 318 #bp-hello-container, 319 .bp-hello-footer { 320 right: calc((100% - 896px) / 2); 321 left: calc((100% - 896px) / 2); 253 @media only screen and (-webkit-min-device-pixel-ratio: 1.5) { 254 #plugin-information-title.with-banner { 255 background-image: url(https://ps.w.org/buddypress/assets/banner-1544x500.png); 322 256 } 323 257 } -
src/bp-core/admin/css/hello.css
diff --git src/bp-core/admin/css/hello.css src/bp-core/admin/css/hello.css index 63704edc7..cb6e52968 100644
TABLE OF CONTENTS: 9 9 1.0 - Typography and colour 10 10 2.0 - Dashicons 11 11 3.0 - Elements 12 3.1 - Backdrop and container 13 3.2 - Modal footer 14 3.3 - Modal header 15 3.4 - Modal content 12 3.1 - Modal footer 13 3.2 - Modal content 16 14 4.0 - Content styles 17 4.1 - Backdrop and container 18 4.2 - Footer content 19 4.3 - Header content 20 4.4 - Content content 15 4.1 - Footer content 16 4.2 - Header content 17 4.3 - Content content 21 18 5.0 - Media 22 19 6.0 - Media Queries 23 20 6.1 - Desktop Medium … … TABLE OF CONTENTS: 32 29 --bp-hello-container-size: 15%; 33 30 } 34 31 35 #bp-hello-container a{36 color: var(--bp-hello-color-primary);32 .bp-hello-content p { 33 font-size: 16px; 37 34 } 38 35 39 #bp-hello-container a:hover { 40 transition: all 0.1s ease-in-out; 41 color: black;36 .bp-hello-content ul, 37 .bp-hello-content ol { 38 list-style: inherit; 42 39 } 43 40 44 #bp-hello-container .bp-hello-header h1 { 45 line-height: 1.7; 46 font-size: 21px; 47 font-weight: 400; 48 } 49 50 .bp-hello-content p { 51 font-size: 16px; 41 .bp-hello-content h3 { 42 font-size: 1.1em; 43 font-weight: 500; 52 44 } 53 45 54 46 /*------------------------------------------------------------------------------ 55 47 * 2.0 - Dashicons 56 48 *----------------------------------------------------------------------------*/ 57 .bp-hello-close .button {58 padding: 5px !important;59 }60 61 .bp-hello-close .close-modal:before {62 content: "\f158";63 color: #23282d;64 /* wp toolbar */65 font: 400 1.5em/1 dashicons;66 speak: none;67 -webkit-font-smoothing: antialiased;68 -moz-osx-font-smoothing: grayscale;69 background-image: none !important;70 }71 72 .bp-hello-close .close-modal:focus:before, .bp-hello-close .close-modal:hover:before {73 transition: all 0.1s ease-in-out;74 color: var(--bp-hello-color-primary);75 }76 77 49 .bp-hello-social li a:before { 78 50 color: #23282d; 79 51 /* wp toolbar */ … … TABLE OF CONTENTS: 97 69 content: "\f301"; 98 70 } 99 71 100 /*------------------------------------------------------------------------------ 101 * 3.0 - Elements 102 *----------------------------------------------------------------------------*/ 103 /* 104 * 3.1 - Backdrop and container 105 */ 106 #bp-hello-backdrop { 107 position: fixed; 108 top: 0; 109 left: 0; 110 right: 0; 111 bottom: 0; 112 z-index: 9998; 113 display: none; 72 div.dashicons { 73 width: -webkit-fit-content; 74 width: fit-content; 114 75 } 115 76 116 #bp-hello-container { 117 position: fixed; 118 top: 0; 119 bottom: 80px; 120 z-index: 99999; 121 } 122 123 .bp-disable-scroll { 124 overflow: hidden; 77 div.dashicons.big { 78 font-size: 128px; 79 display: block; 80 color: var(--bp-hello-color-primary); 81 height: 128px; 82 width: 128px; 125 83 } 126 84 85 /*------------------------------------------------------------------------------ 86 * 3.0 - Elements 87 *----------------------------------------------------------------------------*/ 127 88 /* 128 * 3. 2- Modal footer89 * 3.1 - Modal footer 129 90 */ 130 .bp-hello-footer {91 #plugin-information-footer { 131 92 display: flex; 132 93 flex-wrap: wrap; 133 height: 58px; 134 max-height: 58px; 94 padding: 0 16px; 95 height: auto; 96 } 97 98 #plugin-information-footer .dashicons-heart { 99 color: #be3631; 135 100 } 136 101 137 102 .bp-hello-social-cta, … … TABLE OF CONTENTS: 156 121 } 157 122 158 123 /* 159 * 3. 3 - Modal header124 * 3.2 - Modal content 160 125 */ 161 .bp-hello-header { 162 height: 58px; 163 max-height: 58px; 126 #bp-hello-container { 127 display: none; 164 128 } 165 129 166 /*167 * 3.4 - Modal content168 */169 130 .bp-hello-content { 170 131 padding: 0 25px; 171 height: calc(100% - 58px); 172 overflow-y: auto; 173 -webkit-overflow-scrolling: touch; 132 padding-bottom: 20px; 174 133 } 175 134 176 /*------------------------------------------------------------------------------ 177 * 4.0 - Content styles 178 *----------------------------------------------------------------------------*/ 179 /* 180 * 4.1 - Backdrop and container 181 */ 182 #bp-hello-backdrop { 183 background-color: rgba(0, 0, 0, 0.8); 184 transition: opacity 0.15s ease-out; 135 #dynamic-content { 136 padding-bottom: 40px; 137 display: none; 185 138 } 186 139 187 # bp-hello-container{188 background-color: white;140 #dynamic-content.show { 141 display: block; 189 142 } 190 143 191 /* 192 * 4.2 - Footer content 193 */ 194 .bp-hello-footer { 195 border-radius: 0 0 3px 3px; 196 background-color: white; 197 border-top: 1px solid var(--bp-hello-color-secondary); 198 padding: 6px 25px; 144 .plugin-details-modal #TB_title { 145 /* stylelint-disable-line */ 146 height: 0; 147 background: none; 148 border: none; 199 149 } 200 150 201 .bp-hello-footer p { 202 font-size: 15px; 151 #TB_window.plugin-details-modal.thickbox-loading:before { 152 /* stylelint-disable-line */ 153 z-index: 10; 154 margin-top: 40px; 155 background-color: none; 203 156 } 204 157 205 .bp-hello- social-cta{206 text-align: left;158 .bp-hello-aligncenter * { 159 margin: 10px auto; 207 160 } 208 161 209 .bp-hello- social-links{210 text-align: right;162 .bp-hello-alignleft { 163 float: left; 211 164 } 212 165 213 .bp-hello-social li a { 214 text-decoration: none; 166 .bp-hello-alignleft:after { 167 content: ""; 168 clear: left; 215 169 } 216 170 217 /* 218 * 4.3 - Header content 219 */ 220 .bp-hello-header { 221 padding: 6px 25px; 171 .bp-hello-alignright { 172 float: right; 222 173 } 223 174 224 .bp-hello-header h1 { 225 width: calc(100% - 51px); 175 .bp-hello-alignright:after { 176 content: ""; 177 clear: right; 226 178 } 227 179 228 #bp-hello-container .bp-hello-header { 229 border-bottom: 1px solid var(--bp-hello-color-secondary); 180 .bp-hello-divider { 181 clear: both; 182 border: none; 183 margin-bottom: 20px; 230 184 } 231 185 232 .bp-hello-title { 186 /*------------------------------------------------------------------------------ 187 * 4.0 - Content styles 188 *----------------------------------------------------------------------------*/ 189 /* 190 * 4.1 - Footer content 191 */ 192 .bp-hello-social-cta { 233 193 text-align: left; 234 194 } 235 195 236 .bp-hello-close { 237 position: absolute; 238 top: 20px; 239 right: 25px; 196 .bp-hello-social-links { 240 197 text-align: right; 241 198 } 242 199 200 .bp-hello-social li a { 201 text-decoration: none; 202 } 203 243 204 /* 244 * 4.4 - Content content 205 * 4.2 - Header content 206 */ 207 #plugin-information-title.with-banner { 208 background-image: url(https://ps.w.org/buddypress/assets/banner-772x250.png); 209 } 210 211 /* 212 * 4.3 - Content content 245 213 */ 246 214 .bp-hello-content { 247 215 background-color: white; … … TABLE OF CONTENTS: 259 227 width: 100%; 260 228 } 261 229 230 .bp-hello-content .bp-hello-alignleft img, 231 .bp-hello-content .bp-hello-alignright img { 232 max-width: 200px; 233 } 234 262 235 /*------------------------------------------------------------------------------ 263 236 * 6.0 - Media Queries 264 237 *----------------------------------------------------------------------------*/ … … TABLE OF CONTENTS: 266 239 * 6.1 - Desktop Medium 267 240 */ 268 241 @media only screen and (min-width: 1024px) { 269 #bp-hello-backdrop {270 display: block;271 }272 #bp-hello-container {273 position: fixed;274 top: 60px;275 left: var(--bp-hello-container-size);276 right: var(--bp-hello-container-size);277 bottom: 30px;278 z-index: 9999;279 border-radius: 3px;280 }281 #bp-hello-container .bp-hello-header h1 {282 line-height: inherit;283 }284 .bp-hello-header {285 height: auto;286 max-height: inherit;287 padding: 6px 30px;288 }289 .bp-hello-close {290 right: 30px;291 }292 .bp-hello-close .close-modal:before {293 line-height: 0.7;294 }295 .bp-hello-footer {296 position: fixed;297 left: var(--bp-hello-container-size);298 right: var(--bp-hello-container-size);299 bottom: 30px;300 z-index: 10000;301 height: auto;302 max-height: inherit;303 padding: 6px 30px;304 }305 242 .bp-hello-content { 306 height: calc(100% - 90px); 307 padding: 0 30px; 243 padding: 0 30px 20px; 308 244 } 309 245 .bp-hello-content p { 310 246 font-size: 14px; … … TABLE OF CONTENTS: 314 250 /** 315 251 * 6.2 - Desktop Large 316 252 */ 317 @media screen and (min-width: 1280px) { 318 #bp-hello-container, 319 .bp-hello-footer { 320 left: calc((100% - 896px) / 2); 321 right: calc((100% - 896px) / 2); 253 @media only screen and (-webkit-min-device-pixel-ratio: 1.5) { 254 #plugin-information-title.with-banner { 255 background-image: url(https://ps.w.org/buddypress/assets/banner-1544x500.png); 322 256 } 323 257 } -
src/bp-core/admin/js/hello.js
diff --git src/bp-core/admin/js/hello.js src/bp-core/admin/js/hello.js index 5805472cd..f6d59aef1 100644
1 /* global bpHelloStrings */ 1 2 /** 2 3 * Loads for BuddyPress Hello in wp-admin for query string `hello=buddypress`. 3 4 * 4 5 * @since 3.0.0 5 6 */ 6 (function() { 7 /** 8 * Open the BuddyPress Hello modal. 9 */ 10 var bp_hello_open_modal = function() { 11 var backdrop = document.getElementById( 'bp-hello-backdrop' ), 12 modal = document.getElementById( 'bp-hello-container' ); 13 14 document.body.classList.add( 'bp-disable-scroll' ); 15 16 // Show modal and overlay. 17 backdrop.style.display = ''; 18 modal.style.display = ''; 19 20 // Focus the "X" so bp_hello_handle_keyboard_events() works. 21 var focus_target = modal.querySelectorAll( 'a[href], button' ); 22 focus_target = Array.prototype.slice.call( focus_target ); 23 focus_target[0].focus(); 24 25 // Events. 26 modal.addEventListener( 'keydown', bp_hello_handle_keyboard_events ); 27 backdrop.addEventListener( 'click', bp_hello_close_modal ); 28 }; 7 (function( $, bp ) { 8 // Bail if not set 9 if ( typeof bpHelloStrings === 'undefined' ) { 10 return; 11 } 29 12 30 13 /** 31 * Close modal if "X" or background is touched. 32 * 33 * @param {Event} event - A click event. 14 * Open the BuddyPress Hello modal. 34 15 */ 35 document.addEventListener( 'click', function( event ) { 36 var backdrop = document.getElementById( 'bp-hello-backdrop' ); 37 if ( ! backdrop || ! document.getElementById( 'bp-hello-container' ) ) { 38 return; 16 var bpHelloOpenModal = function() { 17 if ( 'function' !== typeof window.tb_show ) { 18 return false; 39 19 } 40 20 41 var backdrop_click = backdrop.contains( event.target ), 42 modal_close_click = event.target.classList.contains( 'close-modal' ); 43 44 if ( ! modal_close_click && ! backdrop_click ) { 45 return; 46 } 21 window.tb_show( 'BuddyPress', '#TB_inline?inlineId=bp-hello-container' ); 47 22 48 bp_hello_close_modal(); 49 }, false ); 23 $( '#TB_window' ).attr( { 24 'role': 'dialog', 25 'aria-label': bpHelloStrings.modalLabel 26 } ) 27 .addClass( 'plugin-details-modal' ) 28 .removeClass( 'thickbox-loading' ); 50 29 51 /** 52 * Close the Hello modal. 53 */ 54 var bp_hello_close_modal = function() { 55 var backdrop = document.getElementById( 'bp-hello-backdrop' ), 56 modal = document.getElementById( 'bp-hello-container' ); 57 58 document.body.classList.remove( 'bp-disable-scroll' ); 59 60 // Remove modal and overlay. 61 modal.parentNode.removeChild( modal ); 62 backdrop.parentNode.removeChild( backdrop ); 30 $( '#TB_ajaxContent' ).prop( 'style', 'height: 100%; width: auto; padding: 0; border: none;' ); 63 31 }; 64 32 65 33 /** 66 * Restrict keyboard focus to elements within the BuddyPress Hello modal.34 * Prints an error message. 67 35 * 68 * @param { Event} event - A keyboard focus event.36 * @param {string} message The error message to display. 69 37 */ 70 var bp_hello_handle_keyboard_events = function( event ) { 71 var modal = document.getElementById( 'bp-hello-container' ), 72 focus_targets = Array.prototype.slice.call( 73 modal.querySelectorAll( 'a[href], button' ) 74 ), 75 first_tab_stop = focus_targets[0], 76 last_tab_stop = focus_targets[ focus_targets.length - 1 ]; 77 78 // Check for TAB key press. 79 if ( event.keyCode !== 9 ) { 80 return; 38 var printErrorMessage = function( message ) { 39 if ( ! message ) { 40 message = bpHelloStrings.pageNotFound; 81 41 } 82 42 83 // When SHIFT+TAB on first tab stop, go to last tab stop in modal. 84 if ( event.shiftKey && document.activeElement === first_tab_stop ) { 85 event.preventDefault(); 86 last_tab_stop.focus(); 87 88 // When TAB reaches last tab stop, go to first tab stop in modal. 89 } else if ( document.activeElement === last_tab_stop ) { 90 event.preventDefault(); 91 first_tab_stop.focus(); 92 } 43 $( '#dynamic-content' ).html( 44 $('<div></div>' ).prop( 'id', 'message' ) 45 .addClass( 'notice notice-error error' ) 46 .html( 47 $( '<p></p>' ).html( message ) 48 ) 49 ); 93 50 }; 94 51 95 /** 96 * Close modal if escape key is presssed. 97 * 98 * @param {Event} event - A keyboard focus event. 99 */ 100 document.addEventListener( 'keyup', function( event ) { 101 if ( event.keyCode === 27 ) { 102 if ( ! document.getElementById( 'bp-hello-backdrop' ) || ! document.getElementById( 'bp-hello-container' ) ) { 103 return; 104 } 105 106 bp_hello_close_modal(); 52 // Listen to Tab Menu clicks to display the different screens. 53 $( '#plugin-information-tabs').on( 'click', 'a', function( event ) { 54 event.preventDefault(); 55 56 var anchor = $( event.currentTarget ), target = $( '#dynamic-content' ); 57 58 if ( anchor.hasClass( 'dynamic' ) ) { 59 $( '#top-features' ).hide(); 60 target.html( '' ); 61 target.addClass( 'show' ); 62 63 $( '#TB_window' ).addClass( 'thickbox-loading' ); 64 65 bp.apiRequest( { 66 url: anchor.data( 'endpoint' ), 67 type: 'GET', 68 beforeSend: function( xhr, settings ) { 69 settings.url = settings.url.replace( '&_wpnonce=none', '' ); 70 }, 71 data: { 72 context: 'view', 73 slug: anchor.data( 'slug' ), 74 _wpnonce: 'none' 75 } 76 } ).done( function( data ) { 77 var page = _.first( data ); 78 79 if ( page && page.content ) { 80 target.html( page.content.rendered ); 81 } else { 82 printErrorMessage(); 83 } 84 85 } ).fail( function( error ) { 86 if ( ! error || ! error.message ) { 87 return false; 88 } 89 90 printErrorMessage( error.message ); 91 92 } ).always( function() { 93 $( '#TB_window' ).removeClass( 'thickbox-loading' ); 94 } ); 95 96 } else { 97 $( '#top-features' ).show(); 98 target.html( '' ); 99 target.removeClass( 'show' ); 107 100 } 108 } , false);101 } ); 109 102 110 103 // Init modal after the screen's loaded. 111 if ( document.attachEvent ? document.readyState === 'complete' : document.readyState !== 'loading' ) { 112 bp_hello_open_modal(); 113 } else { 114 document.addEventListener( 'DOMContentLoaded', bp_hello_open_modal ); 115 } 116 }()); 104 $( document ).ready( function() { 105 bpHelloOpenModal(); 106 } ); 107 108 }( jQuery, window.bp || {} ) ); -
src/bp-core/admin/sass/hello.scss
diff --git src/bp-core/admin/sass/hello.scss src/bp-core/admin/sass/hello.scss index 96d6b0ec9..8a981870a 100644
TABLE OF CONTENTS: 9 9 1.0 - Typography and colour 10 10 2.0 - Dashicons 11 11 3.0 - Elements 12 3.1 - Backdrop and container 13 3.2 - Modal footer 14 3.3 - Modal header 15 3.4 - Modal content 12 3.1 - Modal footer 13 3.2 - Modal content 16 14 4.0 - Content styles 17 4.1 - Backdrop and container 18 4.2 - Footer content 19 4.3 - Header content 20 4.4 - Content content 15 4.1 - Footer content 16 4.2 - Header content 17 4.3 - Content content 21 18 5.0 - Media 22 19 6.0 - Media Queries 23 20 6.1 - Desktop Medium … … TABLE OF CONTENTS: 33 30 --bp-hello-container-size: 15%; 34 31 } 35 32 36 #bp-hello-container {37 38 a {39 color: var(--bp-hello-color-primary);40 41 &:hover {42 -webkit-transition: all 0.1s ease-in-out;43 -o-transition: all 0.1s ease-in-out;44 transition: all 0.1s ease-in-out;45 color: rgb(0, 0, 0);46 }47 }48 49 .bp-hello-header {50 51 h1 {52 line-height: 1.7;53 font-size: 21px;54 font-weight: 400;55 }56 }57 }58 59 33 .bp-hello-content { 60 34 61 35 p { 62 36 font-size: 16px; 63 37 } 64 }65 38 66 /*------------------------------------------------------------------------------ 67 * 2.0 - Dashicons 68 *----------------------------------------------------------------------------*/ 69 .bp-hello-close { 70 71 .button { 72 padding: 5px !important; 39 ul, 40 ol { 41 list-style: inherit; 73 42 } 74 43 75 .close-modal { 76 77 &:before { 78 content: "\f158"; 79 color: #23282d; /* wp toolbar */ 80 font: 400 1.5em/1 dashicons; 81 speak: none; 82 -webkit-font-smoothing: antialiased; 83 -moz-osx-font-smoothing: grayscale; 84 background-image: none !important; 85 } 86 87 &:focus:before, 88 &:hover:before { 89 -webkit-transition: all 0.1s ease-in-out; 90 -o-transition: all 0.1s ease-in-out; 91 transition: all 0.1s ease-in-out; 92 color: var(--bp-hello-color-primary); 93 } 44 h3 { 45 font-size: 1.1em; 46 font-weight: 500; 94 47 } 95 48 } 96 49 50 /*------------------------------------------------------------------------------ 51 * 2.0 - Dashicons 52 *----------------------------------------------------------------------------*/ 97 53 .bp-hello-social { 98 54 99 55 li a { … … TABLE OF CONTENTS: 124 80 } 125 81 } 126 82 127 /*------------------------------------------------------------------------------ 128 * 3.0 - Elements 129 *----------------------------------------------------------------------------*/ 130 131 /* 132 * 3.1 - Backdrop and container 133 */ 134 #bp-hello-backdrop { 135 position: fixed; 136 top: 0; 137 left: 0; 138 right: 0; 139 bottom: 0; 140 z-index: 9998; 83 div.dashicons { 141 84 142 display: none; 143 } 85 width: fit-content; 144 86 145 #bp-hello-container { 146 position: fixed; 147 top: 0; 148 bottom: 80px; 149 z-index: 99999; 87 &.big { 88 font-size: 128px; 89 display: block; 90 color: var(--bp-hello-color-primary); 91 height: 128px; 92 width: 128px; 93 } 150 94 } 151 95 152 .bp-disable-scroll { 153 overflow: hidden; 154 } 96 /*------------------------------------------------------------------------------ 97 * 3.0 - Elements 98 *----------------------------------------------------------------------------*/ 155 99 156 100 /* 157 * 3. 2- Modal footer101 * 3.1 - Modal footer 158 102 */ 159 .bp-hello-footer { 160 display: -webkit-box; 161 display: -ms-flexbox; 103 #plugin-information-footer { 104 162 105 display: flex; 163 -ms-flex-wrap: wrap;164 106 flex-wrap: wrap; 107 padding: 0 16px; 108 height: auto; 165 109 166 height: 58px; 167 max-height: 58px; 110 .dashicons-heart { 111 color: #be3631; 112 } 168 113 } 169 114 170 115 .bp-hello-social-cta, … … TABLE OF CONTENTS: 196 141 } 197 142 198 143 /* 199 * 3. 3 - Modal header144 * 3.2 - Modal content 200 145 */ 201 .bp-hello-header { 202 height: 58px; 203 max-height: 58px;146 147 #bp-hello-container { 148 display: none; 204 149 } 205 150 206 /*207 * 3.4 - Modal content208 */209 151 .bp-hello-content { 210 152 padding: 0 25px; 153 padding-bottom: 20px; 154 } 155 156 #dynamic-content { 157 padding-bottom: 40px; 158 display: none; 211 159 212 // Force scrolling. 213 height: calc(100% - 58px); 214 overflow-y: auto; 215 -webkit-overflow-scrolling: touch; 160 &.show { 161 display: block; 162 } 216 163 } 217 164 218 /*------------------------------------------------------------------------------ 219 * 4.0 - Content styles 220 *----------------------------------------------------------------------------*/ 165 .plugin-details-modal #TB_title { /* stylelint-disable-line */ 166 height: 0; 167 background: none; 168 border: none; 169 } 221 170 222 /* 223 * 4.1 - Backdrop and container 224 */ 225 #bp-hello-backdrop { 226 background-color: rgba(0, 0, 0, 0.8); 227 -webkit-transition: opacity 0.15s ease-out; 228 -o-transition: opacity 0.15s ease-out; 229 transition: opacity 0.15s ease-out; 171 #TB_window.plugin-details-modal.thickbox-loading:before { /* stylelint-disable-line */ 172 z-index: 10; 173 margin-top: 40px; 174 background-color: none; 230 175 } 231 176 232 #bp-hello-container{233 background-color: rgb(255, 255, 255);177 .bp-hello-aligncenter * { 178 margin: 10px auto; 234 179 } 235 180 236 /* 237 * 4.2 - Footer content 238 */ 239 .bp-hello-footer { 240 border-radius: 0 0 3px 3px; 241 background-color: rgb(255, 255, 255); 242 border-top: 1px solid var(--bp-hello-color-secondary); 243 padding: 6px 25px; 181 .bp-hello-alignleft { 182 float: left; 244 183 245 p { 246 font-size: 15px; 184 &:after { 185 content: ""; 186 clear: left; 187 } 188 } 189 190 .bp-hello-alignright { 191 float: right; 192 193 &:after { 194 content: ""; 195 clear: right; 247 196 } 248 197 } 249 198 199 .bp-hello-divider { 200 clear: both; 201 border: none; 202 margin-bottom: 20px; 203 } 204 205 /*------------------------------------------------------------------------------ 206 * 4.0 - Content styles 207 *----------------------------------------------------------------------------*/ 208 209 /* 210 * 4.1 - Footer content 211 */ 250 212 .bp-hello-social-cta { 251 213 text-align: left; 252 214 } … … TABLE OF CONTENTS: 266 228 } 267 229 268 230 /* 269 * 4. 3- Header content231 * 4.2 - Header content 270 232 */ 271 .bp-hello-header { 272 padding: 6px 25px; 273 274 h1 { 275 width: calc(100% - 51px); // Approx. width of "X" button block. 276 } 277 } 278 279 #bp-hello-container { 280 281 .bp-hello-header { 282 border-bottom: 1px solid var(--bp-hello-color-secondary); 283 } 284 } 285 286 .bp-hello-title { 287 text-align: left; 288 } 289 290 .bp-hello-close { 291 position: absolute; 292 top: 20px; 293 right: 25px; 294 text-align: right; 233 #plugin-information-title.with-banner { 234 background-image: url(https://ps.w.org/buddypress/assets/banner-772x250.png); 295 235 } 296 236 297 237 /* 298 * 4. 4- Content content238 * 4.3 - Content content 299 239 */ 300 240 .bp-hello-content { 301 241 background-color: rgb(255, 255, 255); … … TABLE OF CONTENTS: 314 254 iframe { 315 255 width: 100%; 316 256 } 257 258 .bp-hello-alignleft img, 259 .bp-hello-alignright img { 260 max-width: 200px; 261 } 317 262 } 318 263 319 264 /*------------------------------------------------------------------------------ … … TABLE OF CONTENTS: 325 270 */ 326 271 @media only screen and (min-width: 1024px) { 327 272 328 #bp-hello-backdrop {329 display: block;330 }331 332 #bp-hello-container {333 position: fixed;334 top: 60px;335 left: var(--bp-hello-container-size);336 right: var(--bp-hello-container-size);337 bottom: 30px;338 z-index: 9999;339 340 border-radius: 3px;341 342 .bp-hello-header {343 344 h1 {345 line-height: inherit;346 }347 }348 }349 350 .bp-hello-header {351 height: auto;352 max-height: inherit;353 padding: 6px 30px;354 }355 356 .bp-hello-close {357 right: 30px;358 359 .close-modal:before {360 line-height: 0.7;361 }362 }363 364 .bp-hello-footer {365 position: fixed; // Fixed position above "content" div.366 left: var(--bp-hello-container-size);367 right: var(--bp-hello-container-size);368 bottom: 30px;369 z-index: 10000; // See #bp-hello-backdrop370 371 height: auto;372 max-height: inherit;373 374 padding: 6px 30px;375 }376 377 273 .bp-hello-content { 378 // Very very approx. height of header and footer. 379 height: calc(100% - 90px); 380 padding: 0 30px; 274 padding: 0 30px 20px; 275 } 381 276 382 p { 383 font-size: 14px; 384 } 277 .bp-hello-content p { 278 font-size: 14px; 385 279 } 386 280 } 387 281 388 282 /** 389 283 * 6.2 - Desktop Large 390 284 */ 391 @media screen and (min-width: 1280px) {285 @media only screen and ( -webkit-min-device-pixel-ratio: 1.5 ) { 392 286 393 #bp-hello-container, 394 .bp-hello-footer { 395 // Approx. max-width of modal at Desktop Medium size. 396 left: calc((100% - 896px) / 2); 397 right: calc((100% - 896px) / 2); 287 #plugin-information-title.with-banner { 288 background-image: url(https://ps.w.org/buddypress/assets/banner-1544x500.png); 398 289 } 399 290 } -
src/bp-core/classes/class-bp-admin.php
diff --git src/bp-core/classes/class-bp-admin.php src/bp-core/classes/class-bp-admin.php index 4f0bd257a..926d576c2 100644
class BP_Admin { 536 536 public function enqueue_scripts() { 537 537 wp_enqueue_style( 'bp-admin-common-css' ); 538 538 539 // BuddyPress Hello 539 // BuddyPress Hello. 540 540 if ( 0 === strpos( get_current_screen()->id, 'dashboard' ) && ! empty( $_GET['hello'] ) && $_GET['hello'] === 'buddypress' ) { 541 541 wp_enqueue_style( 'bp-hello-css' ); 542 542 wp_enqueue_script( 'bp-hello-js' ); 543 wp_localize_script( 'bp-hello-js', 'bpHelloStrings', array( 544 'pageNotFound' => __( 'Sorry, the page you requested was not found.', 'buddypress' ), 545 'modalLabel' => __( 'Hello BuddyPress', 'buddypress' ), 546 ) ); 543 547 } 544 548 } 545 549 546 550 /** 547 551 * Registers BuddyPress's suggested privacy policy language. 548 552 * 549 * @since 3.x.y553 * @since 4.0.0 550 554 */ 551 555 public function add_privacy_policy_content() { 552 556 // Nothing to do if we're running < WP 4.9.6. … … class BP_Admin { 617 621 if ( 0 !== strpos( get_current_screen()->id, 'dashboard' ) || empty( $_GET['hello'] ) || $_GET['hello'] !== 'buddypress' ) { 618 622 return; 619 623 } 620 ?>621 624 622 <div id="bp-hello-backdrop" style="display: none;"> 623 </div> 625 // Get BuddyPress stable version. 626 $version = preg_replace( '/-.*/', '', bp_get_version() ); 627 $version_slug = 'version-' . str_replace( '.', '-', $version ); 628 ?> 624 629 625 <div id="bp-hello-container" role="dialog" aria-labelledby="bp-hello-title" style="display: none;"> 626 <div class="bp-hello-header" role="document"> 627 <div class="bp-hello-close"> 628 <button type="button" class="close-modal button bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Close pop-up', 'buddypress' ); ?>"> 629 <span class="screen-reader-text"><?php esc_html_e( 'Close pop-up', 'buddypress' ); ?></span> 630 </button> 630 <div id="bp-hello-container"> 631 <div id="plugin-information-scrollable"> 632 <div id='plugin-information-title' class="with-banner"> 633 <div class='vignette'></div> 634 <h2> 635 <?php printf( 636 /* translators: %s is the placehoder for the BuddyPress version number. */ 637 esc_html__( 'BuddyPress %s', 'buddypress' ), 638 $version 639 ); ?> 640 </h2> 631 641 </div> 632 633 <div class="bp-hello-title"> 634 <h1 id="bp-hello-title" tabindex="-1"><?php echo esc_html( _x( 'New in BuddyPress', 'section heading', 'buddypress' ) ); ?></h1> 642 <div id="plugin-information-tabs"> 643 <a name="whats-new" href="#whats-new" class="current"><?php esc_html_e( 'What\'s new?', 'buddypress' ); ?></a> 644 <a name="changelog" href="#changelog" class="dynamic" data-slug="<?php echo esc_attr( $version_slug ); ?>" data-endpoint="https://codex.buddypress.org/wp-json/wp/v2/pages"><?php esc_html_e( 'Changelog', 'buddypress' ); ?></a> 645 <a name="get-involved" href="#get-involved" class="dynamic" data-slug="participate-and-contribute" data-endpoint="https://codex.buddypress.org/wp-json/wp/v2/pages"><?php esc_html_e( 'Get involved', 'buddypress' ); ?></a> 635 646 </div> 636 </div>637 647 638 <div class="bp-hello-content"> 639 <h2><?php esc_html_e( 'New tools for data control and privacy', 'buddypress' ); ?></h2> 640 <p> 641 <?php esc_html_e( 'BuddyPress boasts a proud history of letting community members and managers control their data, independent of third-party, commercial entities. In this spirit, as well as the spirit of recent regulations like the EU\'s General Data Protection Regulation (GDPR), BuddyPress 4.0 introduces a suite of tools allowing users and site admins to manage member data and privacy.', 'buddypress' ); ?> 642 </p> 643 644 <figure class="bp-hello-alignright"> 645 <img class="bp-hello-img-border" src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/images/data-export.png' ); ?>" alt="<?php esc_attr_e( 'Screenshot of Export Data settings panel', 'buddypress' ); ?>" /> 646 <figcaption> 647 <?php esc_html_e( 'Improved user control over data exports', 'buddypress' ); ?> 648 </figcaption> 649 </figure> 650 651 <p><?php esc_html_e( 'The new "Export Data" Settings panel lets users request an export of all BuddyPress data they\'ve created. BuddyPress integrates seamlessly with the data export functionality introduced in WordPress 4.9.8, and BP data is included in exports that are initiated either from the Export Data panel or via WP\'s Tools > Export Personal Data interface.', 'buddypress' ); ?></p> 652 653 <p><?php esc_html_e( 'BuddyPress 4.0 also integrates with WordPress 4.9.8\'s Privacy Policy tools. When you create or update your Privacy Policy, BP will suggest text that\'s specifically tailored to the kinds of social data generated on a BuddyPress site. And will prompt registering users to agree to the Privacy Policy, if your theme supports it.', 'buddypress' ); ?></p> 654 655 <h2><?php esc_html_e( 'Nouveau template improvements', 'buddypress' ); ?></h2> 656 <p><?php esc_html_e( 'BuddyPress 3.0 introduced a new set of default templates, which we call "Nouveau". In 4.0, we\'ve fixed bugs and smoothed the edges in these templates, including more accessible markup and improved appearance on mobile devices.', 'buddypress' ); ?></p> 657 658 <h2><?php esc_html_e( "BuddyPress: leaner, faster, stronger", 'buddypress' ); ?></h2> 659 <p><?php esc_html_e( 'With every BuddyPress version, we strive to make internal improvements to performance and code quality in addition to introducing new features and fixes. In BuddyPress 4.0, we\'ve improved PHP compatibility both in our codebase and in our automated testing tools; we\'ve reworked some automated tests for faster performance; we\'ve ensured compatibility with upcoming changes in WordPress; and we\'ve fixed a number of bugs in the formatting and sending of emails.', 'buddypress' ); ?></p> 660 661 <p><em> 662 <?php 663 printf( 664 __( 'To read the full list of features, fixes, and changes in this version of BuddyPress, <a href="%s">visit Trac</a>.', 'buddypress' ), 665 esc_url( 'https://buddypress.trac.wordpress.org/query?group=status&milestone=4.0' ) 666 ); 667 ?> 668 </em></p> 669 670 <h2><?php echo esc_html( _x( 'Your feedback', 'screen heading', 'buddypress' ) ); ?></h2> 671 <p> 672 <?php 673 printf( 674 __( ' How are you using BuddyPress? Receiving your feedback and suggestions for future versions of BuddyPress genuinely motivates and encourages our contributors. Please <a href="%s">share your feedback</a> about this version of BuddyPress on our website. ', 'buddypress' ), 675 esc_url( 'https://buddypress.org/support/' ) 676 ); 677 ?> 678 </p> 679 <p><?php esc_html_e( 'Thank you for using BuddyPress! 😊', 'buddypress' ); ?></p> 680 681 <br /><br /> 682 </div> 648 <div class="bp-hello-content"> 649 <div id="dynamic-content"></div> 650 <div id="top-features"> 651 <h2><?php esc_html_e( 'Introducing the BP REST API', 'buddypress' ); ?></h2> 652 <figure class="bp-hello-alignleft"> 653 <div class="dashicons dashicons-rest-api big"></div> 654 </figure> 655 <p> 656 <?php esc_html_e( 'BuddyPress 5.0.0 comes with REST API endpoints for members, groups, activities, users, private messages, screen notifications and extended profiles.', 'buddypress' ); ?> 657 </p> 658 <p> 659 <?php esc_html_e( 'BuddyPress endpoints provide machine-readable external access to your WordPress site with a clear, standards-driven interface, paving the way for new and innovative methods of interacting with your community through plugins, themes, apps, and beyond.', 'buddypress' ); ?> 660 <?php printf( 661 /* translators: %s is the placehoder for the link to the BP REST API documentation site. */ 662 esc_html__( 'Ready to get started with development? Check out the %s.', 'buddypress' ), 663 sprintf( 664 '<a href="%1$s">%2$s</a>', 665 'https://developer.buddypress.org/bp-rest-api/', 666 esc_html__( 'BP REST API reference', 'buddypress' ) 667 ) 668 ); ?> 669 </p> 670 671 <hr class="bp-hello-divider"/> 672 673 <h2><?php esc_html_e( 'A new interface for managing group members.', 'buddypress' ); ?></h2> 674 <p> 675 <?php esc_html_e( 'The best way to show the power of the BP REST API is to start using it for one of our Core features.', 'buddypress' ); ?> 676 </p> 677 <figure class="bp-hello-aligncenter"> 678 <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/images/manage-members-interface.png' ); ?>" alt="<?php esc_attr_e( 'Screenshot of the Group Members management interface in the administration and on the front-end of your site.', 'buddypress' ); ?>" /> 679 </figure> 680 <p> 681 <?php esc_html_e( 'Group administrators will love our new interface for managing group membership. Whether you\'re working as a group admin on the front-end Manage tab, or as the site admin on the Dashboard, the new REST API-based tools are faster, easier to use, and more consistent.', 'buddypress' ); ?> 682 </p> 683 684 <hr class="bp-hello-divider"/> 685 686 <h2><?php esc_html_e( 'Improved Group invites and membership requests.', 'buddypress' ); ?></h2> 687 <figure class="bp-hello-alignright"> 688 <div class="dashicons dashicons-buddicons-groups big"></div> 689 </figure> 690 <p> 691 <?php esc_html_e( 'Thanks to the new BP Invitations API, Group invites and membership requests are now managed in a more consistent way.', 'buddypress' ); ?> 692 </p> 693 <p> 694 <?php esc_html_e( 'The BP Invitations API abstracts how these two actions are handled and allows developers to use them for any object on your site (e.g., Sites of a WordPress network).', 'buddypress' ); ?> 695 <?php printf( 696 /* translators: %s is the placehoder for the link to the BP Invitations API development note. */ 697 esc_html__( 'Read more about the %s.', 'buddypress' ), 698 sprintf( 699 '<a href="%1$s">%2$s</a>', 700 'https://bpdevel.wordpress.com/2019/09/16/new-invitations-api-coming-in-buddypress-5-0/', 701 esc_html__( 'BP Invitations API', 'buddypress' ) 702 ) 703 ); ?> 704 </p> 705 706 <hr class="bp-hello-divider"/> 707 708 <h2><?php esc_html_e( 'Help our support volunteers help you.', 'buddypress' ); ?></h2> 709 <p> 710 <?php esc_html_e( 'Knowing your WordPress and BuddyPress configuration is very important when one of our beloved support volunteers tries to help you fix an issue. That\'s why we added a BuddyPress section to the Site Health Info Administration screen.', 'buddypress' ); ?> 711 </p> 712 <figure class="bp-hello-aligncenter"> 713 <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/images/site-health-buddypress-section.png' ); ?>" alt="<?php esc_attr_e( 'Screenshot of the BuddyPress section of the Site Health Info Administration screen.', 'buddypress' ); ?>" /> 714 </figure> 715 <p> 716 <?php esc_html_e( 'The panel is displayed at the bottom of the screen. It includes the BuddyPress version, active components, active template pack, and a list of other component-specific settings information.', 'buddypress' ); ?> 717 </p> 718 719 <hr class="bp-hello-divider"/> 720 721 <h2><?php esc_html_e( 'Improved integrations with WordPress', 'buddypress' ); ?></h2> 722 <figure class="bp-hello-aligncenter"> 723 <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/images/bp-nouveau-improvements.png' );?>" alt="<?php esc_attr_e( 'Screenshot of the BuddyPress members directory & Password control in Twenty Ninteen.', 'buddypress' ); ?>" /> 724 </figure> 725 726 <p> 727 <?php esc_html_e( 'In BuddyPress 5.0.0, the BP Nouveau template pack looks better than ever with the Twenty Nineteen theme.', 'buddypress' ); ?> 728 <?php esc_html_e( 'Nouveau also now uses the same password control as the one used in WordPress Core, for better consistency between BuddyPress and WordPress spaces.', 'buddypress' ); ?> 729 </p> 730 731 <p> 732 <strong><?php esc_html_e( 'BuddyPress Blocks now have their own category into the Block Editor.', 'buddypress' ); ?></strong> 733 </p> 734 <figure class="bp-hello-aligncenter"> 735 <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/images/buddypress-blocks-category.png' ); ?>" alt="<?php esc_attr_e( 'Screenshot of the BuddyPress block category.', 'buddypress' ); ?>" /> 736 </figure> 737 <p> 738 <?php esc_html_e( 'Developers building tools for the Block Editor can now add their blocks to the BuddyPress category. This change provides a foundation for organizing custom BuddyPress blocks.', 'buddypress' ); ?> 739 <?php printf( 740 /* translators: %s is the placehoder for the link to the blocks category development note. */ 741 esc_html__( 'Read more about this feature in the %s.', 'buddypress' ), 742 sprintf( 743 '<a href="%1$s">%2$s</a>', 744 esc_url( 'https://bpdevel.wordpress.com/2019/07/31/a-category-to-store-your-buddypress-blocks/' ), 745 esc_html__( 'development note', 'buddypress' ) 746 ) 747 ); ?> 748 </p> 749 750 <hr class="bp-hello-divider"/> 751 752 <h2><?php echo esc_html( _x( 'Your feedback', 'screen heading', 'buddypress' ) ); ?></h2> 753 <p> 754 <?php 755 printf( 756 /* translators: %s is the placehoder for the link to BuddyPress support forums. */ 757 esc_html__( ' How are you using BuddyPress? Receiving your feedback and suggestions for future versions of BuddyPress genuinely motivates and encourages our contributors. Please %s about this version of BuddyPress on our website. ', 'buddypress' ), 758 sprintf( 759 '<a href="%1$s">%2$s</a>', 760 esc_url( 'https://buddypress.org/support/' ), 761 esc_html__( 'share your feedback', 'buddypress' ) 762 ) 763 ); 764 ?> 765 </p> 766 <p><?php esc_html_e( 'Thank you for using BuddyPress! 😊', 'buddypress' ); ?></p> 683 767 684 <div class="bp-hello-footer"> 768 <br /><br /> 769 </div> 770 </div> 771 </div> 772 <div id="plugin-information-footer"> 685 773 <div class="bp-hello-social-cta"> 686 774 <p> 687 775 <?php 688 776 printf( 689 _n( 'Built by <a href="%s">%s volunteer</a>.', 'Built by <a href="%s">%s volunteers</a>.', 35, 'buddypress' ), 777 _n( 'Built with %1$s by <a href="%2$s">%3$d volunteer</a>.', 'Built with %1$s by <a href="%2$s">%3$d volunteers</a>.', 35, 'buddypress' ), 778 '<span class="dashicons dashicons-heart"></span>', 690 779 esc_url( bp_get_admin_url( 'admin.php?page=bp-credits' ) ), 691 780 number_format_i18n( 35 ) 692 781 ); … … class BP_Admin { 1097 1186 // 3.0 1098 1187 'bp-hello-css' => array( 1099 1188 'file' => "{$url}hello{$min}.css", 1100 'dependencies' => array( 'bp-admin-common-css' ),1189 'dependencies' => array( 'bp-admin-common-css', 'thickbox' ), 1101 1190 ), 1102 1191 ) ); 1103 1192 … … class BP_Admin { 1140 1229 // 3.0 1141 1230 'bp-hello-js' => array( 1142 1231 'file' => "{$url}hello{$min}.js", 1143 'dependencies' => array( ),1232 'dependencies' => array( 'thickbox', 'bp-api-request' ), 1144 1233 'footer' => true, 1145 1234 ), 1146 1235 ) );