Skip to content

Commit 1821ac0

Browse files
committed
feat: support tasks notice
1 parent 20dedb3 commit 1821ac0

3 files changed

Lines changed: 135 additions & 1 deletion

File tree

src/setting.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import {
3535
} from "./components/AutoComplete";
3636
import { HabitList } from "./components/HabitSettingList";
3737
import { ConfirmModal } from "./components/ConfirmModal";
38+
import { getTasksAPI } from "./utils";
3839

3940
export class TaskProgressBarSettingTab extends PluginSettingTab {
4041
plugin: TaskProgressBarPlugin;
@@ -934,6 +935,49 @@ export class TaskProgressBarSettingTab extends PluginSettingTab {
934935
.setDesc(t("Configure task status settings"))
935936
.setHeading();
936937

938+
// Check if Tasks plugin is installed and show compatibility warning
939+
const tasksAPI = getTasksAPI(this.plugin);
940+
if (tasksAPI) {
941+
const warningBanner = containerEl.createDiv({
942+
cls: "tasks-compatibility-warning",
943+
});
944+
945+
warningBanner.createEl("div", {
946+
cls: "tasks-warning-icon",
947+
text: "⚠️",
948+
});
949+
950+
const warningContent = warningBanner.createDiv({
951+
cls: "tasks-warning-content",
952+
});
953+
954+
warningContent.createEl("div", {
955+
cls: "tasks-warning-title",
956+
text: t("Tasks Plugin Detected"),
957+
});
958+
959+
const warningText = warningContent.createEl("div", {
960+
cls: "tasks-warning-text",
961+
});
962+
963+
warningText.createEl("span", {
964+
text: t(
965+
"Current status management and date management may conflict with the Tasks plugin. Please check the "
966+
),
967+
});
968+
969+
const compatibilityLink = warningText.createEl("a", {
970+
text: t("compatibility documentation"),
971+
href: "https://taskgenius.md/docs/compatibility",
972+
});
973+
compatibilityLink.setAttribute("target", "_blank");
974+
compatibilityLink.setAttribute("rel", "noopener noreferrer");
975+
976+
warningText.createEl("span", {
977+
text: t(" for more information."),
978+
});
979+
}
980+
937981
new Setting(containerEl)
938982
.setName(t("Auto complete parent task"))
939983
.setDesc(

src/styles/setting.css

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,3 +1088,55 @@
10881088
}
10891089

10901090
/* END: View Management Styles */
1091+
1092+
/* Tasks Plugin Compatibility Warning Banner */
1093+
.tasks-compatibility-warning {
1094+
display: flex;
1095+
align-items: flex-start;
1096+
gap: var(--size-4-3);
1097+
padding: var(--size-4-4);
1098+
margin-bottom: var(--size-4-4);
1099+
background-color: hsl(
1100+
var(--accent-h),
1101+
var(--accent-s),
1102+
var(--accent-l),
1103+
0.5
1104+
);
1105+
border: 1px solid
1106+
hsl(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
1107+
border-radius: var(--radius-m);
1108+
color: var(--text-on-accent);
1109+
}
1110+
1111+
.tasks-warning-icon {
1112+
font-size: 20px;
1113+
line-height: 1;
1114+
flex-shrink: 0;
1115+
}
1116+
1117+
.tasks-warning-content {
1118+
flex: 1;
1119+
display: flex;
1120+
flex-direction: column;
1121+
gap: var(--size-2-2);
1122+
}
1123+
1124+
.tasks-warning-title {
1125+
font-weight: 600;
1126+
font-size: var(--font-ui-medium);
1127+
}
1128+
1129+
.tasks-warning-text {
1130+
color: var(--text-on-accent);
1131+
font-size: var(--font-ui-small);
1132+
line-height: 1.4;
1133+
}
1134+
1135+
.tasks-warning-text a {
1136+
color: var(--text-on-accent);
1137+
text-decoration: underline;
1138+
}
1139+
1140+
.tasks-warning-text a:hover {
1141+
color: var(--text-on-accent);
1142+
}

styles.css

Lines changed: 39 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)