Skip to content

Commit a21d327

Browse files
committed
Merge branch 'develop' into filip/wp-cli
2 parents 592d5be + 2416b76 commit a21d327

127 files changed

Lines changed: 4298 additions & 4310 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

assets/css/admin.css

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,6 @@
137137
}
138138
}
139139
}
140-
141-
142140
}
143141

144142
.prpl-hidden {
@@ -281,7 +279,6 @@ button.prpl-info-icon {
281279
}
282280
}
283281

284-
285282
/*------------------------------------*\
286283
Buttons
287284
\*------------------------------------*/
@@ -481,3 +478,33 @@ button.prpl-info-icon {
481478
grid-template-columns: repeat(2, 1fr);
482479
gap: var(--prpl-padding);
483480
}
481+
482+
/*------------------------------------*\
483+
Loader.
484+
See https://cssloaders.github.io/ for more.
485+
\*------------------------------------*/
486+
.prpl-loader {
487+
width: 48px;
488+
height: 48px;
489+
border: 5px solid #fff;
490+
border-bottom-color: transparent;
491+
border-radius: 50%;
492+
display: inline-block;
493+
box-sizing: border-box;
494+
animation: rotation 1s linear infinite;
495+
z-index: 20;
496+
position: absolute;
497+
top: calc(50% - 24px);
498+
left: calc(50% - 24px);
499+
}
500+
501+
@keyframes rotation {
502+
503+
0% {
504+
transform: rotate(0deg);
505+
}
506+
507+
100% {
508+
transform: rotate(360deg);
509+
}
510+
}

assets/css/dashboard-widgets/score.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/**
44
* Admin widget.
55
*
6-
* Dependencies: progress-planner/web-components/prpl-suggested-task, progress-planner/web-components/prpl-badge
6+
* Dependencies: progress-planner/suggested-task, progress-planner/web-components/prpl-badge
77
*/
88
#progress_planner_dashboard_widget_score {
99

assets/css/page-widgets/suggested-tasks.css

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/**
44
* Suggested tasks widget.
55
*
6-
* Dependencies: progress-planner/web-components/prpl-suggested-task, progress-planner/web-components/prpl-badge
6+
* Dependencies: progress-planner/suggested-task, progress-planner/web-components/prpl-badge
77
*/
88

99
.prpl-widget-wrapper.prpl-suggested-tasks {
@@ -96,16 +96,19 @@
9696

9797
.prpl-dashboard-widget-suggested-tasks {
9898

99+
&:not(:has(.prpl-suggested-tasks-loading)):not(:has(.prpl-suggested-tasks-list li)) {
100+
101+
.prpl-no-suggested-tasks {
102+
display: block;
103+
}
104+
}
105+
99106
&:has(.prpl-suggested-tasks-list li) {
100107

101108
.prpl-widget-title {
102109
display: flex;
103110
}
104111

105-
.prpl-no-suggested-tasks {
106-
display: none;
107-
}
108-
109112
hr {
110113
display: block;
111114
}
@@ -116,11 +119,16 @@
116119
display: none;
117120
}
118121

119-
.prpl-no-suggested-tasks {
120-
display: block;
122+
.prpl-no-suggested-tasks,
123+
.prpl-suggested-tasks-loading {
124+
display: none;
121125
background-color: var(--prpl-background-green);
122126
padding: calc(var(--prpl-padding) / 2);
123127
}
128+
129+
.prpl-suggested-tasks-loading {
130+
display: block;
131+
}
124132
}
125133

126134
.prpl-suggested-tasks-list {
@@ -132,11 +140,8 @@
132140
border-bottom: none;
133141
}
134142

135-
prpl-suggested-task:nth-child(odd) {
136-
137-
.prpl-suggested-task {
138-
background-color: #f9fafb;
139-
}
143+
.prpl-suggested-task:nth-child(odd) {
144+
background-color: #f9fafb;
140145
}
141146

142147
/* If task has disabled checkbox it's title should be italic. */
@@ -223,7 +228,6 @@
223228
flex-direction: column;
224229
justify-content: space-between;
225230

226-
227231
.progress-label {
228232
display: inline-block;
229233
}
@@ -544,7 +548,6 @@
544548
}
545549
}
546550

547-
548551
/* Checkmark */
549552
.prpl-custom-control::after {
550553
content: "";

assets/css/page-widgets/todo.css

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* TODOs widget.
33
*
4-
* Dependencies: progress-planner/web-components/prpl-suggested-task
4+
* Dependencies: progress-planner/suggested-task
55
*/
66

77
.prpl-widget-wrapper.prpl-todo {
@@ -145,7 +145,6 @@
145145
}
146146
}
147147

148-
149148
#create-todo-item {
150149
padding: 0 16px;
151150
}
@@ -192,3 +191,22 @@
192191
display: none;
193192
}
194193
}
194+
195+
#todo-list {
196+
197+
&:has(.prpl-loader) {
198+
position: relative;
199+
200+
&::before {
201+
content: "";
202+
display: block;
203+
width: 100%;
204+
height: 100%;
205+
background-color: rgba(0, 0, 0, 0.2);
206+
position: absolute;
207+
top: 0;
208+
left: 0;
209+
z-index: 10;
210+
}
211+
}
212+
}

