diff --git a/frontend/src/renderer/hooks/useShare.js b/frontend/src/renderer/hooks/useShare.js new file mode 100644 index 0000000..10ae5a6 --- /dev/null +++ b/frontend/src/renderer/hooks/useShare.js @@ -0,0 +1,30 @@ +import { useState } from 'react'; +import api from '../utils/api'; + +export const useShare = () => { + const [loading, setLoading] = useState(false); + + const createShare = async (fileId, options = {}) => { + setLoading(true); + try { + const data = await api.post('/api/share', { fileId, ...options }); + return data; + } finally { + setLoading(false); + } + }; + + const getShareInfo = async (token) => { + const data = await api.get(`/api/share/${token}`); + return data; + }; + + const verifyPassword = async (token, password) => { + const data = await api.post(`/api/share/${token}/verify`, { password }); + return data; + }; + + return { loading, createShare, getShareInfo, verifyPassword }; +}; + +export default useShare;