feat(project): menambahkan background_color untuk icon project
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
const PROJECT_ICON_BACKGROUND_COLORS = {
|
||||
code: '#BA1A1A', //red
|
||||
chart: '#0088FF', //blue
|
||||
cloud: '#6155F5', //indigo
|
||||
mobile: '#008000', //green
|
||||
gear: '#800080', //purple
|
||||
users: '#FFC0CB', //pink
|
||||
clipboard: '#000000', //black
|
||||
speedometer: '#AC7F5E', //brown
|
||||
lightbulb: '#FF8D28', //orange
|
||||
shield: '#00C0E8', //cyan
|
||||
};
|
||||
|
||||
function getProjectBackgroundColor(projectIcon) {
|
||||
return PROJECT_ICON_BACKGROUND_COLORS[projectIcon] || '#EEF2FF';
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
PROJECT_ICON_BACKGROUND_COLORS,
|
||||
getProjectBackgroundColor,
|
||||
};
|
||||
@@ -8,6 +8,7 @@ const {
|
||||
ConflictError,
|
||||
} = require("../../../helpers/error");
|
||||
const { slugify } = require("../../../helpers/utils/slug");
|
||||
const { getProjectBackgroundColor } = require("../../../helpers/utils/projectTheme");
|
||||
|
||||
class ProjectService {
|
||||
async createProject(projectPayload, actor) {
|
||||
@@ -79,6 +80,7 @@ class ProjectService {
|
||||
id_admin: parseInt(actor.id),
|
||||
slug: projectSlug,
|
||||
project_icon: projectData.project_icon,
|
||||
background_color: getProjectBackgroundColor(projectData.project_icon),
|
||||
project_name: projectData.project_name,
|
||||
description: projectData.description || "",
|
||||
start_date: projectData.start_date,
|
||||
@@ -116,6 +118,7 @@ class ProjectService {
|
||||
id: project.id,
|
||||
slug: project.slug,
|
||||
project_icon: project.project_icon,
|
||||
background_color: project.background_color,
|
||||
project_name: project.project_name,
|
||||
description: project.description,
|
||||
start_date: project.start_date,
|
||||
@@ -208,6 +211,10 @@ class ProjectService {
|
||||
);
|
||||
}
|
||||
|
||||
if (updateData.project_icon !== undefined) {
|
||||
updateData.background_color = getProjectBackgroundColor(updateData.project_icon);
|
||||
}
|
||||
|
||||
const updatedProject = await projectRepository.updateById(existingProject.id, updateData);
|
||||
|
||||
return data(this.mapProjectDetail(updatedProject));
|
||||
@@ -300,6 +307,7 @@ class ProjectService {
|
||||
id: project.id,
|
||||
slug: project.slug,
|
||||
project_icon: project.project_icon,
|
||||
background_color: project.background_color,
|
||||
project_name: project.project_name,
|
||||
description: project.description,
|
||||
certificate_template: project.certificate_template,
|
||||
@@ -370,6 +378,7 @@ class ProjectService {
|
||||
id: project.id,
|
||||
slug: project.slug,
|
||||
project_icon: project.project_icon,
|
||||
background_color: project.background_color,
|
||||
project_name: project.project_name,
|
||||
description: project.description,
|
||||
start_date: project.start_date,
|
||||
@@ -452,6 +461,7 @@ class ProjectService {
|
||||
id: project.id,
|
||||
slug: project.slug,
|
||||
project_icon: project.project_icon,
|
||||
background_color: project.background_color,
|
||||
project_name: project.project_name,
|
||||
description: project.description,
|
||||
start_date: project.start_date,
|
||||
|
||||
Reference in New Issue
Block a user