@t1mmen/srtd
Version:
Supabase Repeatable Template Definitions (srtd): 🪄 Live-reloading SQL templates for Supabase DX. Make your database changes reviewable and migrations maintainable! 🚀
29 lines • 1.12 kB
JavaScript
// hooks/useTemplateState.ts
import { useEffect, useState } from 'react';
import { TemplateManager } from '../lib/templateManager.js';
import { findProjectRoot } from '../utils/findProjectRoot.js';
export function useTemplateState() {
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
const [items, setItems] = useState([]);
useEffect(() => {
async function fetchStatus() {
try {
const baseDir = await findProjectRoot();
const manager = await TemplateManager.create(baseDir);
const templates = await manager.findTemplates();
const statuses = await Promise.all(templates.map(t => manager.getTemplateStatus(t)));
setItems(statuses);
}
catch (err) {
setError(err instanceof Error ? err.message : 'Unknown error');
}
finally {
setLoading(false);
}
}
fetchStatus();
}, []);
return { loading, error, items };
}
//# sourceMappingURL=useTemplateState.js.map