Skip to content
This repository has been archived by the owner on Sep 7, 2024. It is now read-only.

Staging #95

Merged
merged 7 commits into from
Oct 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ The signup page url accepts an optional parameter `ari` to identify users who ch

## Token storage

Authenticated users can access the [wallet page](http://localhost:18000/dashboard/wallet) to save tokens for all supported platforms(Gmail, Twitter and Telegram). Each platform's token can be saved by clicking the save button under its description
Authenticated users can access the [wallet page](http://localhost:18000/dashboard/wallet) to save tokens for all supported platforms(Gmail, X and Telegram). Each platform's token can be saved by clicking the save button under its description

![wallet](images/wallet.png)

When saving tokens for Gmail and Twitter, an authorization screen will be displayed prompting you to grant the requested permissions.
When saving tokens for Gmail and X, an authorization screen will be displayed prompting you to grant the requested permissions.

![wallet](images/gmail_authorization.png) ![wallet](images/twitter_authorization.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ We build for people. Physically testing each feature to make sure it works is be

## Storing accounts

We can store Gmail, twitter and telegram tokens currently. Gmail and twitter share the same authorization flow. If an update is made to any one of them then the other(s) need to be tested to make sure everything works as it should.
We can store Gmail, X and telegram tokens currently. Gmail and X share the same authorization flow. If an update is made to any one of them then the other(s) need to be tested to make sure everything works as it should.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"react-hook-form": "^7.24.0",
"react-hot-toast": "^2.2.0",
"react-i18next": "^11.15.7",
"react-icons": "^4.2.0",
"react-icons": "^4.11.0",
"react-idle-timer": "^5.4.2",
"react-markdown": "^7.1.2",
"react-phone-number-input": "^3.1.23",
Expand Down
14 changes: 7 additions & 7 deletions public/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
},
"2": {
"heading": "Connect Accounts",
"details": "Securely Link your accounts on platforms we support like Gmail, Twitter and telegram using OAuth2 technology so that you can continue to communicate on them when offline. We only request the bare minimum permissions for our services to work. You can learn more in our privacy policy"
"details": "Securely Link your accounts on platforms we support like Gmail, X and telegram using OAuth2 technology so that you can continue to communicate on them when offline. We only request the bare minimum permissions for our services to work. You can learn more in our privacy policy"
},
"3": {
"heading": "Synchronize Mobile App",
Expand Down Expand Up @@ -119,7 +119,7 @@
"website": "Website",
"IRC": "IRC",
"facebook": "Facebook",
"twitter": "Twitter",
"twitter": "X",
"youtube": "YouTube"
},
"downloads": {
Expand Down Expand Up @@ -156,8 +156,8 @@
"3": {
"heading": "Save platforms",
"details": {
"part-1": "Save Gmail, Twitter and telegram so that you can use the SWOB app offline. Click on each platform to see the save button",
"part-2": "Saving Twitter on your phone may require you to click the save button twice if you have the Twitter app already installed",
"part-1": "Save Gmail, X and telegram so that you can use the SWOB app offline. Click on each platform to see the save button",
"part-2": "Saving X on your phone may require you to click the save button twice if you have the X app already installed",
"caption": "Note"
}
},
Expand Down Expand Up @@ -238,7 +238,7 @@
},
"info": {
"gmail": "On the authorization page, select the option to send email on your behalf",
"twitter": "If you already have the Twitter app installed, please open it before clicking on the save button below. The app will only prompt you for authorization if it is running"
"twitter": "If you already have the X app installed, please open it before clicking on the save button below. The app will only prompt you for authorization if it is running"
},
"section-1": {
"heading": "Available Platforms",
Expand All @@ -256,7 +256,7 @@
"cancel-button-text": "cancel"
},
"prompt-dialog": {
"heading": "Do you have the Twitter app installed ?",
"heading": "Do you have the X app installed ?",
"details": "Please open the app then return to this page and click continue",
"cta-button-text": "continue"
},
Expand Down Expand Up @@ -306,7 +306,7 @@
"paragraph-2": "We also require you to provide the code sent to you by SMS as a means of guaranteeing you have the necessary (own) rights to the required phone number. This will help us prevent actors from using non consented phone numbers to create accounts - preventing the owners from further doing so",
"form": {
"code": {
"placeholder": "SMS Verification Code"
"placeholder": "Verification Code"
}
},
"resend-label": "Resend in",
Expand Down
2 changes: 1 addition & 1 deletion public/locales/fa/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@
"paragraph-2": "ما همچنین از شما می‌خواهیم که کدی را که از طریق پیامک برای شما ارسال می‌شود، به‌عنوان وسیله‌ای برای تضمین داشتن حقوق لازم (خود) در مورد شماره تلفن مورد نیاز، ارائه دهید. این به ما کمک می‌کند تا از استفاده بازیگران از شماره تلفن‌های بدون رضایت برای ایجاد حساب‌ها جلوگیری کنیم - از مالکان از انجام این کار بیشتر جلوگیری کنیم.",
"form": {
"code": {
"placeholder": "کد تایید پیامکی"
"placeholder": "کد تایید"
}
},
"resend-label": "دوباره ارسال کنید",
Expand Down
14 changes: 7 additions & 7 deletions public/locales/fr/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
},
"2": {
"heading": "Connecter les comptes",
"details": "Reliez en toute sécurité vos comptes sur les plateformes que nous prenons en charge, comme Gmail, Twitter et Telegram, à l'aide de la technologie OAuth2, afin que vous puissiez continuer à communiquer sur ces plateformes lorsque vous êtes hors ligne. Nous ne demandons que le strict minimum de permissions pour que nos services fonctionnent. Vous pouvez en savoir plus dans notre politique de confidentialité"
"details": "Reliez en toute sécurité vos comptes sur les plateformes que nous prenons en charge, comme Gmail, X et Telegram, à l'aide de la technologie OAuth2, afin que vous puissiez continuer à communiquer sur ces plateformes lorsque vous êtes hors ligne. Nous ne demandons que le strict minimum de permissions pour que nos services fonctionnent. Vous pouvez en savoir plus dans notre politique de confidentialité"
},
"3": {
"heading": "Synchroniser l'application mobile",
Expand Down Expand Up @@ -119,7 +119,7 @@
"website": "Site web",
"IRC": "IRC",
"facebook": "Facebook",
"twitter": "Twitter",
"twitter": "X",
"youtube": "YouTube"
},
"downloads": {
Expand Down Expand Up @@ -156,8 +156,8 @@
"3": {
"heading": "Sauvegarder les plateformes",
"details": {
"part-1": "Enregistrer Gmail, Twitter et Telegram pour que vous puissiez utiliser l'application SWOB hors ligne. Cliquez sur chaque plateforme pour voir le bouton de stockage",
"part-2": "L'enregistrement de Twitter sur votre téléphone peut vous obliger à double-cliquer sur le bouton d'enregistrement si l'application Twitter est déjà installée",
"part-1": "Enregistrer Gmail, X et Telegram pour que vous puissiez utiliser l'application SWOB hors ligne. Cliquez sur chaque plateforme pour voir le bouton de stockage",
"part-2": "L'enregistrement de X sur votre téléphone peut vous obliger à double-cliquer sur le bouton d'enregistrement si l'application X est déjà installée",
"caption": "Attention"
}
},
Expand Down Expand Up @@ -238,7 +238,7 @@
},
"info": {
"gmail": "Sur la page d'autorisation, sélectionnez l'option d'envoi d'e-mail en votre nom",
"twitter": "Si l'application Twitter est déjà installée, veuillez l'ouvrir avant de cliquer sur le bouton de la boutique ci-dessous. L'application ne vous demandera l'autorisation que si elle est en cours d'exécution"
"twitter": "Si l'application X est déjà installée, veuillez l'ouvrir avant de cliquer sur le bouton de la boutique ci-dessous. L'application ne vous demandera l'autorisation que si elle est en cours d'exécution"
},
"section-1": {
"heading": "Plateformes disponibles",
Expand All @@ -256,7 +256,7 @@
"cancel-button-text": "annuler"
},
"prompt-dialog": {
"heading": "Avez-vous l'application Twitter installée ?",
"heading": "Avez-vous l'application X installée ?",
"details": "Veuillez ouvrir l'application, puis revenir à cette page et cliquer sur Continuer",
"cta-button-text": "continuer"
},
Expand Down Expand Up @@ -306,7 +306,7 @@
"paragraph-2": "Nous vous demandons également de fournir le code qui vous a été envoyé par SMS afin de garantir que vous disposez des droits (propres) nécessaires sur le numéro de téléphone requis. Cela nous aidera à empêcher les acteurs d'utiliser des numéros de téléphone non consentis pour créer des comptes - empêchant ainsi les propriétaires de continuer à le faire",
"form": {
"code": {
"placeholder": "Code de vérification SMS"
"placeholder": "Le code de vérification"
}
},
"resend-label": "Renvoyer dans",
Expand Down
7 changes: 3 additions & 4 deletions src/components/Footer.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@ import {
FiMessageSquare,
FiLink2,
FiExternalLink,
FiTwitter,
FiFacebook,
FiYoutube,
} from "react-icons/fi";
import { GoMarkGithub } from "react-icons/go";
import { FaGithub, FaXTwitter } from "react-icons/fa6";
import { useTranslation } from "react-i18next";
import { useLanguage } from "hooks";

Expand Down Expand Up @@ -83,7 +82,7 @@ export const Footer = () => {
target="_blank"
rel="noreferrer"
>
<GoMarkGithub size={20} /> &nbsp; @smswithoutborders
<FaGithub size={20} /> &nbsp; @smswithoutborders
</a>

<a
Expand All @@ -101,7 +100,7 @@ export const Footer = () => {
target="_blank"
rel="noreferrer"
>
<FiTwitter size={20} /> &nbsp; @SwobOutreach
<FaXTwitter size={20} /> &nbsp; @SwobOutreach
</a>

<a
Expand Down
14 changes: 7 additions & 7 deletions src/components/MainNavbar.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { useState, Fragment } from "react";
import logo from "images/logo-icon-light.png";
import { FiMenu, FiX, FiTwitter, FiFacebook } from "react-icons/fi";
import { GoMarkGithub } from "react-icons/go";
import { FiMenu, FiX, FiFacebook } from "react-icons/fi";
import { FaGithub, FaXTwitter } from "react-icons/fa6";
import { Link } from "react-router-dom";
import { Transition } from "@headlessui/react";
import { NavLink, MobileNavLink, ExternalLink, DropDownLink } from "./NavLinks";
Expand Down Expand Up @@ -82,14 +82,14 @@ export const MainNavbar = () => {
href="https://github.com/orgs/smswithoutborders/"
target="_blank"
>
<GoMarkGithub size={20} />
<FaGithub size={20} />
</ExternalLink>
<ExternalLink
key="Twitter"
href="https://twitter.com/SwobOutreach"
target="_blank"
>
<FiTwitter size={20} />
<FaXTwitter size={20} />
</ExternalLink>

<ExternalLink
Expand Down Expand Up @@ -170,7 +170,7 @@ export const MainNavbar = () => {
href="https://github.com/orgs/smswithoutborders/"
target="_blank"
>
<GoMarkGithub size={20} />
<faGithub size={20} />
<span>GitHub</span>
</ExternalLink>

Expand All @@ -180,8 +180,8 @@ export const MainNavbar = () => {
href="https://twitter.com/SwobOutreach"
target="_blank"
>
<FiTwitter size={20} />
<span>Twitter</span>
<FaXTwitter size={20} />
<span>X</span>
</ExternalLink>

<ExternalLink
Expand Down
Binary file added src/images/twitter-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions src/pages/Contact.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ import {
FiMail,
FiGlobe,
FiMessageSquare,
FiTwitter,
FiFacebook,
FiYoutube,
} from "react-icons/fi";
import { FaXTwitter } from "react-icons/fa6";

import { PageAnimationWrapper } from "components";
import { useTranslation } from "react-i18next";

Expand Down Expand Up @@ -81,7 +82,7 @@ const Contact = () => {

<div className="flex items-center gap-2 my-8">
<div className="text-blue-800 lg:mr-4">
<FiTwitter className="w-7 h-7 lg:w-10 lg:h-10" />
<FaXTwitter className="w-7 h-7 lg:w-10 lg:h-10" />
</div>
<div className="">
<p className="my-0">{t("contact.twitter")}</p>
Expand Down
4 changes: 2 additions & 2 deletions src/pages/Downloads.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import { PageAnimationWrapper } from "components";
import { useTranslation } from "react-i18next";
import { GoMarkGithub } from "react-icons/go";
import { FaGithub } from "react-icons/fa6";
import PlayStoreLogo from "images/playstore.svg";
import { FiDownload } from "react-icons/fi";

Expand Down Expand Up @@ -35,7 +35,7 @@ const Downloads = () => {
target="_blank"
rel="noreferrer"
>
<GoMarkGithub size={20} />
<FaGithub size={20} />
<span>{t("labels.download")}</span>
</a>
</div>
Expand Down
74 changes: 54 additions & 20 deletions src/pages/Landing.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { FiDownload, FiShield } from "react-icons/fi";
import { BsArrowRight } from "react-icons/bs";
import { Link } from "react-router-dom";
import Grid from "@mui/material/Unstable_Grid2";
import { Box } from "@mui/material";

const Landing = () => {
const { t } = useTranslation();
Expand Down Expand Up @@ -48,9 +49,11 @@ const Landing = () => {
</div>

<div className="col-span-full lg:col-span-1">
<img
<Box
sx={{ height: { md: "580px", xs: "470px" } }}
component="img"
src={phone3}
className="h-[580px] w-[470px] mx-auto lg:-rotate-25 shadow-3xl lg:-mb-16"
className=" w-[470px] mx-auto lg:-rotate-25 shadow-3xl lg:-mb-16"
alt={t("landing.section-1.image-caption")}
/>
</div>
Expand Down Expand Up @@ -204,26 +207,57 @@ const Landing = () => {
</h2>

<Grid container justifyContent="center">
<Grid xs={12} md={4} p={5}>
<img
src={internews}
className="h-[130px] w-[450px] p-5"
alt="Internews"
/>
<Grid
xs={9}
md={4}
sx={{
padding: { xs: 0, md: 5 },
mt: { xs: 0, md: 2 },
m: { xs: 0 },
}}
>
<a href="https://internews.org/" target="_blank" rel="noreferrer">
{" "}
<img src={internews} className=" p-5" alt="Internews" />{" "}
</a>
</Grid>
<Grid xs={12} md={4} p={5}>
<img
src={afkanerdlogo}
className="h-[120px] w-[450px] p-5"
alt="Afkanerd"
/>

<Grid
xs={9}
md={4}
sx={{
padding: { xs: 0, md: 5 },
mt: { xs: 0, md: 0 },
m: { xs: 0 },
}}
>
<a
href="https://www.opentech.fund/"
target="_blank"
rel="noreferrer"
>
{" "}
<img
src={OpenTF}
className=" p-5"
alt="Open Technology Fund"
/>{" "}
</a>
</Grid>
<Grid xs={12} md={4} p={5}>
<img
src={OpenTF}
className="h-[130px] w-[450px] p-5"
alt="Open Technology Fund"
/>

<Grid
xs={9}
md={4}
sx={{
padding: { xs: 0, md: 5 },
mt: { xs: 0, md: 5 },
m: { xs: 0 },
}}
>
<a href="https://afkanerd.com/" target="_blank" rel="noreferrer">
{" "}
<img src={afkanerdlogo} className="p-5" alt="Afkanerd" />{" "}
</a>
</Grid>
</Grid>
</div>
Expand Down
12 changes: 8 additions & 4 deletions src/pages/Wallet/components/PlatformList.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,14 @@ const PlatformList = ({
/>
) : (
<FiGrid
title={`${platform.name} logo`}
title={`${
platform.name === "twitter" ? "X" : platform.name
} logo`}
className="w-8 h-8 my-0"
/>
)}
<h3 className="my-0 font-normal capitalize">
{platform.name}
{platform.name === "twitter" ? "X" : platform.name}
</h3>
</div>
<FiChevronDown
Expand Down Expand Up @@ -91,12 +93,14 @@ const PlatformList = ({
/>
) : (
<FiGrid
title={`${platform.name} logo`}
title={`${
platform.name === "twitter" ? "X" : platform.name
} logo`}
className="w-8 h-8 my-0"
/>
)}
<h3 className="my-0 font-normal capitalize">
{platform.name}
{platform.name === "twitter" ? "X" : platform.name}
</h3>
</div>
<FiChevronDown
Expand Down
Loading