+
{#if isLogin}
- Not registered yet?
Sign up{$t('login.signup')}
{:else}
- Already have an account?
Log In{$t('login.login')}
{/if}
diff --git a/apps/dashboard/src/lib/components/Org/LandingPage/index.svelte b/apps/dashboard/src/lib/components/Org/LandingPage/index.svelte
index b7ddd4b3..3e663748 100644
--- a/apps/dashboard/src/lib/components/Org/LandingPage/index.svelte
+++ b/apps/dashboard/src/lib/components/Org/LandingPage/index.svelte
@@ -1,34 +1,34 @@

-
{$t('verify_email_modal.heading')}
-
+
{$t('verify_email_modal.heading')}
+
{$t('verify_email_modal.sent_verification')}
{$profile.email}
{$t('verify_email_modal.to_confirm')}
-
+
> = {
- initLocale: 'en',
+export const config: Config> = {
// parser: parser(),
loaders: [
{
diff --git a/apps/dashboard/src/lib/utils/functions/validator.ts b/apps/dashboard/src/lib/utils/functions/validator.ts
index 3f72c5c5..cee368f4 100644
--- a/apps/dashboard/src/lib/utils/functions/validator.ts
+++ b/apps/dashboard/src/lib/utils/functions/validator.ts
@@ -1,7 +1,7 @@
+import { t } from '$lib/utils/functions/translations';
import isNumber from 'lodash/isNumber';
import z from 'zod';
import { validateEmail } from './validateEmail';
-import { t } from '$lib/utils/functions/translations';
const getOrgNameValidation = () =>
z
@@ -85,12 +85,12 @@ const forgotValidationSchema = z.object({
const authValidationSchema = z.object({
email: z.string().email({
- message: `${t.get('validations.auth.email.invalid_email')}`,
- invalid_type_error: `${t.get('validations.invalid_type_error')}`
+ message: 'validations.auth.email.invalid_email',
+ invalid_type_error: 'validations.invalid_type_error'
}),
password: z.string().min(6, {
- message: `${t.get('validations.auth.password.min_char')}`,
- invalid_type_error: `${t.get('validations.invalid_type_error')}`
+ message: 'validations.auth.password.min_char',
+ invalid_type_error: 'validations.invalid_type_error'
})
});
diff --git a/apps/dashboard/src/lib/utils/services/courses/index.ts b/apps/dashboard/src/lib/utils/services/courses/index.ts
index 7a796c54..83f32cc7 100644
--- a/apps/dashboard/src/lib/utils/services/courses/index.ts
+++ b/apps/dashboard/src/lib/utils/services/courses/index.ts
@@ -1,21 +1,21 @@
-import { get } from 'svelte/store';
-import { supabase } from '$lib/utils/functions/supabase';
-import { isUUID } from '$lib/utils/functions/isUUID';
import { QUESTION_TYPE } from '$lib/components/Question/constants';
+import { STATUS } from '$lib/utils/constants/course';
+import { isUUID } from '$lib/utils/functions/isUUID';
+import { supabase } from '$lib/utils/functions/supabase';
+import { isOrgAdmin } from '$lib/utils/store/org';
import type {
- Lesson,
Course,
+ Exercise,
+ ExerciseTemplate,
Group,
Groupmember,
- Exercise,
+ Lesson,
LessonCompletion,
- ExerciseTemplate,
- LessonSection
+ LessonSection,
+ ProfileCourseProgress
} from '$lib/utils/types';
-import { STATUS } from '$lib/utils/constants/course';
-import type { PostgrestSingleResponse, PostgrestError } from '@supabase/supabase-js';
-import type { ProfileCourseProgress } from '$lib/utils/types';
-import { isOrgAdmin } from '$lib/utils/store/org';
+import type { PostgrestError, PostgrestSingleResponse } from '@supabase/supabase-js';
+import { get } from 'svelte/store';
export async function fetchCourses(profileId, orgId) {
if (!orgId || !profileId) return;
@@ -144,10 +144,7 @@ export async function fetchCourse(courseId?: Course['id'], slug?: Course['slug']
const { data, error } = response;
- console.log(`error`, error);
- console.log(`data`, data);
if (!data || error) {
- console.log(`data`, data);
console.log(`fetchCourse => error`, error);
// return this.redirect(307, '/courses');
return { data, error };
diff --git a/apps/dashboard/src/lib/utils/services/org/index.ts b/apps/dashboard/src/lib/utils/services/org/index.ts
index f51d4c25..e3d8859f 100644
--- a/apps/dashboard/src/lib/utils/services/org/index.ts
+++ b/apps/dashboard/src/lib/utils/services/org/index.ts
@@ -1,11 +1,11 @@
-import { get } from 'svelte/store';
-import type { PostgrestError } from '@supabase/supabase-js';
import { goto } from '$app/navigation';
-import { supabase } from '$lib/utils/functions/supabase';
-import { orgs, currentOrg, orgAudience, orgTeam } from '$lib/utils/store/org';
import { ROLE, ROLE_LABEL } from '$lib/utils/constants/roles';
-import type { CurrentOrg, OrgTeamMember } from '$lib/utils/types/org';
+import { supabase } from '$lib/utils/functions/supabase';
+import { currentOrg, orgAudience, orgs, orgTeam } from '$lib/utils/store/org';
import type { OrganizationPlan } from '$lib/utils/types';
+import type { CurrentOrg, OrgTeamMember } from '$lib/utils/types/org';
+import type { PostgrestError } from '@supabase/supabase-js';
+import { get } from 'svelte/store';
export async function getOrgTeam(orgId: string) {
const { data, error } = await supabase
@@ -164,8 +164,6 @@ export async function getOrgAudience(orgId: string) {
.eq('groupmember.group.organization_id', orgId)
.eq('groupmember.role_id', ROLE.STUDENT);
- console.log('data', data);
-
const audience = (data || []).map((profile) => ({
id: profile.id,
name: profile.fullname,
diff --git a/apps/dashboard/src/lib/utils/translations/de.json b/apps/dashboard/src/lib/utils/translations/de.json
index 44463d0b..927a867d 100644
--- a/apps/dashboard/src/lib/utils/translations/de.json
+++ b/apps/dashboard/src/lib/utils/translations/de.json
@@ -1293,7 +1293,29 @@
"email": "Deine E-Mail",
"password": "Ihr Passwort",
"forgot": "Passwort vergessen?",
- "login": "Anmeldung"
+ "login": "Anmeldung",
+ "login_with": "oder loggen Sie sich mit ein",
+ "signup_with": "oder melden Sie sich an",
+ "already_have_account": "Sie haben bereits ein Konto?",
+ "not_registered_yet": "Noch nicht registriert?",
+ "signup": "Melden Sie sich an",
+ "signup_with_google": "Melden Sie sich bei Google an",
+ "login_with_google": "Melden Sie sich mit Google an",
+ "create_to_join": "Erstellen Sie ein kostenloses Konto, um Mitglied zu werden",
+ "login_to_join": "Melden Sie sich an, um beizutreten",
+ "validation": {
+ "unable_to_create_profile": "Profil kann nicht erstellt werden",
+ "user_cannot_be_created": "Benutzer kann nicht erstellt werden"
+ },
+ "fields": {
+ "email": "Ihre E-Mail",
+ "full_name": "Vollständiger Name",
+ "password": "Ihr Passwort",
+ "confirm_password": "Passwort bestätigen",
+ "password_helper_message": "Das Passwort muss mehr als 6 Zeichen lang sein",
+ "create_account": "Benutzerkonto erstellen"
+ },
+ "create_account": "Benutzerkonto erstellen"
},
"welcome_modal": {
"we_at": "Wir bei",
diff --git a/apps/dashboard/src/lib/utils/translations/en.json b/apps/dashboard/src/lib/utils/translations/en.json
index 69085dcc..b1bdcd85 100644
--- a/apps/dashboard/src/lib/utils/translations/en.json
+++ b/apps/dashboard/src/lib/utils/translations/en.json
@@ -49,7 +49,29 @@
"email": "Your email",
"password": "Your password",
"forgot": "Forgot password?",
- "login": "Log In"
+ "login": "Log In",
+ "login_with": "or login with",
+ "signup_with": "or sign up with",
+ "already_have_account": "Already have an account?",
+ "not_registered_yet": "Not registered yet?",
+ "signup": "Sign up",
+ "signup_with_google": "Sign up with Google",
+ "login_with_google": "Login with Google",
+ "create_to_join": "Create a free account to join",
+ "create_account": "Create Account",
+ "login_to_join": "Log in to join",
+ "fields": {
+ "email": "Your Email",
+ "full_name": "Full Name",
+ "password": "Your Password",
+ "confirm_password": "Confirm Password",
+ "password_helper_message": "Password must be more than 6 characters",
+ "create_account": "Create Account"
+ },
+ "validation": {
+ "unable_to_create_profile": "Unable to create profile",
+ "user_cannot_be_created": "User cannot be created"
+ }
},
"profileMenu": {
"profile": "PROFILE",
diff --git a/apps/dashboard/src/lib/utils/translations/es.json b/apps/dashboard/src/lib/utils/translations/es.json
index 2db17866..fb6a22dc 100644
--- a/apps/dashboard/src/lib/utils/translations/es.json
+++ b/apps/dashboard/src/lib/utils/translations/es.json
@@ -1293,7 +1293,29 @@
"email": "Tu correo electrónico",
"password": "Tu contraseña",
"forgot": "¿Has olvidado tu contraseña?",
- "login": "Acceso"
+ "login": "Acceso",
+ "login_with": "o inicia sesión con",
+ "signup_with": "o regístrate con",
+ "already_have_account": "¿Ya tienes una cuenta?",
+ "not_registered_yet": "¿Aún no estás registrado?",
+ "signup": "Inscribirse",
+ "signup_with_google": "Regístrate con Google",
+ "login_with_google": "Iniciar sesión con Google",
+ "create_to_join": "Crea una cuenta gratuita para unirte",
+ "login_to_join": "Inicia sesión para unirte",
+ "validation": {
+ "unable_to_create_profile": "No se puede crear el perfil",
+ "user_cannot_be_created": "No se puede crear usuario"
+ },
+ "fields": {
+ "email": "Tu correo electrónico",
+ "full_name": "Nombre completo",
+ "password": "Tu contraseña",
+ "confirm_password": "confirmar Contraseña",
+ "password_helper_message": "La contraseña debe tener más de 6 caracteres.",
+ "create_account": "Crear una cuenta"
+ },
+ "create_account": "Crear una cuenta"
},
"welcome_modal": {
"we_at": "nosotros en",
diff --git a/apps/dashboard/src/lib/utils/translations/fr.json b/apps/dashboard/src/lib/utils/translations/fr.json
index 1911f4a7..bda0e928 100644
--- a/apps/dashboard/src/lib/utils/translations/fr.json
+++ b/apps/dashboard/src/lib/utils/translations/fr.json
@@ -1293,7 +1293,29 @@
"email": "Votre email",
"password": "Votre mot de passe",
"forgot": "Mot de passe oublié?",
- "login": "Se connecter"
+ "login": "Se connecter",
+ "login_with": "ou connectez-vous avec",
+ "signup_with": "ou inscrivez-vous avec",
+ "already_have_account": "Vous avez déjà un compte ?",
+ "not_registered_yet": "Pas encore inscrit ?",
+ "signup": "S'inscrire",
+ "signup_with_google": "Inscrivez-vous avec Google",
+ "login_with_google": "Connectez-vous avec Google",
+ "create_to_join": "Créez un compte gratuit pour vous inscrire",
+ "login_to_join": "Connectez-vous pour rejoindre",
+ "validation": {
+ "unable_to_create_profile": "Impossible de créer un profil",
+ "user_cannot_be_created": "L'utilisateur ne peut pas être créé"
+ },
+ "fields": {
+ "email": "Votre e-mail",
+ "full_name": "Nom et prénom",
+ "password": "Votre mot de passe",
+ "confirm_password": "Confirmez le mot de passe",
+ "password_helper_message": "Le mot de passe doit comporter plus de 6 caractères",
+ "create_account": "Créer un compte"
+ },
+ "create_account": "Créer un compte"
},
"welcome_modal": {
"we_at": "Nous à",
diff --git a/apps/dashboard/src/lib/utils/translations/hi.json b/apps/dashboard/src/lib/utils/translations/hi.json
index 0ff209f3..c9ddf4c1 100644
--- a/apps/dashboard/src/lib/utils/translations/hi.json
+++ b/apps/dashboard/src/lib/utils/translations/hi.json
@@ -1293,7 +1293,29 @@
"email": "आपका ईमेल",
"password": "आपका पासवर्ड",
"forgot": "पासवर्ड भूल गए?",
- "login": "लॉग इन करें"
+ "login": "लॉग इन करें",
+ "login_with": "या के साथ लॉगिन करें",
+ "signup_with": "या इसके साथ साइन अप करें",
+ "already_have_account": "क्या आपके पास पहले से एक खाता मौजूद है?",
+ "not_registered_yet": "अभी तक पंजीकृत नहीं हैं?",
+ "signup": "साइन अप करें",
+ "signup_with_google": "Google के साथ साइन अप करें",
+ "login_with_google": "गूगल से लॉगिन करें",
+ "create_to_join": "शामिल होने के लिए एक निःशुल्क खाता बनाएँ",
+ "login_to_join": "शामिल होने के लिए लॉग इन करें",
+ "validation": {
+ "unable_to_create_profile": "प्रोफ़ाइल बनाने में असमर्थ",
+ "user_cannot_be_created": "उपयोगकर्ता नहीं बनाया जा सकता"
+ },
+ "fields": {
+ "email": "आपका ईमेल",
+ "full_name": "पूरा नाम",
+ "password": "आपका पासवर्ड",
+ "confirm_password": "पासवर्ड की पुष्टि कीजिये",
+ "password_helper_message": "पासवर्ड 6 अक्षर से अधिक होना चाहिए",
+ "create_account": "खाता बनाएं"
+ },
+ "create_account": "खाता बनाएं"
},
"welcome_modal": {
"we_at": "हम पर",
diff --git a/apps/dashboard/src/lib/utils/translations/pt.json b/apps/dashboard/src/lib/utils/translations/pt.json
index 786e9675..78304047 100644
--- a/apps/dashboard/src/lib/utils/translations/pt.json
+++ b/apps/dashboard/src/lib/utils/translations/pt.json
@@ -1293,7 +1293,29 @@
"email": "Seu email",
"password": "Sua senha",
"forgot": "Esqueceu sua senha?",
- "login": "Conecte-se"
+ "login": "Conecte-se",
+ "login_with": "ou faça login com",
+ "signup_with": "ou cadastre-se com",
+ "already_have_account": "Já tem uma conta?",
+ "not_registered_yet": "Ainda não está cadastrado?",
+ "signup": "Inscrever-se",
+ "signup_with_google": "Inscreva-se no Google",
+ "login_with_google": "Faça login com o Google",
+ "create_to_join": "Crie uma conta gratuita para participar",
+ "login_to_join": "Faça login para participar",
+ "validation": {
+ "unable_to_create_profile": "Não foi possível criar o perfil",
+ "user_cannot_be_created": "O usuário não pode ser criado"
+ },
+ "fields": {
+ "email": "Seu e-mail",
+ "full_name": "Nome completo",
+ "password": "Sua senha",
+ "confirm_password": "Confirme sua senha",
+ "password_helper_message": "A senha deve ter mais de 6 caracteres",
+ "create_account": "Criar uma conta"
+ },
+ "create_account": "Criar uma conta"
},
"welcome_modal": {
"we_at": "Nós em",
diff --git a/apps/dashboard/src/lib/utils/translations/ru.json b/apps/dashboard/src/lib/utils/translations/ru.json
index af5094fd..a536eafb 100644
--- a/apps/dashboard/src/lib/utils/translations/ru.json
+++ b/apps/dashboard/src/lib/utils/translations/ru.json
@@ -1293,7 +1293,29 @@
"email": "Ваш адрес электронной почты",
"password": "Ваш пароль",
"forgot": "Забыли пароль?",
- "login": "Авторизоваться"
+ "login": "Авторизоваться",
+ "login_with": "или войдите с помощью",
+ "signup_with": "или зарегистрируйтесь через",
+ "already_have_account": "У вас уже есть аккаунт?",
+ "not_registered_yet": "Еще не зарегистрированы?",
+ "signup": "Зарегистрироваться",
+ "signup_with_google": "Зарегистрируйтесь через Google",
+ "login_with_google": "Войти через Google",
+ "create_to_join": "Создайте бесплатную учетную запись, чтобы присоединиться",
+ "login_to_join": "Войдите, чтобы присоединиться",
+ "validation": {
+ "unable_to_create_profile": "Невозможно создать профиль",
+ "user_cannot_be_created": "Пользователь не может быть создан"
+ },
+ "fields": {
+ "email": "Ваш адрес электронной почты",
+ "full_name": "Полное имя",
+ "password": "Ваш пароль",
+ "confirm_password": "Подтвердите пароль",
+ "password_helper_message": "Пароль должен быть более 6 символов",
+ "create_account": "Зарегистрироваться"
+ },
+ "create_account": "Зарегистрироваться"
},
"welcome_modal": {
"we_at": "Мы в",
diff --git a/apps/dashboard/src/lib/utils/translations/vi.json b/apps/dashboard/src/lib/utils/translations/vi.json
index 7b36c1ee..734b36ea 100644
--- a/apps/dashboard/src/lib/utils/translations/vi.json
+++ b/apps/dashboard/src/lib/utils/translations/vi.json
@@ -1293,7 +1293,29 @@
"email": "Email của bạn",
"password": "Mật khẩu của bạn",
"forgot": "Quên mật khẩu?",
- "login": "Đăng nhập"
+ "login": "Đăng nhập",
+ "login_with": "hoặc đăng nhập với",
+ "signup_with": "hoặc đăng ký với",
+ "already_have_account": "Đã có tài khoản?",
+ "not_registered_yet": "Chưa đăng ký?",
+ "signup": "Đăng ký",
+ "signup_with_google": "Đăng ký với Google",
+ "login_with_google": "Đăng nhập bằng Google",
+ "create_to_join": "Tạo một tài khoản miễn phí để tham gia",
+ "login_to_join": "Đăng nhập để tham gia",
+ "validation": {
+ "unable_to_create_profile": "Không thể tạo hồ sơ",
+ "user_cannot_be_created": "Không thể tạo người dùng"
+ },
+ "fields": {
+ "email": "Email của bạn",
+ "full_name": "Tên đầy đủ",
+ "password": "Mật khẩu của bạn",
+ "confirm_password": "Xác nhận mật khẩu",
+ "password_helper_message": "Mật khẩu phải nhiều hơn 6 ký tự",
+ "create_account": "Tạo tài khoản"
+ },
+ "create_account": "Tạo tài khoản"
},
"welcome_modal": {
"we_at": "Chúng tôi ở",
diff --git a/apps/dashboard/src/routes/+layout.server.ts b/apps/dashboard/src/routes/+layout.server.ts
index ed5e990e..1566699e 100644
--- a/apps/dashboard/src/routes/+layout.server.ts
+++ b/apps/dashboard/src/routes/+layout.server.ts
@@ -1,13 +1,12 @@
-import type { MetaTagsProps } from 'svelte-meta-tags';
-import { dev, browser } from '$app/environment';
-import { redirect } from '@sveltejs/kit';
-import { blockedSubdomain } from '$lib/utils/constants/app';
-import { getCurrentOrg } from '$lib/utils/services/org';
-import { getSupabase, supabase } from '$lib/utils/functions/supabase';
-import { loadTranslations } from '$lib/utils/functions/translations';
-import type { CurrentOrg } from '$lib/utils/types/org';
-import { IS_SELFHOSTED } from '$env/static/private';
+import { dev } from '$app/environment';
import { env } from '$env/dynamic/private';
+import { IS_SELFHOSTED } from '$env/static/private';
+import { blockedSubdomain } from '$lib/utils/constants/app';
+import { getSupabase, supabase } from '$lib/utils/functions/supabase';
+import { getCurrentOrg } from '$lib/utils/services/org';
+import type { CurrentOrg } from '$lib/utils/types/org';
+import { redirect } from '@sveltejs/kit';
+import type { MetaTagsProps } from 'svelte-meta-tags';
if (!supabase) {
getSupabase();
@@ -19,19 +18,19 @@ interface LoadOutput {
skipAuth: boolean;
org: CurrentOrg | null;
baseMetaTags: MetaTagsProps;
+ serverLang: string;
}
-export const load = async ({ url, cookies }): Promise => {
+export const load = async ({ url, cookies, request }): Promise => {
const response: LoadOutput = {
orgSiteName: '',
isOrgSite: false,
skipAuth: false,
org: null,
- baseMetaTags: getBaseMetaTags(url)
+ baseMetaTags: getBaseMetaTags(url),
+ serverLang: request.headers?.get('accept-language') || ''
};
- console.log('IS_SELFHOSTED', IS_SELFHOSTED);
-
// Selfhosted usecase would be here
if (IS_SELFHOSTED === 'true') {
const subdomain = getSubdomain(url);
@@ -105,11 +104,6 @@ export const load = async ({ url, cookies }): Promise => {
throw redirect(307, 'https://app.classroomio.com');
}
- // Load translations
- const { pathname } = url;
- const initLocale = getInitialLocale();
- await loadTranslations(initLocale, pathname);
-
return response;
};
@@ -151,18 +145,7 @@ function getBaseMetaTags(url: URL) {
});
}
-// Define getInitialLocale function
-function getInitialLocale(): string {
- if (browser) {
- try {
- return window.navigator.language.split('-')[0];
- } catch (e) {
- return 'en';
- }
- }
- return 'en';
-}
function getSubdomain(url: URL) {
const host = url.host.replace('www.', '');
diff --git a/apps/dashboard/src/routes/+layout.svelte b/apps/dashboard/src/routes/+layout.svelte
index 046bf4b6..80009f91 100644
--- a/apps/dashboard/src/routes/+layout.svelte
+++ b/apps/dashboard/src/routes/+layout.svelte
@@ -1,6 +1,8 @@
@@ -153,15 +151,15 @@
-
+
{#if data.invite.profile}
- Log in to join
+ {$t('login.login_to_join')}
{:else}
- Create a free account to join
+ {$t('login.create_to_join')}
{/if}
{#if !data.invite.profile}
{/if}
{#if !data.invite.profile}
-
+
- import { page } from '$app/stores';
+ import AuthUI from '$lib/components/AuthUI/index.svelte';
import TextField from '$lib/components/Form/TextField.svelte';
import PrimaryButton from '$lib/components/PrimaryButton/index.svelte';
- import { getSupabase } from '$lib/utils/functions/supabase';
- import { authValidation } from '$lib/utils/functions/validator';
import { LOGIN_FIELDS } from '$lib/utils/constants/authentication';
- import AuthUI from '$lib/components/AuthUI/index.svelte';
- import { currentOrg } from '$lib/utils/store/org';
- import { capturePosthogEvent } from '$lib/utils/services/posthog';
+ import { getSupabase } from '$lib/utils/functions/supabase';
import { t } from '$lib/utils/functions/translations';
+ import { authValidation } from '$lib/utils/functions/validator';
+ import { capturePosthogEvent } from '$lib/utils/services/posthog';
import { globalStore } from '$lib/utils/store/app';
+ import { currentOrg } from '$lib/utils/store/org';
let formRef: HTMLFormElement;
let supabase = getSupabase();
@@ -18,9 +17,6 @@
let loading = false;
let errors = Object.assign({}, LOGIN_FIELDS);
- let query = new URLSearchParams($page.url.search);
- let redirect = query.get('redirect');
-
async function handleSubmit() {
const validationRes = authValidation(fields);
console.log('validationRes', validationRes);
@@ -48,7 +44,7 @@
email: fields.email
});
}
- } catch (error) {
+ } catch (error: any) {
submitError = error.error_description || error.message;
loading = false;
}
@@ -61,7 +57,7 @@
-
{$t('login.welcome')}
+
{$t('login.welcome')}
{#if submitError}
{submitError}
@@ -91,7 +87,7 @@
-
+
{
+ const { data: publishedCourse } = await supabase
+ .from('course')
+ .select(
+ `
+ is_published,
+ group:group_id!inner(
+ organization!inner(
+ siteName
+ )
+ )
+ `
+ )
+ .eq('is_published', true)
+ .eq('group.organization.siteName', orgSlug)
+ .limit(1)
+ .returns<{ is_published: boolean }>();
+
const { data } = await supabase
.from('course')
.select(
@@ -23,14 +40,13 @@ async function getGenericData(orgSlug: string): Promise<{
)
`
)
- .eq('group.organization.siteName', orgSlug);
+ .eq('group.organization.siteName', orgSlug)
+ .limit(1);
const result = data || [];
- console.log('courseData', result);
-
return {
- isCoursePublished: result.some((c) => c.is_published === true),
+ isCoursePublished: publishedCourse?.is_published === true,
isCourseCreated: result.length > 0,
orgHasAvatarUrl: !!get(result[0], 'group.organization.avatar_url', ''),
courseData: result
@@ -54,7 +70,8 @@ async function getIsLessonCreated(
)
`
)
- .eq('course.group.organization.siteName', orgSlug);
+ .eq('course.group.organization.siteName', orgSlug)
+ .limit(1);
console.log('lessonsData', data);
return {
@@ -80,7 +97,8 @@ async function getIsExerciseCreated(orgSlug: string): Promise {
)
`
)
- .eq('lesson.course.group.organization.siteName', orgSlug);
+ .eq('lesson.course.group.organization.siteName', orgSlug)
+ .limit(1);
return Array.isArray(data) ? data?.length > 0 : false;
}
diff --git a/apps/dashboard/src/routes/signup/+page.svelte b/apps/dashboard/src/routes/signup/+page.svelte
index d4a5dc31..f6993efa 100644
--- a/apps/dashboard/src/routes/signup/+page.svelte
+++ b/apps/dashboard/src/routes/signup/+page.svelte
@@ -1,21 +1,22 @@