course slug improvement

This commit is contained in:
Rotimi Best
2023-10-16 10:24:02 +01:00
parent e48410b241
commit d20a12a049
4 changed files with 6 additions and 8 deletions
+1 -2
View File
@@ -4,7 +4,7 @@ The tool every classroom use in collaborating in and outside the class.
## Why the name?
Initially I set out to build a customizable version of Google Classroom and I knew I wanted this to be a teaching software that can be used anywhere therefore I needed Classroom in the name just like Google Classroom. As for `IO`, I followed the Google IO conference so closely and, the wording really sounded well to me plus, IO sounded more techy which made me feel that adding it to the name would mean `A Classroom driven by technology`. This made me consider calling it `Classroom` + `IO`, however the domain for classroom.io was taken so I made the IO part of the name thereby giving birth to `ClassroomIO.com`
Initially I set out to build a customizable version of Google Classroom and I knew I wanted this to be a teaching software that can be used anywhere therefore I needed Classroom in the name just like Google Classroom. As for `IO`, I followed the Google IO conference so closely and, the wording really sounded well to me plus, IO sounded more techy which made me feel that adding it to the name would mean `A Classroom driven by technology`. This made me consider calling it `Classroom` + `IO`, however the domain for classroom.io was taken so I made the IO part of the name thereby giving birth to `ClassroomIO.com`
## Why build another LMS?
@@ -40,7 +40,6 @@ Note: Make sure you are using Node 18
PUBLIC_SUPABASE_ANON_KEY=
PUBLIC_SUPABASE_URL=
NETLIFY_API_KEY=
MIXPANEL_TOKEN=
OPENAI_API_KEY=
CLOUDFLARE_TOKEN_VALUE=
CLOUDFLARE_ACCESS_KEY=
+1 -1
View File
@@ -1,7 +1,7 @@
function generateSlug(title) {
return title
.match(/[^\W\s\d]*/g, '')
.join('')
.join('-')
.toLowerCase()
.concat(`-${new Date().getTime()}`);
}
-2
View File
@@ -13,8 +13,6 @@ import type {
import { STATUS } from '$lib/utils/constants/course';
import type { PostgrestSingleResponse } from '@supabase/supabase-js';
import htmlElements from '$lib/mocks/html/001_html_elements';
export async function fetchCourse(courseId?: Course['id'], slug?: Course['slug']) {
let match: { slug?: string; id?: string; status?: string } = {};
@@ -191,7 +191,8 @@
note: lessonData.note,
slide_url: lessonData.slide_url
},
lesson_completion
lesson_completion,
exercises: []
}));
}
@@ -204,7 +205,7 @@
mode = mode === MODES.edit ? MODES.view : MODES.edit;
}
function handleAppClick(appName) {
function handleAppClick(appName: string) {
$apps.selectedApp = appName;
$apps.open = true;
}
@@ -232,7 +233,7 @@
},
{
label: 'Exercises',
badgeValue: $lesson.exercises.length,
badgeValue: data.isMaterialsTabActive ? $lesson.totalExercises : $lesson.exercises.length,
isActive: !data.isMaterialsTabActive,
href: `${path}/exercises`
}