assets/css/page-widgets/whats-new.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
}
2626
}
2727

28-
2928
img {
3029
width: 100%;
3130
}

assets/css/settings-page.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@
4848
padding: var(--prpl-settings-page-gap) var(--prpl-settings-page-gap) 2rem var(--prpl-settings-page-gap);
4949
}
5050
}
51-
52-
5351
}
5452

5553
.prpl-settings-section-title {
@@ -108,7 +106,6 @@
108106
}
109107
}
110108

111-
112109
.item-actions,
113110
.prpl-select-page {
114111
display: flex;
@@ -251,7 +248,6 @@
251248

252249
}
253250

254-
255251
/* License */
256252
.prpl-column-license {
257253

@@ -298,7 +294,6 @@
298294

299295
}
300296

301-
302297
/* Grid layout for wrapper for:
303298
- Valuable post types
304299
- Default login destination

assets/css/web-components/prpl-suggested-task.css renamed to assets/css/suggested-task.css

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,6 @@
211211
}
212212

213213
}
214-
215-
216214
}
217215

218216
&[data-task-action="celebrate"] {

assets/css/upgrade-tasks.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
}
4141
}
4242

43-
4443
.prpl-onboarding-task-status {
4544
display: block;
4645
width: 1.5rem;

assets/js/celebrate.js

Lines changed: 14 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*
55
* A script that triggers confetti on the container element.
66
*
7-
* Dependencies: particles-confetti
7+
* Dependencies: particles-confetti, progress-planner/suggested-task
88
*/
99
/* eslint-disable camelcase */
1010

