diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 5043c568381..a594c66c0e5 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -84,10 +84,10 @@ const config: Config = { target: "_self", }, { + to: "/docs", + activeBasePath: "docs", label: "API Guide", position: "left", - href: "/docs", - target: "_self", }, { label: "Demo", @@ -111,15 +111,6 @@ const config: Config = { footer: { style: "dark", links: [ - { - title: "Docs", - items: [ - { - label: "Docs", - to: "/docs", - }, - ], - }, { title: "Community", items: [ @@ -171,7 +162,7 @@ const config: Config = { ], }, ], - copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`, + copyright: `Copyright © ${new Date().getFullYear()} The Palisadoes Foundation, LLC. Built with Docusaurus.`, }, prism: { theme: prismThemes.github, diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx deleted file mode 100644 index 7e72738d824..00000000000 --- a/docs/src/components/HomepageFeatures/index.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; - -type FeatureItem = { - title: string; - Svg: React.ComponentType>; - description: JSX.Element; -}; - -const FeatureList: FeatureItem[] = [ - { - title: 'Easy to Use', - Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, - description: ( - <> - Docusaurus was designed from the ground up to be easily installed and - used to get your website up and running quickly. - - ), - }, - { - title: 'Focus on What Matters', - Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, - description: ( - <> - Docusaurus lets you focus on your docs, and we'll do the chores. Go - ahead and move your docs into the docs directory. - - ), - }, - { - title: 'Powered by React', - Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, - description: ( - <> - Extend or customize your website layout by reusing React. Docusaurus can - be extended while reusing the same header and footer. - - ), - }, -]; - -function Feature({ title, Svg, description }: FeatureItem) { - return ( -
-
- -
-
- {title} -

{description}

-
-
- ); -} - -export default function HomepageFeatures(): JSX.Element { - return ( -
-
-
- {FeatureList.map((props, idx) => ( - - ))} -
-
-
- ); -} diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index b248eb2e5de..00000000000 --- a/docs/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/docs/src/components/animations/_dissectionAnimation.js b/docs/src/components/animations/_dissectionAnimation.js deleted file mode 100644 index 454a359fb2b..00000000000 --- a/docs/src/components/animations/_dissectionAnimation.js +++ /dev/null @@ -1,41 +0,0 @@ -export function setupDissectionAnimation() { - const section = document.querySelector('.NativeDevelopment'); - const dissection = section.querySelector('.dissection'); - const images = dissection.children; - const numImages = images.length; - - const fadeDistance = 40; - const navbarHeight = 60; - - const clamp = (val, min, max) => Math.min(max, Math.max(min, val)); - - // Scale the percent so that `min` goes to 0% and `max` goes to 100% - const scalePercent = (percent, min, max) => clamp((percent - min) / (max - min), 0, 1); - - // Get the percentage that the image should be on the screen given - // how much the entire container is scrolled - const getImagePercent = (index, scrollPercent) => { - const start = index / numImages; - return clamp((scrollPercent - start) * numImages, 0, 1); - } - - const onScroll = () => { - const elPos = section.getBoundingClientRect().top - navbarHeight; - const height = window.innerHeight; - const screenPercent = 1 - clamp(elPos / height, 0, 1); - const scaledPercent = scalePercent(screenPercent, 0.2, 0.9); - - for (let i = 0; i < numImages; i++) { - const imgPercent = getImagePercent(i, scaledPercent); - images[i].style.opacity = imgPercent; - - const translation = fadeDistance * (1 - imgPercent); - images[i].style.transform = `translateX(${translation}px)`; - } - } - - window.addEventListener('scroll', onScroll); - - return () => window.removeEventListener('scroll', onScroll); - } - \ No newline at end of file diff --git a/docs/src/components/animations/_headerAnimation.js b/docs/src/components/animations/_headerAnimation.js deleted file mode 100644 index e6bbef4bcfe..00000000000 --- a/docs/src/components/animations/_headerAnimation.js +++ /dev/null @@ -1,50 +0,0 @@ -export function setupHeaderAnimations() { - const steps = ['full', 'mobile', 'desktop', 'laptop', 'mobile2', 'full2']; - const intervals = [1250, 1500, 1500, 1500, 1500, 1250]; - - let i = 0; - const timeouts = []; - - const logo = document.querySelector('.LogoAnimation'); - if (!logo) { - console.error('Logo element with class "LogoAnimation" not found.'); - return; // Exit the function if the logo is not found - } - - function animateStep() { - const prev = steps[i]; - logo.classList.remove(prev); - i = (i + 1) % steps.length; - const current = steps[i]; - const timeout = intervals[i]; - logo.classList.add(current); - - timeouts.push(setTimeout(animateStep, timeout)); - } - - function onStartAnimation() { - logo.classList.remove('init'); - animateStep(); - } - - function onVisibilityChange() { - if (document.hidden) { - timeouts.forEach(function (timeout) { - clearTimeout(timeout); - }); - timeouts.length = 0; - } else { - onStartAnimation(); - } - } - - if (!document.hidden) { - timeouts.push(setTimeout(onStartAnimation, 2000)); - } - - document.addEventListener('visibilitychange', onVisibilityChange, false); - - return function cleanup() { - document.removeEventListener('visibilitychange', onVisibilityChange); - }; -} diff --git a/docs/src/components/layout/EightPanel.tsx b/docs/src/components/layout/EightPanel.tsx deleted file mode 100644 index 8c04874502a..00000000000 --- a/docs/src/components/layout/EightPanel.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import React from "react"; -import Section from "../../utils/Section"; -import TextColumn from "../../utils/TextColumn"; -import TwoColumns from "../../utils/TwoColumns"; -import textcontent from "../../utils/textcontent"; - -interface EightPanelProps {} - -const EightPanel: React.FC = () => { - return ( - -
-
- - } - columnTwo={ -
- Diverse group of developers collaborating using various devices -
- } - /> -
-
- ); -} - -export default EightPanel; diff --git a/docs/src/components/layout/FifthPanel.tsx b/docs/src/components/layout/FifthPanel.tsx deleted file mode 100644 index f5cf0ab0f9e..00000000000 --- a/docs/src/components/layout/FifthPanel.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from "react"; -import Section from "../../utils/Section"; - -import AppFeaturesCard from "../../utils/AppFeaturesCard"; - - function FifthPanel() { - return ( -
- - -
- ); -} - -export default FifthPanel \ No newline at end of file diff --git a/docs/src/components/layout/FourthPanel.tsx b/docs/src/components/layout/FourthPanel.tsx deleted file mode 100644 index 5ae62d7c899..00000000000 --- a/docs/src/components/layout/FourthPanel.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import React from "react"; -import Section from "../../utils/Section"; -import TwoColumns from "../../utils/TwoColumns"; -import TextColumn from "../../utils/TextColumn"; -import textcontent from "../../utils/textcontent"; - -interface FourthPanelProps { - className?: string; -} - -const FourthPanel: React.FC = ({ className }) => { - return ( -
-
- - } - columnTwo={ -
- talawa -
- } - /> -
-
- ); -} - -export default FourthPanel; diff --git a/docs/src/components/layout/HeaderHero.tsx b/docs/src/components/layout/HeaderHero.tsx index e43f515e429..56223758bc6 100644 --- a/docs/src/components/layout/HeaderHero.tsx +++ b/docs/src/components/layout/HeaderHero.tsx @@ -1,42 +1,19 @@ import React from "react"; import Section from "../../utils/Section"; -import TwoColumns from "../../utils/TwoColumns"; import HomeCallToAction from "../../utils/HomeCallToAction"; -import useBaseUrl from "@docusaurus/useBaseUrl"; function HeaderHero() { return (
-
- - Talawa member management software interface showcase - - } - columnTwo={ - <> -

- Talawa - Member Management Software -

-

- For open source projects, charities and other non-profits -

-
- -
- - } - /> +

Talawa

+

API Docs

+

+ API Backend for Talawa Admin and Talawa Mobile App +

+
+ +
); } diff --git a/docs/src/components/layout/SecondPanel.tsx b/docs/src/components/layout/SecondPanel.tsx deleted file mode 100644 index 547de2d96d8..00000000000 --- a/docs/src/components/layout/SecondPanel.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react"; -import Section from "../../utils/Section"; -import OrganizationFeatureCard from "../../utils/OrganizationFeatureCard"; - -interface SecondPanelProps {} - - const SecondPanel: React.FC = () => { - return ( -
- - - -
- ); -}; - -export default SecondPanel \ No newline at end of file diff --git a/docs/src/components/layout/SeventhPanel.tsx b/docs/src/components/layout/SeventhPanel.tsx deleted file mode 100644 index 178d0508be5..00000000000 --- a/docs/src/components/layout/SeventhPanel.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from "react"; -import Section from "../../utils/Section"; -import ParticipationFeaturesCard from "../../utils/ParticipationFeatureCard"; - -const SeventhPanel: React.FC = () => { - - return ( -
- -
- ); -}; - -export default SeventhPanel \ No newline at end of file diff --git a/docs/src/components/layout/SixthPanel.tsx b/docs/src/components/layout/SixthPanel.tsx deleted file mode 100644 index d917c6287b7..00000000000 --- a/docs/src/components/layout/SixthPanel.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react"; -import Section from "../../utils/Section"; -import TwoColumns from "../../utils/TwoColumns"; -import TextColumn from "../../utils/TextColumn"; -import textcontent from "../../utils/textcontent.js"; -import CodeBlock from "@theme/CodeBlock"; - -interface SixthPanelProps {} - -const SixthPanel: React.FC = () => { - const { sixthPanel, codeExample } = textcontent; - - return ( -
- - } - columnTwo={ - typeof window !== "undefined" ? ( - {codeExample} - ) : ( -
{codeExample}
- ) - } - /> -
- ); -}; - -export default SixthPanel; diff --git a/docs/src/components/layout/ThirdPanel.tsx b/docs/src/components/layout/ThirdPanel.tsx deleted file mode 100644 index 6c96eceb289..00000000000 --- a/docs/src/components/layout/ThirdPanel.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; -import Section from "../../utils/Section"; -import ManagementFeaturesCard from "../../utils/ManagementFeaturesCard"; - -interface ThirdPanelProps {} - -const ThirdPanel: React.FC = () => { - // const imgUrl = useBaseUrl("img/image-03.png"); - - return ( -
- - - -
- ); -}; - -export default ThirdPanel; diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 33d922d15d2..ff6b0a947ee 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -70,7 +70,7 @@ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.29); } -html[data-theme='dark'] { +html[data-theme="dark"] { --ifm-background-color: #111927; --ifm-background-surface-color: var(--ifm-background-color); --ifm-menu-color: var(--neutral-mid-400); @@ -140,11 +140,6 @@ html[data-theme='dark'] { padding: 0.5rem 0; } -/* .menu__list ul { - margin-left: 15px; - margin-right: 15px; -} */ - /* Target specifically the link text */ .menu__link { white-space: normal !important; @@ -285,110 +280,49 @@ html[data-theme='dark'] { } .header-github-link:before { - content: ''; + content: ""; width: 20px; height: 20px; display: flex; - background: url('/img/icons/github-dark.svg') no-repeat; + background: url("/img/icons/github-dark.svg") no-repeat; position: relative; right: 8px; top: 1.5px; } .header-twitter-link:before { - content: ''; + content: ""; width: 15px; height: 15px; display: flex; - background: url('/img/icons/twitter.svg') no-repeat 90% 100%; + background: url("/img/icons/twitter.svg") no-repeat 90% 100%; position: relative; right: 6px; top: 2px; } .header-youtube-link:before { - content: ''; + content: ""; width: 25px; height: 30px; display: flex; - background: url('/img/icons/youtube.svg') no-repeat; + background: url("/img/icons/youtube.svg") no-repeat; position: relative; right: 8px; top: 4.5px; } - -@media (max-width: 996px) { - .navbar__item.github-button { - display: none; - } - .github-button { - margin: var(--ifm-menu-link-padding-vertical) - var(--ifm-menu-link-padding-horizontal); - } - .navbar__item.youtube-button { - display: none; - } - .youtube-button { - margin: var(--ifm-menu-link-padding-vertical) - var(--ifm-menu-link-padding-horizontal); - } - .center { - text-align: center; - } -} - -@media (max-width: 1000px) { - .navbar__items--right > .navbar__item:not(:first-of-type) { - margin-left: 0.25rem; - } - .github-button { - margin-right: 0.5rem; - } - .youtube-button { - margin-right: 0.5rem; - } - .hero__title { - font-size: 2rem; - } -} - -@media (max-width: 1149px) and (min-width: 1050px) { - .navbar__items--right > .navbar__item:not(:first-of-type) { - margin-left: 1.5rem; - } - .github-button { - margin-right: 0.5rem; - } - .youtube-button { - margin-right: 0.5rem; - } -} - -@media (max-width: 1049px) and (min-width: 1001px) { - .navbar__items--right > .navbar__item:not(:first-of-type) { - margin-left: 0.5rem; - } - .github-button { - margin-right: 0.5rem; - } - .youtube-button { - margin-right: 0.5rem; - } -} - h1 { font-size: 1.75rem; font-weight: 700; } + .Heading { font-size: 1.5rem; font-weight: 700; text-align: center !important; } - - a { color: #2563eb; text-decoration: none; @@ -414,14 +348,10 @@ a:hover { border-bottom: 1px solid #2d3956; } - - - -.container>div>div:first-child { +.container > div > div:first-child { padding: 1rem 5rem; } - .breadcrumbs { margin-bottom: 2rem; } @@ -446,16 +376,15 @@ a:hover { } .table-of-contents__link { - border-left: .125rem solid #0000; + border-left: 0.125rem solid #0000; font-size: 0.875rem; padding-left: 1.25rem; font-weight: 500; color: var(--neutral-mid-400); - } .table-of-contents__link--active { - border-left: .125rem solid var(--secondary-blue-400); + border-left: 0.125rem solid var(--secondary-blue-400); font-weight: 600; margin-left: 0; } @@ -475,14 +404,12 @@ h1 { .theme-doc-sidebar-item-link-level-1 .menu__link, .menu__link--sublist { text-transform: uppercase; - } .menu { background-color: var(--sidebar-bg-color); } - .menu__link:hover { color: var(--primary-blue-600); } @@ -501,14 +428,12 @@ h1 { } @media (min-width: 997px) { - .menu_Guh8 { + .menu { flex-grow: 1; padding: 1rem !important; } } - - .navbar { background-color: var(--sidebar-bg-color); box-shadow: var(--ifm-navbar-shadow); @@ -526,7 +451,7 @@ h1 { text-decoration: none; } -.navbar__items--right>.navbar__item:not(:first-of-type) { +.navbar__items--right > .navbar__item:not(:first-of-type) { margin-left: 0.25px; } @@ -550,7 +475,6 @@ h1 { --ifm-h1-vertical-rhythm-bottom: 1.25; } - .youtube-button { background: linear-gradient(90deg, #ff3600 0%, #ff8100 100%); border: none; @@ -587,7 +511,6 @@ h1 { text-decoration: none; } - .footer--dark { --ifm-footer-background-color: #111927; } @@ -665,7 +588,6 @@ h1 { mask-size: cover; } - html[data-theme="dark"] .header-github-link:before { background: url(/img/github.svg) no-repeat; } @@ -674,7 +596,7 @@ html[data-theme="dark"] .header-youtube-link:before { background: url(/img/youtube-white.svg) no-repeat; } -.markdown>button { +.markdown > button { background: linear-gradient(90deg, #ff3600 0%, #ff8100 100%); border: none; border-radius: 5px; @@ -686,14 +608,10 @@ html[data-theme="dark"] .header-youtube-link:before { font-size: 16px; } -.markdown>button:hover { +.markdown > button:hover { background: linear-gradient(90deg, #ff3600 30%, #ff8100 78%); } -.Section { - margin-bottom: 0 !important; -} - .Heading { font-size: 1.5rem; font-weight: 700; @@ -720,393 +638,93 @@ textarea, text-align: left; } - -.custom-image { - width: 140%; - padding: 10px; - opacity: 2; -} - .my-svg-icon path { fill: var(--secondary-blue-900); } -.card__container { - display: flex; - align-items: center; - flex-direction: column; - margin: auto; - gap: 2rem; -} - -.card__description { - font-size: 0.8rem; - margin: 0; - padding-bottom: 1rem; -} - -.card__general { - align-items: center; - background-color: var(--ifm-color-emphasis-100); - border-radius: 15px; - box-shadow: var(--ifm-navbar-shadow); - justify-content: center; - padding: 1rem; - text-align: center; -} - -.card__general p { - padding-left: 1rem; -} - -.card__wide { - display: flex; - gap: calc(2rem + 2px); - padding: 1.5rem 0; - margin: auto; -} - -.card__wide ul { - list-style: none; - padding: 0; - margin: 0; -} - -.card__wide ul>li { - margin: 10px 0; - position: relative; - text-align: left; - padding-left: 25px; -} - -.card__wide ul>li::before { - content: "✦"; - font-size: 1 rem; - background: linear-gradient(45deg, #97aaff, #8dbaff, #004c8c, #00bfff); - background-size: 400% 400%; - color: transparent; - -webkit-background-clip: text; - background-clip: text; - animation: moveGradient 5s ease infinite; - position: absolute; - left: 0; - top: 50%; - transform: translateY(-50%); -} - -@keyframes moveGradient { - 0% { - background-position: 0% 50%; - } - - 50% { - background-position: 100% 50%; - } - - 100% { - background-position: 0% 50%; - } -} - -@media (max-width: 996px) { - .fourth-panel>.card__wide { - height: auto; - } -} - -@media only screen and (max-width: 960px) { - - .card__container, - .card__wide { - margin: 0 2rem !important; - } - - .card__description { - padding-bottom: 1rem; - } -} - -/* Section - 2 organization-feature-card*/ - -.organization-feature-cards { - display: flex; - flex-wrap: wrap; - gap: 1.5rem; - justify-content: space-between; - width: 100%; -} - -.organization-feature-card { - max-width: 320px; - gap: auto; - flex: 1; - display: flex; - flex-direction: column; - justify-content: space-between; - border: 1px solid var(--ifm-background-color); - transition: - transform 0.3s ease, - box-shadow 0.3s ease; -} - -.organization-feature-card:hover { - border: 1px solid rgb(200, 200, 200); -} - -/* text-align: left; */ -.organization-feature-card:hover { - transform: translateY(-5px); -} - -.organization-feature-card__body .card__description { - text-align: center; -} - -.organization-feature-card__footer .organization-feature-card__button { - background: var(--secondary-blue-500); - color: #ffffff; - border: none; - padding: 0.75rem 1.5rem; - border-radius: 8px; - cursor: pointer; - font-size: 1rem; - transition: background 0.3s ease; +.HeaderHero { + min-height: 500px; + max-height: 800px; + height: 70vh; } +/* Hide external link svg on Navbar */ -.organization-feature-card__footer .organization-feature-card__button:hover { - background: #0056b3; +.navbar__item > svg, +.navbar-sidebar svg { + display: none !important; } - +/* Small Screen (max-width: 768px) */ @media (max-width: 768px) { - .organization-feature-cards { - flex-direction: column; - align-items: center; + .container > div > div:first-child { + padding: 1rem !important; } - .organization-feature-card { - max-width: 100%; - width: 100%; + .center { + text-align: center; } } -/* Section- 3 Management Feature Card */ - -.management__cards { - display: grid; - gap: 1rem; - grid-template-columns: repeat(2, 1fr); -} - -.management__card { - display: grid; - grid-template-columns: 0.3fr 1fr; - background-color: transparent; - box-shadow: none; - text-align: left; -} - -.management__header { - padding-left: 1rem; -} - -.management__image { - margin: 0 auto; - width: 4rem; -} - -@media only screen and (max-width: 960px) { - .management__cards { - grid-template-columns: repeat(1, 1fr); - gap: 0; - } - - .management__card { - grid-template-columns: 1fr; - text-align: left; - padding: 0; - } - - .management__image { +/* Medium Screens (max-width: 996px) */ +@media (max-width: 996px) { + .navbar__item.github-button, + .navbar__item.youtube-button { display: none; } -} - -/* Section 4 - native development */ - -.fourth-panel>.card__wide { - align-items: center; -} - -/* Overriding blur during animation as its causing bad ux */ - -.fourth-panel-image { - filter: none !important; - opacity: 1 !important; -} - -/* Section 5 - App Card */ - -.app-feature-card { - display: flex; - flex-direction: row; -} - -.app-feature-card__image { - flex: 1; - width: 100%; - display: flex; - justify-content: center; - align-items: center; -} - -.app-feature-card__image img { - max-width: 60%; - height: auto; -} - -.app-feature-card__body { - flex: 1; - display: flex; - flex-direction: column; - padding: 3rem; - align-items: start; - background-color: var(--ifm-background-surface-color); - box-shadow: none; -} - -.app-feature-card__body .Heading { - padding-left: 1rem; -} - -@media only screen and (max-width: 1199px) { - .app-feature-card { - flex-direction: column; - padding: 0 1rem; - height: auto; - gap: 2rem; - } - .app-feature-card__image img { - width: 30vw; + .github-button, + .youtube-button { + margin: var(--ifm-menu-link-padding-vertical) + var(--ifm-menu-link-padding-horizontal); } - .fifth-panel .card__wide { - align-items: center; - background-color: var(--ifm-color-emphasis-100); - border-radius: 15px; - box-shadow: var(--ifm-navbar-shadow); + .center { + text-align: center; } +} - .app-feature-card__body { - background-color: transparent; - box-shadow: none; - padding: 0 1.25rem; +/* Small to Medium Screens (max-width: 1000px) */ +@media (max-width: 1000px) { + .navbar__items--right > .navbar__item:not(:first-of-type) { + margin-left: 0.25rem; } - .fifth-panel { - min-height: fit-content !important; + .github-button, + .youtube-button { + margin-right: 0.5rem; } -} - -/* Section - 6 */ - -.SixthPanel .TwoColumns { - grid-template-columns: 4fr 7fr; - align-items: center; -} - -.SixthPanel .left div { - font-size: 0.8rem; - margin: 0; - padding-bottom: 1rem; - text-align: left; -} -@media (max-width: 1200px) { - .SixthPanel .TwoColumns { - display: flex; - flex-direction: column; - align-items: center; + .hero__title { + font-size: 2rem; } } -/* Section 7 - Participation-feature-card */ - -.participation-feature-card { - display: flex; - padding: 2rem 3rem; - gap: 2rem; -} - -.participation-feature-card__body { - flex: 1; -} - -.participation-feature-card__body .Heading { - padding-left: 1rem; -} - -.participation-feature-card__image { - flex: 1; -} - -.participation-feature-card__image img { - width: 35vw; - max-width: 500px; -} - -.participation-feature-card__body img { - float: left; - width: 56px; - height: 56px; - margin-right: 20px; -} - -@media (max-width: 996px) { - .participation-feature-card { - padding: 2rem; +/* Large to Medium Screens (max-width: 1049px) and (min-width: 1001px) */ +@media (max-width: 1049px) and (min-width: 1001px) { + .navbar__items--right > .navbar__item:not(:first-of-type) { + margin-left: 0.5rem; } - .participation-feature-card__image { - width: 60vw; + .github-button, + .youtube-button { + margin-right: 0.5rem; } } -/* Section-8 */ - -.EightPanel p { - font-size: 0.8rem; - margin: 0; - padding-bottom: 1rem; - padding-left: 0; -} - -.EightPanel .TwoColumns { - padding: 2rem; - max-width: 70vw; -} - -@media (max-width: 996px) { - .EightPanel .TwoColumns { - padding: 0; - max-width: auto; +/* Medium to Large Screens (max-width: 1149px) and (min-width: 1050px) */ +@media (max-width: 1149px) and (min-width: 1050px) { + .navbar__items--right > .navbar__item:not(:first-of-type) { + margin-left: 1.5rem; } -} -/* Responsiveness for small screens */ - -@media (max-width: 480px) { - .app-feature-card__image { - display: none; + .github-button, + .youtube-button { + margin-right: 0.5rem; } } -/* Responsiveness for tablets */ - +/* Tablet Responsiveness (min-width: 481px) and (max-width: 960px) */ @media only screen and (min-width: 481px) and (max-width: 960px) { .ActionButton { - /* Section 1 Hero */ - max-width: 100%; width: 100%; display: block; @@ -1117,20 +735,6 @@ textarea, margin-top: 1rem; } - .HeaderHero .column.first { - display: flex; - justify-content: center; - } - - .HeaderHero .column.last { - text-align: center; - } - - .custom-image { - width: 60% !important; - padding-top: 3rem; - } - .HeaderHero .ActionButton { margin: auto; margin-top: 1rem; @@ -1139,169 +743,20 @@ textarea, .HeaderHero { margin-top: 2rem; } - - /* Section 8 */ - - .EightPanel .column { - padding: 0 !important; - } - - .EightPanel .column li { - width: 15rem; - margin: auto; - } - - /* Section 4 */ - - .fourth-panel>.card__wide { - padding: 2rem; - height: fit-content; - } } -/* Responsiveness for wide screens */ - -@media (min-width: 961px) and (max-width: 1199.98px) { - - /* Section 1 Hero */ - .custom-image { - max-width: 100%; - } - - /* Section 4 */ - - .fourth-panel>.card__wide { - padding: 2rem; - height: fit-content; - } - - /* Section 6 */ - - .SixthPanel .column.left { - margin-bottom: 5rem; - } - - .SixthPanel .column.last { - width: 100%; - max-width: 100%; - display: flex; - justify-items: center; - padding-left: 0 !important; - } - - .SixthPanel .column.right .prism-code { - margin-right: 0px !important; - } - - /* Section 7 - Participation-feature-card */ - .participation-feature-card__image img { - width: 50vw; - } - - /* Section 8 */ - - .EightPanel .card__wide { - padding: 2rem; - } - - .TwoColumns .column.left { - align-self: center; - } -} - -/* Responsiveness for extra wide screens */ - +/* Extra Wide Screens (min-width: 1200px) */ @media only screen and (min-width: 1200px) { - .custom-image { - max-width: 100%; - } - - /* Section 1 Hero */ - .HeaderHero { height: 50vh; overflow: hidden; } - - .app-feature-card__image { - justify-content: end; - } - - .fourth-panel>.card__wide { - padding: 4rem; - } -} - -/* Styles for screens larger than 1440px */ - -@media (min-width: 1920px) { - - .card__description, - .SixthPanel .left div, - .EightPanel p, - .card__wide li { - font-size: 1rem; - } - - .card__wide li { - padding-left: 3rem !important; - } -} - -/* Section 1 Hero */ - -.HeaderHero { - height: auto; - padding-top: 5rem !important; -} - -@media (min-width: 1440px) { - /* Section - 6 */ - - .SixthPanel { - align-items: center; - } - - /* Section - 2 */ - - .organization-feature-cards { - height: 290px; - } } -@media only screen and (min-width: 961px) { - - .TwoColumns, - .card__container, - .card__wide { - width: 70vw; - max-width: 1280px !important; +/* Responsiveness for Medium to Extra Large Screens (min-width: 997px) and (max-width: 1327px) */ +@media (min-width: 997px) and (max-width: 1327px) { + .container > div > div:first-child { + padding-left: 4rem !important; + padding-right: 4rem !important; } - - .seventh-panel .card__container { - width: 80vw; - } - - .EightPanel .column { - padding-right: 0 !important; - } -} -.image-container { - width: 100%; - height: auto; - overflow: hidden; -} - -.image-container img { - width: 100%; - height: auto; - object-fit: contain; } - -/* New */ - -/* Hide external link svg on Navbar */ - -.iconExternalLink_zRin { - display: none !important; -} \ No newline at end of file diff --git a/docs/src/css/index.css b/docs/src/css/index.css index e58696a6ad3..d311bc6b087 100644 --- a/docs/src/css/index.css +++ b/docs/src/css/index.css @@ -5,6 +5,7 @@ * LICENSE file in the root directory of this source tree. */ +/* Root Variables */ :root { /* Brand colors */ --brand: #febc59; @@ -21,7 +22,7 @@ /* UI and components */ --tintColor: #f7f7f7; --rn-note-background: rgba(255, 229, 100, 0.25); - --ifm-font-family-base: 'Optimistic Display', system-ui, -apple-system, + --ifm-font-family-base: "Optimistic Display", system-ui, -apple-system, sans-serif; --ifm-font-size-base: 17px; --ifm-spacing-horizontal: 16px; @@ -36,12 +37,13 @@ --ifm-link-hover-decoration: none; } +/* Navbar */ .navbar__brand { - color: var(--brand-color); + color: var(--brand); font-size: 20px; } -/* Custom button */ +/* Custom Button */ .custom-button { margin-right: 10px; } @@ -53,42 +55,19 @@ } /* Header Hero */ - .HeaderHero { padding-top: 20px; - margin-top: 4rem; - margin-bottom: 0; -} - -.HeaderHero .TwoColumns .column { - max-width: initial; -} - -.HeaderHero .TwoColumns .column.right { - text-align: end; -} - -.HeaderHero .socialLinks { display: flex; - justify-content: flex-end; - max-width: 1200px; - margin: -10px auto 0; -} - -.HeaderHero .socialLinks .twitter-follow-button, -.HeaderHero .socialLinks .github-button .slack-button { - margin-right: 1rem; -} - -.HeaderHero .TwoColumns { + flex-direction: column; + text-align: center; align-items: center; + margin-top: clamp(2rem, 15vh, 8rem); } .HeaderHero .title { font-size: 3rem; line-height: 1; - margin-top: 0; - margin-bottom: 20px; + margin-bottom: 0 !important; font-weight: 500; left: -250px; opacity: 1.3; @@ -108,342 +87,14 @@ line-height: 1.3; color: var(--primary-neutral-800); opacity: 1.1; - left: -250px; + text-align: center; } .HeaderHero .buttons { margin-top: 40px; } -.HeaderHero .image { - display: flex; - align-items: center; - justify-content: center; -} - -@media only screen and (min-width: 961px) { - .HeaderHero .TwoColumns { - grid-template-columns: 3fr 2fr; - } - - .HeaderHero .TwoColumns .column.left { - padding-right: 0; - width: fit-content; - } -} - -@media only screen and (max-width: 760px) { - .HeaderHero .title { - font-size: 60px; - } - - .HeaderHero .tagline { - font-size: 30px; - } - - .HeaderHero .socialLinks { - margin-top: -2rem; - } - .HeaderHero { - margin-top: 0.5rem; - } -} - -@keyframes bounce { - 0%, - 20%, - 50%, - 80%, - 100% { - transform: translateY(0); - } - - 40% { - transform: translateY(-30px); - } - - 60% { - transform: translateY(-15px); - } -} - -.bounce-animation { - animation: bounce 2s; -} - -/* Second Panel */ - -.SecondPanel { - overflow: hidden; -} - -@media only screen and (max-width: 960px) { - .SecondPanel .column.last { - max-height: 300px; - } -} - -@media only screen and (min-width: 481px) and (max-width: 960px) { - .SecondPanel .column.last { - width: 66.7%; - margin: 0 auto; - } -} - -@media only screen and (min-width: 961px) { - .SecondPanel { - max-height: 600px; - } - - /* Correct for whitespace in the image of phones */ - .SecondPanel .column.left { - margin-top: -25px; - } -} - -.second-panel-image { - width: 140%; - height: auto; - position: relative; - top: -50px; - left: -65px; - opacity: 2; -} - -/* Third Panel */ - -.third-panel-image { - width: 80%; - height: auto; - position: relative; - top: 30px; - right: -130px; - opacity: 2; -} - -/* Fourth Panel */ - -.NativeDevelopment { - overflow-y: hidden; -} -.NativeDevelopment .left { - margin: auto; -} - -.NativeDevelopment .dissection { - position: relative; -} - -.NativeDevelopment .dissection img { - left: 0; - top: 0; -} - -@media only screen and (max-width: 960px) { - .NativeDevelopment .TwoColumns { - grid-gap: 2rem; - } - .NativeDevelopment .dissection { - display: none; - } -} - -@media only screen and (max-width: 480px) { - .NativeDevelopment .dissection { - height: 350px; - } -} - -@media only screen and (min-width: 481px) and (max-width: 960px) { - .NativeDevelopment .dissection { - height: 450px; - } -} - -@media only screen and (min-width: 961px) { - .NativeDevelopment .dissection { - height: auto; - } -} - -.fourth-panel-image { - width: 75%; - height: auto; - position: relative; - top: -50px; - left: -120px; - opacity: 2; -} - -/* Fifth Panel */ - -.fifth-panel { - min-height: 550px; -} - -.fifth-panel-image { - width: 75%; - height: auto; - position: relative; - opacity: 2; - right: -70px; - margin-top: 20px; -} - -.panel-height { - height: 50px; -} - -.text-column-offset { - padding-top: 95px; -} - -/* Correction for the bottom space in section six*/ -#docusaurus_skipToContent_fallback - > section.Section.SixthPanel.tint - > div - > div.column.last.right - > div { - margin-bottom: 0; -} - -.SixthPanel { - min-height: 430px; - display: flex; - flex-direction: column; - justify-content: center; -} - -.SixthPanel .column.last { - margin-bottom: -49px; -} - -.SixthPanel pre { - margin: 0; -} - -.SixthPanel .prism-code { - border-radius: 0; - font-size: 80%; - height: 450px; - width: 100%; -} - -@media only screen and (max-width: 480px) { - .SixthPanel .column.last { - width: 100%; - padding: 0; - overflow-x: auto; - } - - .SixthPanel .prism-code { - font-size: 10px; - padding: 1.25rem 1.25rem; - } -} - -@media screen and (min-width: 481px) and (max-width: 960px) { - .SixthPanel .TwoColumns { - grid-gap: 2rem; - } - - .SixthPanel .column.last { - width: 100%; - padding: 0; - height: 28rem; - overflow-y: scroll; - } - - .SixthPanel .prism-code { - border-radius: 0; - font-size: 80%; - background-color: #fff; - color: #f8f8f2; - } -} - -@media only screen and (min-width: 961px) { - .SixthPanel .TwoColumns .column.right { - max-width: 100%; - padding-left: 0; - } - - .SixthPanel .TwoColumns { - justify-content: space-between; - } - - .SixthPanel .column.right .prism-code { - /* Bleed background into the right */ - margin-right: -9999px; - padding: 16px 1.5rem; - height: 460px; - } - .SixthPanel .column.left h2 { - text-align: left; - } - .SixthPanel .column.right .prism-code { - background-color: var(--ifm-color-emphasis-100) !important; - box-shadow: var(--ifm-navbar-shadow); - } -} - -/* Seventh Panel */ - -.SeventhPanel { - min-height: 550px; -} - -.seventh-panel-image { - width: 500%; - height: auto; - position: relative; - opacity: 2; -} - -.seventh-panel .content { - max-width: 900px; - margin: 0 auto; - display: flex; - flex-direction: column; -} - -@media only screen and (max-width: 480px) { - .seventh-panel .Heading { - width: 100%; - padding: 0 1rem; - margin-bottom: 1.5rem; - } -} - -@media only screen and (min-width: 481px) and (max-width: 960px) { - .seventh-panel .Heading { - width: 100%; - padding: 0 4rem; - margin-bottom: 1.5rem; - } - - .seventh-panel .AppList { - width: 100%; - max-width: 500px; - margin: 2rem auto; - } -} - -@media only screen and (min-width: 961px) { - .seventh-panel .column.first { - border-right: 1px solid var(--ifm-table-border-color); - } -} - -.eigth-panel-image { - width: 1000%; - height: auto; - position: relative; - opacity: 2; -} - -/* ActionButton */ - +/* Action Button */ .ActionButton { padding: 0.75rem 1.25rem; text-align: center; @@ -452,7 +103,6 @@ text-decoration: none !important; border-bottom: none; transition: all 0.2s ease-out; - max-width: 50%; border-radius: 0.375rem; margin-right: 10px; } @@ -478,52 +128,26 @@ } .ActionButton.secondary::after { - content: '›'; + content: "›"; font-size: 24px; margin-left: 5px; } -@media only screen and (max-width: 480px) { - .ActionButton { - max-width: 100%; - width: 100%; - display: block; - white-space: nowrap; - } - - .ActionButton.secondary { - margin-top: 1rem; - margin-left: auto; - } - - .custom-image { - width: 80%; - padding-top: 60px; - } -} - +/* Homepage */ .HomePage { width: 100%; overflow-x: hidden; } /* Section */ - .Section { width: 100%; padding-top: 50px; - padding-bottom: 50px; + padding: 0 1.25rem; overflow-x: hidden; margin-bottom: 5rem; } -@media only screen and (max-width: 960px) { - .Section { - margin-bottom: 2rem; - padding-top: 1rem; - } -} - .Section.tint { background-color: var(--ifm-hover-overlay); } @@ -532,62 +156,39 @@ background-color: var(--dark); } -/* Two columns */ - -.TwoColumns { - display: grid; -} - -.TwoColumns .column { - width: 100%; -} - -.TwoColumns .column.first { - grid-area: first; -} - -.TwoColumns .column.last { - grid-area: last; -} - -@media only screen and (min-width: 961px) { - .TwoColumns { - margin: 0 auto; - grid-template-columns: repeat(2, 1fr); - grid-template-areas: 'first last'; +/* Media Queries */ +@media only screen and (max-width: 760px) { + .HeaderHero .title { + font-size: 60px; } - .TwoColumns.reverse { - grid-template-areas: 'last first'; + .HeaderHero .tagline { + font-size: 30px; } +} - .TwoColumns .column { - max-width: 450px; +@media only screen and (max-width: 480px) { + .ActionButton { + max-width: 100%; + width: 100%; + display: block; + white-space: nowrap; } - .TwoColumns .column.left { - padding-right: 50px; + .ActionButton.secondary { + margin-top: 1rem; + margin-left: auto; } - .TwoColumns .column.right { - padding-left: 50px; + .custom-image { + width: 80%; + padding-top: 60px; } } @media only screen and (max-width: 960px) { - .TwoColumns, - .TwoColumns.reverse { - grid-template-columns: 1fr; - grid-template-areas: 'first' 'last'; - } - - .TwoColumns .column { - padding: 0 4rem; - } -} - -@media only screen and (max-width: 480px) { - .TwoColumns .column { - padding: 0 1.25rem; + .Section { + margin-bottom: 2rem; + padding-top: 1rem; } } diff --git a/docs/src/hooks/useHomePageAnimations.ts b/docs/src/hooks/useHomePageAnimations.ts deleted file mode 100644 index 24ee3e7cf9e..00000000000 --- a/docs/src/hooks/useHomePageAnimations.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { useEffect } from 'react'; -import { setupDissectionAnimation } from '../components/animations/_dissectionAnimation'; -import { setupHeaderAnimations } from '../components/animations/_headerAnimation'; - -const useHomePageAnimations = () => { - useEffect(() => { - setupHeaderAnimations(); - setupDissectionAnimation(); - return () => { - - document.querySelectorAll('.dissection, .logo').forEach(element => { - element.classList.remove('animate'); - }); - }; - }, []); - return undefined; -}; - -export default useHomePageAnimations \ No newline at end of file diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index df295475586..3e0bb55c24e 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -1,19 +1,10 @@ import React from "react"; import Head from "@docusaurus/Head"; import Layout from "@theme/Layout"; -import useHomePageAnimations from "../hooks/useHomePageAnimations"; import HeaderHero from "../components/layout/HeaderHero"; -import SecondPanel from "../components/layout/SecondPanel"; -import ThirdPanel from "../components/layout/ThirdPanel"; -import FourthPanel from "../components/layout/FourthPanel"; -import FifthPanel from "../components/layout/FifthPanel"; -import SixthPanel from "../components/layout/SixthPanel"; -import SeventhPanel from "../components/layout/SeventhPanel"; -import EighthPanel from "../components/layout/EightPanel"; -const Index = () => { - useHomePageAnimations(); +const Index = () => { const pageTitle = "Talawa-Docs: Powered by The Palisadoes"; return ( @@ -24,13 +15,6 @@ const Index = () => { - - - - - - - ); }; diff --git a/docs/src/pages/markdown-page.md b/docs/src/pages/markdown-page.md deleted file mode 100644 index 9756c5b6685..00000000000 --- a/docs/src/pages/markdown-page.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Markdown page example ---- - -# Markdown page example - -You don't need React to write simple standalone pages. diff --git a/docs/src/utils/AppFeaturesCard.tsx b/docs/src/utils/AppFeaturesCard.tsx deleted file mode 100644 index 3c7c77118a5..00000000000 --- a/docs/src/utils/AppFeaturesCard.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; - -const AppFeaturesCard = () => { - return ( -
-
-
-

- Powerful, Fun
Mobile Application -

-

- Easily stay connected with your community! View social media feeds, - share posts, create group events, chat with members, and receive - important updates. Strengthen your community with reminders and - notifications—all in one app. -

-
-
- talawa -
-
-
- ); -}; - -export default AppFeaturesCard; diff --git a/docs/src/utils/HomeCallToAction.tsx b/docs/src/utils/HomeCallToAction.tsx index 70b238162fc..747f13b24a6 100644 --- a/docs/src/utils/HomeCallToAction.tsx +++ b/docs/src/utils/HomeCallToAction.tsx @@ -16,7 +16,7 @@ interface HomeCallToActionProps {} { - return ( -
-

- More Effective Management -

-
-
-
- - - -
-
-

Easily schedule events

-

- Easily schedule events and track attendance. Reports show who’s coming, and how often -

-
-
-
-
- - -
-
-

Stay in contact

-

- Stay in contact with your membership with individual or group emails, now and in the future -

-
-
-
-
- - -
-
-

Track tasks

-

- Track your volunteer time and their activity tasks. Make your planning a success -

-
-
-
-
- - -
-
-

Intuitive design

-

- Our intuitive design helps streamline work processes and increases adoption so everyone can benefit -

-
-
-
-
- ); -}; - -export default ManagementFeaturesCard; diff --git a/docs/src/utils/OrganizationFeatureCard.tsx b/docs/src/utils/OrganizationFeatureCard.tsx deleted file mode 100644 index 1303140d8f2..00000000000 --- a/docs/src/utils/OrganizationFeatureCard.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import React from "react"; - -const OrganizationFeatureCard = () => { - return ( -
-

Easy Community Organization Management

-
-
-
-

Open-Source Software for Organizations

-
-
-

- Talawa provides customizable, open-source tools to help manage - your organization efficiently. -

-
- -
- -
-
-

Connect Your Community with Our Mobile App

-
-
-

- Facilitate community interaction with social media-like features - available on our app. -

-
- -
- -
-
-

Simplify Management with Our Admin Portal

-
-
-

- Effortlessly manage members, events, and volunteers with our - intuitive web portal. -

-
- -
-
-
- ); -}; - -export default OrganizationFeatureCard; diff --git a/docs/src/utils/ParticipationFeatureCard.tsx b/docs/src/utils/ParticipationFeatureCard.tsx deleted file mode 100644 index 909213e9ca1..00000000000 --- a/docs/src/utils/ParticipationFeatureCard.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from "react"; -import useBaseUrl from "@docusaurus/useBaseUrl"; - -const ParticipationFeaturesCard = () => { - return ( -
-
-
-

- Globally Recognized, International Participation -

- Talawa logo -

- Palisadoes was also selected for GSoC in 2022 and 2023. In 2022 the - Google Season of Docs (GsoD) selected Palisadoes as a participant. - In 2023 our Talawa projects were included in the Outreachy - open-source internship program. -

-

- - Talawa was created by The Palisadoes Foundation in 2019 as part of - its social outreach programs in Jamaica. Our work was sponsored by - local companies wanting to create a globally competitive workforce - on the island by sponsoring philanthropic software development - internships for university students. - -

-

- In 2021, Palisadoes was accepted into the prestigious Google Summer - of Code (GSoC) which expanded the development team to volunteers - around the world. That same year we participated in the GitHub - India, GitHub Externship program for both the winter and summer - cohorts. -

-
-
- talawa -
-
-
- ); -}; - -export default ParticipationFeaturesCard; diff --git a/docs/src/utils/TextColumn.tsx b/docs/src/utils/TextColumn.tsx deleted file mode 100644 index da22f43bc49..00000000000 --- a/docs/src/utils/TextColumn.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import Heading from "./Heading"; - -interface TextColumnProps { - title: string; - text: string; - moreContent?: React.ReactNode; -} - - function TextColumn({ title, text, moreContent }: TextColumnProps) { - return ( - -
- -
- className="text-content" - {moreContent} - -
- - ); -} - -export default TextColumn \ No newline at end of file diff --git a/docs/src/utils/TwoColumns.tsx b/docs/src/utils/TwoColumns.tsx deleted file mode 100644 index ef1398aa325..00000000000 --- a/docs/src/utils/TwoColumns.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import React, { FC } from "react"; - -interface Props { - /** Content to be rendered in the first column */ - columnOne: React.ReactNode; - /** Content to be rendered in the second column */ - columnTwo: React.ReactNode | JSX.Element; - /** When true, reverses the order of columns */ - reverse?: boolean; - } - - const TwoColumns: FC = ({ columnOne, columnTwo, reverse = false }) => { - const firstColumnClasses = `column first ${reverse? 'right' : 'left'}`; - const lastColumnClasses = `column last ${reverse? 'left' : 'right'}`; - const containerClasses = `TwoColumns ${reverse? 'reverse' : ''}`; - - return ( -
-
- {columnOne} -
-
- {columnTwo} -
-
- ); -}; - -export default TwoColumns \ No newline at end of file diff --git a/docs/src/utils/textcontent.js b/docs/src/utils/textcontent.js deleted file mode 100644 index fa1d635f8df..00000000000 --- a/docs/src/utils/textcontent.js +++ /dev/null @@ -1,94 +0,0 @@ - -const textcontent = { - intro: ` -
    -
  • Talawa is an open-source software project to help manage organizations like yours
  • -
  • Your community becomes closer using our mobile app with social media features
  • -
  • The Admin Web Portal makes member, event and volunteer management simpler.
  • -
- `, - nativeCode: ` -
    -
  • Easily schedule events and track attendance. Reports show who’s coming, and how often
  • -
  • Stay in contact with your membership with individual or group emails, now and in the future
  • -
  • Track your volunteer time and their activity tasks. Make your planning a success
  • -
  • Our intuitive design helps streamline work processes and increases adoption so everyone can benefit
  • -
- `, - codeExample: ` - import React from 'react'; - import {Header} from './Header'; - - const WelcomeScreen = () => ( - -
- Step One - - Talawa is powerful, yet intuitive community management software made for open - source projects, clubs, charities and other non-profits - - - Designed to help you save time, reduce frustration, and accomplish your goals. - - - Giving, event management, social media features, plus more. - - - Read the docs to discover what to do next: - - - - ); - `, - forEveryone: ` -
    -
  • Simple to use member dashboards
  • -
  • Member notifications
  • -
  • Event and volunteer calendars
  • -
  • Donation management
  • -
  • Advertising from local companies
  • -
  • Multi-organization support
  • -
  • Plugin support for cloud service providers
  • -
- `, - crossPlatform: ` -
    -
  • View the social media news feed
  • -
  • Share posts, images and videos
  • -
  • Create events for your groups
  • -
  • Group chat with other members
  • -
  • Receive the latest community news
  • -
  • Get reminders and notifications
  • -
  • Make your community stronger
  • -
- `, - sixthPanel: `Talawa is an open-source project. Our active community of volunteers is constantly adding features to make administration easier.

Their varied perspectives has created a product that is easily adaptable to the cultures and languages of their countries. Contributions from 19 different timezones. - `, - seventhPanel:`Talawa was created by The Palisadoes Foundation in 2019 as part of its social outreach programs in Jamaica. Our work was sponsored by local companies wanting to create a globally competitive workforce on the island by sponsoring philanthropic software development internships for university students.

- In 2021, Palisadoes was accepted into the prestigious Google Summer of Code (GSoC) which expanded the development team to volunteers around the world. That same year we participated in the GitHub India, GitHub Externship program for both the winter and summer cohorts.

- Palisadoes was also selected for GSoC in 2022 and 2023. In 2022 the Google Season of Docs (GsoD) selected Palisadoes as a participant. In 2023 our Talawa projects were included in the Outreachy open-source internship program. - `, - eightPanel:`

Our developer community members are talented, passionate, and amazing. They are always suggesting, coding and documenting new ideas for our software.

-

They span across the globe. Explore this space to learn something new from the community.

-
- -
- Jump in and get started! - - `, - fastRefresh: ` - Talawa was created by The Palisadoes Foundation in 2019 as part of its social outreach programs in Jamaica. Our work was sponsored by local companies wanting to create a globally competitive workforce on the island by sponsoring philanthropic software development internships for university students.

In 2021, Palisadoes was accepted into the prestigious Google Summer of Code (GSoC) which expanded the development team to volunteers around the world. That same year we participated in the GitHub India, GitHub Externship program for both the winter and summer cohorts.

4. Palisadoes was also selected for GSoC in 2022 and 2023. In 2022 the Google Season of Docs (GsoD) selected Palisadoes as a participant. In 2023 our Talawa projects were included in the Outreachy open source internship program. - - `, - talks: ` - Get to know our Talawa community by visiting our YouTube channel. There you will find interviews, technical talks, feature reviews with volunteers and much more -

- You can follow the latest news from the Palisadoes team on Twitter. - `, - }; - - export default textcontent