Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions src/components/admin/GovernanceDashboard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,8 @@ export function GovernanceDashboard() {
const [checkResults, setCheckResults] = useState<unknown>(null);
const [activeTab, setActiveTab] = useState<'foundations' | 'hos' | 'records' | 'grievances'>('foundations');

const supabase = createClient();

const fetchGovernanceData = useCallback(async () => {
const supabase = createClient();
setLoading(true);
const { data: docs } = await supabase
.from('governance_documents')
Expand All @@ -74,7 +73,7 @@ export function GovernanceDashboard() {
if (docs) setDocuments(docs);
if (alertData) setAlerts(alertData);
setLoading(false);
}, [supabase]);
}, []);

useEffect(() => {
fetchGovernanceData();
Expand Down
4 changes: 2 additions & 2 deletions src/components/admin/OpenRecordsManager.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ interface OpenRecordsRequest {
export function OpenRecordsManager() {
const [requests, setRequests] = useState<OpenRecordsRequest[]>([]);
const [loading, setLoading] = useState(true);
const supabase = createClient();

const fetchRequests = useCallback(async () => {
const supabase = createClient();
const { data, error } = await supabase
.from('open_records_requests')
.select('*, dim_school(school_name)')
Expand All @@ -48,7 +48,7 @@ export function OpenRecordsManager() {
if (error) console.error('Failed to fetch requests:', error);
else setRequests(data || []);
setLoading(false);
}, [supabase]);
}, []);

useEffect(() => {
fetchRequests();
Expand Down
2 changes: 1 addition & 1 deletion src/components/dashboard/AIIntake.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ export function AIIntake() {
</div>
<h3 className="text-2xl font-bold text-white mb-2">Draft Email Created</h3>
<p className="text-slate-400 text-sm mb-6 max-w-sm mx-auto">
Your incident record has been saved. We've also created a draft summary for you to review and send from your email client.
Your incident record has been saved. We&apos;ve also created a draft summary for you to review and send from your email client.
</p>
<div className="w-full bg-slate-950 p-6 rounded-2xl border border-slate-800 text-left mb-8 space-y-3">
<div className="flex items-center gap-2 text-slate-500 font-mono text-[10px]">
Expand Down
2 changes: 1 addition & 1 deletion src/components/dashboard/ConsentPreviewModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export function ConsentPreviewModal({ isOpen, onClose, onConfirm, anonymizedData
<div className="flex-1 overflow-y-auto p-6 space-y-8">
<div className="bg-white/5 border border-white/10 rounded-xl p-4 text-slate-300 text-sm leading-relaxed">
<p>
To maintain transparency, we've separated your entry into two views.
To maintain transparency, we&apos;ve separated your entry into two views.
<strong>Left:</strong> Your full private record which preserves every detail, name, and emotion for your tracking.
<strong>Right:</strong> The community-level report which is stripped of all identities to track trends safely.
</p>
Expand Down
2 changes: 1 addition & 1 deletion src/components/surveys/SurveyModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export function SurveyModal({ isOpen, onClose, summary: initialSummary, messages
</div>
<h2 className="text-2xl font-bold text-white mb-2">Draft Email Created</h2>
<p className="text-slate-400 text-sm mb-6">
We've generated a policy-aligned draft for your review. Check your inbox to refine and send to the Board when you are ready.
We&apos;ve generated a policy-aligned draft for your review. Check your inbox to refine and send to the Board when you are ready.
</p>
<div className="bg-slate-950 p-4 rounded-xl border border-slate-800 text-left mb-6 font-mono text-[10px] space-y-1">
<p className="text-slate-500 flex items-center gap-2">
Expand Down
4 changes: 2 additions & 2 deletions src/components/verification/VerificationModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ export function VerificationModal() {
</div>

<div className="p-4 bg-slate-950 border border-slate-800 rounded-xl text-slate-300 text-sm leading-relaxed italic">
"I affirm, under penalty of perjury, that I am the parent or legal guardian of at least one student currently enrolled at {selectedSchool?.school_name}. I understand that intentionally false statements may result in account suspension."
&quot;I affirm, under penalty of perjury, that I am the parent or legal guardian of at least one student currently enrolled at {selectedSchool?.school_name}. I understand that intentionally false statements may result in account suspension.&quot;
</div>

<div className="flex gap-3">
Expand Down Expand Up @@ -519,7 +519,7 @@ export function VerificationModal() {
>
<div className="space-y-2">
<h3 className="text-xl font-bold text-white">Email Verification</h3>
<p className="text-sm text-slate-400">Enter the sender's email address from a recent official school communication (e.g. re-enrollment, activation).</p>
<p className="text-sm text-slate-400">Enter the sender&apos;s email address from a recent official school communication (e.g. re-enrollment, activation).</p>
</div>

<div className="space-y-4">
Expand Down