Initial commit: MyBlog full stack blog
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
/* =====================================================================
|
||||
* 入口(main.js)
|
||||
* 挂载全局事件并完成首次渲染。
|
||||
* 各业务模块:api / auth / router / article / comment / manage / friend /
|
||||
* markdown / state / utils
|
||||
* ===================================================================== */
|
||||
|
||||
import { $ } from "./utils.js";
|
||||
import { refreshUser } from "./auth.js";
|
||||
import { navigate, render, renderAuthArea, renderNav } from "./router.js";
|
||||
|
||||
// 拦截站内 SPA 链接(带 data-link 的 <a>),并收起用户下拉菜单
|
||||
document.addEventListener("click", (e) => {
|
||||
const link = e.target.closest("a[data-link]");
|
||||
if (link) {
|
||||
e.preventDefault();
|
||||
navigate(link.getAttribute("href"));
|
||||
return;
|
||||
}
|
||||
const dropdown = $("#user-dropdown");
|
||||
if (dropdown && !e.target.closest(".user-menu")) dropdown.classList.add("hidden");
|
||||
});
|
||||
|
||||
window.addEventListener("popstate", render);
|
||||
|
||||
(async function init() {
|
||||
renderNav();
|
||||
await refreshUser();
|
||||
renderAuthArea();
|
||||
render();
|
||||
})();
|
||||
Reference in New Issue
Block a user