mirror of
https://code.castopod.org/adaures/castopod
synced 2025-05-25 03:22:01 +00:00

- replace rollup config with vitejs - use vite dev server during development to take advantage of hot module replacement (HMR) - add vite service using Vite library to load css and js assets - update package.json scripts and remove unnecessary dependencies - update scripts/bundle-prepare.sh closes #107
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
const PublishMessageWarning = (): void => {
|
|
const publishForm: HTMLFormElement | null = document.querySelector(
|
|
"form[data-submit='validate-message']"
|
|
);
|
|
|
|
if (publishForm) {
|
|
const messageTextArea: HTMLTextAreaElement | null = publishForm.querySelector(
|
|
"[name='message']"
|
|
);
|
|
const submitButton: HTMLButtonElement | null = publishForm.querySelector(
|
|
"button[type='submit']"
|
|
);
|
|
const publishMessageWarning: HTMLDivElement | null = publishForm.querySelector(
|
|
"[id='publish-warning']"
|
|
);
|
|
|
|
if (
|
|
messageTextArea &&
|
|
submitButton &&
|
|
submitButton.dataset.btnTextWarning &&
|
|
submitButton.dataset.btnText &&
|
|
publishMessageWarning
|
|
) {
|
|
publishForm.addEventListener("submit", (event) => {
|
|
if (
|
|
messageTextArea.value === "" &&
|
|
publishMessageWarning.classList.contains("hidden")
|
|
) {
|
|
event.preventDefault();
|
|
|
|
publishMessageWarning.classList.remove("hidden");
|
|
messageTextArea.focus();
|
|
submitButton.innerText = submitButton.dataset
|
|
.btnTextWarning as string;
|
|
}
|
|
});
|
|
|
|
messageTextArea.addEventListener("input", () => {
|
|
if (
|
|
submitButton.innerText !== submitButton.dataset.btnText &&
|
|
messageTextArea.value !== ""
|
|
) {
|
|
publishMessageWarning.classList.add("hidden");
|
|
submitButton.innerText = submitButton.dataset.btnText as string;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
};
|
|
|
|
export default PublishMessageWarning;
|