{
+ reader.onload = (): void => {
resolve(reader.result);
};
// Reject the promise on error
- reader.onerror = (e) => {
+ reader.onerror = (e): void => {
reject(e);
};
diff --git a/src/app/mock-api/index.ts b/src/app/mock-api/index.ts
index 2dc55532..9d4e494c 100644
--- a/src/app/mock-api/index.ts
+++ b/src/app/mock-api/index.ts
@@ -1,4 +1,5 @@
import { AcademyMockApi } from 'app/mock-api/apps/academy/api';
+import { ActivitiesMockApi } from 'app/mock-api/pages/activities/api';
import { AnalyticsMockApi } from 'app/mock-api/dashboards/analytics/api';
import { AuthMockApi } from 'app/mock-api/common/auth/api';
import { CalendarMockApi } from 'app/mock-api/apps/calendar/api';
@@ -21,6 +22,7 @@ import { UserMockApi } from 'app/mock-api/common/user/api';
export const mockApiServices = [
AcademyMockApi,
+ ActivitiesMockApi,
AnalyticsMockApi,
AuthMockApi,
CalendarMockApi,
diff --git a/src/app/mock-api/pages/activities/api.ts b/src/app/mock-api/pages/activities/api.ts
new file mode 100644
index 00000000..c9b7997e
--- /dev/null
+++ b/src/app/mock-api/pages/activities/api.ts
@@ -0,0 +1,38 @@
+import { Injectable } from '@angular/core';
+import { cloneDeep } from 'lodash-es';
+import { FuseMockApiService } from '@fuse/lib/mock-api';
+import { activities as activitiesData } from 'app/mock-api/pages/activities/data';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class ActivitiesMockApi
+{
+ private _activities: any = activitiesData;
+
+ /**
+ * Constructor
+ */
+ constructor(private _fuseMockApiService: FuseMockApiService)
+ {
+ // Register Mock API handlers
+ this.registerHandlers();
+ }
+
+ // -----------------------------------------------------------------------------------------------------
+ // @ Public methods
+ // -----------------------------------------------------------------------------------------------------
+
+ /**
+ * Register Mock API handlers
+ */
+ registerHandlers(): void
+ {
+ // -----------------------------------------------------------------------------------------------------
+ // @ Activities - GET
+ // -----------------------------------------------------------------------------------------------------
+ this._fuseMockApiService
+ .onGet('api/pages/activities')
+ .reply(() => [200, cloneDeep(this._activities)]);
+ }
+}
diff --git a/src/app/mock-api/pages/activities/data.ts b/src/app/mock-api/pages/activities/data.ts
new file mode 100644
index 00000000..5f777ccb
--- /dev/null
+++ b/src/app/mock-api/pages/activities/data.ts
@@ -0,0 +1,89 @@
+/* eslint-disable */
+import * as moment from 'moment';
+import { Activity } from 'app/modules/admin/pages/activities/activities.types';
+
+export const activities: Activity[] = [
+ {
+ id : '493190c9-5b61-4912-afe5-78c21f1044d7',
+ icon : 'heroicons_solid:star',
+ description : 'Your submission has been accepted',
+ date : moment().subtract(25, 'minutes').toISOString(), // 25 minutes ago
+ extraContent: `
Congratulations for your acceptance!
+
Hi Brian,
Your submission has been accepted and you are ready to move into the next phase. Once you are ready, reach out to me and we will ...
`
+ },
+ {
+ id : '6e3e97e5-effc-4fb7-b730-52a151f0b641',
+ image : 'assets/images/avatars/male-04.jpg',
+ description : '
Leo Gill added you to
Top Secret Project group and assigned you as a
Project Manager',
+ date : moment().subtract(50, 'minutes').toISOString(), // 50 minutes ago
+ linkedContent: 'Top Secret Project',
+ link : '/dashboards/project',
+ useRouter : true
+ },
+ {
+ id : 'b91ccb58-b06c-413b-b389-87010e03a120',
+ icon : 'heroicons_solid:mail',
+ description : 'You have 15 unread mails across 3 mailboxes',
+ date : moment().subtract(3, 'hours').toISOString(), // 3 hours ago
+ linkedContent: 'Mailbox',
+ link : '/apps/mailbox',
+ useRouter : true
+ },
+ {
+ id : '541416c9-84a7-408a-8d74-27a43c38d797',
+ icon : 'heroicons_solid:refresh',
+ description : 'Your
Docker container is ready to publish',
+ date : moment().subtract(5, 'hours').toISOString(), // 5 hours ago
+ linkedContent: 'Download the container',
+ link : '.',
+ useRouter : true
+ },
+ {
+ id : 'ef7b95a7-8e8b-4616-9619-130d9533add9',
+ image : 'assets/images/avatars/male-06.jpg',
+ description : '
Roger Murray accepted your friend request',
+ date : moment().subtract(7, 'hours').toISOString(), // 7 hours ago
+ extraContent: `You have
8 mutual friends.`
+ },
+ {
+ id : 'eb8aa470-635e-461d-88e1-23d9ea2a5665',
+ image : 'assets/images/avatars/female-04.jpg',
+ description: '
Sophie Stone sent you a direct message',
+ date : moment().subtract(9, 'hours').toISOString() // 9 hours ago
+ },
+ {
+ id : 'b85c2338-cc98-4140-bbf8-c226ce4e395e',
+ icon : 'heroicons_solid:mail',
+ description : 'You have 3 new mails',
+ date : moment().subtract(1, 'day').toISOString(), // 1 day ago
+ extraContent : `
+ - Please review and sign the attached agreement
+ - Delivery address confirmation
+ - Previous clients and their invoices
+
`,
+ linkedContent: 'Mailbox',
+ link : '/apps/mailbox',
+ useRouter : true
+ },
+ {
+ id : 'fd0f01b4-f3de-4333-add5-cd86850279f8',
+ image : 'assets/images/avatars/female-02.jpg',
+ description : '
Tina Harris started a chat with you',
+ date : moment().subtract(1, 'day').toISOString(), // 1 day ago,
+ linkedContent: 'Go to Chat (Tina Harris)',
+ link : '/apps/chat/5636c0ba-fa47-42ca-9160-27340583041e',
+ useRouter : true
+ },
+ {
+ id : '8f8e1bf9-4661-4939-9e43-390957b60f42',
+ icon : 'heroicons_solid:star',
+ description: 'Your submission has been accepted and you are ready to sign-up for the final assigment which will be ready in 2 days',
+ date : moment().subtract(3, 'days').toISOString() // 3 days ago
+ },
+ {
+ id : '30af917b-7a6a-45d1-822f-9e7ad7f8bf69',
+ icon : 'heroicons_solid:refresh',
+ description: 'Your Vagrant container is ready to download',
+ date : moment().subtract(4, 'day').toISOString() // 4 days ago
+ }
+];
diff --git a/tailwind.config.js b/tailwind.config.js
index 75d82c49..db6e214e 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -74,11 +74,7 @@ const config = {
darkMode : 'class',
important : true,
purge : {
- // Until AngularCLI team provides a better way to distinguish between
- // development and production, we will decide whether to purge or not
- // by looking at the process arguments. If there is a "build" argument
- // with the "ng" command then we will enable the purge.
- enabled: process && process.argv && process.argv.find(arg => arg.includes('ng')) && process.argv.indexOf('build') !== -1,
+ enabled: process.env.TAILWIND_MODE === 'build',
content: ['./src/**/*.{html,scss,ts}'],
options: {
safelist: {