From c36a49a1ee9b0ac7dfb25681008c0c5b5d5ca07c Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Sat, 20 May 2023 23:53:28 +0000 Subject: [PATCH] CLASSROOMIO-T-46: Forum CRUD MVP Co-authored-by: Rotimi Best Merge-request: CLASSROOMIO-MR-13 Merged-by: Digdippa Team --- src/components/Chip/index.svelte | 1 - .../Course/components/Navigation/index.svelte | 4 +- .../components/Editor/index.svelte | 8 +- src/components/HashTags/index.svelte | 5 +- src/components/Org/Audience/index.svelte | 12 +- .../Org/Community/DeleteCommentModal.svelte | 37 ++ src/components/Org/Community/index.svelte | 110 +++++ .../Org/Settings/OrgSettings.svelte | 4 +- src/components/Org/SideBar.svelte | 102 ++--- src/components/PageNav/index.svelte | 2 +- src/components/PrimaryButton/constants.js | 6 +- src/components/PrimaryButton/index.svelte | 7 +- src/components/TextEditor/index.svelte | 20 + src/components/Vote/index.svelte | 11 +- src/routes/_error.svelte | 4 - src/routes/_layout.svelte | 3 + src/routes/admin.svelte | 153 ------- src/routes/api/_db.js | 399 ---------------- src/routes/api/auth.js | 7 - src/routes/api/course.js | 27 -- src/routes/api/lesson.js | 19 - src/routes/api/waitinglist.js | 15 - src/routes/ask.svelte | 100 ---- src/routes/courses.svelte | 96 ---- src/routes/discussions.svelte | 229 ---------- src/routes/discussions/[id].json.js | 30 -- src/routes/discussions/[id].svelte | 108 ----- src/routes/discussions/_discussions.js | 181 -------- src/routes/mail/invite.js | 15 - src/routes/onboarding.svelte | 7 +- src/routes/org/[slug]/community/[slug].svelte | 431 ++++++++++++++++++ src/routes/org/[slug]/community/ask.svelte | 96 ++++ src/routes/org/[slug]/community/index.svelte | 25 + src/routes/org/[slug]/courses.svelte | 2 +- src/routes/org/[slug]/settings/domains.svelte | 4 +- src/routes/org/[slug]/settings/teams.svelte | 4 +- src/routes/people.svelte | 92 ---- src/routes/profile/[id].svelte | 6 +- src/utils/functions/generateSlug.js | 9 + src/utils/functions/validator.js | 29 ++ src/utils/services/org/index.js | 18 +- src/utils/store/org.js | 6 +- 42 files changed, 871 insertions(+), 1573 deletions(-) create mode 100644 src/components/Org/Community/DeleteCommentModal.svelte create mode 100644 src/components/Org/Community/index.svelte delete mode 100644 src/routes/admin.svelte delete mode 100644 src/routes/api/_db.js delete mode 100644 src/routes/api/auth.js delete mode 100644 src/routes/api/course.js delete mode 100644 src/routes/api/lesson.js delete mode 100644 src/routes/api/waitinglist.js delete mode 100644 src/routes/ask.svelte delete mode 100644 src/routes/courses.svelte delete mode 100644 src/routes/discussions.svelte delete mode 100644 src/routes/discussions/[id].json.js delete mode 100644 src/routes/discussions/[id].svelte delete mode 100644 src/routes/discussions/_discussions.js delete mode 100644 src/routes/mail/invite.js create mode 100644 src/routes/org/[slug]/community/[slug].svelte create mode 100644 src/routes/org/[slug]/community/ask.svelte create mode 100644 src/routes/org/[slug]/community/index.svelte delete mode 100644 src/routes/people.svelte create mode 100644 src/utils/functions/generateSlug.js diff --git a/src/components/Chip/index.svelte b/src/components/Chip/index.svelte index c5da627a..c702694e 100644 --- a/src/components/Chip/index.svelte +++ b/src/components/Chip/index.svelte @@ -22,7 +22,6 @@ } .bg-set { - color: #586069; background-color: #d1d5da80; } diff --git a/src/components/Course/components/Navigation/index.svelte b/src/components/Course/components/Navigation/index.svelte index 43dc3fac..63f62e96 100644 --- a/src/components/Course/components/Navigation/index.svelte +++ b/src/components/Course/components/Navigation/index.svelte @@ -24,7 +24,7 @@ import { course } from '../../store'; import { updateCourse } from '../../../../utils/services/courses'; import { profile } from '../../../../utils/store/user'; - import { currentOrg } from '../../../../utils/store/org'; + import { currentOrg, currentOrgPath } from '../../../../utils/store/org'; import { isMobile } from '../../../../utils/store/useMobile'; // export let lessonId; @@ -209,7 +209,7 @@ > goto(`/org/${$currentOrg.siteName}/courses`)} + onClick={() => goto(`${$currentOrgPath}/courses`)} buttonClassName="mx-3" > diff --git a/src/components/CourseLandingPage/components/Editor/index.svelte b/src/components/CourseLandingPage/components/Editor/index.svelte index b63df473..05a836c9 100644 --- a/src/components/CourseLandingPage/components/Editor/index.svelte +++ b/src/components/CourseLandingPage/components/Editor/index.svelte @@ -16,6 +16,7 @@ import PrimaryButton from '../../../PrimaryButton/index.svelte'; import { VARIANTS } from '../../../PrimaryButton/constants'; import { updateCourse } from '../../../../utils/services/courses'; + import generateSlug from '../../../../utils/functions/generateSlug'; export let course; export let courseId; @@ -66,13 +67,6 @@ }; } - function generateSlug(title) { - return title - .replaceAll(' ', '-') - .toLowerCase() - .concat(`-${new Date().getTime()}`); - } - async function handleSave() { loading = true; course.slug = course.slug || generateSlug(course.title); diff --git a/src/components/HashTags/index.svelte b/src/components/HashTags/index.svelte index f733c298..ef3451fd 100644 --- a/src/components/HashTags/index.svelte +++ b/src/components/HashTags/index.svelte @@ -4,6 +4,9 @@
{#each tags as tag} - #{tag.toLowerCase()} + #{tag.toLowerCase()} {/each}
diff --git a/src/components/Org/Audience/index.svelte b/src/components/Org/Audience/index.svelte index ae561833..909cd3b1 100644 --- a/src/components/Org/Audience/index.svelte +++ b/src/components/Org/Audience/index.svelte @@ -1,5 +1,4 @@
+ import Modal from '../../Modal/index.svelte'; + import PrimaryButton from '../../PrimaryButton/index.svelte'; + import { VARIANTS } from '../../PrimaryButton/constants'; + + export let onDelete = () => {}; + export let onCancel = () => {}; + export let open = false; + + + (open = false)} + bind:open + width="w-96" + modalHeading="Delete comment" +> +
+

+ Are you sure you want to delete this comment? +

+ +
+ + +
+
+
diff --git a/src/components/Org/Community/index.svelte b/src/components/Org/Community/index.svelte new file mode 100644 index 00000000..9bfe9626 --- /dev/null +++ b/src/components/Org/Community/index.svelte @@ -0,0 +1,110 @@ + + +
+ {#each discussions as discussion} +
+ +
+

+ + {discussion.title} + +

+ + {discussion.author} asked {discussion.createdAt} + +
+ +
+ + {discussion.comments} +
+
+ {:else} + + +

No Questions asked

+

+ Ask a question to the community +

+
+ {/each} +
+ + diff --git a/src/components/Org/Settings/OrgSettings.svelte b/src/components/Org/Settings/OrgSettings.svelte index 7d17e5bd..89661d40 100644 --- a/src/components/Org/Settings/OrgSettings.svelte +++ b/src/components/Org/Settings/OrgSettings.svelte @@ -8,7 +8,7 @@ import { supabase } from '../../../utils/functions/supabase'; import { snackbarStore } from '../../Snackbar/store'; import { SNACKBAR_SEVERITY } from '../../Snackbar/constants'; - import { currentOrg } from '../../../utils/store/org'; + import { currentOrg, currentOrgPath } from '../../../utils/store/org'; import SectionTitle from '../SectionTitle.svelte'; let avatar; @@ -74,7 +74,7 @@ } function gotoSetting(pathname) { - goto(`/org/${$currentOrg.siteName}/settings${pathname}`); + goto(`${$currentOrgPath}/settings${pathname}`); } diff --git a/src/components/Org/SideBar.svelte b/src/components/Org/SideBar.svelte index 16d4ebc2..a6340018 100644 --- a/src/components/Org/SideBar.svelte +++ b/src/components/Org/SideBar.svelte @@ -1,6 +1,7 @@