diff --git a/src/app.html b/src/app.html index d1a4e9f..24e8ed4 100644 --- a/src/app.html +++ b/src/app.html @@ -1,12 +1,14 @@ - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - + + + + + %sveltekit.head% + + + +
%sveltekit.body%
+ + + \ No newline at end of file diff --git a/src/hooks.server.ts b/src/hooks.server.ts index cadc001..904ec50 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -31,7 +31,7 @@ if (!getApps().length) { export const handle: Handle = async ({ event, resolve }) => { const [, lang, ...path] = event.url.pathname.split('/') - const bypassPaths = ['api', 'favicon.png', 'service-worker.js'] + const bypassPaths = ['api', 'favicon2.png', 'service-worker.js'] if (!isLocale(lang) && !bypassPaths.includes(lang)) { const locale = getPreferredLocale(event) diff --git a/src/i18n/en/index.ts b/src/i18n/en/index.ts index 5a3f4f5..1595c3f 100644 --- a/src/i18n/en/index.ts +++ b/src/i18n/en/index.ts @@ -67,6 +67,28 @@ const en: BaseTranslation = { somethingWentWrong: 'Something went wrong', failedTo: 'Failed to {st:string}', hiddenPosts: 'Hidden posts', + startNow: 'Start Now', + landingIntroduction: + 'BeeLearnSocial is a learning social networking platform. BeeLeanSocial is designed based on research on user behavior, applying highly appreciated learning methods such as micro learning, spaced repetition, .....', + landingSlogan: 'BeeLearnSocial is designed to fit modern learning life', + landingSloganDetail: + 'BeeLeanSocial with the slogan enjoy learning - keep learning, we want to bring an enjoyable learning experience and encourage lifelong learning, learning anytime, anywhere.', + spacedRepetition: 'Spaced Repetition', + spacedRepetitionDetail: + 'BeeLeanSocial applies spaced Repetition algorithm to repeat the posts posted on the feed and help learners remember knowledge better.', + microlearning: 'Microlearning', + microlearningDetail: + 'BeeLeanSocial is geared towards microlearning lessons such as images, short videos, multiple choice questions, helping users quickly grasp knowledge.', + landingCollection: 'Collection', + landingCollectionDetail: + 'Users can easily save microlearning cards to their collection. Convenient for the review process and knowledge system.', + landingAward: 'BeeLeanSocial - top 10 best projects at UI/UX hackathon 2022', + landingAwardDetail: + 'The impressive design and ideas of BeeLeanSocial convinced the jury of the UI/UX hackathon and excelled in the top 10 of this contest.', + landingUserResearch: + 'During this project, BeeLeanSocial team interviewed and surveyed nearly 150 young people from 15 to 35 years old in Hanoi city.', + letStartNow: "Let's start now!", + letStartNowDetail: "Press Start Now button and we'll take you into new learning journey", } export default en diff --git a/src/i18n/i18n-types.ts b/src/i18n/i18n-types.ts index da3d0c4..e4a4d85 100644 --- a/src/i18n/i18n-types.ts +++ b/src/i18n/i18n-types.ts @@ -280,6 +280,66 @@ type RootTranslation = { * H​i​d​d​e​n​ ​p​o​s​t​s */ hiddenPosts: string + /** + * S​t​a​r​t​ ​N​o​w + */ + startNow: string + /** + * B​e​e​L​e​a​r​n​S​o​c​i​a​l​ ​i​s​ ​a​ ​l​e​a​r​n​i​n​g​ ​s​o​c​i​a​l​ ​n​e​t​w​o​r​k​i​n​g​ ​p​l​a​t​f​o​r​m​.​ ​B​e​e​L​e​a​n​S​o​c​i​a​l​ ​i​s​ ​d​e​s​i​g​n​e​d​ ​b​a​s​e​d​ ​o​n​ ​r​e​s​e​a​r​c​h​ ​o​n​ ​u​s​e​r​ ​b​e​h​a​v​i​o​r​,​ ​a​p​p​l​y​i​n​g​ ​h​i​g​h​l​y​ ​a​p​p​r​e​c​i​a​t​e​d​ ​l​e​a​r​n​i​n​g​ ​m​e​t​h​o​d​s​ ​s​u​c​h​ ​a​s​ ​m​i​c​r​o​ ​l​e​a​r​n​i​n​g​,​ ​s​p​a​c​e​d​ ​r​e​p​e​t​i​t​i​o​n​,​ ​.​.​.​.​. + */ + landingIntroduction: string + /** + * B​e​e​L​e​a​r​n​S​o​c​i​a​l​ ​i​s​ ​d​e​s​i​g​n​e​d​ ​t​o​ ​f​i​t​ ​m​o​d​e​r​n​ ​l​e​a​r​n​i​n​g​ ​l​i​f​e + */ + landingSlogan: string + /** + * B​e​e​L​e​a​n​S​o​c​i​a​l​ ​w​i​t​h​ ​t​h​e​ ​s​l​o​g​a​n​ ​e​n​j​o​y​ ​l​e​a​r​n​i​n​g​ ​-​ ​k​e​e​p​ ​l​e​a​r​n​i​n​g​,​ ​w​e​ ​w​a​n​t​ ​t​o​ ​b​r​i​n​g​ ​a​n​ ​e​n​j​o​y​a​b​l​e​ ​l​e​a​r​n​i​n​g​ ​e​x​p​e​r​i​e​n​c​e​ ​a​n​d​ ​e​n​c​o​u​r​a​g​e​ ​l​i​f​e​l​o​n​g​ ​l​e​a​r​n​i​n​g​,​ ​l​e​a​r​n​i​n​g​ ​a​n​y​t​i​m​e​,​ ​a​n​y​w​h​e​r​e​. + */ + landingSloganDetail: string + /** + * S​p​a​c​e​d​ ​R​e​p​e​t​i​t​i​o​n + */ + spacedRepetition: string + /** + * B​e​e​L​e​a​n​S​o​c​i​a​l​ ​a​p​p​l​i​e​s​ ​s​p​a​c​e​d​ ​R​e​p​e​t​i​t​i​o​n​ ​a​l​g​o​r​i​t​h​m​ ​t​o​ ​r​e​p​e​a​t​ ​t​h​e​ ​p​o​s​t​s​ ​p​o​s​t​e​d​ ​o​n​ ​t​h​e​ ​f​e​e​d​ ​a​n​d​ ​h​e​l​p​ ​l​e​a​r​n​e​r​s​ ​r​e​m​e​m​b​e​r​ ​k​n​o​w​l​e​d​g​e​ ​b​e​t​t​e​r​. + */ + spacedRepetitionDetail: string + /** + * M​i​c​r​o​l​e​a​r​n​i​n​g + */ + microlearning: string + /** + * B​e​e​L​e​a​n​S​o​c​i​a​l​ ​i​s​ ​g​e​a​r​e​d​ ​t​o​w​a​r​d​s​ ​m​i​c​r​o​l​e​a​r​n​i​n​g​ ​l​e​s​s​o​n​s​ ​s​u​c​h​ ​a​s​ ​i​m​a​g​e​s​,​ ​s​h​o​r​t​ ​v​i​d​e​o​s​,​ ​m​u​l​t​i​p​l​e​ ​c​h​o​i​c​e​ ​q​u​e​s​t​i​o​n​s​,​ ​h​e​l​p​i​n​g​ ​u​s​e​r​s​ ​q​u​i​c​k​l​y​ ​g​r​a​s​p​ ​k​n​o​w​l​e​d​g​e​. + */ + microlearningDetail: string + /** + * C​o​l​l​e​c​t​i​o​n + */ + landingCollection: string + /** + * U​s​e​r​s​ ​c​a​n​ ​e​a​s​i​l​y​ ​s​a​v​e​ ​m​i​c​r​o​l​e​a​r​n​i​n​g​ ​c​a​r​d​s​ ​t​o​ ​t​h​e​i​r​ ​c​o​l​l​e​c​t​i​o​n​.​ ​C​o​n​v​e​n​i​e​n​t​ ​f​o​r​ ​t​h​e​ ​r​e​v​i​e​w​ ​p​r​o​c​e​s​s​ ​a​n​d​ ​k​n​o​w​l​e​d​g​e​ ​s​y​s​t​e​m​. + */ + landingCollectionDetail: string + /** + * B​e​e​L​e​a​n​S​o​c​i​a​l​ ​-​ ​t​o​p​ ​1​0​ ​b​e​s​t​ ​p​r​o​j​e​c​t​s​ ​a​t​ ​U​I​/​U​X​ ​h​a​c​k​a​t​h​o​n​ ​2​0​2​2 + */ + landingAward: string + /** + * T​h​e​ ​i​m​p​r​e​s​s​i​v​e​ ​d​e​s​i​g​n​ ​a​n​d​ ​i​d​e​a​s​ ​o​f​ ​B​e​e​L​e​a​n​S​o​c​i​a​l​ ​c​o​n​v​i​n​c​e​d​ ​t​h​e​ ​j​u​r​y​ ​o​f​ ​t​h​e​ ​U​I​/​U​X​ ​h​a​c​k​a​t​h​o​n​ ​a​n​d​ ​e​x​c​e​l​l​e​d​ ​i​n​ ​t​h​e​ ​t​o​p​ ​1​0​ ​o​f​ ​t​h​i​s​ ​c​o​n​t​e​s​t​. + */ + landingAwardDetail: string + /** + * D​u​r​i​n​g​ ​t​h​i​s​ ​p​r​o​j​e​c​t​,​ ​B​e​e​L​e​a​n​S​o​c​i​a​l​ ​t​e​a​m​ ​i​n​t​e​r​v​i​e​w​e​d​ ​a​n​d​ ​s​u​r​v​e​y​e​d​ ​n​e​a​r​l​y​ ​1​5​0​ ​y​o​u​n​g​ ​p​e​o​p​l​e​ ​f​r​o​m​ ​1​5​ ​t​o​ ​3​5​ ​y​e​a​r​s​ ​o​l​d​ ​i​n​ ​H​a​n​o​i​ ​c​i​t​y​. + */ + landingUserResearch: string + /** + * L​e​t​'​s​ ​s​t​a​r​t​ ​n​o​w​! + */ + letStartNow: string + /** + * P​r​e​s​s​ ​S​t​a​r​t​ ​N​o​w​ ​b​u​t​t​o​n​ ​a​n​d​ ​w​e​'​l​l​ ​t​a​k​e​ ​y​o​u​ ​i​n​t​o​ ​n​e​w​ ​l​e​a​r​n​i​n​g​ ​j​o​u​r​n​e​y + */ + letStartNowDetail: string } export type TranslationFunctions = { @@ -547,6 +607,66 @@ export type TranslationFunctions = { * Hidden posts */ hiddenPosts: () => LocalizedString + /** + * Start Now + */ + startNow: () => LocalizedString + /** + * BeeLearnSocial is a learning social networking platform. BeeLeanSocial is designed based on research on user behavior, applying highly appreciated learning methods such as micro learning, spaced repetition, ..... + */ + landingIntroduction: () => LocalizedString + /** + * BeeLearnSocial is designed to fit modern learning life + */ + landingSlogan: () => LocalizedString + /** + * BeeLeanSocial with the slogan enjoy learning - keep learning, we want to bring an enjoyable learning experience and encourage lifelong learning, learning anytime, anywhere. + */ + landingSloganDetail: () => LocalizedString + /** + * Spaced Repetition + */ + spacedRepetition: () => LocalizedString + /** + * BeeLeanSocial applies spaced Repetition algorithm to repeat the posts posted on the feed and help learners remember knowledge better. + */ + spacedRepetitionDetail: () => LocalizedString + /** + * Microlearning + */ + microlearning: () => LocalizedString + /** + * BeeLeanSocial is geared towards microlearning lessons such as images, short videos, multiple choice questions, helping users quickly grasp knowledge. + */ + microlearningDetail: () => LocalizedString + /** + * Collection + */ + landingCollection: () => LocalizedString + /** + * Users can easily save microlearning cards to their collection. Convenient for the review process and knowledge system. + */ + landingCollectionDetail: () => LocalizedString + /** + * BeeLeanSocial - top 10 best projects at UI/UX hackathon 2022 + */ + landingAward: () => LocalizedString + /** + * The impressive design and ideas of BeeLeanSocial convinced the jury of the UI/UX hackathon and excelled in the top 10 of this contest. + */ + landingAwardDetail: () => LocalizedString + /** + * During this project, BeeLeanSocial team interviewed and surveyed nearly 150 young people from 15 to 35 years old in Hanoi city. + */ + landingUserResearch: () => LocalizedString + /** + * Let's start now! + */ + letStartNow: () => LocalizedString + /** + * Press Start Now button and we'll take you into new learning journey + */ + letStartNowDetail: () => LocalizedString } export type Formatters = {} diff --git a/src/i18n/vi/index.ts b/src/i18n/vi/index.ts index 83b3fe3..85aea95 100644 --- a/src/i18n/vi/index.ts +++ b/src/i18n/vi/index.ts @@ -67,6 +67,29 @@ const vi: Translations = { somethingWentWrong: 'Đã xảy ra sự cố', failedTo: '{st} thất bại', hiddenPosts: 'Bài đăng đã ẩn', + startNow: 'Bắt đầu ngay', + landingIntroduction: + 'BeeLearnSocial là nền tảng mạng xã hội học tập. BeeLeanSocial được thiết kế dựa trên những nghiên cứu về hành vi người dùng, ứng dụng các phương pháp học tập được đánh giá cao như học vi mô, lặp lại khoảng cách,.....', + landingSlogan: 'BeeLearnSocial được thiết kế để phù hợp với cuộc sống học tập hiện đại', + landingSloganDetail: + 'BeeLeanSocial với slogan enjoy learning - keep learning, chúng mình mong muốn mang lại trải nghiệm học tập thú vị và khuyến khích việc học tập suốt đời, học tập mọi lúc, mọi nơi.', + spacedRepetition: 'Lặp ngắt quãng', + spacedRepetitionDetail: + 'Hệ thống ứng dụng thuật toán lặp ngắt quãng để lặp lại các bài đã đăng trên trang feed và giúp người học ghi nhớ kiến ​​thức tốt hơn', + microlearning: 'Ứng dụng Microlearning', + microlearningDetail: + 'Hệ thống hướng tới các bài học dạng microlearning như dạng hình ảnh, dạng video ngắn, dạng câu hỏi trắc nghiệm, giúp người dùng nhanh chóng nắm được kiến thức', + landingCollection: 'Bộ sưu tập', + landingCollectionDetail: + 'Người dùng có thể dễ dàng lưu các thẻ microlearning vào bộ sưu tập của mình. Thuận tiện cho quá trình ôn tập và hệ thống kiến thức.', + landingAward: 'BeeLeanSocial - top 10 bài dự thi xuất sắc nhất tại UI/UX hackathon 2022', + landingAwardDetail: + 'Thiết kế và ý tưởng mới lạ của BeeLeanSocial đã thuyết phục được dàn ban giám khảo của cuộc thi UI/UX hackathon và xuất sắc ở trong top 10 của cuộc thi.', + landingUserResearch: + 'Trong quá trình thực hiện, BeeLeanSocial đã phỏng vấn và khảo sát gần 150 bạn trẻ tuổi từ 15 đến 35 tuổi trên địa bàn thành phố Hà Nội.', + letStartNow: 'Bắt đầu ngay thôi!', + letStartNowDetail: + 'Nhấn nút bắt đầu ngay và chúng mình sẽ hướng dẫn bạn vào hành trình học tập mới!', } export default vi diff --git a/src/lib/ui/Navbar.svelte b/src/lib/ui/Navbar.svelte index baddaf7..e91d16f 100644 --- a/src/lib/ui/Navbar.svelte +++ b/src/lib/ui/Navbar.svelte @@ -25,7 +25,7 @@
- + BeeLeanSocialLogo
@@ -205,33 +119,11 @@ />
-

Bộ sưu tập

+

{$LL.landingCollection()}

- Người dùng có thể dễ dàng lưu các thể microlearning vào bộ sưu tâm của mình. Thuận tiện - cho quá trình ôn tập và hệ thống kiến thức. + {$LL.landingCollectionDetail()}

- @@ -242,15 +134,13 @@ >

- BeeLeanSocial - top 10 bài dự thi xuất sắc nhất tại UI/UX hackathon 2022 + {$LL.landingAward()}

- Thiết kế và ý tưởng mới lạ của BeeLeanSocial đã thuyết phục được dàn ban giám khảo của - cuộc thi UI/UX hackathon và xuất sắc ở vị trí top 10 của cuộc thi. + {$LL.landingAwardDetail()}

- Trong quá trình thực hiện, BeeLeanSocial đã phỏng vấn và khảo sát gần 150 bạn trẻ độ tuổi - từ 15 đến 35 tuổi trên địa bàn thành phố Hà Nội. + {$LL.landingUserResearch()}.

@@ -268,34 +158,20 @@
- -

- Bắt đầu ngay thôi + {$LL.letStartNow()}

- Ấn nút bắt đầu và chúng mình sẽ dẫn bạn vào hành trình học tập mới! + {$LL.letStartNowDetail()}

- bắt đầu ngay + {$LL.startNow()}
@@ -305,12 +181,8 @@
@@ -361,7 +235,7 @@
- © 2022 Flowbite™ + © 2022 BeeLearn™ . All Rights Reserved.
diff --git a/src/routes/[lang]/plans/+page.server.ts b/src/routes/[lang]/plans/+page.server.ts index d43e118..78672c8 100644 --- a/src/routes/[lang]/plans/+page.server.ts +++ b/src/routes/[lang]/plans/+page.server.ts @@ -37,8 +37,7 @@ export const actions: Actions = { const description = data.get('description') as string if (!description) throw error(400, 'description is empty') - const status = data.get('status') === 'true' ? true : false - + const status = data.get('status') === 'true' await prisma.plan.update({ where: { id: data.get('id') as string }, data: { diff --git a/static/favicon2.png b/static/favicon2.png new file mode 100644 index 0000000..63adae9 Binary files /dev/null and b/static/favicon2.png differ diff --git a/static/logo.png b/static/logo.png index 74669bd..dd161d3 100644 Binary files a/static/logo.png and b/static/logo.png differ