1 |
- {"version":3,"file":"static/chunks/pages/developers-c53b2b37ccde39a2.js","mappings":"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","sources":["webpack://_N_E/./node_modules/next-translate/lib/esm/formatElements.js","webpack://_N_E/./node_modules/next-translate/lib/esm/Trans.js","webpack://_N_E/?baf6","webpack://_N_E/./src/components/NextSeoWrapper.tsx","webpack://_N_E/./src/components/PageContainer/index.tsx","webpack://_N_E/./public/icons/discord-icon.svg","webpack://_N_E/./src/components/Navbar/NavigationDrawer/CommunitySection.tsx","webpack://_N_E/./src/pages/developers.tsx","webpack://_N_E/./src/utils/string.ts","webpack://_N_E/./src/components/Navbar/NavigationDrawer/CommunitySection.module.scss","webpack://_N_E/./src/components/PageContainer/PageContainer.module.scss","webpack://_N_E/./src/pages/contentPage.module.scss"],"sourcesContent":["import React, { cloneElement, Fragment } from 'react';\nvar tagRe = /<(\\w+)>(.*?)<\\/\\1>|<(\\w+)\\/>/;\nvar nlRe = /(?:\\r\\n|\\r|\\n)/g;\nfunction getElements(parts) {\n if (!parts.length)\n return [];\n var _a = parts.slice(0, 4), paired = _a[0], children = _a[1], unpaired = _a[2], after = _a[3];\n return [\n [(paired || unpaired), children || '', after],\n ].concat(getElements(parts.slice(4, parts.length)));\n}\nexport default function formatElements(value, elements) {\n if (elements === void 0) { elements = []; }\n var parts = value.replace(nlRe, '').split(tagRe);\n if (parts.length === 1)\n return value;\n var tree = [];\n var before = parts.shift();\n if (before)\n tree.push(before);\n getElements(parts).forEach(function (_a, realIndex) {\n var key = _a[0], children = _a[1], after = _a[2];\n var element = elements[key] || React.createElement(Fragment, null);\n tree.push(cloneElement(element, { key: realIndex }, children ? formatElements(children, elements) : element.props.children));\n if (after)\n tree.push(after);\n });\n return tree;\n}\n","import { useMemo } from 'react';\nimport useTranslation from './useTranslation';\nimport formatElements from './formatElements';\nexport default function Trans(_a) {\n var i18nKey = _a.i18nKey, values = _a.values, components = _a.components, fallback = _a.fallback, defaultTrans = _a.defaultTrans, ns = _a.ns;\n var _b = useTranslation(ns), t = _b.t, lang = _b.lang;\n var result = useMemo(function () {\n var text = t(i18nKey, values, { fallback: fallback, default: defaultTrans });\n if (!components || components.length === 0)\n return text;\n return formatElements(text, components);\n }, [i18nKey, values, components, lang]);\n return result;\n}\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/developers\",\n function () {\n return require(\"private-next-pages/developers.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/developers\"])\n });\n }\n ","import React from 'react';\n\nimport { NextSeo } from 'next-seo';\n\nimport { SEOProps } from '@/utils/seo';\nimport { truncateString } from '@/utils/string';\n\ninterface Props extends SEOProps {\n url?: string;\n image?: string;\n imageAlt?: string;\n imageWidth?: number;\n imageHeight?: number;\n}\n\nconst NextSeoWrapper: React.FC<Props> = (props) => {\n const { url, image, imageAlt, imageHeight, imageWidth, openGraph, description, ...rest } = props;\n const openGraphParams = {\n ...(openGraph && { openGraph }),\n ...(url && { url }),\n ...(image && {\n images: [{ url: image, width: imageWidth, height: imageHeight, alt: imageAlt }],\n }),\n };\n const params = {\n ...rest,\n ...(description && { description: truncateString(description, 150) }),\n };\n return <NextSeo {...params} openGraph={openGraphParams} />;\n};\n\nexport default NextSeoWrapper;\n","import { ReactNode, FC } from 'react';\n\nimport styles from './PageContainer.module.scss';\n\ntype Props = {\n children: ReactNode | ReactNode[];\n};\n\nconst PageContainer: FC<Props> = ({ children }) => {\n return <div className={styles.container}>{children}</div>;\n};\n\nexport default PageContainer;\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgDiscordIcon = function SvgDiscordIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 200,\n height: 200,\n viewBox: \"0 0 200 200\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.755 91.705a10.678 10.678 0 0 0 0 21.275 10.196 10.196 0 0 0 7.093-3.292 10.203 10.203 0 0 0 2.682-7.345 10.15 10.15 0 0 0-9.775-10.638Zm34.979 0a10.679 10.679 0 0 0-8.765 17.864 10.682 10.682 0 0 0 11.74 2.724 10.677 10.677 0 0 0 6.8-9.95 10.207 10.207 0 0 0-9.775-10.638Z\",\n fill: \"#F2F9FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M164.729 8.333H36.313a19.694 19.694 0 0 0-19.646 19.742v129.599a19.695 19.695 0 0 0 19.646 19.741h108.675l-5.08-17.729 12.267 11.404 11.596 10.702L184.375 200V28.075a19.697 19.697 0 0 0-19.646-19.742Zm-36.991 125.159s-3.45-4.121-6.325-7.763a30.241 30.241 0 0 0 17.345-11.404 54.804 54.804 0 0 1-11.02 5.654 63.083 63.083 0 0 1-13.896 4.121 67.125 67.125 0 0 1-24.821-.096 80.432 80.432 0 0 1-14.055-4.121 54.62 54.62 0 0 1-10.925-5.654 29.803 29.803 0 0 0 16.77 11.308c-2.875 3.642-6.389 7.987-6.389 7.987a34.75 34.75 0 0 1-29.229-14.567 128.336 128.336 0 0 1 13.8-55.903 47.39 47.39 0 0 1 26.93-10.062l.958 1.15a64.687 64.687 0 0 0-25.268 12.554s2.108-1.15 5.654-2.78a71.968 71.968 0 0 1 21.754-6.069 9.43 9.43 0 0 1 1.597-.191 81.086 81.086 0 0 1 19.359-.192 78.114 78.114 0 0 1 28.877 9.232 63.777 63.777 0 0 0-23.862-12.171l1.341-1.533c9.802.485 19.212 4 26.93 10.062a128.344 128.344 0 0 1 13.8 55.903 35.027 35.027 0 0 1-29.325 14.535Z\",\n fill: \"#F2F9FF\"\n })));\n};\nexport default SvgDiscordIcon;","import useTranslation from 'next-translate/useTranslation';\n\nimport styles from './CommunitySection.module.scss';\n\nimport Button, { ButtonType } from '@/dls/Button/Button';\nimport Link from '@/dls/Link/Link';\nimport DiscordIcon from '@/icons/discord-icon.svg';\n\nconst CommunitySection = () => {\n const { t } = useTranslation('common');\n return (\n <div className={styles.container}>\n <div className={styles.platformLogoBackground}>\n <DiscordIcon />\n </div>\n <div className={styles.flow}>\n <div className={styles.title}>{t('community.header')}</div>\n <div>{t('community.sub-header')}</div>\n <Link href=\"https://discord.gg/FxRWSBfWxn\" isNewTab className={styles.joinCommunityLink}>\n <Button href=\"\" type={ButtonType.Success}>\n {t('community.cta')}\n </Button>\n </Link>\n </div>\n </div>\n );\n};\n\nexport default CommunitySection;\n","/* eslint-disable max-lines */\n/* eslint-disable jsx-a11y/anchor-has-content */\n/* eslint-disable jsx-a11y/control-has-associated-label */\nimport Trans from 'next-translate/Trans';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './contentPage.module.scss';\n\nimport CommunitySection from '@/components/Navbar/NavigationDrawer/CommunitySection';\nimport NextSeoWrapper from '@/components/NextSeoWrapper';\nimport PageContainer from '@/components/PageContainer';\nimport { getLanguageAlternates } from '@/utils/locale';\nimport { getCanonicalUrl } from '@/utils/navigation';\n\nconst path = '/developers';\nconst DevelopersPage = () => {\n const { t, lang } = useTranslation('developers');\n return (\n <>\n <NextSeoWrapper\n title={t('common:developers')}\n url={getCanonicalUrl(lang, path)}\n languageAlternates={getLanguageAlternates(path)}\n />\n <PageContainer>\n <div className={styles.contentPage}>\n <h1>{t('header')}</h1>\n <CommunitySection />\n <p>{t('main-desc')}</p>\n <p>\n <Trans\n i18nKey=\"developers:sub-main-desc\"\n components={[\n <a key={0} href=\"https://tarteel.ai\" target=\"_blank\" rel=\"noreferrer\" />,\n ]}\n />\n </p>\n <p>\n <Trans\n i18nKey=\"developers:projects.all\"\n components={[\n <a key={0} href=\"https://github.com/quran\" target=\"_blank\" rel=\"noreferrer\" />,\n ]}\n />\n </p>\n <div>\n <p>\n <Trans\n i18nKey=\"developers:projects.q-next\"\n components={[\n <a\n key={0}\n href=\"https://github.com/quran/quran.com-frontend-next\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n ]}\n />\n </p>\n <p>\n <Trans\n i18nKey=\"developers:projects.q-api\"\n components={[\n <a\n key={0}\n href=\"https://github.com/quran/quran.com-api\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n ]}\n />\n </p>\n <p>\n <Trans\n i18nKey=\"developers:projects.q-api-docs\"\n components={[\n <a\n key={0}\n href=\"https://api-docs.quran.com/docs/category/quran.com-api\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n ]}\n />\n </p>\n <p>\n <Trans\n i18nKey=\"developers:projects.q-android\"\n components={[\n <a\n key={0}\n href=\"https://github.com/quran/quran_android\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n ]}\n />\n </p>\n <p>\n <Trans\n i18nKey=\"developers:projects.q-ios\"\n components={[\n <a\n key={0}\n href=\"https://github.com/quran/quran-ios\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n ]}\n />\n </p>\n <p>\n <Trans\n i18nKey=\"developers:projects.q-audio\"\n components={[\n <a\n key={0}\n href=\"https://github.com/quran/audio.quran.com\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n <a\n key={1}\n href=\"https://github.com/quran/quranicaudio-app\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n ]}\n />\n </p>\n </div>\n <p>\n <Trans\n i18nKey=\"developers:issues-guide\"\n components={[\n <a\n key={0}\n href=\"https://github.com/quran/quran.com-frontend-next/pulls\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n <a\n key={1}\n href=\"https://github.com/quran/quran.com-frontend-next/pulls\"\n target=\"_blank\"\n rel=\"noreferrer\"\n />,\n ]}\n />\n </p>\n <p>{t('issues-cta')}</p>\n <p>{t('thanks')}</p>\n <p>{t('footer')}</p>\n </div>\n </PageContainer>\n </>\n );\n};\n\nexport default DevelopersPage;\n","/**\n * Shorten a text by setting the maximum number of characters\n * by the value of the parameter and adding \"...\" at the end.\n *\n * @param {string} rawString\n * @param {number} length\n * @param {string} suffix\n * @returns {string}\n */\nexport const truncateString = (rawString: string, length: number, suffix = '...'): string => {\n const characters = rawString.split('', length);\n let shortenedText = '';\n for (let index = 0; index < characters.length; index += 1) {\n const character = characters[index];\n if (shortenedText.length === length - 1) {\n shortenedText = `${shortenedText}${character}${suffix}`;\n break;\n }\n shortenedText = `${shortenedText}${character}`;\n }\n return shortenedText;\n};\n\n/**\n * Strip HTML tags from a string.\n *\n * @param {string} rawString\n * @returns {string}\n */\nexport const stripHTMLTags = (rawString: string): string => rawString.replace(/(<([^>]+)>)/gi, '');\n\n/**\n * Convert a slugified collection id to collection id only after\n * removing the slug.\n *\n * @param {string} slugifiedCollectionId\n * @returns {string}\n */\nexport const slugifiedCollectionIdToCollectionId = (slugifiedCollectionId: string): string => {\n if (!slugifiedCollectionId) {\n return '';\n }\n const splits = slugifiedCollectionId.split('-');\n // if there is no slug in the url (collections with a name that cannot be slugified e.g. emoticons)\n if (splits.length === 1) {\n return splits[0];\n }\n return splits[splits.length - 1];\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CommunitySection_container__FFV6d\",\"joinCommunityLink\":\"CommunitySection_joinCommunityLink__ZlM3A\",\"flow\":\"CommunitySection_flow__qtJpv\",\"platformLogoBackground\":\"CommunitySection_platformLogoBackground__sc_5a\",\"title\":\"CommunitySection_title__neIfR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PageContainer_container__1TUET\",\"fullWidth\":\"PageContainer_fullWidth__RU5GM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contentPage\":\"contentPage_contentPage__GtoGM\",\"heading\":\"contentPage_heading__COCGv\",\"italicLarge\":\"contentPage_italicLarge__JVHhO\",\"image\":\"contentPage_image__Vgw2Y\",\"list\":\"contentPage_list__yuDCq\",\"underline\":\"contentPage_underline__1hrK7\",\"subListItem\":\"contentPage_subListItem__jozHS\",\"ctaContainer\":\"contentPage_ctaContainer__WdRQb\",\"section\":\"contentPage_section__mOqj2\",\"subSection\":\"contentPage_subSection__Crmto\",\"innerSection\":\"contentPage_innerSection__K7hW3\",\"bold\":\"contentPage_bold___v0J7\",\"subHeading\":\"contentPage_subHeading__kNRWM\"};"],"names":["tagRe","nlRe","getElements","parts","length","_a","slice","paired","children","unpaired","concat","formatElements","value","elements","replace","split","tree","before","shift","push","forEach","realIndex","key","after","element","Fragment","cloneElement","props","Trans","i18nKey","values","components","fallback","defaultTrans","ns","_b","useTranslation","t","lang","useMemo","text","default","window","__NEXT_P","url","image","imageAlt","imageHeight","imageWidth","openGraph","description","rest","openGraphParams","images","width","height","alt","params","truncateString","NextSeo","div","className","styles","_path","_path2","_extends","Object","assign","bind","n","e","arguments","r","hasOwnProperty","call","apply","viewBox","fill","xmlns","d","DiscordIcon","Link","href","isNewTab","Button","type","ButtonType","path","NextSeoWrapper","title","getCanonicalUrl","languageAlternates","getLanguageAlternates","PageContainer","h1","CommunitySection","p","a","target","rel","rawString","suffix","characters","shortenedText","index","character","stripHTMLTags","slugifiedCollectionIdToCollectionId","slugifiedCollectionId","splits","module","exports"],"sourceRoot":""}
|