uuno ๊ฐ๋ฐ ์ค ๋ง์ฃผํ๋ ์ฃผ์ ์ด์๋ค๊ณผ ํด๊ฒฐ ๊ณผ์ ์ ์ ๋ฆฌํ์ต๋๋ค.
last_activity ์
๋ฐ์ดํธ๋ก ์ธํ ๋ฌดํ ๋ ๋๋ง ๋ฐ์// ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋
const updateActivity = () => {
setLastActivity(Date.now());
// ์ด ์
๋ฐ์ดํธ๊ฐ ๋ค์ ๋ ๋๋ง์ ํธ๋ฆฌ๊ฑฐ
};
last_activity ๊ด๋ จ ๋ก์ง ์์ ์ ๊ฑฐ// ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋
const initSession = async () => {
// ๋งค๋ฒ ์๋ก์ด ์ธ์
์์ฑ
const newSession = await createNewSession();
};
// ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋
exportAsImage: async () => {
// Stage ์ค๋น ์ํ ํ์ธ ์์ด ๋ฐ๋ก ์คํ
return stageRef.current.toDataURL();
};
CARD_INTERACTIONS ๊ด๋ จ ํ์
์๋ฌ ๋ฐ์// ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋
interface TABLES {
// CARD_INTERACTIONS ํ์
์ ์ ๋๋ฝ
}
// ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋
useEffect(() => {
window.addEventListener('mousemove', updateActivity);
window.addEventListener('keydown', updateActivity);
// ํด๋ฆฐ์
ํจ์ ์์
});
passive: true ์ต์
์ฌ์ฉ์ด๋ฌํ ํธ๋ฌ๋ธ์ํ ๊ณผ์ ์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ด ํฌ๊ฒ ๊ฐ์ ๋์์ต๋๋ค.