83 lines
6.1 KiB
TypeScript
83 lines
6.1 KiB
TypeScript
import {useTranslation} from 'next-i18next';
|
|
import {serverSideTranslations} from 'next-i18next/serverSideTranslations';
|
|
|
|
import Page from '../components/Page'
|
|
import Card from '../components/Card'
|
|
|
|
interface link{
|
|
url: string;
|
|
text: string;
|
|
}
|
|
|
|
function linkToJSX(link: link): JSX.Element {
|
|
return <div style={{ display: 'inline' }} dangerouslySetInnerHTML={{ __html: `<a href="${link.url}" target="_blank" class="underline">${link.text}</a>` }}></div>
|
|
}
|
|
|
|
function urlParse(text: string, links: link[]): JSX.Element[] {
|
|
const el = text.split(/(%s)/).map(s => {
|
|
if (s.includes("%s")) {
|
|
return linkToJSX(links.pop());
|
|
} else {
|
|
return <>{s}</>
|
|
}
|
|
});
|
|
return el;
|
|
}
|
|
|
|
function Faq(): JSX.Element {
|
|
const { t } = useTranslation(['common', 'index', 'faq']);
|
|
const questionList = [
|
|
{description: 'Which version of iOS does this support?', answer: 'The new enhanced QR code requires iOS 15+.'},
|
|
{description: 'I\'m having issues with adding it to my iPhone 6.', answer: 'Unfortunately, the minimum requirement for the new QR code is iOS 15 which runs on iPhone 6s and newer devices.'},
|
|
{description: "What are the supported browsers?", answer: 'For iPhones, only Safari is supported for importing to your Apple Wallet. For any other devices, we recommend that you save it as photo using your browser of choice. Browsers built internally into mobile apps (e.g. Facebook, Twitter, Instagram) are known to have issues.'},
|
|
{description: "How is my private information handled?", answer: 'Your proof-of-vaccination PDF (and most of the information in it) never leaves your device, and does NOT get sent to our server - the only information we send and store is non-personally-identifiable information such as vaccine type, date, and which organization gave you the vaccine. We share your concern about personal data being stored and lost, which is why we chose not to store or send any of it to our servers so there is no chance of it being lost or leaked.'},
|
|
{description: 'Do you have plans for Android support?', answer: 'Yes. We are working with Google to gain access to the APIs required. Meanwhile, you can also use this tool to download an Apple Wallet pass and import that into Google Pay Wallet using apps such as Pass2Pay or simply save it as a photo.'},
|
|
{description: 'I have a Red/White OHIP card. Can I still use this tool?', answer: 'Yes you can! Just call the Provincial Vaccine Contact Centre at 1-833-943-3900. The call centre agent can email you a copy of the receipt.'},
|
|
{description: 'I do not have a health card. Can I still use this tool?', answer: 'First contact your local public health unit to verify your identity and receive a COVIDcovid ID/Personal Access Code. You can then call the Provincial Vaccine Contact Centre at 1-833-943-3900 to get an email copy of your receipt.'},
|
|
{description: 'I\'m seeing an error message saying “Failed byte range verification." What do I do?', answer: 'If you see this error then please try re-downloading your receipt from the provincial proof-of-vaccination portal and trying again. We have received reports from some people that this has resolved the problem for them.'},
|
|
{description: 'Why isn\'t the new Apple Wallet pass green/orange?', answer: 'The official verifier from Ontario will decide which one is accepted. Color coding is no longer used for our Apple Wallet tool.'},
|
|
{description: 'How is the data on my vaccination receipt processed?', answer: 'Inside your local web browser, it checks the receipt for a digital signature from the provincial proof-of-vaccination system. If present, the receipt data is converted into Apple\'s format and then added into your iOS Wallet app.'},
|
|
{description: 'How can organizations validate this QR code?', answer: 'Verify Ontario app is your official tool. For devices that cannot run the official tool, you can also use our web-based tool at verifier.vaccine-ontario.ca'},
|
|
{description: 'Can I use the same iPhone to store passes for my entire family?', answer: 'Yes.'},
|
|
{description: 'Is this free and non-commercial?', answer: 'Similar to VaxHuntersCanada, there are no commercial interests. Just volunteers trying to do our part to help the community.'},
|
|
{description: 'How about support for other provinces?', answer: 'We will be investigating BC and Québec support shortly. If you are interested in contributing, please email us at grassroots@vaccine-ontario.ca'},
|
|
{description: 'How about Apple Watch?', answer: 'If you have iCloud sync enabled, you will see the pass on the watch too.'},
|
|
{description: 'Why have we taken time to build this?', answer: 'Gives Ontarians/organizations something easy to use (volunteered-developed, unofficial) until the official provincial app comes out in October.'},
|
|
{description: 'Who made this?', answer: 'The same group of volunteers who created the all-in-one vaccine appointment finding tool at vaccine-ontario.ca'},
|
|
{description: 'How can I stay up-to-date on your progress?', answer: 'We will post regular updates on Twitter @grassroots_team'},
|
|
{description: 'I have more questions. Can you please help me?', answer: 'Sure. Just email us at grassroots@vaccine-ontario.ca'}
|
|
];
|
|
|
|
|
|
return (
|
|
<Page content={
|
|
<Card step="?" heading={t('common:faq')} content={
|
|
<div className="space-y-3">
|
|
<p className="font-bold">{t('faq:heading')}</p>
|
|
<ol>
|
|
{questionList.map((question, i) => {
|
|
return (
|
|
<div>
|
|
<li key={i}><b>{i+1}. {question.description}</b></li>
|
|
<li key={i}>{question.answer}</li>
|
|
<br></br>
|
|
</div>
|
|
);
|
|
})}
|
|
</ol>
|
|
|
|
</div>
|
|
}/>
|
|
}/>
|
|
)
|
|
}
|
|
|
|
export async function getStaticProps({ locale }) {
|
|
return {
|
|
props: {
|
|
...(await serverSideTranslations(locale, ['index', 'faq', 'common']))
|
|
}
|
|
}
|
|
}
|
|
|
|
export default Faq; |