Adds live-class session scheduling on lessons (join link, date/time, timezone) with automatic 24h and 1h reminder emails plus a calendar invite (.ics), a time-change notification with an updated invite, a teacher-authored welcome email and session invite on enrollment, and a "Notify students" quiz nudge. LMS gets an upcoming live-sessions card and Join buttons, plus a reusable live-session card component (3 states) in @cio/ui with a Storybook story. The sidebar content tree now reflects sequential progression locking like the content list, and the course-completion confetti regression is fixed. Org-based emails no longer reference ClassroomIO by name. Docs add live-class, welcome-email, and course-progression guides, expand the certificates guide (design, signatures, corrected labels), move plan-required callouts to the top, flatten how-to-guides to the docs root with redirects, and add screenshots. Includes an add-docs-image skill.
41 lines
1.0 KiB
Svelte
41 lines
1.0 KiB
Svelte
<script lang="ts">
|
|
import { InputField } from '@cio/ui/custom/input-field';
|
|
import { t } from '$lib/utils/functions/translations';
|
|
import { snackbar } from '$features/ui/snackbar/store';
|
|
|
|
interface Props {
|
|
gradeMax?: number;
|
|
disableGrading?: boolean;
|
|
grade?: number | undefined;
|
|
}
|
|
|
|
let { gradeMax = 0, disableGrading = false, grade = $bindable(0) }: Props = $props();
|
|
|
|
$effect(() => {
|
|
if (grade && grade > gradeMax) {
|
|
snackbar.error('grade cant be more than max value');
|
|
grade = gradeMax;
|
|
}
|
|
if (grade && grade < 0) {
|
|
snackbar.error('grade cant be less than 0');
|
|
grade = 0;
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<div class="flex items-center">
|
|
<InputField
|
|
placeholder={$t('course.navItem.lessons.exercises.new_exercise_modal.points')}
|
|
bind:value={grade}
|
|
max={gradeMax}
|
|
min={0}
|
|
type="number"
|
|
inputClassName="!w-16"
|
|
isDisabled={disableGrading}
|
|
/>
|
|
|
|
<p class="ml-2 flex items-center text-base dark:text-white">
|
|
<span class="mr-1">/</span> <span>{gradeMax}</span>
|
|
</p>
|
|
</div>
|