generated from dwd/boilarplate-astro-tailwind
Compare commits
1 Commits
master
...
b2_optiona
Author | SHA1 | Date |
---|---|---|
|
4a5361ce1c |
|
@ -1 +0,0 @@
|
||||||
[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.9.1","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":true,\"port\":3000,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"experimentalDefaultStyles\":true},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"responsiveImages\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"csp\":false},\"legacy\":{\"collections\":false}}"]
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"_variables": {
|
|
||||||
"lastUpdateCheck": 1749549186203
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1 +1,2 @@
|
||||||
/// <reference types="astro/client" />
|
/// <reference types="astro/client" />
|
||||||
|
/// <reference path="content.d.ts" />
|
4
env.txt
4
env.txt
|
@ -1,2 +1,2 @@
|
||||||
PUBLIC_BUZZ_ONE_BASE_URL=https://beanstalkedu.in/api/one/v1/
|
PUBLIC_API_KEY=1234567890abcdef
|
||||||
PUBLIC_BUZZ_BASE_URL=https://beanstalkedu.in/api/
|
PUBLIC_SECRET_KEY=my-secret-key
|
|
@ -28,7 +28,6 @@
|
||||||
"react-multi-carousel": "^2.8.6",
|
"react-multi-carousel": "^2.8.6",
|
||||||
"react-phone-input-2": "^2.15.1",
|
"react-phone-input-2": "^2.15.1",
|
||||||
"react-redux": "^9.2.0",
|
"react-redux": "^9.2.0",
|
||||||
"react-router-dom": "^7.6.2",
|
|
||||||
"react-toastify": "^11.0.5",
|
"react-toastify": "^11.0.5",
|
||||||
"shiki": "^0.14.3",
|
"shiki": "^0.14.3",
|
||||||
"validator": "^13.15.15",
|
"validator": "^13.15.15",
|
||||||
|
@ -9865,8 +9864,6 @@
|
||||||
},
|
},
|
||||||
"node_modules/npm/node_modules/cross-spawn/node_modules/which": {
|
"node_modules/npm/node_modules/cross-spawn/node_modules/which": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
|
||||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -12218,42 +12215,6 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-router": {
|
|
||||||
"version": "7.6.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz",
|
|
||||||
"integrity": "sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==",
|
|
||||||
"dependencies": {
|
|
||||||
"cookie": "^1.0.1",
|
|
||||||
"set-cookie-parser": "^2.6.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.0.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"react": ">=18",
|
|
||||||
"react-dom": ">=18"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"react-dom": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/react-router-dom": {
|
|
||||||
"version": "7.6.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.2.tgz",
|
|
||||||
"integrity": "sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==",
|
|
||||||
"dependencies": {
|
|
||||||
"react-router": "7.6.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.0.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"react": ">=18",
|
|
||||||
"react-dom": ">=18"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/react-toastify": {
|
"node_modules/react-toastify": {
|
||||||
"version": "11.0.5",
|
"version": "11.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz",
|
||||||
|
@ -12843,11 +12804,6 @@
|
||||||
"randombytes": "^2.1.0"
|
"randombytes": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/set-cookie-parser": {
|
|
||||||
"version": "2.7.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
|
|
||||||
"integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="
|
|
||||||
},
|
|
||||||
"node_modules/set-function-length": {
|
"node_modules/set-function-length": {
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
"react-multi-carousel": "^2.8.6",
|
"react-multi-carousel": "^2.8.6",
|
||||||
"react-phone-input-2": "^2.15.1",
|
"react-phone-input-2": "^2.15.1",
|
||||||
"react-redux": "^9.2.0",
|
"react-redux": "^9.2.0",
|
||||||
"react-router-dom": "^7.6.2",
|
|
||||||
"react-toastify": "^11.0.5",
|
"react-toastify": "^11.0.5",
|
||||||
"shiki": "^0.14.3",
|
"shiki": "^0.14.3",
|
||||||
"validator": "^13.15.15",
|
"validator": "^13.15.15",
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/guide-to-preschool-assessment-tools</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/summer-camp-activities-for-preschool</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/first-day-preschool-activities-ideas</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/lesson-plan-for-preschool-a-complete-guide</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/benefits-of-preschool-learning-games-for-early-education</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/preschool-online-learning-games-kits-apps-worksheets</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/seamless-scalability-akadmy-empowering-early-education</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/ai-tools-for-teachers</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/what-should-be-included-in-a-preschool-report-card</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/ideas-of-worksheets-for-preschool</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/power-of-early-learning-why-preschool-education-is-important</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/how-do-classroom-management-tools-help-educators</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/anecdotal-record-a-guide-for-early-childhood-educators</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/preschool-activity-plans-that-make-learning-fun</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/how-to-plan-fun-summer-activities-for-preschoolers-at-home</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/assessment-in-preschool-a-complete-guide-for-educators</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/how-to-create-a-curriculum-plan-for-a-preschool</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/blogs/teacher-parent-communication-a-guide-for-stronger-bonds</loc>
|
|
||||||
</url>
|
|
||||||
</urlset>
|
|
|
@ -1,32 +0,0 @@
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/learning-solutions-for-preschools</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/preschool-management-solutions</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/pricing/akadmy-platform-pricing</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/pricing/akadmy-product-pricing</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/interakto-coding-worksheets</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/term-and-conditions</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/contact-us</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/purchase/cart</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/about-us</loc>
|
|
||||||
</url>
|
|
||||||
</urlset>
|
|
|
@ -1,197 +0,0 @@
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/home_banner.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Home_TB.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Home_Interakto.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Home_Toddler.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/home_platform.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/home_platform2.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/interakto-coding-section3-3.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Next-Gen-Tech.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Home_parent.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Home_educator.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Home_learner.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/contact.svg</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/akademy_Logo.png</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/prime.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/specific.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/augmented.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/worksheet_4.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/worksheet_1.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/worksheet_2.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/worksheet_3.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/ReportCard.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Resources_CurriculumFocus.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Co_Curriculum.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/contact.svg</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto_Understanding_world.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/interakto_literacy.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto_math.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto_Celebrations.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto_Thinking.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto_coding.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Problem_Solving.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto_Perseverance.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/earth.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Fruits.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/shaps.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Letter_B.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/InteraktoCodingWithoutBG.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/InteraktoRobotics.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Family.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/babies_child.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/food.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/home.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/outside.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/animal.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Friends.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Class.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/AI-Attendance.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Buzzboard.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/observation.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Games.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/family-comunications.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Academic-Report.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/family-comunications.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Magic-Workshetets.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Academic-Report.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/home_platform.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto_Coding_img.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Data-driven_Decision-making.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/developmental_Insights.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/connecting_with_Parents.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/ai_powered.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Captivating_Worksheets.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Interakto.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/TeenyBeans.webp</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/assets/Toddlers.webp</loc>
|
|
||||||
</url>
|
|
||||||
</urlset>
|
|
|
@ -1,11 +0,0 @@
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/digital-preschool-curriculum/</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/interactive-learning-resources-for-preschool</loc>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://akadmyapp.com/mother-toddler-program</loc>
|
|
||||||
</url>
|
|
||||||
</urlset>
|
|
|
@ -1,4 +0,0 @@
|
||||||
User-agent: *
|
|
||||||
Allow: /
|
|
||||||
|
|
||||||
Sitemap: https://akadmyapp.com/sitemap.xml
|
|
|
@ -1,14 +0,0 @@
|
||||||
<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84">
|
|
||||||
<sitemap>
|
|
||||||
<loc>https://akadmyapp.com/products-sitemap.xml</loc>
|
|
||||||
</sitemap>
|
|
||||||
<sitemap>
|
|
||||||
<loc>https://akadmyapp.com/general-sitemap.xml</loc>
|
|
||||||
</sitemap>
|
|
||||||
<sitemap>
|
|
||||||
<loc>https://akadmyapp.com/images-sitemap.xml</loc>
|
|
||||||
</sitemap>
|
|
||||||
<sitemap>
|
|
||||||
<loc>https://akadmyapp.com/blogs-sitemap.xml</loc>
|
|
||||||
</sitemap>
|
|
||||||
</sitemapindex>
|
|
|
@ -1,114 +0,0 @@
|
||||||
import { Provider } from "react-redux";
|
|
||||||
import ContentWrapper from "../../components/ContentWrapper/ContentWrapper";
|
|
||||||
import Footer from "../../components/Footer/Footer";
|
|
||||||
import Header from "../../components/Header/Header";
|
|
||||||
import style from "./index.module.css";
|
|
||||||
import { store } from "../redux/store";
|
|
||||||
|
|
||||||
export default function Index() {
|
|
||||||
window.scrollTo({ top: 0, behavior: "instant" });
|
|
||||||
return (
|
|
||||||
<Provider store={store}>
|
|
||||||
<section className={style.color}>
|
|
||||||
<div className={style.image_box}>
|
|
||||||
<ContentWrapper>
|
|
||||||
<Header color={"#015C9F"} />
|
|
||||||
<div className={style.box}>
|
|
||||||
<h2>About Us</h2>
|
|
||||||
<p>
|
|
||||||
At aKadmy, we are dedicated to revolutionizing early childhood
|
|
||||||
education by providing schools and educators with cutting-edge
|
|
||||||
tools designed to enhance teaching and learning experiences. As
|
|
||||||
a Malaysian-developed platform, we take pride in offering
|
|
||||||
solutions that cater to the unique needs of educators,
|
|
||||||
particularly in international schools and early childhood
|
|
||||||
institutions.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Our platform is crafted to support early childhood practitioners
|
|
||||||
by offering a comprehensive suite of resources that streamline
|
|
||||||
lesson planning, enrich classroom activities, and foster
|
|
||||||
meaningful student engagement. With an intuitive interface and
|
|
||||||
high-quality educational content, aKadmy empowers teachers to
|
|
||||||
deliver world-class education that nurtures creativity, critical
|
|
||||||
thinking, and problem-solving in young learners.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
</div>
|
|
||||||
<div className={style.curve}>
|
|
||||||
<img src="/assets/about_us_curve.webp" width={"100%"} />
|
|
||||||
</div>
|
|
||||||
<ContentWrapper>
|
|
||||||
<div className={`${style.flex}`}>
|
|
||||||
<div className={`${style.flex_1} ${style.mt}`}>
|
|
||||||
<h4>Driving Impact in Early Childhood Education</h4>
|
|
||||||
<p>
|
|
||||||
Through our partnership with Beanstalkedu, a global leader in
|
|
||||||
early education, aKadmy is able to offer premium educational
|
|
||||||
content that reflects the latest in pedagogical innovation and
|
|
||||||
global best practices. This collaboration allows us to blend
|
|
||||||
international standards with the unique cultural insights of
|
|
||||||
Malaysia, making our platform highly adaptable for diverse
|
|
||||||
learning environments across the globe.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div className={style.flex_1}>
|
|
||||||
<img
|
|
||||||
src="/assets/about_1.webp"
|
|
||||||
width={"100%"}
|
|
||||||
alt="About aKadmy | Transforming Early Education with AI Solutions"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
<div className={style.image_box}>
|
|
||||||
<ContentWrapper>
|
|
||||||
<div className={style.center}>
|
|
||||||
<h2>Our Mission and Vision</h2>
|
|
||||||
<br />
|
|
||||||
<p>
|
|
||||||
Our mission is to support schools and educators by providing a
|
|
||||||
holistic digital solution that not only simplifies day-to-day
|
|
||||||
teaching but also elevates the quality of education offered in
|
|
||||||
early childhood settings. Whether you're an international school
|
|
||||||
looking to enhance your curriculum or a teacher seeking
|
|
||||||
innovative resources, aKadmy provides the tools and content to
|
|
||||||
help you succeed.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
As we continue to expand globally, aKadmy remains committed to
|
|
||||||
fostering strong partnerships with schools, educators, and
|
|
||||||
institutions, ensuring that every child has access to
|
|
||||||
high-quality, engaging, and effective learning experiences.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
</div>
|
|
||||||
<ContentWrapper>
|
|
||||||
<div className={`${style.flex}`}>
|
|
||||||
<div className={style.flex_1}>
|
|
||||||
<img
|
|
||||||
src="/assets/about_1.webp"
|
|
||||||
width={"100%"}
|
|
||||||
alt="About aKadmy | Transforming Early Education with AI Solutions"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className={`${style.flex_1} ${style.mt}`}>
|
|
||||||
<h4>What we do</h4>
|
|
||||||
<p>
|
|
||||||
Together with <b>Beanstalkedu</b> and our educational partners,
|
|
||||||
we are building a future where every child can thrive in an
|
|
||||||
environment that is both inspiring and supportive.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<Footer page="AKADEMY_B2C" contact={true} />
|
|
||||||
</section>
|
|
||||||
</Provider>
|
|
||||||
);
|
|
||||||
}
|
|
|
@ -1,64 +0,0 @@
|
||||||
.image_box {
|
|
||||||
background-image: linear-gradient(to right, #eff4ff, #d4f5fe, #dae4fe);
|
|
||||||
padding-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box {
|
|
||||||
text-align: center;
|
|
||||||
padding-top: 100px;
|
|
||||||
height: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.curve {
|
|
||||||
margin-top: -120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.color {
|
|
||||||
color: #00548e;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box h2 {
|
|
||||||
padding: 20px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex {
|
|
||||||
display: flex;
|
|
||||||
margin: 40px 0;
|
|
||||||
position: relative;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex_1 {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.center {
|
|
||||||
text-align: center;
|
|
||||||
padding: 80px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mt {
|
|
||||||
margin-top: 80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 900px) {
|
|
||||||
.curve {
|
|
||||||
margin-top: -60px;
|
|
||||||
}
|
|
||||||
.flex {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.mt {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
|
||||||
.box {
|
|
||||||
height: 740px;
|
|
||||||
}
|
|
||||||
.curve {
|
|
||||||
margin-top: -30px;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -5,7 +5,7 @@ import style from "./BannerLearningSolutions.module.css";
|
||||||
const Card = ({ data }) => {
|
const Card = ({ data }) => {
|
||||||
return (
|
return (
|
||||||
<div className={style.banner_img_align}>
|
<div className={style.banner_img_align}>
|
||||||
<p
|
<h6
|
||||||
style={{
|
style={{
|
||||||
color: "#310B8E",
|
color: "#310B8E",
|
||||||
maxWidth: "400px",
|
maxWidth: "400px",
|
||||||
|
@ -14,7 +14,7 @@ const Card = ({ data }) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{data.content}
|
{data.content}
|
||||||
</p>
|
</h6>
|
||||||
<p style={{ color: "#2E0590" }}>{data.subcontent}</p>
|
<p style={{ color: "#2E0590" }}>{data.subcontent}</p>
|
||||||
<a href={"/pricing/akadmy-product-pricing"}>
|
<a href={"/pricing/akadmy-product-pricing"}>
|
||||||
<button
|
<button
|
||||||
|
@ -57,7 +57,7 @@ export default function BannerLearningSolutionTab({
|
||||||
<div className={style.image_box}></div>
|
<div className={style.image_box}></div>
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
backgroundImage: `url("/assets/wave.webp")`,
|
backgroundImage: `url("./assets/wave.webp")`,
|
||||||
width: "100%",
|
width: "100%",
|
||||||
backgroundRepeat: "no-repeat",
|
backgroundRepeat: "no-repeat",
|
||||||
backgroundSize: "cover",
|
backgroundSize: "cover",
|
||||||
|
@ -94,14 +94,14 @@ export default function BannerLearningSolutionTab({
|
||||||
className={getActiveClass(1, style.active_content)}
|
className={getActiveClass(1, style.active_content)}
|
||||||
onClick={() => toggleTab(1)}
|
onClick={() => toggleTab(1)}
|
||||||
>
|
>
|
||||||
<img src="/assets/menu_book.png" />
|
<img src="./assets/menu_book.png" />
|
||||||
FOR SCHOOL
|
FOR SCHOOL
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
className={getActiveClass(2, style.active_content)}
|
className={getActiveClass(2, style.active_content)}
|
||||||
onClick={() => toggleTab(2)}
|
onClick={() => toggleTab(2)}
|
||||||
>
|
>
|
||||||
<img src="/assets/audio_file.png" />
|
<img src="./assets/audio_file.png" />
|
||||||
FOR TUTORS
|
FOR TUTORS
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -121,7 +121,7 @@ export default function BannerLearningSolutionTab({
|
||||||
<div className={style.image_box}></div>
|
<div className={style.image_box}></div>
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
backgroundImage: `url("/assets/wave-2.webp")`,
|
backgroundImage: `url("./assets/wave-2.webp")`,
|
||||||
width: "100%",
|
width: "100%",
|
||||||
backgroundRepeat: "no-repeat",
|
backgroundRepeat: "no-repeat",
|
||||||
backgroundSize: "cover",
|
backgroundSize: "cover",
|
||||||
|
@ -158,14 +158,14 @@ export default function BannerLearningSolutionTab({
|
||||||
className={getActiveClass(1, style.active_content)}
|
className={getActiveClass(1, style.active_content)}
|
||||||
onClick={() => toggleTab(1)}
|
onClick={() => toggleTab(1)}
|
||||||
>
|
>
|
||||||
<img src="/assets/menu_book-blue.png" />
|
<img src="./assets/menu_book-blue.png" />
|
||||||
FOR SCHOOL
|
FOR SCHOOL
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
className={getActiveClass(2, style.active_content)}
|
className={getActiveClass(2, style.active_content)}
|
||||||
onClick={() => toggleTab(2)}
|
onClick={() => toggleTab(2)}
|
||||||
>
|
>
|
||||||
<img src="/assets/audio-book-white.png" />
|
<img src="./assets/audio-book-white.png" />
|
||||||
FOR TUTORS
|
FOR TUTORS
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
.active_content {
|
.active_content {
|
||||||
background-color: #4909d6;
|
background-color: #4909d6;
|
||||||
color: white;
|
color: white;
|
||||||
padding: 4px 30px;
|
padding: 4px 40px;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
border: 6px solid white;
|
border: 6px solid white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default function BannerProduct() {
|
||||||
</div>
|
</div>
|
||||||
<div className={style.banner_img_align}>
|
<div className={style.banner_img_align}>
|
||||||
<img
|
<img
|
||||||
src="/assets/home_platform.png"
|
src="./assets/home_platform.png"
|
||||||
className={style.banner_img}
|
className={style.banner_img}
|
||||||
alt="Preschool Management Solutions | Streamline Operations with aKadmy"
|
alt="Preschool Management Solutions | Streamline Operations with aKadmy"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -6,18 +6,59 @@ import Footer from "../Footer/Footer";
|
||||||
import ThreeFormFields from "../form/ThreeFormFields";
|
import ThreeFormFields from "../form/ThreeFormFields";
|
||||||
import { store } from "../redux/store";
|
import { store } from "../redux/store";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import style from "./index.module.css";
|
|
||||||
|
|
||||||
const Blog = (props) => {
|
const Blog = (props) => {
|
||||||
|
// console.log("props in blog", props.blog);
|
||||||
window.scrollTo({ top: 0, behavior: "instant" });
|
window.scrollTo({ top: 0, behavior: "instant" });
|
||||||
|
// const { pathname } = useLocation();
|
||||||
|
// const slug = pathname.split("/")[2];
|
||||||
|
// const [props.blog, setBlogData] = useState();
|
||||||
|
// const navigate = useNavigate();
|
||||||
|
|
||||||
|
// useEffect(() => {
|
||||||
|
// fetch(
|
||||||
|
// `https://curriculum-app-api.beanstalkedu.com/items/blog?filter[status][_eq]=published&filter[property][_eq]=aKadmy&filter[slug][_eq]=${slug}`
|
||||||
|
// )
|
||||||
|
// .then((res) => res.json())
|
||||||
|
// .then((data) => {
|
||||||
|
// setBlogData(data?.data?.[0]);
|
||||||
|
// if (data?.data.length === 0) {
|
||||||
|
// navigate("/404");
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// .catch((err) => console.log("err123", err));
|
||||||
|
// }, [slug]);
|
||||||
|
|
||||||
|
// blog
|
||||||
|
const newSchema = props.blog && props.blog.schema && props.blog?.schema.replaceAll("\n", "");
|
||||||
|
const newSchema2 = props.blog && props.blog.schema2 && props.blog?.schema2.replaceAll("\n", "");
|
||||||
|
const newSchema3 = props.blog && props.blog.schema3 && props.blog?.schema3.replaceAll("\n", "");
|
||||||
|
|
||||||
|
// console.log("blogUrl", `https://akadmyapp.com${pathname}`);
|
||||||
|
|
||||||
|
const metaData = {
|
||||||
|
title: props.blog && props.blog.meta,
|
||||||
|
description: props.blog && props.blog.meta_description,
|
||||||
|
// canonical: `https://akadmyapp.com${pathname}`,
|
||||||
|
og_title: props.blog && props.blog.og_title,
|
||||||
|
og_desc: props.blog && props.blog.og_desc,
|
||||||
|
siteName: "aKadmy",
|
||||||
|
type: "website",
|
||||||
|
url: "https://akadmyapp.com",
|
||||||
|
img_url: `https://management.beanstalkedu.com/assets/${
|
||||||
|
props.blog && props.blog.og_img
|
||||||
|
}`,
|
||||||
|
content: "product",
|
||||||
|
creator: "@aKadmy",
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<ContentWrapper>
|
<ContentWrapper>
|
||||||
<Header color={"#015C9F"} />
|
<Header color={"#015C9F"} />
|
||||||
<div className={style.flex_box}>
|
<Grid container color={"#0348A8"} spacing={2}>
|
||||||
<div className={style.flex_1}>
|
<Grid item xs={12} md={8}>
|
||||||
{props.blog?.title && <h1>{props.blog?.title}</h1>}
|
{props.blog?.title && <h1>{props.blog?.title}</h1>}
|
||||||
<Typography variant="body2" my={0.6}>
|
<Typography variant="body2" my={0.6}>
|
||||||
Published On: {props.blog?.date} | 5 min Read
|
Published On: {props.blog?.date} | 5 min Read
|
||||||
|
@ -39,14 +80,14 @@ const Blog = (props) => {
|
||||||
/>
|
/>
|
||||||
</Typography>
|
</Typography>
|
||||||
)}
|
)}
|
||||||
</div>
|
</Grid>
|
||||||
<div className={style.flex_2}>
|
<Grid item xs={12} md={4}>
|
||||||
<Box sx={{ background: "#DEF0FD", p: 3 }}>
|
<Box sx={{ background: "#DEF0FD", p: 3 }}>
|
||||||
<Typography>Get in Touch</Typography>
|
<Typography>Get in Touch</Typography>
|
||||||
<ThreeFormFields formName="Blogs" />
|
<ThreeFormFields formName="Blogs" />
|
||||||
</Box>
|
</Box>
|
||||||
</div>
|
</Grid>
|
||||||
</div>
|
</Grid>
|
||||||
</ContentWrapper>
|
</ContentWrapper>
|
||||||
<Footer page="INTERAKTO_CODING" />
|
<Footer page="INTERAKTO_CODING" />
|
||||||
</Provider>
|
</Provider>
|
||||||
|
|
|
@ -7,7 +7,6 @@ import Banner from "../Blog/Banner";
|
||||||
import Footer from "../Footer/Footer";
|
import Footer from "../Footer/Footer";
|
||||||
import { store } from "../redux/store";
|
import { store } from "../redux/store";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import style from "./index.module.css";
|
|
||||||
const Index = () => {
|
const Index = () => {
|
||||||
window.scrollTo({ top: 0, behavior: "instant" });
|
window.scrollTo({ top: 0, behavior: "instant" });
|
||||||
const [data, setData] = useState([]);
|
const [data, setData] = useState([]);
|
||||||
|
@ -29,26 +28,31 @@ const Index = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<Banner data={newData} />
|
<Banner data={newData} />
|
||||||
<ContentWrapper>
|
<ContentWrapper>
|
||||||
<h2
|
<h2
|
||||||
style={{
|
style={{
|
||||||
color: "#00548E",
|
color: "#00548E",
|
||||||
marginBottom: "10px",
|
marginBottom: "10px",
|
||||||
textAlign: "center",
|
textAlign: "center",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Trending Blogs
|
Trending Blogs
|
||||||
</h2>
|
</h2>
|
||||||
<div className={style.flex_box}>
|
<Grid
|
||||||
{newData.map((Blog) => (
|
container
|
||||||
<div className={style.box_card}>
|
spacing={2}
|
||||||
<Card data={Blog} />
|
alignItems="center"
|
||||||
</div>
|
justifyContent={"center"}
|
||||||
))}
|
>
|
||||||
</div>
|
{newData.map((Blog) => (
|
||||||
</ContentWrapper>
|
<Grid item xs={12} sm={6} md={4} lg={4} xl={4}>
|
||||||
<Footer page="INTERAKTO_CODING" />
|
<Card data={Blog} />
|
||||||
|
</Grid>
|
||||||
|
))}
|
||||||
|
</Grid>
|
||||||
|
</ContentWrapper>
|
||||||
|
<Footer page="INTERAKTO_CODING" />
|
||||||
</Provider>
|
</Provider>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
.flex_box {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex_1 {
|
|
||||||
width: 68%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex_2 {
|
|
||||||
width: 28%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box_card {
|
|
||||||
width: 32.33%;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 900px) {
|
|
||||||
.flex_box {
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
.box_card {
|
|
||||||
width: 49%;
|
|
||||||
}
|
|
||||||
.flex_1 {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex_2 {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
|
||||||
.box_card {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -3,9 +3,7 @@ import style from "./PhotoFlipCarousel.module.css";
|
||||||
import { GameContext } from "../../context/GameContext";
|
import { GameContext } from "../../context/GameContext";
|
||||||
|
|
||||||
function PhotoFlipCarousel({ theme, data, background, color, poster }) {
|
function PhotoFlipCarousel({ theme, data, background, color, poster }) {
|
||||||
const { gameLink, setGameLink } = useContext(GameContext);
|
const { setGameLink } = useContext(GameContext);
|
||||||
|
|
||||||
console.log("gameLink", gameLink);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
initialize();
|
initialize();
|
||||||
|
@ -142,16 +140,11 @@ function PhotoFlipCarousel({ theme, data, background, color, poster }) {
|
||||||
</video>
|
</video>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
{console.log("item.link", item.link)}
|
|
||||||
{item.link && (
|
{item.link && (
|
||||||
<a
|
<a href={"/worksheet"} className={style.btn}>
|
||||||
href={`/interactive-learning-resources-for-preschool/worksheet?${item.link.replaceAll(
|
<button onClick={() => setGameLink(item.link)}>
|
||||||
"https://interaktogames.beanstalkedu.com/",
|
Try now
|
||||||
""
|
</button>
|
||||||
)}`}
|
|
||||||
className={style.btn}
|
|
||||||
>
|
|
||||||
<button>Try now</button>
|
|
||||||
</a>
|
</a>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
import { Box } from "@mui/material";
|
|
||||||
import ContentWrapper from "../../components/ContentWrapper/ContentWrapper";
|
|
||||||
import Footer from "../../components/Footer/Footer";
|
|
||||||
import Header from "../../components/Header/Header";
|
|
||||||
import ThreeFormFields from "../../components/form/ThreeFormFields";
|
|
||||||
import style from "./index.module.css";
|
|
||||||
import EmailOutlinedIcon from "@mui/icons-material/EmailOutlined";
|
|
||||||
import LocationOnIcon from "@mui/icons-material/LocationOn";
|
|
||||||
import FAQ from "../../components/FAQ/FAQ";
|
|
||||||
import { conatctFaqs } from "../../components/data/faqs";
|
|
||||||
import { Provider } from "react-redux";
|
|
||||||
import { store } from "../redux/store";
|
|
||||||
|
|
||||||
export default function Index() {
|
|
||||||
window.scrollTo({ top: 0, behavior: "instant" });
|
|
||||||
return (
|
|
||||||
<Provider store={store}>
|
|
||||||
<section className={style.section}>
|
|
||||||
<ContentWrapper>
|
|
||||||
<Header color={"#015C9F"} />
|
|
||||||
<div className={style.box}>
|
|
||||||
<h1>
|
|
||||||
We’d Love to Hear From You!
|
|
||||||
<br /> Contact Us
|
|
||||||
</h1>
|
|
||||||
<p>
|
|
||||||
Whether you have a question about our services, need assistance,
|
|
||||||
or just want to share your
|
|
||||||
<br /> thoughts, we’re here to listen.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
</section>
|
|
||||||
<ContentWrapper>
|
|
||||||
{" "}
|
|
||||||
<div className={`${style.flex}`}>
|
|
||||||
<div className={`${style.flex_1} ${style.mt}`}>
|
|
||||||
<h4>Contact Information</h4>
|
|
||||||
<p>
|
|
||||||
Fill up the form and our team will get back to you within
|
|
||||||
<br /> 24 hours.
|
|
||||||
<br />
|
|
||||||
<EmailOutlinedIcon fontSize="small" />
|
|
||||||
Email: hello@akadmyapp.com
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
<div className={style.flex_1}>
|
|
||||||
<Box boxShadow={1} maxWidth={400} ml={"auto"} p={4}>
|
|
||||||
<b>Get in Touch</b>
|
|
||||||
<p>You can reach us anytime</p>
|
|
||||||
<ThreeFormFields formName="Contact" />
|
|
||||||
</Box>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<div className={`${style.flex}`}>
|
|
||||||
<div className={`${style.flex_1}`}>
|
|
||||||
<div>
|
|
||||||
<iframe
|
|
||||||
src="https://www.google.com/maps/embed?pb=!1m17!1m12!1m3!1d3984.090385602562!2d101.690635!3d3.070521!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m2!1m1!2zM8KwMDQnMTMuOSJOIDEwMcKwNDEnMjYuMyJF!5e0!3m2!1sen!2sin!4v1725867001750!5m2!1sen!2sin"
|
|
||||||
className={style.iframe_width}
|
|
||||||
loading="lazy"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className={`${style.flex_1}`} style={{ marginTop: "auto" }}>
|
|
||||||
<br />
|
|
||||||
<h4>Our Location</h4>
|
|
||||||
<p style={{ maxWidth: 400 }}>
|
|
||||||
Come visit us! Use the map below to easily find our location.
|
|
||||||
Whether you're planning a visit or just need directions, the map
|
|
||||||
will guide you right to our doorstep.
|
|
||||||
<div style={{ display: "flex", marginTop: "6px" }}>
|
|
||||||
<div>
|
|
||||||
<LocationOnIcon sx={{ mt: 6 }} />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
Address: Buzzapp Technologies Sdn Bhd,
|
|
||||||
<br /> 38, 3rd Floor, Jalan Radin Anum,
|
|
||||||
<br /> Bandar Baru Sri Petaling,
|
|
||||||
<br /> Kuala Lumpur, Wilayah Persekutuan, 57000
|
|
||||||
<br /> Malaysia
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
<FAQ color1="#0348A8" color2={"#72B3FF"} data={conatctFaqs} />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<Footer page="AKADEMY_B2C" contact={true} />
|
|
||||||
</Provider>
|
|
||||||
);
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
.section {
|
|
||||||
width: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
background-image: linear-gradient(to right, #eff4ff, #d4f5fe, #dae4fe);
|
|
||||||
padding-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box {
|
|
||||||
text-align: center;
|
|
||||||
color: #00548e;
|
|
||||||
padding-top: 100px;
|
|
||||||
height: 500px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.color {
|
|
||||||
color: #00548e;
|
|
||||||
padding-top: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box h1 {
|
|
||||||
padding: 20px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex {
|
|
||||||
display: flex;
|
|
||||||
margin: 40px 0;
|
|
||||||
position: relative;
|
|
||||||
z-index: 2;
|
|
||||||
color: #00548e;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex_1 {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mt {
|
|
||||||
margin-top: 80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.iframe_width {
|
|
||||||
width: 90%;
|
|
||||||
height: 460px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 600px) {
|
|
||||||
.flex {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.iframe_width {
|
|
||||||
width: 100%;
|
|
||||||
height: 360px;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +1,11 @@
|
||||||
.container {
|
.container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sub_container {
|
.sub_container {
|
||||||
width: 80vw;
|
width: 80vw;
|
||||||
max-width: 1200px;
|
max-width: 1200px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,7 @@ function Footer({
|
||||||
<a href="https://www.facebook.com/get.aKadmy/" target="_blank">
|
<a href="https://www.facebook.com/get.aKadmy/" target="_blank">
|
||||||
Facebook
|
Facebook
|
||||||
</a>
|
</a>
|
||||||
<a href="https://www.instagram.com/akadmyapp/" target="_blank">
|
<a href="https://www.instagram.com/akadmy.app/" target="_blank">
|
||||||
Instagram
|
Instagram
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
|
@ -200,7 +200,7 @@ function Footer({
|
||||||
<a href="/about-us">About Us</a>
|
<a href="/about-us">About Us</a>
|
||||||
<a href="/contact-us">Contact us </a>
|
<a href="/contact-us">Contact us </a>
|
||||||
<a href="/pricing/akadmy-platform-pricing">Plans</a>
|
<a href="/pricing/akadmy-platform-pricing">Plans</a>
|
||||||
<a href="/blogs">Blogs</a>
|
<a href="/Blogs">Blogs</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
.contact_box {
|
.contact_box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: 300px;
|
min-height: 300px;
|
||||||
/* padding: 2rem; */
|
padding: 2rem;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
@ -28,7 +28,6 @@
|
||||||
.contact_box .content_left {
|
.contact_box .content_left {
|
||||||
width: 60%;
|
width: 60%;
|
||||||
min-width: 200px;
|
min-width: 200px;
|
||||||
padding: 2rem 0rem 2rem 2rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.contact_box .content_left .line1 {
|
.contact_box .content_left .line1 {
|
||||||
|
@ -51,7 +50,7 @@
|
||||||
.contact_box .content_right {
|
.contact_box .content_right {
|
||||||
width: 32%;
|
width: 32%;
|
||||||
min-width: 240px;
|
min-width: 240px;
|
||||||
padding: 2rem 2rem 2rem 0rem;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
@ -67,15 +66,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
.contact_box .content_left {
|
|
||||||
padding: 0.8rem;
|
|
||||||
}
|
|
||||||
.contact_box .content_right {
|
|
||||||
padding: 0.8rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.contact_box .content_right input {
|
.contact_box .content_right input {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 300px;
|
max-width: 300px;
|
||||||
|
|
|
@ -84,9 +84,7 @@ function Header({ theme = "LIGHT", color }) {
|
||||||
{item?.subcat && <ArrowDropDownIcon style={{ color: color }} />}
|
{item?.subcat && <ArrowDropDownIcon style={{ color: color }} />}
|
||||||
<div className={style.dropdown_content}>
|
<div className={style.dropdown_content}>
|
||||||
{item?.subcat?.map((subItem, i) => (
|
{item?.subcat?.map((subItem, i) => (
|
||||||
<a key={i} href={subItem.link}>
|
<a key={i} href={subItem.link}>{subItem.name}</a>
|
||||||
{subItem.name}
|
|
||||||
</a>
|
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -61,7 +61,7 @@ export default function InteractionTabs() {
|
||||||
{array.map((item) => (
|
{array.map((item) => (
|
||||||
<img
|
<img
|
||||||
src={item.img}
|
src={item.img}
|
||||||
width={"35px"}
|
width={"55px"}
|
||||||
style={{
|
style={{
|
||||||
border: item.title === select.title ? "3px solid #0348A8" : null,
|
border: item.title === select.title ? "3px solid #0348A8" : null,
|
||||||
boxShadow:
|
boxShadow:
|
||||||
|
|
|
@ -87,8 +87,8 @@ function IntraktoCoding() {
|
||||||
children through playful and engaging activities. Children as
|
children through playful and engaging activities. Children as
|
||||||
young as 4 years old can create their own stories, games, and
|
young as 4 years old can create their own stories, games, and
|
||||||
animations using the simple-to-use ScratchJr interface. . And as
|
animations using the simple-to-use ScratchJr interface. . And as
|
||||||
it is a visual programming language, when children design all
|
it is a visual programming language, when children design all the
|
||||||
the while developing crucial problem-solving skills and logical
|
while developing crucial problem-solving skills and logical
|
||||||
thinking. Coding is all about learning to think creatively and
|
thinking. Coding is all about learning to think creatively and
|
||||||
work collaboratively.
|
work collaboratively.
|
||||||
</p>
|
</p>
|
||||||
|
@ -113,18 +113,18 @@ function IntraktoCoding() {
|
||||||
<p>Our Coding Curriculum</p>
|
<p>Our Coding Curriculum</p>
|
||||||
<h4>Why have a Coding Curriculum for Preschoolers?</h4>
|
<h4>Why have a Coding Curriculum for Preschoolers?</h4>
|
||||||
<p className={style.secondary_color}>
|
<p className={style.secondary_color}>
|
||||||
Our block-based programming approach, using ScratchJr ,
|
Our block-based programming approach, using ScratchJr , introduces
|
||||||
introduces coding as another language . With Scratch Children
|
coding as another language . With Scratch Children learn how to
|
||||||
learn how to write commands , create loops, and understand
|
write commands , create loops, and understand programming language
|
||||||
programming language from basic. Each lesson is designed so that
|
from basic. Each lesson is designed so that completing it and
|
||||||
completing it and moving on to the next level makes your child
|
moving on to the next level makes your child feel a sense of
|
||||||
feel a sense of achievement at every step.
|
achievement at every step.
|
||||||
</p>
|
</p>
|
||||||
<div className={style.flex}>
|
<div className={style.flex}>
|
||||||
{codingPreschoolers.map((item) => (
|
{codingPreschoolers.map((item) => (
|
||||||
<div className={style.preschoolCard}>
|
<div className={style.preschoolCard}>
|
||||||
<img src={item.img} />
|
<img src={item.img} />
|
||||||
<h4>{item.title}</h4>
|
<h6>{item.title}</h6>
|
||||||
<p>{item.description}</p>
|
<p>{item.description}</p>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
@ -132,9 +132,7 @@ function IntraktoCoding() {
|
||||||
</div>
|
</div>
|
||||||
<div className={`${style.flex}`}>
|
<div className={`${style.flex}`}>
|
||||||
<div className={`${style.flex_1} ${style.mt} ${style.order_1}`}>
|
<div className={`${style.flex_1} ${style.mt} ${style.order_1}`}>
|
||||||
<h4 className={style.primary_color}>
|
<h4 className={style.primary_color}>The MIT-Based Curriculum</h4>
|
||||||
The MIT-Based Curriculum
|
|
||||||
</h4>
|
|
||||||
<p>
|
<p>
|
||||||
interaKto Coding was established by the internationally
|
interaKto Coding was established by the internationally
|
||||||
recognized Media Labs at MIT (Massachusetts Institute of
|
recognized Media Labs at MIT (Massachusetts Institute of
|
||||||
|
@ -205,14 +203,14 @@ function IntraktoCoding() {
|
||||||
<ContentWrapper>
|
<ContentWrapper>
|
||||||
<h4>Benefits of Coding Early</h4>
|
<h4>Benefits of Coding Early</h4>
|
||||||
<p>
|
<p>
|
||||||
Learning to code at an early age has numerous benefits beyond
|
Learning to code at an early age has numerous benefits beyond just
|
||||||
just computer literacy. Our program helps children develop
|
computer literacy. Our program helps children develop essential
|
||||||
essential life skills such as:
|
life skills such as:
|
||||||
</p>
|
</p>
|
||||||
<div className={style.flex}>
|
<div className={style.flex}>
|
||||||
{skills.map((item) => (
|
{skills.map((item) => (
|
||||||
<div className={style.skills_card}>
|
<div className={style.skills_card}>
|
||||||
<h4 className={style.primary_color}>{item.title}</h4>
|
<h6 className={style.primary_color}>{item.title}</h6>
|
||||||
<p className={style.secondary_color}>{item.description}</p>
|
<p className={style.secondary_color}>{item.description}</p>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
@ -288,10 +286,10 @@ function IntraktoCoding() {
|
||||||
>
|
>
|
||||||
<ContentWrapper>
|
<ContentWrapper>
|
||||||
<p className={style.primary_color}> How to Get Started</p>
|
<p className={style.primary_color}> How to Get Started</p>
|
||||||
<h2 className={style.primary_color}>Ready to Begin? Here's How</h2>
|
<h4 className={style.primary_color}>Ready to Begin? Here's How</h4>
|
||||||
<p className={style.seconadry_color}>
|
<p className={style.seconadry_color}>
|
||||||
Enrolling in interaKto Coding is easy. Follow these simple steps
|
Enrolling in interaKto Coding is easy. Follow these simple steps to
|
||||||
to start your child’s coding journey:
|
start your child’s coding journey:
|
||||||
</p>
|
</p>
|
||||||
<a href={"/pricing/akadmy-product-pricing"}>
|
<a href={"/pricing/akadmy-product-pricing"}>
|
||||||
<button
|
<button
|
||||||
|
@ -329,13 +327,13 @@ function IntraktoCoding() {
|
||||||
color: "white",
|
color: "white",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<h4 style={{ marginTop: "18px", marginLeft: "60px" }}>
|
<h6 style={{ marginTop: "18px", marginLeft: "60px" }}>
|
||||||
Step {index + 1}
|
Step {index + 1}
|
||||||
</h4>
|
</h6>
|
||||||
<div className={style.triangle_right}></div>
|
<div className={style.triangle_right}></div>
|
||||||
</div>
|
</div>
|
||||||
<div className={style.triangle_topright} />
|
<div className={style.triangle_topright} />
|
||||||
<h4 className={style.primary_color}>{item.title}</h4>
|
<h6 className={style.primary_color}>{item.title}</h6>
|
||||||
<p>{item.description}</p>
|
<p>{item.description}</p>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
@ -343,11 +341,7 @@ function IntraktoCoding() {
|
||||||
</ContentWrapper>
|
</ContentWrapper>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<FAQ
|
<FAQ color1={"#001F48"} color2={"#72B3FF"} data={faqsInterakto_coding} />
|
||||||
color1={"#001F48"}
|
|
||||||
color2={"#72B3FF"}
|
|
||||||
data={faqsInterakto_coding}
|
|
||||||
/>
|
|
||||||
<section className={style.section6}>
|
<section className={style.section6}>
|
||||||
<ContentWrapper>
|
<ContentWrapper>
|
||||||
<div className={style.section6__content}>
|
<div className={style.section6__content}>
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.section4__content__1_line2 {
|
.section4__content__1_line2 {
|
||||||
max-width: 330px !important;
|
max-width: 300px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section4__content_2 {
|
.section4__content_2 {
|
||||||
|
@ -100,7 +100,7 @@
|
||||||
background: white;
|
background: white;
|
||||||
border: 1px solid #01518c4d;
|
border: 1px solid #01518c4d;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 10px;
|
padding: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom_cloud {
|
.bottom_cloud {
|
||||||
|
@ -109,11 +109,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.skills_card {
|
.skills_card {
|
||||||
width: 22%;
|
width: 24%;
|
||||||
background: white;
|
background: white;
|
||||||
border: 1px solid #01518c4d;
|
border: 1px solid #01518c4d;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 10px;
|
padding: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.triangle_right {
|
.triangle_right {
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
margin-top: -80px;
|
margin-top: -80px;
|
||||||
}
|
}
|
||||||
.preschoolCard {
|
.preschoolCard {
|
||||||
width: 45%;
|
width: 48%;
|
||||||
margin: 0 auto 30px auto;
|
margin: 0 auto 30px auto;
|
||||||
}
|
}
|
||||||
.flex_1 {
|
.flex_1 {
|
||||||
|
@ -161,7 +161,7 @@
|
||||||
bottom: -52px;
|
bottom: -52px;
|
||||||
}
|
}
|
||||||
.skills_card {
|
.skills_card {
|
||||||
width: 46%;
|
width: 49%;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
.section4 p {
|
.section4 p {
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
export default function Index() {
|
|
||||||
return (
|
|
||||||
<section>
|
|
||||||
<div
|
|
||||||
style={{ textAlign: "center", color: "#8F8F8F", marginTop: "100px" }}
|
|
||||||
>
|
|
||||||
<img src="/assets/pageNotFound.png" />
|
|
||||||
<h2>Page Not Found</h2>
|
|
||||||
<p>
|
|
||||||
Oops! It seems we are lost!
|
|
||||||
<br /> Click below to go to the Home page
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
<a href={"/"}>
|
|
||||||
<button className="btn" style={{ background: "#0348A8" }}>
|
|
||||||
Back to Home
|
|
||||||
<img src="/assets/white_right.png" width={"14px"} />
|
|
||||||
</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
);
|
|
||||||
}
|
|
|
@ -32,85 +32,85 @@ export default function Product() {
|
||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<BannerProduct />
|
<BannerProduct />
|
||||||
<ProductCapabilities />
|
<ProductCapabilities />
|
||||||
<ProductPlatform />
|
<ProductPlatform />
|
||||||
<div style={{ background: "#DEF0FD", marginTop: "100px" }}>
|
<div style={{ background: "#DEF0FD", marginTop: "100px" }}>
|
||||||
<img
|
<img
|
||||||
src="/assets/cloud_blue.webp"
|
src="/assets/cloud_blue.webp"
|
||||||
width={"100%"}
|
width={"100%"}
|
||||||
className={style.cloud_img}
|
className={style.cloud_img}
|
||||||
/>
|
|
||||||
<div style={{ textAlign: "center" }}>
|
|
||||||
<h2 style={{ color: "#0348A8" }}>
|
|
||||||
What Makes aKadmy the Top Kindergarten Management Solution?
|
|
||||||
</h2>
|
|
||||||
<p>
|
|
||||||
It's the power of AI, transforming everything from streamlining
|
|
||||||
tasks to enhancing learning experiences.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<VerticalAutoCarousel />
|
|
||||||
<div style={{ textAlign: "center", marginTop: "60px" }}>
|
|
||||||
<h2 style={{ color: "#0348A8" }}>
|
|
||||||
Say Hello to Your Learning Buddy – aKadmy Sprite!
|
|
||||||
</h2>
|
|
||||||
<p
|
|
||||||
style={{
|
|
||||||
maxWidth: "660px",
|
|
||||||
padding: "0px 40px",
|
|
||||||
margin: "0px auto",
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Make each lesson engaging and enjoyable with aKadmy Sprite. Select
|
|
||||||
your perfect match and unlock a world of interactive learning!
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<InteractionTabs />
|
|
||||||
</div>
|
|
||||||
<ContentWrapper>
|
|
||||||
<div style={{ textAlign: "center", margin: "100px 0px 0px 0px" }}>
|
|
||||||
<h2 style={{ color: "#0348A8" }}>
|
|
||||||
Powerful Tools for Transformative Learning
|
|
||||||
</h2>
|
|
||||||
<br />
|
|
||||||
<div
|
|
||||||
style={{
|
|
||||||
display: "flex",
|
|
||||||
flexWrap: "wrap",
|
|
||||||
justifyContent: "space-between",
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{support.map((item) => (
|
|
||||||
<div className={style.card}>
|
|
||||||
<h4 style={{ color: "#0348A8", marginBottom: "6px" }}>
|
|
||||||
{item.title}
|
|
||||||
</h4>
|
|
||||||
<p style={{ height: 110 }}>{item.description}</p>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
<img src="/assets/product_curve.webp" width={"100%"} />
|
|
||||||
<div className={style.curve}>
|
|
||||||
<FAQ
|
|
||||||
color1="#0348A8"
|
|
||||||
color2={"#72B3FF"}
|
|
||||||
data={platformFaqs}
|
|
||||||
prefix={"Curious? Find Answers Here"}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<Footer
|
|
||||||
page="AKADEMY_B2C"
|
|
||||||
title="Transform Early Education with aKadmy"
|
|
||||||
description1="Empower teachers, engage parents, and watch little learners thrive with the power of AI in early education."
|
|
||||||
description2="Create a foundation for lifelong success and growth."
|
|
||||||
description3="Get Started Today!"
|
|
||||||
/>
|
/>
|
||||||
</Provider>
|
<div style={{ textAlign: "center" }}>
|
||||||
|
<h2 style={{ color: "#0348A8" }}>
|
||||||
|
What Makes aKadmy the Top Kindergarten Management Solution?
|
||||||
|
</h2>
|
||||||
|
<p>
|
||||||
|
It's the power of AI, transforming everything from streamlining
|
||||||
|
tasks to enhancing learning experiences.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<VerticalAutoCarousel />
|
||||||
|
<div style={{ textAlign: "center", marginTop: "60px" }}>
|
||||||
|
<h2 style={{ color: "#0348A8" }}>
|
||||||
|
Say Hello to Your Learning Buddy – aKadmy Sprite!
|
||||||
|
</h2>
|
||||||
|
<p
|
||||||
|
style={{
|
||||||
|
maxWidth: "660px",
|
||||||
|
padding: "0px 40px",
|
||||||
|
margin: "0px auto",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Make each lesson engaging and enjoyable with aKadmy Sprite. Select
|
||||||
|
your perfect match and unlock a world of interactive learning!
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<InteractionTabs />
|
||||||
|
</div>
|
||||||
|
<ContentWrapper>
|
||||||
|
<div style={{ textAlign: "center", margin: "100px 0px 0px 0px" }}>
|
||||||
|
<h2 style={{ color: "#0348A8" }}>
|
||||||
|
Powerful Tools for Transformative Learning
|
||||||
|
</h2>
|
||||||
|
<br />
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: "flex",
|
||||||
|
flexWrap: "wrap",
|
||||||
|
justifyContent: "space-between",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{support.map((item) => (
|
||||||
|
<div className={style.card}>
|
||||||
|
<h6 style={{ color: "#0348A8", marginBottom: "6px" }}>
|
||||||
|
{item.title}
|
||||||
|
</h6>
|
||||||
|
<p style={{ height: 110 }}>{item.description}</p>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ContentWrapper>
|
||||||
|
<img src="/assets/product_curve.webp" width={"100%"} />
|
||||||
|
<div className={style.curve}>
|
||||||
|
<FAQ
|
||||||
|
color1="#0348A8"
|
||||||
|
color2={"#72B3FF"}
|
||||||
|
data={platformFaqs}
|
||||||
|
prefix={"Curious? Find Answers Here"}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<Footer
|
||||||
|
page="AKADEMY_B2C"
|
||||||
|
title="Transform Early Education with aKadmy"
|
||||||
|
description1="Empower teachers, engage parents, and watch little learners thrive with the power of AI in early education."
|
||||||
|
description2="Create a foundation for lifelong success and growth."
|
||||||
|
description3="Get Started Today!"
|
||||||
|
/>
|
||||||
|
</Provider>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
.card {
|
.card {
|
||||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
padding: 40px 10px;
|
padding: 40px 14px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
width: 29%;
|
width: 30%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.curve {
|
.curve {
|
||||||
|
|
|
@ -11,11 +11,11 @@ const LeftTab = ({ ToggleState, index, title, info, img }) => {
|
||||||
{ToggleState === index ? (
|
{ToggleState === index ? (
|
||||||
<img
|
<img
|
||||||
className={style.mb}
|
className={style.mb}
|
||||||
src="/assets/book-icon.png"
|
src="./assets/book-icon.png"
|
||||||
alt="Preschool Management Solutions | Streamline Operations with aKadmy"
|
alt="Preschool Management Solutions | Streamline Operations with aKadmy"
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
<h4>{title}</h4>
|
<h6>{title}</h6>
|
||||||
{ToggleState === index ? <p className={style.normal}>{info}</p> : null}
|
{ToggleState === index ? <p className={style.normal}>{info}</p> : null}
|
||||||
</div>
|
</div>
|
||||||
<div className={style.imgPart1}>
|
<div className={style.imgPart1}>
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
|
|
||||||
.normal {
|
.normal {
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
margin-top: 8px;
|
margin-top: -8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right_img {
|
.right_img {
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
import ContentWrapper from "../ContentWrapper/ContentWrapper";
|
|
||||||
import Footer from "../Footer/Footer";
|
|
||||||
import Header from "../Header/Header";
|
|
||||||
import { data } from "../../components/data/termConditions";
|
|
||||||
import style from "./index.module.css";
|
|
||||||
import { Provider } from "react-redux";
|
|
||||||
import { store } from "../redux/store";
|
|
||||||
|
|
||||||
export default function Index() {
|
|
||||||
window.scrollTo({ top: 0, behavior: "instant" });
|
|
||||||
return (
|
|
||||||
<Provider store={store}>
|
|
||||||
<section className={style.out_box}>
|
|
||||||
<div className={style.image_box}>
|
|
||||||
<ContentWrapper>
|
|
||||||
<Header color={"#015C9F"} />
|
|
||||||
<div className={style.box}>
|
|
||||||
<img src="/assets/tc.webp" />
|
|
||||||
<h2>Terms & Conditions</h2>
|
|
||||||
<p>
|
|
||||||
All the products and services are provided by aKadmy. These
|
|
||||||
Terms of Use ("Terms") govern your use of aKadmy’s website,
|
|
||||||
apps, and other products and services ("Services"). Some of our
|
|
||||||
Services are software that can be downloaded on a computer,
|
|
||||||
tablet, phone or any other device, you agree that we may update
|
|
||||||
our software automatically at any point of time, that these
|
|
||||||
Terms will apply to such updates. By using our Services, you
|
|
||||||
agree to be bound by these Terms, including the policies
|
|
||||||
referenced in them. If you do not agree to these Terms, please
|
|
||||||
refrain from using the Website or our suite of products.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<ContentWrapper>
|
|
||||||
{data.map((item) => (
|
|
||||||
<div className={style.color}>
|
|
||||||
<h4>{item.title}</h4>
|
|
||||||
{item.content.map((item) => (
|
|
||||||
<p style={{ paddingTop: "10px" }}>{item}</p>
|
|
||||||
))}
|
|
||||||
<ul>{item.points && item.points.map((item) => <li>{item}</li>)}</ul>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</ContentWrapper>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<Footer page="AKADEMY_B2C" contact={true} />
|
|
||||||
</Provider>
|
|
||||||
);
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
.out_box {
|
|
||||||
width: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.image_box {
|
|
||||||
width: 100%;
|
|
||||||
background-image: linear-gradient(to right, #eff4ff, #d4f5fe, #dae4fe);
|
|
||||||
padding-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box {
|
|
||||||
text-align: center;
|
|
||||||
color: #00548e;
|
|
||||||
padding-top: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.color {
|
|
||||||
color: #00548e;
|
|
||||||
padding-top: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box h2 {
|
|
||||||
padding: 20px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 600px) {
|
|
||||||
.box {
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { TOKEN_NAME } from "../utils/constants";
|
import { TOKEN_NAME } from "../utils/constants";
|
||||||
|
|
||||||
export const API_BASE_BUZZONE = import.meta.env.PUBLIC_BUZZ_ONE_BASE_URL;
|
export const API_BASE_BUZZONE = import.meta.env.VITE_BUZZ_ONE_BASE_URL;
|
||||||
export const API_BASE_BUZZ = import.meta.env.PUBLIC_BUZZ_BASE_URL;
|
export const API_BASE_BUZZ = import.meta.env.VITE_BUZZ_BASE_URL;
|
||||||
|
|
||||||
export const AUTH_TOKEN = () => localStorage.getItem(TOKEN_NAME);
|
export const AUTH_TOKEN = () => localStorage.getItem(TOKEN_NAME);
|
||||||
export const SCHOOL_ID = () => localStorage.getItem("SCHOOL_ID");
|
export const SCHOOL_ID = () => localStorage.getItem("SCHOOL_ID");
|
||||||
|
|
||||||
console.log("TestENV", import.meta.env.PUBLIC_BUZZ_ONE_BASE_URL);
|
console.log('TestENV', import.meta.env.PUBLIC_API_KEY);
|
||||||
console.log("TestENV", import.meta.env.PUBLIC_BUZZ_BASE_URL);
|
console.log('TestENV', import.meta.env.PUBLIC_SECRET_KEY);
|
||||||
|
|
|
@ -223,7 +223,6 @@ const ThreeFormFields = (props) => {
|
||||||
value={message}
|
value={message}
|
||||||
onChange={(e) => setMessage(e.target.value)}
|
onChange={(e) => setMessage(e.target.value)}
|
||||||
/>
|
/>
|
||||||
<br />
|
|
||||||
<button type="submit" className="btn">
|
<button type="submit" className="btn">
|
||||||
submit
|
submit
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
textarea {
|
textarea {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
padding: 0.75rem 0rem;
|
padding: 0.75rem 1rem;
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
|
@ -13,7 +13,7 @@ import { Concept_explainer } from "../data/pageContent";
|
||||||
import ScrollToTop from "../ScrollToTop/ScrollToTop";
|
import ScrollToTop from "../ScrollToTop/ScrollToTop";
|
||||||
import { store } from "../redux/store";
|
import { store } from "../redux/store";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import GameProvider from "../context/GameContext";
|
import GameProvider from '../context/GameContext';
|
||||||
const array1 = [
|
const array1 = [
|
||||||
{ img: "/assets/WAU_1.png", title: "World Around Us" },
|
{ img: "/assets/WAU_1.png", title: "World Around Us" },
|
||||||
{ img: "/assets/learning_area_1.png", title: "Language" },
|
{ img: "/assets/learning_area_1.png", title: "Language" },
|
||||||
|
@ -55,10 +55,7 @@ function InteraKto() {
|
||||||
<a href={"/pricing/akadmy-product-pricing"}>
|
<a href={"/pricing/akadmy-product-pricing"}>
|
||||||
<button className={style.section1__content_btn}>
|
<button className={style.section1__content_btn}>
|
||||||
View Plans{" "}
|
View Plans{" "}
|
||||||
<img
|
<img src={'/assets/navigate_next.svg'} alt="navigate next icon" />
|
||||||
src={"/assets/navigate_next.svg"}
|
|
||||||
alt="navigate next icon"
|
|
||||||
/>
|
|
||||||
</button>
|
</button>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -105,6 +102,7 @@ function InteraKto() {
|
||||||
<div className={`${style.section2__card} ${style.card3}`}>
|
<div className={`${style.section2__card} ${style.card3}`}>
|
||||||
<img
|
<img
|
||||||
src="/assets/Interakto_math.webp"
|
src="/assets/Interakto_math.webp"
|
||||||
|
width={"100%"}
|
||||||
alt="Interactive Learning Resources for Preschool | aKadmy - Engaging Early Education"
|
alt="Interactive Learning Resources for Preschool | aKadmy - Engaging Early Education"
|
||||||
/>
|
/>
|
||||||
<p className={style.title}>Mathematics</p>
|
<p className={style.title}>Mathematics</p>
|
||||||
|
@ -138,9 +136,9 @@ function InteraKto() {
|
||||||
<p className={style.title}>Logical Thinking</p>
|
<p className={style.title}>Logical Thinking</p>
|
||||||
<p className={style.description}>
|
<p className={style.description}>
|
||||||
Interactive activities to develop critical thinking and
|
Interactive activities to develop critical thinking and
|
||||||
problem-solving skills in young learners. These activities
|
problem-solving skills in young learners. These activities are
|
||||||
are designed to enhance their ability to reason and make
|
designed to enhance their ability to reason and make decisions
|
||||||
decisions effectively.
|
effectively.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className={`${style.section2__card} ${style.card6}`}>
|
<div className={`${style.section2__card} ${style.card6}`}>
|
||||||
|
@ -152,10 +150,9 @@ function InteraKto() {
|
||||||
/>
|
/>
|
||||||
<p className={style.title}>Coding with InteraKto</p>
|
<p className={style.title}>Coding with InteraKto</p>
|
||||||
<p className={style.description}>
|
<p className={style.description}>
|
||||||
Interactive activities that introduce young learners to
|
Interactive activities that introduce young learners to basic
|
||||||
basic programming concepts, helping them develop logical
|
programming concepts, helping them develop logical thinking
|
||||||
thinking and problem-solving skills through engaging,
|
and problem-solving skills through engaging, hands-on tasks.
|
||||||
hands-on tasks.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className={` ${style.card_group}`}>
|
<div className={` ${style.card_group}`}>
|
||||||
|
@ -298,12 +295,12 @@ function InteraKto() {
|
||||||
</div>
|
</div>
|
||||||
<div className={style.section4__content_2}>
|
<div className={style.section4__content_2}>
|
||||||
<GameProvider>
|
<GameProvider>
|
||||||
<PhotoFlipCarousel
|
<PhotoFlipCarousel
|
||||||
theme="INTERAKTO"
|
theme="INTERAKTO"
|
||||||
data={select === 0 ? interaktoWorksheets : interaktoAudio}
|
data={select === 0 ? interaktoWorksheets : interaktoAudio}
|
||||||
background={"#001F48"}
|
background={"#001F48"}
|
||||||
color={"#DBFFEB"}
|
color={"#DBFFEB"}
|
||||||
poster="/assets/AudioBookPlay.webp"
|
poster="/assets/AudioBookPlay.webp"
|
||||||
/>
|
/>
|
||||||
</GameProvider>
|
</GameProvider>
|
||||||
</div>
|
</div>
|
||||||
|
@ -314,9 +311,7 @@ function InteraKto() {
|
||||||
<section className={style.section5}>
|
<section className={style.section5}>
|
||||||
<ContentWrapper>
|
<ContentWrapper>
|
||||||
<div className={style.section5__content}>
|
<div className={style.section5__content}>
|
||||||
<p className={style.section5__content__line1}>
|
<p className={style.section5__content__line1}>Explore InteraKto</p>
|
||||||
Explore InteraKto
|
|
||||||
</p>
|
|
||||||
<h2 className={style.section5__content__line2}>
|
<h2 className={style.section5__content__line2}>
|
||||||
Concept Explainers That Engage
|
Concept Explainers That Engage
|
||||||
</h2>
|
</h2>
|
||||||
|
|
|
@ -5,10 +5,6 @@
|
||||||
/* --interakto-primary-color4: #afba28; */
|
/* --interakto-primary-color4: #afba28; */
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ///////////////// */
|
/* ///////////////// */
|
||||||
/* /// Section 1 /// */
|
/* /// Section 1 /// */
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,20 @@
|
||||||
|
import KeyboardBackspaceIcon from "@mui/icons-material/KeyboardBackspace";
|
||||||
|
import { useContext } from "react";
|
||||||
|
import { GameContext } from "../../context/GameContext";
|
||||||
|
|
||||||
export default function Index() {
|
export default function Index() {
|
||||||
|
const { gameLink } = useContext(GameContext);
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div style={{ position: "absolute", top: "12px", left: "10px" }}>
|
<div style={{ position: "absolute", top: "12px", left: "10px" }}>
|
||||||
<a href={`/interactive-learning-resources-for-preschool`}>
|
<a href={`/interactive-learning-resources-for-preschool`}>
|
||||||
<i class="fa fa-arrow-left fa-2x" aria-hidden="true"></i>
|
<KeyboardBackspaceIcon fontSize="large" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style={{ height: "100vh", display: "flex", flexDirection: "column" }}
|
style={{ height: "100vh", display: "flex", flexDirection: "column" }}
|
||||||
>
|
>
|
||||||
<iframe
|
<iframe src={gameLink} style={{ flex: 1, border: "none" }} />
|
||||||
src={`https://interaktogames.beanstalkedu.com/${window.location.search.replace(
|
|
||||||
/^\?/,
|
|
||||||
""
|
|
||||||
)}`}
|
|
||||||
style={{ flex: 1, border: "none" }}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useEffect, useMemo, useState } from "react";
|
import React, { useMemo, useState } from "react";
|
||||||
|
|
||||||
import ArrowForwardOutlinedIcon from "@mui/icons-material/ArrowForwardOutlined";
|
import ArrowForwardOutlinedIcon from "@mui/icons-material/ArrowForwardOutlined";
|
||||||
import ClearIcon from "@mui/icons-material/Clear";
|
import ClearIcon from "@mui/icons-material/Clear";
|
||||||
|
@ -11,259 +11,240 @@ import ProductCard from "../components/ProductCard/ProductCard";
|
||||||
|
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
import { toast } from "react-toastify";
|
import { toast } from "react-toastify";
|
||||||
import {
|
import { removeItemFromCart, updatePurchase, validateCoupon } from "../../redux/purchaseSlice";
|
||||||
getPurchaseDetails,
|
|
||||||
removeItemFromCart,
|
|
||||||
updatePurchase,
|
|
||||||
validateCoupon,
|
|
||||||
} from "../../redux/purchaseSlice";
|
|
||||||
import { getFormattedCurrency } from "../../utils";
|
import { getFormattedCurrency } from "../../utils";
|
||||||
import style from "./Cart.module.css";
|
import style from "./Cart.module.css";
|
||||||
|
|
||||||
function CartPage() {
|
function CartPage() {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
// const navigate = useNavigate();
|
// const navigate = useNavigate();
|
||||||
|
|
||||||
const { purchaseDetails } = useSelector(({ purchase }) => {
|
const { purchaseDetails } = useSelector(({ purchase }) => {
|
||||||
return {
|
return {
|
||||||
purchaseDetails: purchase.purchaseDetails,
|
purchaseDetails: purchase.purchaseDetails,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log("purchaseDetails", purchaseDetails);
|
const removeFromCart = (cartItemId) => {
|
||||||
|
if (window.confirm("Do you really want to remove this Item?")) {
|
||||||
|
dispatch(removeItemFromCart({ cartItemId }));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const removeFromCart = (cartItemId) => {
|
const changeLicenseCount = (cartItemId, licenseCount) => {
|
||||||
if (window.confirm("Do you really want to remove this Item?")) {
|
let cartItem = purchaseDetails.cartItems.find(
|
||||||
dispatch(removeItemFromCart({ cartItemId }));
|
({ _id }) => _id === cartItemId
|
||||||
}
|
);
|
||||||
};
|
cartItem = JSON.parse(JSON.stringify(cartItem));
|
||||||
|
if (!cartItem.additionalLicenses || cartItem.additionalLicenses.length <= 0)
|
||||||
|
return;
|
||||||
|
cartItem.additionalLicenses[0].count = licenseCount;
|
||||||
|
|
||||||
const changeLicenseCount = (cartItemId, licenseCount) => {
|
dispatch(
|
||||||
let cartItem = purchaseDetails.cartItems.find(
|
updatePurchase({
|
||||||
({ _id }) => _id === cartItemId
|
cartItem,
|
||||||
);
|
})
|
||||||
cartItem = JSON.parse(JSON.stringify(cartItem));
|
);
|
||||||
if (!cartItem.additionalLicenses || cartItem.additionalLicenses.length <= 0)
|
};
|
||||||
return;
|
|
||||||
cartItem.additionalLicenses[0].count = licenseCount;
|
|
||||||
|
|
||||||
dispatch(
|
const changeBuyOnlyLicenseFlag = (cartItemId, value) => {
|
||||||
updatePurchase({
|
let cartItem = purchaseDetails.cartItems.find(
|
||||||
cartItem,
|
({ _id }) => _id === cartItemId
|
||||||
})
|
);
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const changeBuyOnlyLicenseFlag = (cartItemId, value) => {
|
const payload = {
|
||||||
let cartItem = purchaseDetails.cartItems.find(
|
_id: cartItem._id,
|
||||||
({ _id }) => _id === cartItemId
|
planId: cartItem.planId,
|
||||||
);
|
buyingOnlyLicenses: value,
|
||||||
|
};
|
||||||
|
|
||||||
const payload = {
|
dispatch(
|
||||||
_id: cartItem._id,
|
updatePurchase({
|
||||||
planId: cartItem.planId,
|
cartItem: payload,
|
||||||
buyingOnlyLicenses: value,
|
})
|
||||||
};
|
);
|
||||||
|
};
|
||||||
|
|
||||||
dispatch(
|
const changeTerm = (cartItemId, newIdx) => {
|
||||||
updatePurchase({
|
let cartItem = purchaseDetails.cartItems.find(
|
||||||
cartItem: payload,
|
({ _id }) => _id === cartItemId
|
||||||
})
|
);
|
||||||
);
|
cartItem = JSON.parse(JSON.stringify(cartItem));
|
||||||
};
|
|
||||||
|
|
||||||
const changeTerm = (cartItemId, newIdx) => {
|
cartItem.planVariantIdx = newIdx;
|
||||||
let cartItem = purchaseDetails.cartItems.find(
|
|
||||||
({ _id }) => _id === cartItemId
|
|
||||||
);
|
|
||||||
cartItem = JSON.parse(JSON.stringify(cartItem));
|
|
||||||
|
|
||||||
cartItem.planVariantIdx = newIdx;
|
dispatch(
|
||||||
|
updatePurchase({
|
||||||
|
cartItem,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
dispatch(
|
const redirectToCheckout = () => {
|
||||||
updatePurchase({
|
// navigate("/purchase/user_details");
|
||||||
cartItem,
|
window.location.href = "/purchase/user_details";
|
||||||
})
|
};
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const redirectToCheckout = () => {
|
const [couponCode, setCouponCode] = useState("");
|
||||||
// navigate("/purchase/user_details");
|
|
||||||
window.location.href = "/purchase/user_details";
|
|
||||||
};
|
|
||||||
|
|
||||||
const [couponCode, setCouponCode] = useState("");
|
const applyDiscount = () => {
|
||||||
|
dispatch(validateCoupon({ couponCode }))
|
||||||
|
.unwrap()
|
||||||
|
.then((res) => {
|
||||||
|
const { getOffer } = res;
|
||||||
|
let discount = { code: couponCode };
|
||||||
|
if (getOffer.type === "PERCENTAGE") discount.percentage = getOffer.amount;
|
||||||
|
else if (getOffer.type === "FLAT") discount.amount = getOffer.amount;
|
||||||
|
|
||||||
const applyDiscount = () => {
|
dispatch(
|
||||||
dispatch(validateCoupon({ couponCode }))
|
updatePurchase({
|
||||||
.unwrap()
|
discount,
|
||||||
.then((res) => {
|
})
|
||||||
const { getOffer } = res;
|
);
|
||||||
let discount = { code: couponCode };
|
setCouponCode("");
|
||||||
if (getOffer.type === "PERCENTAGE")
|
})
|
||||||
discount.percentage = getOffer.amount;
|
.catch((err) => {
|
||||||
else if (getOffer.type === "FLAT") discount.amount = getOffer.amount;
|
toast.error(err.message);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
dispatch(
|
const removeDiscount = () => {
|
||||||
updatePurchase({
|
dispatch(
|
||||||
discount,
|
updatePurchase({
|
||||||
})
|
discount: null,
|
||||||
);
|
})
|
||||||
setCouponCode("");
|
);
|
||||||
})
|
};
|
||||||
.catch((err) => {
|
|
||||||
toast.error(err.message);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const removeDiscount = () => {
|
const isCartEmpty = useMemo(() => {
|
||||||
dispatch(
|
return purchaseDetails && purchaseDetails.currency ? false : true;
|
||||||
updatePurchase({
|
}, [purchaseDetails]);
|
||||||
discount: null,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const isCartEmpty = useMemo(() => {
|
return (
|
||||||
return purchaseDetails && purchaseDetails.currency ? false : true;
|
<div className={style.main_container}>
|
||||||
}, [purchaseDetails]);
|
<ContentWrapper>
|
||||||
|
<Header theme="DARK2" />
|
||||||
|
<div className={style.section1}>
|
||||||
|
{" "}
|
||||||
|
<p>
|
||||||
|
{!isCartEmpty
|
||||||
|
? `Your cart total is ${getFormattedCurrency(
|
||||||
|
purchaseDetails.currency,
|
||||||
|
purchaseDetails.totalCost
|
||||||
|
)}`
|
||||||
|
: "Your cart is Empty"}
|
||||||
|
</p>
|
||||||
|
<Button
|
||||||
|
variant="contained"
|
||||||
|
onClick={redirectToCheckout}
|
||||||
|
disabled={isCartEmpty}
|
||||||
|
>
|
||||||
|
Check Out{" "}
|
||||||
|
<ArrowForwardOutlinedIcon sx={{ marginLeft: "0.5rem", fontSize: 20 }} />
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
useEffect(() => {
|
<div className={style.section2}>
|
||||||
dispatch(getPurchaseDetails());
|
{purchaseDetails &&
|
||||||
}, []);
|
purchaseDetails.cartItems &&
|
||||||
|
purchaseDetails.cartItems.map((data) => (
|
||||||
|
<ProductCard
|
||||||
|
currency={purchaseDetails.currency}
|
||||||
|
data={data}
|
||||||
|
removeFromCart={removeFromCart}
|
||||||
|
changeBuyOnlyLicenseFlag={changeBuyOnlyLicenseFlag}
|
||||||
|
changeLicenseCount={changeLicenseCount}
|
||||||
|
changeTerm={changeTerm}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
|
||||||
return (
|
<div className={style.section3}>
|
||||||
<div className={style.main_container}>
|
<div>
|
||||||
<ContentWrapper>
|
<p>Sub-total</p>
|
||||||
<Header theme="DARK2" />
|
<p className={style.price}>
|
||||||
<div className={style.section1}>
|
{purchaseDetails
|
||||||
{" "}
|
? getFormattedCurrency(
|
||||||
<p>
|
purchaseDetails.currency,
|
||||||
{!isCartEmpty
|
purchaseDetails.subTotalCost
|
||||||
? `Your cart total is ${getFormattedCurrency(
|
)
|
||||||
purchaseDetails.currency,
|
: "Nil"}
|
||||||
purchaseDetails.totalCost
|
</p>
|
||||||
)}`
|
</div>
|
||||||
: "Your cart is Empty"}
|
<div>
|
||||||
</p>
|
<p>Other taxes</p>
|
||||||
<Button
|
<p className={style.price}>
|
||||||
variant="contained"
|
{purchaseDetails
|
||||||
onClick={redirectToCheckout}
|
? getFormattedCurrency(
|
||||||
disabled={isCartEmpty}
|
purchaseDetails.currency,
|
||||||
>
|
purchaseDetails.otherTaxesCost
|
||||||
Check Out{" "}
|
)
|
||||||
<ArrowForwardOutlinedIcon
|
: "Nil"}
|
||||||
sx={{ marginLeft: "0.5rem", fontSize: 20 }}
|
</p>
|
||||||
/>
|
</div>
|
||||||
</Button>
|
<div className={style.coupon_row}>
|
||||||
</div>
|
<p>Have a discount code?</p>
|
||||||
|
{purchaseDetails && purchaseDetails.discount ? (
|
||||||
|
<>
|
||||||
|
<div className={style.coupon_code}>
|
||||||
|
<span>{purchaseDetails.discount.code} </span>{" "}
|
||||||
|
<ClearIcon style={{ cursor: "pointer" }} onClick={removeDiscount} />
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className={style.section2}>
|
<p className={style.price}>
|
||||||
{purchaseDetails &&
|
{getFormattedCurrency(
|
||||||
purchaseDetails.cartItems &&
|
purchaseDetails.currency,
|
||||||
purchaseDetails.cartItems.map((data) => (
|
-purchaseDetails.discount.amount
|
||||||
<ProductCard
|
)}
|
||||||
currency={purchaseDetails.currency}
|
</p>
|
||||||
data={data}
|
</>
|
||||||
removeFromCart={removeFromCart}
|
) : (
|
||||||
changeBuyOnlyLicenseFlag={changeBuyOnlyLicenseFlag}
|
<div className={style.coupon}>
|
||||||
changeLicenseCount={changeLicenseCount}
|
<TextField
|
||||||
changeTerm={changeTerm}
|
fullWidth
|
||||||
/>
|
id="discount_code"
|
||||||
))}
|
placeholder="Discount Code"
|
||||||
</div>
|
value={couponCode}
|
||||||
|
onChange={(e) => {
|
||||||
|
setCouponCode(e.target.value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Button
|
||||||
|
fullWidth
|
||||||
|
variant="outlined"
|
||||||
|
disabled={!couponCode}
|
||||||
|
onClick={applyDiscount}
|
||||||
|
>
|
||||||
|
Apply
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className={style.section3}>
|
<div>
|
||||||
<div>
|
<p>Total</p>
|
||||||
<p>Sub-total</p>
|
<p className={style.price}>
|
||||||
<p className={style.price}>
|
{purchaseDetails
|
||||||
{purchaseDetails
|
? getFormattedCurrency(
|
||||||
? getFormattedCurrency(
|
purchaseDetails.currency,
|
||||||
purchaseDetails.currency,
|
purchaseDetails.totalCost
|
||||||
purchaseDetails.subTotalCost
|
)
|
||||||
)
|
: "Nil"}
|
||||||
: "Nil"}
|
</p>
|
||||||
</p>
|
</div>
|
||||||
</div>
|
<Button
|
||||||
<div>
|
variant="contained"
|
||||||
<p>Other taxes</p>
|
onClick={redirectToCheckout}
|
||||||
<p className={style.price}>
|
disabled={isCartEmpty}
|
||||||
{purchaseDetails
|
className={style.checkout}
|
||||||
? getFormattedCurrency(
|
>
|
||||||
purchaseDetails.currency,
|
Check Out{" "}
|
||||||
purchaseDetails.otherTaxesCost
|
<ArrowForwardOutlinedIcon sx={{ marginLeft: "0.5rem", fontSize: 20 }} />
|
||||||
)
|
</Button>
|
||||||
: "Nil"}
|
</div>
|
||||||
</p>
|
</ContentWrapper>
|
||||||
</div>
|
</div>
|
||||||
<div className={style.coupon_row}>
|
);
|
||||||
<p>Have a discount code?</p>
|
|
||||||
{purchaseDetails && purchaseDetails.discount ? (
|
|
||||||
<>
|
|
||||||
<div className={style.coupon_code}>
|
|
||||||
<span>{purchaseDetails.discount.code} </span>{" "}
|
|
||||||
<ClearIcon
|
|
||||||
style={{ cursor: "pointer" }}
|
|
||||||
onClick={removeDiscount}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p className={style.price}>
|
|
||||||
{getFormattedCurrency(
|
|
||||||
purchaseDetails.currency,
|
|
||||||
-purchaseDetails.discount.amount
|
|
||||||
)}
|
|
||||||
</p>
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
<div className={style.coupon}>
|
|
||||||
<TextField
|
|
||||||
fullWidth
|
|
||||||
id="discount_code"
|
|
||||||
placeholder="Discount Code"
|
|
||||||
value={couponCode}
|
|
||||||
onChange={(e) => {
|
|
||||||
setCouponCode(e.target.value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<Button
|
|
||||||
fullWidth
|
|
||||||
variant="outlined"
|
|
||||||
disabled={!couponCode}
|
|
||||||
onClick={applyDiscount}
|
|
||||||
>
|
|
||||||
Apply
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<p>Total</p>
|
|
||||||
<p className={style.price}>
|
|
||||||
{purchaseDetails
|
|
||||||
? getFormattedCurrency(
|
|
||||||
purchaseDetails.currency,
|
|
||||||
purchaseDetails.totalCost
|
|
||||||
)
|
|
||||||
: "Nil"}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<Button
|
|
||||||
variant="contained"
|
|
||||||
onClick={redirectToCheckout}
|
|
||||||
disabled={isCartEmpty}
|
|
||||||
className={style.checkout}
|
|
||||||
>
|
|
||||||
Check Out{" "}
|
|
||||||
<ArrowForwardOutlinedIcon
|
|
||||||
sx={{ marginLeft: "0.5rem", fontSize: 20 }}
|
|
||||||
/>
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</ContentWrapper>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default CartPage;
|
export default CartPage;
|
||||||
|
|
|
@ -3,283 +3,283 @@ import { isAxiosError } from "axios";
|
||||||
import { axiosBuzz, axiosBuzzOne } from "../utils/axios";
|
import { axiosBuzz, axiosBuzzOne } from "../utils/axios";
|
||||||
|
|
||||||
export const getAkademyPlans = createAsyncThunk(
|
export const getAkademyPlans = createAsyncThunk(
|
||||||
`COMMON/akademy/plans`,
|
`COMMON/akademy/plans`,
|
||||||
async (payload) => {
|
async (payload) => {
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: "/akademy/subscriptions/plans",
|
url: "/akademy/subscriptions/plans",
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const getAkademyClasses = createAsyncThunk(
|
export const getAkademyClasses = createAsyncThunk(
|
||||||
`COMMON/akademy/classes`,
|
`COMMON/akademy/classes`,
|
||||||
async (payload) => {
|
async (payload) => {
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: "/akademy/bcc/school/classes",
|
url: "/akademy/bcc/school/classes",
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const createPurchase = createAsyncThunk(
|
export const createPurchase = createAsyncThunk(
|
||||||
`PURCHASE:POST/akademy/purchase`,
|
`PURCHASE:POST/akademy/purchase`,
|
||||||
async (payload) => {
|
async (payload) => {
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: "/akademy/subscriptions/purchase",
|
url: "/akademy/subscriptions/purchase",
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const updatePurchase = createAsyncThunk(
|
export const updatePurchase = createAsyncThunk(
|
||||||
`PURCHASE:PUT/akademy/purchase`,
|
`PURCHASE:PUT/akademy/purchase`,
|
||||||
async (payload, { getState, dispatch }) => {
|
async (payload, { getState, dispatch }) => {
|
||||||
const { purchase } = getState();
|
const { purchase } = getState();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "PUT",
|
method: "PUT",
|
||||||
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart`,
|
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart`,
|
||||||
data: payload,
|
data: payload,
|
||||||
});
|
});
|
||||||
dispatch(getPurchaseDetails());
|
dispatch(getPurchaseDetails());
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const removeItemFromCart = createAsyncThunk(
|
export const removeItemFromCart = createAsyncThunk(
|
||||||
`PURCHASE:DELETE/akademy/purchase`,
|
`PURCHASE:DELETE/akademy/purchase`,
|
||||||
async (payload, { getState, dispatch }) => {
|
async (payload, { getState, dispatch }) => {
|
||||||
const { cartItemId } = payload;
|
const { cartItemId } = payload;
|
||||||
const { purchase } = getState();
|
const { purchase } = getState();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart/${cartItemId}`,
|
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart/${cartItemId}`,
|
||||||
data: payload,
|
data: payload,
|
||||||
});
|
});
|
||||||
dispatch(getPurchaseDetails());
|
dispatch(getPurchaseDetails());
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const getPurchaseDetails = createAsyncThunk(
|
export const getPurchaseDetails = createAsyncThunk(
|
||||||
`PURCHASE:GET/akademy/purchase`,
|
`PURCHASE:GET/akademy/purchase`,
|
||||||
async (payload, { getState }) => {
|
async (payload, { getState }) => {
|
||||||
const { purchase } = getState();
|
const { purchase } = getState();
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart`,
|
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart`,
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const initiatePayment = createAsyncThunk(
|
export const initiatePayment = createAsyncThunk(
|
||||||
`PURCHASE:POST/akademy/purchase/initiatePayment`,
|
`PURCHASE:POST/akademy/purchase/initiatePayment`,
|
||||||
async (payload, { getState }) => {
|
async (payload, { getState }) => {
|
||||||
const { purchase } = getState();
|
const { purchase } = getState();
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart/checkout`,
|
url: `/akademy/subscriptions/purchase/${purchase.purchaseId}/cart/checkout`,
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const verifyPayment = createAsyncThunk(
|
export const verifyPayment = createAsyncThunk(
|
||||||
`PURCHASE:POST/akademy/purchase/verifyPayment`,
|
`PURCHASE:POST/akademy/purchase/verifyPayment`,
|
||||||
async (payload) => {
|
async (payload) => {
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzz({
|
const response = await axiosBuzz({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: "/payments/verify",
|
url: "/payments/verify",
|
||||||
data: {
|
data: {
|
||||||
txnId: payload.txnId,
|
txnId: payload.txnId,
|
||||||
provider: "airpay",
|
provider: "airpay",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const validateCoupon = createAsyncThunk(
|
export const validateCoupon = createAsyncThunk(
|
||||||
`COUPON:POST/validate`,
|
`COUPON:POST/validate`,
|
||||||
async (payload) => {
|
async (payload) => {
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: "/offer/validate-coupon",
|
url: "/offer/validate-coupon",
|
||||||
data: {
|
data: {
|
||||||
code: payload.couponCode,
|
code: payload.couponCode,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
if (isAxiosError(err))
|
if (isAxiosError(err))
|
||||||
throw new Error(err.response.data.message || "Something went wrong");
|
throw new Error(err.response.data.message || "Something went wrong");
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const getAllTeenybeansLanguages = createAsyncThunk(
|
export const getAllTeenybeansLanguages = createAsyncThunk(
|
||||||
`PURCHASE:getAllTeenybeansLanguages`,
|
`PURCHASE:getAllTeenybeansLanguages`,
|
||||||
async (paylaod, { rejectWithValue }) => {
|
async (paylaod, { rejectWithValue }) => {
|
||||||
try {
|
try {
|
||||||
const response = await axiosBuzzOne({
|
const response = await axiosBuzzOne({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: "/akademy/bcc/user/languages",
|
url: "/akademy/bcc/user/languages",
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return rejectWithValue(error.response.data);
|
return rejectWithValue(error.response.data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const purchaseSlice = createSlice({
|
export const purchaseSlice = createSlice({
|
||||||
name: "purchase",
|
name: "purchase",
|
||||||
initialState: {
|
initialState: {
|
||||||
currency: localStorage.getItem("currency") || "INR",
|
currency: localStorage.getItem("currency") || "INR",
|
||||||
planDetails: {},
|
planDetails: {},
|
||||||
planPriceDetails: {
|
planPriceDetails: {
|
||||||
RETAIL_PARENT: {},
|
RETAIL_PARENT: {},
|
||||||
TUTION_EDUCATOR: {},
|
TUTION_EDUCATOR: {},
|
||||||
ENTERPRISE_SCHOOL: {},
|
ENTERPRISE_SCHOOL: {},
|
||||||
},
|
},
|
||||||
classes: [],
|
classes: [],
|
||||||
purchaseId: localStorage.getItem("PURCHASE_ID"),
|
purchaseId: localStorage.getItem("PURCHASE_ID"),
|
||||||
purchaseDetails: {},
|
purchaseDetails: {},
|
||||||
userDetails:
|
userDetails:
|
||||||
(localStorage.getItem("USER_DETAILS") &&
|
(localStorage.getItem("USER_DETAILS") &&
|
||||||
JSON.parse(localStorage.getItem("USER_DETAILS"))) ||
|
JSON.parse(localStorage.getItem("USER_DETAILS"))) ||
|
||||||
{},
|
{},
|
||||||
statusByName: {},
|
statusByName: {},
|
||||||
teenybeansLanguages: [],
|
teenybeansLanguages: [],
|
||||||
},
|
},
|
||||||
reducers: {
|
reducers: {
|
||||||
clearPurchaseCart: (state, action) => {
|
clearPurchaseCart: (state, action) => {
|
||||||
state.purchaseId = undefined;
|
state.purchaseId = undefined;
|
||||||
localStorage.removeItem("PURCHASE_ID");
|
localStorage.removeItem("PURCHASE_ID");
|
||||||
state.purchaseDetails = {};
|
state.purchaseDetails = {};
|
||||||
state.userDetails = {};
|
state.userDetails = {};
|
||||||
localStorage.removeItem("USER_DETAILS");
|
localStorage.removeItem("USER_DETAILS");
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
localStorage.removeItem("IS_USER_VERIFIED");
|
localStorage.removeItem("IS_USER_VERIFIED");
|
||||||
localStorage.removeItem("IS_EMAIL_OTP_SENT");
|
localStorage.removeItem("IS_EMAIL_OTP_SENT");
|
||||||
},
|
},
|
||||||
|
|
||||||
saveUserDetails: (state, action) => {
|
saveUserDetails: (state, action) => {
|
||||||
state.userDetails = action.payload;
|
state.userDetails = action.payload;
|
||||||
localStorage.setItem("USER_DETAILS", JSON.stringify(action.payload));
|
localStorage.setItem("USER_DETAILS", JSON.stringify(action.payload));
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
extraReducers: (builder) => {
|
extraReducers: (builder) => {
|
||||||
builder.addCase(getAkademyPlans.pending, (state, action) => {
|
builder.addCase(getAkademyPlans.pending, (state, action) => {
|
||||||
state.statusByName["plans"] = "pending";
|
state.statusByName["plans"] = "pending";
|
||||||
});
|
});
|
||||||
builder.addCase(getAkademyPlans.fulfilled, (state, action) => {
|
builder.addCase(getAkademyPlans.fulfilled, (state, action) => {
|
||||||
state.statusByName["plans"] = "fulfilled";
|
state.statusByName["plans"] = "fulfilled";
|
||||||
|
|
||||||
action.payload.data.map((plan) => {
|
action.payload.data.map((plan) => {
|
||||||
const { _id, products, productCategory } = plan;
|
const { _id, products, productCategory } = plan;
|
||||||
state.planDetails[_id] = plan;
|
state.planDetails[_id] = plan;
|
||||||
if (products && Array.isArray(products) && products.length == 1) {
|
if (products && Array.isArray(products) && products.length == 1) {
|
||||||
state.planPriceDetails[productCategory][products[0]] = plan;
|
state.planPriceDetails[productCategory][products[0]] = plan;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
builder.addCase(getAkademyPlans.rejected, (state, action) => {
|
builder.addCase(getAkademyPlans.rejected, (state, action) => {
|
||||||
state.statusByName["plans"] = "rejected";
|
state.statusByName["plans"] = "rejected";
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.addCase(getAkademyClasses.pending, (state, action) => {
|
builder.addCase(getAkademyClasses.pending, (state, action) => {
|
||||||
state.statusByName["classes"] = "pending";
|
state.statusByName["classes"] = "pending";
|
||||||
});
|
});
|
||||||
builder.addCase(getAkademyClasses.fulfilled, (state, action) => {
|
builder.addCase(getAkademyClasses.fulfilled, (state, action) => {
|
||||||
state.statusByName["classes"] = "fulfilled";
|
state.statusByName["classes"] = "fulfilled";
|
||||||
state.classes = ["IK3", "IK2", "IK1", "PG"]?.map((item) =>
|
state.classes = ["IK3", "IK2", "IK1", "PG"]?.map((item) =>
|
||||||
action.payload.data?.find((el) => el.name === item)
|
action.payload.data?.find((el) => el.name === item)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
builder.addCase(getAkademyClasses.rejected, (state, action) => {
|
builder.addCase(getAkademyClasses.rejected, (state, action) => {
|
||||||
state.statusByName["classes"] = "rejected";
|
state.statusByName["classes"] = "rejected";
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.addCase(createPurchase.fulfilled, (state, action) => {
|
builder.addCase(createPurchase.fulfilled, (state, action) => {
|
||||||
const purchaseId = action.payload.data._id;
|
const purchaseId = action.payload.data._id;
|
||||||
state.purchaseId = purchaseId;
|
state.purchaseId = purchaseId;
|
||||||
localStorage.setItem("PURCHASE_ID", purchaseId);
|
localStorage.setItem("PURCHASE_ID", purchaseId);
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.addCase(getPurchaseDetails.fulfilled, (state, action) => {
|
builder.addCase(getPurchaseDetails.fulfilled, (state, action) => {
|
||||||
state.purchaseDetails = action.payload.data;
|
state.purchaseDetails = action.payload.data.data[0];
|
||||||
});
|
});
|
||||||
builder.addCase(getAllTeenybeansLanguages.fulfilled, (state, action) => {
|
builder.addCase(getAllTeenybeansLanguages.fulfilled, (state, action) => {
|
||||||
state.teenybeansLanguages = action.payload.data;
|
state.teenybeansLanguages = action.payload.data;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// Action creators are generated for each case reducer function
|
// Action creators are generated for each case reducer function
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import style from "./GroupSection.module.css";
|
import style from "./GroupSection.module.css";
|
||||||
import Carousel from "react-multi-carousel";
|
import Carousel from "react-multi-carousel";
|
||||||
import "react-multi-carousel/lib/styles.css";
|
|
||||||
|
|
||||||
const data = [
|
const data = [
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,30 +6,17 @@ export interface Props {
|
||||||
ogImage: string;
|
ogImage: string;
|
||||||
ogUrl: string;
|
ogUrl: string;
|
||||||
canonicalUrl: string;
|
canonicalUrl: string;
|
||||||
newSchema1:string;
|
|
||||||
newSchema2:string;
|
|
||||||
newSchema3:string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const { title, description, keywords, ogImage, ogUrl, canonicalUrl, newSchema1, newSchema2, newSchema3 } = Astro.props;
|
const { title, description, keywords, ogImage, ogUrl, canonicalUrl } = Astro.props;
|
||||||
console.log('Astro.props', newSchema1, newSchema2, newSchema3)
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!-- Google tag (gtag.js) -->
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-M4948JYT6C"></script>
|
|
||||||
<script is:inline>
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag(){dataLayer.push(arguments);}
|
|
||||||
gtag('js', new Date());
|
|
||||||
|
|
||||||
gtag('config', 'G-M4948JYT6C');
|
|
||||||
</script>
|
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/assets/akademy-logo.png" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
<meta name="google-site-verification" content="ULrPGBKj6_niSC1FkjuvDdM985OysHCWlzhTAKwra68" />
|
<meta name="google-site-verification" content="ULrPGBKj6_niSC1FkjuvDdM985OysHCWlzhTAKwra68" />
|
||||||
<meta name="generator" content={Astro.generator} />
|
<meta name="generator" content={Astro.generator} />
|
||||||
<title>{title}</title>
|
<title>{title}</title>
|
||||||
|
@ -43,23 +30,6 @@ console.log('Astro.props', newSchema1, newSchema2, newSchema3)
|
||||||
<meta property="og:image" content={ogImage}>
|
<meta property="og:image" content={ogImage}>
|
||||||
<meta property="og:url" content={ogUrl}>
|
<meta property="og:url" content={ogUrl}>
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<script is:inline type="application/ld+json" set:html={newSchema1}/>
|
|
||||||
<script is:inline type="application/ld+json" set:html={newSchema2}/>
|
|
||||||
<script is:inline type="application/ld+json" set:html={newSchema3}/>
|
|
||||||
<!-- {newSchema1 && (
|
|
||||||
<script is:inline type="application/ld+json" set:html={newSchema1}/>
|
|
||||||
)}
|
|
||||||
{newSchema2 && (
|
|
||||||
// <script type="application/ld+json" dangerouslySetInnerHTML={{__html: newSchema2, }}/>
|
|
||||||
<script is:inline type="application/ld+json" set:html={newSchema2}/>
|
|
||||||
)}
|
|
||||||
{newSchema3 && (
|
|
||||||
<script is:inline type="application/ld+json" set:html={newSchema3}/>
|
|
||||||
)} -->
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
|
|
||||||
/>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<slot />
|
<slot />
|
||||||
|
@ -90,10 +60,6 @@ console.log('Astro.props', newSchema1, newSchema2, newSchema3)
|
||||||
src: url(/src/assets/Inter.ttf);
|
src: url(/src/assets/Inter.ttf);
|
||||||
}
|
}
|
||||||
|
|
||||||
h1,h2,h3,h4,h5,h6 {
|
|
||||||
margin:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#root {
|
#root {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
---
|
|
||||||
import Layout from "../layouts/Layout.astro";
|
|
||||||
import PageNotFound from "../components/PageNotFound/index.jsx";
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout >
|
|
||||||
<PageNotFound client:only="react" />
|
|
||||||
</Layout>
|
|
||||||
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
---
|
|
||||||
import Layout from "../layouts/Layout.astro";
|
|
||||||
import About from "../components/About/index.jsx";
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout
|
|
||||||
title = "About aKadmy | Transforming Early Education with AI Solutions"
|
|
||||||
description = "Learn how aKadmy empowers preschools with AI-driven tools, enhancing education and streamlining management. Join us in transforming early childhood learning."
|
|
||||||
canonicalUrl = "https://akadmyapp.com/about-us"
|
|
||||||
keywords = "Learning, aKadmy, Early Education, Preschool, Engaging, playful"
|
|
||||||
ogImage = "/assets/akademy_Logo.png"
|
|
||||||
ogUrl = "https://akadmyapp.com"
|
|
||||||
>
|
|
||||||
<About client:only="react" />
|
|
||||||
</Layout>
|
|
||||||
|
|
||||||
|
|
|
@ -35,22 +35,7 @@ export async function getStaticPaths() {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log('blogData000', blogData, `https://akadmyapp.com/blogs/${id}`)
|
|
||||||
|
|
||||||
// const schema1 = blogData.schema1.replaceAll("\n", "");
|
|
||||||
const schema1 = blogData?.schema?.replaceAll("\n", "");
|
|
||||||
const schema2 = blogData?.schema2?.replaceAll("\n", "");
|
|
||||||
const schema3 = blogData?.schema3?.replaceAll("\n", "");
|
|
||||||
---
|
---
|
||||||
<Layout
|
<Layout title={blogData?.title ?? 'Blog | Akademy'}>
|
||||||
title={blogData?.title ?? 'Blog | Akademy'}
|
|
||||||
description={blogData?.meta_description}
|
|
||||||
canonicalUrl={`https://akadmyapp.com/blogs/${id}`}
|
|
||||||
ogImage={`https://management.beanstalkedu.com/assets/${blogData?.og_img}`}
|
|
||||||
ogUrl={'https://akadmyapp.com'}
|
|
||||||
newSchema1={schema1}
|
|
||||||
newSchema2={schema2}
|
|
||||||
newSchema3={schema3}>
|
|
||||||
|
|
||||||
<SingleBlog client:only="react" blog={blogData} />
|
<SingleBlog client:only="react" blog={blogData} />
|
||||||
</Layout>
|
</Layout>
|
|
@ -15,6 +15,6 @@ try {
|
||||||
blogs = [];
|
blogs = [];
|
||||||
}
|
}
|
||||||
---
|
---
|
||||||
<Layout title="aKadmy Blogs | Insights, Tips, and Trends for Early Childhood" description={'Stay updated with the latest trends, insights, and tips on early childhood education. Explore aKadmy’s blog for valuable resources and expert advice.'} canonicalUrl={'https://akadmyapp.com/blogs'}>
|
<Layout title="Akademy Landing - Blogs">
|
||||||
<AllBlogs client:only="react" />
|
<AllBlogs client:only="react" />
|
||||||
</Layout>
|
</Layout>
|
|
@ -1,18 +0,0 @@
|
||||||
---
|
|
||||||
import Layout from "../layouts/Layout.astro";
|
|
||||||
import Contact from "../components/Contact/index.jsx";
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout
|
|
||||||
title = "Learn more about aKadmy | We're Here to Support You"
|
|
||||||
description = "Have questions? Reach out to aKadmy for personalized support and discover how our solutions can elevate your preschool's education experience."
|
|
||||||
canonicalUrl = "https://akadmyapp.com/contact-us"
|
|
||||||
keywords = "Learning, aKadmy, Early Education, Preschool, Engaging, playful"
|
|
||||||
ogImage = "/assets/akademy_Logo.png"
|
|
||||||
ogUrl = "https://akadmyapp.com"
|
|
||||||
>
|
|
||||||
<Contact client:only="react" />
|
|
||||||
</Layout>
|
|
||||||
|
|
||||||
|
|
|
@ -1,43 +1,16 @@
|
||||||
---
|
---
|
||||||
import Layout from "../layouts/Layout.astro";
|
import Layout from "../layouts/Layout.astro";
|
||||||
import HomePage from "../components/Home/Home.jsx";
|
import HomePage from "../components/Home/Home.jsx";
|
||||||
|
|
||||||
const schemaData1 = JSON.stringify({
|
|
||||||
"@context": "https://schema.org/",
|
|
||||||
"@type": "Organization",
|
|
||||||
"@id": "#Organization",
|
|
||||||
"url": "https://akadmyapp.com/",
|
|
||||||
"legalName": "aKadmy",
|
|
||||||
"name": "aKadmyapp",
|
|
||||||
"description": "Akadmy is an AI-powered platform for early childhood educators, offering curriculum planning, observation tracking, and personalized learning tools. ",
|
|
||||||
"logo": "https://drive.google.com/file/d/1ULaxzcu5yITeiUoOrpME7_u5nyg3ldh6/view?usp=drive_link",
|
|
||||||
"telephone": "9748386431",
|
|
||||||
"email": "hello@akadmyapp.com",
|
|
||||||
"address": {
|
|
||||||
"@type": "PostalAddress",
|
|
||||||
"streetAddress": "38, 3rd Floor, Jalan Radin Anum",
|
|
||||||
"addressLocality": "Bandar Baru Sri Petaling",
|
|
||||||
"addressRegion": "Kuala Lumpur",
|
|
||||||
"addressCountry": "Malaysia",
|
|
||||||
"postalCode": "57000"
|
|
||||||
},
|
|
||||||
"sameAs": [
|
|
||||||
"https://www.facebook.com/get.aKadmy/",
|
|
||||||
"https://www.instagram.com/akadmyapp/",
|
|
||||||
"https://www.linkedin.com/showcase/akadmyapp/"
|
|
||||||
]
|
|
||||||
})
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout
|
<Layout
|
||||||
title = "Transform Early Learning with aKadmy's AI-Powered Education Tools"
|
title = "Transform Early Learning with aKadmy's AI-Powered Education Tools"
|
||||||
description = "AI-powered educational games and interactive platforms engage young learners with fun, meaningful learning experiences. Get the brochure."
|
description = "AI-powered educational games and interactive platforms engage young learners with fun, meaningful learning experiences. Get the brochure."
|
||||||
canonicalUrl = "https://akadmyapp.com"
|
|
||||||
keywords = "Learning, aKadmy, Early Education, Preschool, Engaging, playful"
|
keywords = "Learning, aKadmy, Early Education, Preschool, Engaging, playful"
|
||||||
ogImage = "/assets/akademy_Logo.png"
|
ogImage = "/assets/akademy_Logo.png"
|
||||||
ogUrl = "https://akadmyapp.com"
|
ogUrl = "https://akadmyapp.com"
|
||||||
newSchema1 = {schemaData1}
|
canonicalUrl = "https://akadmyapp.com"
|
||||||
>
|
>
|
||||||
<HomePage client:only="react" />
|
<HomePage client:only="react" />
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
import Layout from "../../layouts/Layout.astro";
|
import Layout from "../layouts/Layout.astro";
|
||||||
import Interakto from "../../components/interaKto/InteraKto";
|
import Interakto from "../components/interaKto/InteraKto";
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout
|
<Layout
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
import Layout from "../../layouts/Layout.astro";
|
|
||||||
import Worksheets from "../../components/interaKto/Worksheets";
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout
|
|
||||||
title = "Interactive Learning Resources for Preschool | aKadmy - Engaging Early Education"
|
|
||||||
description = "Spark your child's curiosity with aKadmy’s playful, interactive preschool resources—designed to make early learning fun, engaging, and meaningful."
|
|
||||||
keywords = "Learning, aKadmy, Early Education, Preschool, Engaging, playful"
|
|
||||||
ogImage = "/assets/akademy_Logo.png"
|
|
||||||
ogUrl = "https://akadmyapp.com/interactive-learning-resources-for-preschool"
|
|
||||||
canonicalUrl = "https://akadmyapp.com/interactive-learning-resources-for-preschool"
|
|
||||||
>
|
|
||||||
<Worksheets client:only="react" />
|
|
||||||
</Layout>
|
|
|
@ -1,18 +0,0 @@
|
||||||
---
|
|
||||||
import Layout from "../layouts/Layout.astro";
|
|
||||||
import TermCondition from "../components/TermCondition/index.jsx";
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout
|
|
||||||
title = "aKadmy Terms and Conditions | Your Trust, Our Commitment"
|
|
||||||
description = "aKadmy Terms and Conditions | Your Trust, Our Commitment"
|
|
||||||
canonicalUrl = "https://akadmyapp.com/term-and-conditions"
|
|
||||||
keywords = "Learning, aKadmy, Early Education, Preschool, Engaging, playful"
|
|
||||||
ogImage = "/assets/akademy_Logo.png"
|
|
||||||
ogUrl = "https://akadmyapp.com"
|
|
||||||
>
|
|
||||||
<TermCondition client:only="react" />
|
|
||||||
</Layout>
|
|
||||||
|
|
||||||
|
|
26
yarn.lock
26
yarn.lock
|
@ -2474,7 +2474,7 @@ cookie-es@^1.2.2:
|
||||||
resolved "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz"
|
resolved "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz"
|
||||||
integrity sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==
|
integrity sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==
|
||||||
|
|
||||||
cookie@^1.0.1, cookie@^1.0.2:
|
cookie@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz"
|
resolved "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz"
|
||||||
integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==
|
integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==
|
||||||
|
@ -5605,7 +5605,7 @@ randombytes@^2.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "^5.1.0"
|
safe-buffer "^5.1.0"
|
||||||
|
|
||||||
"react-dom@^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.2 || ^18.0.0 || ^19.0.0", "react-dom@^18 || ^19", react-dom@^19.1.0, react-dom@>=16.6.0, react-dom@>=18:
|
"react-dom@^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.2 || ^18.0.0 || ^19.0.0", "react-dom@^18 || ^19", react-dom@^19.1.0, react-dom@>=16.6.0:
|
||||||
version "19.1.0"
|
version "19.1.0"
|
||||||
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz"
|
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz"
|
||||||
integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==
|
integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==
|
||||||
|
@ -5666,21 +5666,6 @@ react-refresh@^0.17.0:
|
||||||
resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz"
|
resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz"
|
||||||
integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==
|
integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==
|
||||||
|
|
||||||
react-router-dom@^7.6.2:
|
|
||||||
version "7.6.2"
|
|
||||||
resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.2.tgz"
|
|
||||||
integrity sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==
|
|
||||||
dependencies:
|
|
||||||
react-router "7.6.2"
|
|
||||||
|
|
||||||
react-router@7.6.2:
|
|
||||||
version "7.6.2"
|
|
||||||
resolved "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz"
|
|
||||||
integrity sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==
|
|
||||||
dependencies:
|
|
||||||
cookie "^1.0.1"
|
|
||||||
set-cookie-parser "^2.6.0"
|
|
||||||
|
|
||||||
react-toastify@^11.0.5:
|
react-toastify@^11.0.5:
|
||||||
version "11.0.5"
|
version "11.0.5"
|
||||||
resolved "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz"
|
resolved "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz"
|
||||||
|
@ -5698,7 +5683,7 @@ react-transition-group@^4.4.5:
|
||||||
loose-envify "^1.4.0"
|
loose-envify "^1.4.0"
|
||||||
prop-types "^15.6.2"
|
prop-types "^15.6.2"
|
||||||
|
|
||||||
"react@^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18 || ^19", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^17.0.2 || ^18.0.0 || ^19.0.0", "react@^18 || ^19", "react@^18.0 || ^19", react@^19.1.0, react@>=16.6.0, react@>=16.8.0, react@>=18:
|
"react@^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18 || ^19", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^17.0.2 || ^18.0.0 || ^19.0.0", "react@^18 || ^19", "react@^18.0 || ^19", react@^19.1.0, react@>=16.6.0, react@>=16.8.0:
|
||||||
version "19.1.0"
|
version "19.1.0"
|
||||||
resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz"
|
resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz"
|
||||||
integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==
|
integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==
|
||||||
|
@ -6121,11 +6106,6 @@ serialize-javascript@^6.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
randombytes "^2.1.0"
|
randombytes "^2.1.0"
|
||||||
|
|
||||||
set-cookie-parser@^2.6.0:
|
|
||||||
version "2.7.1"
|
|
||||||
resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz"
|
|
||||||
integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==
|
|
||||||
|
|
||||||
set-function-length@^1.2.2:
|
set-function-length@^1.2.2:
|
||||||
version "1.2.2"
|
version "1.2.2"
|
||||||
resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz"
|
resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz"
|
||||||
|
|
Loading…
Reference in New Issue