MCPcopy Index your code
hub / github.com/callumalpass/tasknotes / buildTaskCardClassNames

Function buildTaskCardClassNames

src/ui/taskCardState.ts:84–124  ·  view source on GitHub ↗
(
	task: TaskInfo,
	plugin: TaskNotesPlugin,
	state: Omit<TaskCardRenderState, "cardClasses">
)

Source from the content-addressed store, hash-verified

82}
83
84function buildTaskCardClassNames(
85 task: TaskInfo,
86 plugin: TaskNotesPlugin,
87 state: Omit<TaskCardRenderState, "cardClasses">
88): string[] {
89 const cardClasses = ["task-card"];
90
91 if (state.layout !== "default") {
92 cardClasses.push(`task-card--layout-${state.layout}`);
93 }
94
95 if (state.isCompleted) cardClasses.push("task-card--completed");
96 if (state.isCompleted && shouldStrikeThroughCompletedTasks(plugin)) {
97 cardClasses.push("task-card--completed-strikethrough");
98 }
99 if (state.isSkipped) cardClasses.push("task-card--skipped");
100 if (task.archived) cardClasses.push("task-card--archived");
101 if (state.isActivelyTracked) cardClasses.push("task-card--actively-tracked");
102 if (state.isRecurring) cardClasses.push("task-card--recurring");
103 if (state.isMaterializedOccurrence) cardClasses.push("task-card--materialized-occurrence");
104 if (state.hasDetails) cardClasses.push("task-card--has-details");
105
106 if (task.priority) {
107 cardClasses.push(`task-card--priority-${sanitizeForCssClass(task.priority)}`);
108 }
109
110 if (state.effectiveStatus) {
111 cardClasses.push(`task-card--status-${sanitizeForCssClass(state.effectiveStatus)}`);
112 }
113
114 if (plugin.settings?.subtaskChevronPosition === "left") {
115 cardClasses.push("task-card--chevron-left");
116 }
117
118 const projectClassNames = getProjectClassNames(task);
119 if (projectClassNames.length > 0) {
120 cardClasses.push("task-card--has-projects", ...projectClassNames);
121 }
122
123 return cardClasses;
124}
125
126export function buildTaskCardRenderState(
127 task: TaskInfo,

Callers 1

buildTaskCardRenderStateFunction · 0.85

Calls 3

sanitizeForCssClassFunction · 0.90
getProjectClassNamesFunction · 0.85

Tested by

no test coverage detected