removed automatic change for subject to inactive if all assignments are completed

This commit is contained in:
Chris Sanden
2026-05-06 17:01:05 +02:00
parent 66efbecf2f
commit f2312bce38
4 changed files with 1 additions and 47 deletions

View File

@@ -1,6 +1,5 @@
import { defaultStyles } from '@/constants/defaultStyles'; import { defaultStyles } from '@/constants/defaultStyles';
import * as AsyncStorage from '@/lib/asyncStorage'; import * as AsyncStorage from '@/lib/asyncStorage';
import { CheckSubjectCompletion } from '@/lib/progress';
import { supabase } from '@/lib/supabase'; import { supabase } from '@/lib/supabase';
import * as Notifications from 'expo-notifications'; import * as Notifications from 'expo-notifications';
import { router, Stack, useLocalSearchParams } from 'expo-router'; import { router, Stack, useLocalSearchParams } from 'expo-router';
@@ -189,12 +188,6 @@ export default function UpsertAssignment() {
savedAssignment.isCompleted savedAssignment.isCompleted
); );
try {
await CheckSubjectCompletion(subjectId);
} catch {
Alert.alert('Failed to update subject status');
}
SetIsSaving(false); SetIsSaving(false);
if (!isEditMode && isSetupFlow) { if (!isEditMode && isSetupFlow) {

View File

@@ -1,5 +1,5 @@
import { formatDate, formatDateTime } from '@/lib/date'; import { formatDate, formatDateTime } from '@/lib/date';
import { CheckAssignmentCompletion, CheckSubjectCompletion } from '@/lib/progress'; import { CheckAssignmentCompletion } from '@/lib/progress';
import { getSubjectColorSet, type SubjectColor } from '@/lib/subjectColors'; import { getSubjectColorSet, type SubjectColor } from '@/lib/subjectColors';
import { supabase } from '@/lib/supabase'; import { supabase } from '@/lib/supabase';
import type { Assignment, Task } from '@/lib/types'; import type { Assignment, Task } from '@/lib/types';
@@ -124,16 +124,6 @@ export default function ViewDetailsAssignment() {
Alert.alert("Assignment deleted successfully!"); Alert.alert("Assignment deleted successfully!");
const sId = assignment?.sId;
if (sId) {
try {
await CheckSubjectCompletion(sId);
} catch {
Alert.alert("Failed to update subject status");
}
}
router.back(); router.back();
} }
} }

View File

@@ -1,5 +1,4 @@
import { formatDate, formatDateTime } from '@/lib/date'; import { formatDate, formatDateTime } from '@/lib/date';
import { CheckSubjectCompletion } from '@/lib/progress';
import { SUBJECT_COLORS, type SubjectColor } from '@/lib/subjectColors'; import { SUBJECT_COLORS, type SubjectColor } from '@/lib/subjectColors';
import { supabase } from '@/lib/supabase'; import { supabase } from '@/lib/supabase';
import type { Assignment } from '@/lib/types'; import type { Assignment } from '@/lib/types';
@@ -102,12 +101,6 @@ export default function ViewDetailsSubject() {
return; return;
} }
try {
await CheckSubjectCompletion(assignment.sId);
} catch {
Alert.alert('Failed to update subject status');
}
await GetAssignments(assignment.sId); await GetAssignments(assignment.sId);
await GetSubject(assignment.sId); await GetSubject(assignment.sId);
}; };
@@ -181,14 +174,6 @@ export default function ViewDetailsSubject() {
return; return;
} }
if (subjectId) {
try {
await CheckSubjectCompletion(subjectId);
} catch {
Alert.alert('Failed to update subject status');
}
}
await GetAssignments(subjectId); await GetAssignments(subjectId);
await GetSubject(subjectId); await GetSubject(subjectId);

View File

@@ -13,17 +13,3 @@ export async function CheckAssignmentCompletion(aId: string) {
if (updateError) throw updateError; if (updateError) throw updateError;
} }
export async function CheckSubjectCompletion(sId: string) {
const { data, error } = await supabase.from("assignments").select("aId, isCompleted").eq("sId", sId);
if (error) throw error;
const assignments = data ?? [];
const allCompleted = assignments.length > 0 && assignments.every((assignment) => assignment.isCompleted === true);
const { error: updateError } = await supabase.from("subjects").update({ isActive: allCompleted, lastChanged: new Date().toISOString()}).eq("sId", sId);
if (updateError) throw updateError;
}