@@ -13,7 +13,7 @@ document.addEventListener( 'prpl/celebrateTasks', ( event ) => {
1313
/**
1414
* Trigger the confetti on the container element.
1515
*/
16-
const containerElement = event.detail?.element
16+
const containerEl = event.detail?.element
1717
? event.detail.element.closest( '.prpl-suggested-tasks-list' )
1818
: document.querySelector(
1919
'.prpl-widget-wrapper.prpl-suggested-tasks .prpl-suggested-tasks-list'
@@ -30,14 +30,14 @@ document.addEventListener( 'prpl/celebrateTasks', ( event ) => {
3030

3131
const prplRenderAttemptshoot = () => {
3232
// Get the tasks list position
33-
const origin = containerElement
33+
const origin = containerEl
3434
? {
3535
x:
36-
( containerElement.getBoundingClientRect().left +
37-
containerElement.offsetWidth / 2 ) /
36+
( containerEl.getBoundingClientRect().left +
37+
containerEl.offsetWidth / 2 ) /
3838
window.innerWidth,
3939
y:
40-
( containerElement.getBoundingClientRect().top + 50 ) /
40+
( containerEl.getBoundingClientRect().top + 50 ) /
4141
window.innerHeight,
4242
}
4343
: { x: 0.5, y: 0.3 }; // fallback if list not found
@@ -83,75 +83,23 @@ document.addEventListener( 'prpl/celebrateTasks', ( event ) => {
8383
setTimeout( prplRenderAttemptshoot, 0 );
8484
setTimeout( prplRenderAttemptshoot, 100 );
8585
setTimeout( prplRenderAttemptshoot, 200 );
86-
87-
/**
88-
* Strike completed tasks.
89-
*/
90-
document.dispatchEvent( new CustomEvent( 'prpl/strikeCelebratedTasks' ) );
91-
92-
// Remove celebrated tasks and add them to the completed tasks.
93-
setTimeout( () => {
94-
document.dispatchEvent(
95-
new CustomEvent( 'prpl/markTasksAsCompleted' )
96-
);
97-
}, 2000 );
98-
} );
99-
100-
/**
101-
* Mark tasks as completed.
102-
*/
103-
document.addEventListener( 'prpl/markTasksAsCompleted', ( event ) => {
104-
const taskList = event.detail?.taskList || 'prplSuggestedTasks';
105-
document
106-
.querySelectorAll( '.prpl-suggested-task-celebrated' )
107-
.forEach( ( item ) => {
108-
const task_id = item.getAttribute( 'data-task-id' );
109-
const providerID = item.getAttribute( 'data-task-provider-id' );
110-
const category = item.getAttribute( 'data-task-category' );
111-
const el = document.querySelector(
112-
`.prpl-suggested-task[data-task-id="${ task_id }"]`
113-
);
114-
115-
if ( el ) {
116-
el.parentElement.remove();
117-
}
118-
119-
// Get the task index.
120-
let taskIndex = false;
121-
window[ taskList ].tasks.forEach( ( taskItem, index ) => {
122-
if ( taskItem.task_id === task_id ) {
123-
taskIndex = index;
124-
}
125-
} );
126-
127-
// Mark the task as completed.
128-
if ( false !== taskIndex ) {
129-
window[ taskList ].tasks[ taskIndex ].status = 'completed';
130-
}
131-
132-
// Refresh the list.
133-
document.dispatchEvent(
134-
new CustomEvent( 'prpl/suggestedTask/maybeInjectItem', {
135-
detail: {
136-
task_id,
137-
providerID,
138-
category,
139-
},
140-
} )
141-
);
142-
} );
14386
} );
14487

14588
/**
146-
* Strike completed tasks.
89+
* Remove tasks from the DOM.
90+
* The task will be striked through, before removed, if it has points.
14791
*/
148-
document.addEventListener( 'prpl/strikeCelebratedTasks', () => {
92+
document.addEventListener( 'prpl/removeCelebratedTasks', () => {
14993
document
15094
.querySelectorAll(
15195
'.prpl-suggested-task[data-task-action="celebrate"]'
15296
)
15397
.forEach( ( item ) => {
98+
// Triggers the strikethrough animation.
15499
item.classList.add( 'prpl-suggested-task-celebrated' );
100+
101+
// Remove the item from the DOM.
102+
setTimeout( () => item.remove(), 2000 );
155103
} );
156104
} );
157105

@@ -163,9 +111,7 @@ document.addEventListener( 'prpl/celebrateTasks', () => {
163111
'#adminmenu #toplevel_page_progress-planner .update-plugins'
164112
);
165113
if ( points ) {
166-
points.forEach( ( point ) => {
167-
point.remove();
168-
} );
114+
points.forEach( ( point ) => point.remove() );
169115
}
170116
} );
171117

assets/js/external-link-accessibility-helper.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ prplDocumentReady( () => {
118118
} );
119119

120120
// Recheck the accessibility of the page when a new task is injected.
121-
document.addEventListener( 'prpl/suggestedTask/injectItem', () => {
121+
document.addEventListener( 'prpl/suggestedTask/itemInjected', () => {
122122
// Wait for the new task to be added to the DOM.
123123
setTimeout( () => {
124124
externalLinkHelper.applyAccessibility();
125-
}, 500 );
125+
}, 10 );
126126
} );

0 commit comments

Comments
 (0)