Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge ecosystem sales demo to main #20

Merged
merged 111 commits into from
Mar 8, 2024
Merged
Changes from 1 commit
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
d34d6b9
Qr code Reader component added to handle DID
Feb 1, 2024
314399e
Added toast and fix Helper box
Feb 1, 2024
bce36f6
Fix Helper box now works with onboarding form
Feb 2, 2024
ec64c81
Added onboarding page item to sidebar
Feb 2, 2024
a51e1fb
Organizations page as Landing
Feb 5, 2024
451703b
Design fixes for landing page
Feb 5, 2024
13d37c9
Added new UI libraries
Feb 6, 2024
1f092b9
Added UI components folder
Feb 6, 2024
bae09e1
Added form components folder
Feb 6, 2024
f40a1d0
Assets for Quotient page
Feb 6, 2024
274f0b3
added Open bank Quotient page
Feb 6, 2024
afdae42
General style fixes and small refactor over Quotient page
Feb 6, 2024
9104ee8
Design fixes and Refactor for Quotient page
Feb 6, 2024
4c3481c
Styling Goverment docs for Quotient page
Feb 6, 2024
2c07c39
Added basic configuration for Issuing credentials
Feb 6, 2024
7d0ceb5
Successfully issuing credentials on Quotient
Feb 7, 2024
a5ff38b
Small fixes
Feb 7, 2024
0e92e26
Fix linting
Feb 7, 2024
db5a804
format check fix
Feb 7, 2024
88b68eb
removed lock.json file
Feb 7, 2024
a85cb87
Fix form-check to work with npm
Feb 7, 2024
43e3de0
feat: quotient loan form
Feb 8, 2024
cf4ed09
Fix:comments from PR#11
Feb 8, 2024
3a1d813
Changed the _credentials folder content
Feb 8, 2024
e762cc2
fix:Change component to jsx
Feb 9, 2024
d057f80
Issuers Did's on env file
Feb 10, 2024
ecf8530
Suggested fixes
Feb 12, 2024
687fee1
Desktop design complete for New Banking page
Feb 9, 2024
77a037a
feat - equinet dashboard page
Feb 9, 2024
c703c5f
Setting up QR generator with each template
Feb 9, 2024
5b28017
fix: generate Qr on loan
Feb 10, 2024
de457fc
Removed old pages
Feb 10, 2024
71d46dc
desktop design done for Equinet page
Feb 10, 2024
bbc6f59
Qr code & credentials styles for loan page
Feb 10, 2024
b2fbf68
Qr for new bank page
Feb 10, 2024
74c91b7
Landing page updated with demo flow items
Feb 10, 2024
037c5da
Cleaning componetns folder
Feb 10, 2024
70f98d9
deleted icons folder
Feb 10, 2024
f65cca8
Partners page created
Feb 10, 2024
3308b4e
partners pages desktop design
Feb 10, 2024
f0bcb50
Page layout moved to app.js & creating custom partner page
Feb 11, 2024
1b1a8f0
Custom partner content structure
Feb 11, 2024
bbd61c6
Partnert custom page complete with responsive
Feb 12, 2024
1e076ec
fix linting
Feb 12, 2024
083de59
Fixed success bank account created page
Feb 12, 2024
23c2732
Partners Componets move to new folder
Feb 12, 2024
cbd99b2
feat: urbanscape page & form
Feb 12, 2024
2c3089a
Desktop style ready for Urbanscape form & success screeen+
Feb 12, 2024
867ae48
Fix linting
Feb 12, 2024
c81890d
Qr code for urbanscape
Feb 12, 2024
9ee3391
Camera image for auto loan page
Feb 13, 2024
f2f31a3
Basic configuration for QR verification
Feb 13, 2024
d031aee
Verification complete for Loan page
Feb 13, 2024
944070d
Error handling for Qr code verification
Feb 13, 2024
ebdd61a
Created qrCodeStore to handle QrCode state around the app
Feb 14, 2024
e9f644f
Refactoring QrCode verification component to make it reusable
Feb 14, 2024
f89249b
Added Qr verification to create new bank account page
Feb 14, 2024
7ec227f
Added QR code verification for Urbanscape
Feb 14, 2024
1240aea
Refactoring Qr code verification & move all qr code into components/q…
Feb 14, 2024
aa99175
refactoring qr code refetching
Feb 14, 2024
db03940
Lint errors fixed
Feb 14, 2024
8980288
Setting mock values for create bank formulary
Feb 15, 2024
15e8f3a
Using verifyError in QrStore
Feb 15, 2024
36dd48e
fix lint and form-check
Feb 15, 2024
2292931
Fix Partner urbanscape custom page & fix Server url to own url
Feb 15, 2024
e87a9c2
changed Api Env name to not be public
Feb 15, 2024
753f305
Helper box accept 1 field, email or did
Feb 16, 2024
160644c
Responsive for all pages supporting min size of 300px
Feb 16, 2024
6cf7e28
Fix _credentials objects to use right options
Feb 19, 2024
4209bed
Issuing revokable credentials
Feb 20, 2024
a6e09bf
Error handling for Qr code verification and Isssue credentials
Feb 20, 2024
9df2dfb
Rekocation workflow done for equinet page
Feb 20, 2024
dba1d11
Fix urbanscame useQrCode
Feb 20, 2024
e90d628
Added webcam gif | fix back arrow for equinet | Fix load qr code in …
Feb 20, 2024
715b062
Urbanscape success page qr code fix
Feb 21, 2024
dce0332
Refactoring folder structure
Feb 21, 2024
cb21fe9
Fix triggering multiple times & credentials modified with persist true
Feb 22, 2024
f011e6b
Added real information for issuin credentials | Forms fill up from QR…
Feb 22, 2024
725407d
Updated .env.example values
Feb 22, 2024
ff46b9d
Reseting retrievedData from qr codes
Feb 22, 2024
6ff71fe
Changed proof template for loan page & added Readme File
Feb 23, 2024
6545fee
Fixing PR commets
Feb 13, 2024
e8c2c4d
fix: format-check failing because the identified lines did not adhere…
Dadogg80 Feb 14, 2024
869bdf9
fix: remove personal values as default values.
Dadogg80 Feb 14, 2024
ddc190f
Pusing for format-check
Feb 15, 2024
6067730
fix format-check
Feb 15, 2024
0c5e76c
Update pages/_app.js
Dadogg80 Feb 20, 2024
de905d9
fixing conflicts
Feb 23, 2024
55cebbe
General content modifications from list of fixes
Feb 26, 2024
04f1b97
Fix text for credentials component
Feb 27, 2024
64b089d
PR16 fixes: removed distribute from credentials & clean public folder
Feb 27, 2024
c8b77f4
Addred creditScore to equinet credetial
Feb 27, 2024
b473e15
Credit score added to equinet credential
Feb 27, 2024
4dba52d
Added distribute true back to _crendentials
Feb 28, 2024
00afb4a
temporarily disable bbs+
mike-parkhill Feb 28, 2024
2f0f96b
renable bbs+
mike-parkhill Feb 29, 2024
5b8dc22
remove holder check
mike-parkhill Feb 29, 2024
0b1d674
get holder DID from first VC in presentation
mike-parkhill Feb 29, 2024
0445f1a
remove revocation details from Bank Identity and make credit score no…
mike-parkhill Feb 29, 2024
95833b4
try to get equinet working again
mike-parkhill Feb 29, 2024
b88956a
log issue credential body
mike-parkhill Feb 29, 2024
6ae9cc1
use non BBS+ revocation
mike-parkhill Mar 1, 2024
cd7febb
some clean-up
mike-parkhill Mar 1, 2024
c14292d
fix reference to issuedCredential
mike-parkhill Mar 1, 2024
7d8cef3
remove reference to distributeCredential
mike-parkhill Mar 1, 2024
1c77a0a
remove persistence from Forsur VC
mike-parkhill Mar 1, 2024
18140cd
Fix revocation bug and some minor tweaks to spelling, etc. (#19)
mike-parkhill Mar 8, 2024
2bdcda2
updated lock files
mike-parkhill Mar 8, 2024
cbd0b21
fix merge mistake
mike-parkhill Mar 8, 2024
918cf0d
fixed another merge issue
mike-parkhill Mar 8, 2024
d56342c
copied lock files from other branch
mike-parkhill Mar 8, 2024
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
Prev Previous commit
Next Next commit
fix: generate Qr on loan
dhipgraby authored and mike-parkhill committed Mar 8, 2024
commit 5b280179ba1baac0ef388edec89230561055d322
83 changes: 40 additions & 43 deletions components/forms/user/form-field-personal-contact.jsx
Original file line number Diff line number Diff line change
@@ -61,50 +61,47 @@ const FormFieldPersonalContact = ({ control, isUsaCitizen }) => (
* @param {*} usaCitizen shows | !show BirthdayPicker comp
* @returns React.FC Form Field
*/
const UsaCitizen = ({ control, usaCitizen }) => {

return (
<>
<div className='mt-4 mb-4'>
<Separator />
</div>
<h2 className='text-lg font-semibold'>Personal Information</h2>
<div className='flex gap-2' >
<FormField
control={control}
name="isUsaCitizen"
render={({ field }) => (
<FormItem className='w-20'>
<FormLabel>U.S Citizen?</FormLabel>
<Select onValueChange={field.onChange}>
<FormControl>
<SelectTrigger>
<SelectValue placeholder="Select one" />
</SelectTrigger>
</FormControl>
<SelectContent>
<SelectItem disabled={field.value === 'true'} value={'true'}>Yes</SelectItem>
<SelectItem disabled={field.value === 'false'} value={'false'}>No</SelectItem>
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)} />
<FormField
control={control}
name="ssn"
render={({ field }) => (
<FormItem className='w-80'>
<FormLabel>Social Security Number</FormLabel>
const UsaCitizen = ({ control, usaCitizen }) => (
<>
<div className='mt-4 mb-4'>
<Separator />
</div>
<h2 className='text-lg font-semibold'>Personal Information</h2>
<div className='flex gap-2' >
<FormField
control={control}
name="isUsaCitizen"
render={({ field }) => (
<FormItem className='w-20'>
<FormLabel>U.S Citizen?</FormLabel>
<Select onValueChange={field.onChange}>
<FormControl>
<Input placeholder="Enter SSN" {...field} />
<SelectTrigger>
<SelectValue placeholder="Select one" />
</SelectTrigger>
</FormControl>
<FormMessage />
</FormItem>
)} />
</div>
</>
);
};
<SelectContent>
<SelectItem disabled={field.value === 'true'} value={'true'}>Yes</SelectItem>
<SelectItem disabled={field.value === 'false'} value={'false'}>No</SelectItem>
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)} />
<FormField
control={control}
name="ssn"
render={({ field }) => (
<FormItem className='w-80'>
<FormLabel>Social Security Number</FormLabel>
<FormControl>
<Input placeholder="Enter SSN" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)} />
</div>
</>
);

export default FormFieldPersonalContact;
27 changes: 14 additions & 13 deletions components/org/quotient/loan-auth.jsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React, { useEffect, useState } from 'react';
import { Separator } from 'components/ui/separator';
import { generateQR } from 'utils/generate-qr';
import { QRCodeGenerator } from 'components/qr-generator';
import BankCredentials from './bank-credentials';
// import { generateQR } from 'utils/generate-qr';
// import { QRCodeGenerator } from 'components/qr-generator';

/**
* @description Quotient apply to loan QR code authenticator.
@@ -13,32 +13,33 @@ import BankCredentials from './bank-credentials';
* @returns React.FC
*/
const LoanQrAuthentication = ({ isAuth = false, setUserInfo }) => {
const [qrCodeUrl, setQrCodeUrl] = useState('');
const proofTemplateID = 'b156507a-949f-4dff-ab2f-ba98ea840678';

// const [qrCodeUrl, setQrCodeUrl] = useState('')
// const proofTemplateID = "b156507a-949f-4dff-ab2f-ba98ea840678"
const handleGenerateQR = async () => {
const response = await generateQR(proofTemplateID);
console.log('handleGenerateQR', { response });
setQrCodeUrl(response.qr);
};

// useEffect(async () => {
// const handleGenerateQR = async () => {
// const { response } = await generateQR(proofTemplateID);
// setQrCodeUrl(response.qr);
// };
// await handleGenerateQR()
// }, [])
useEffect(() => {
if (qrCodeUrl === '') handleGenerateQR();
}, [qrCodeUrl]);

return (
<div className='grid gap-2 p-4 bg-neutral-50 rounded-lg space-y-5 h-fit'>
<h2>Authenticate with your mobile banking app and providing the needed credentials including a validated credit score over 600.</h2>
<Separator />
<p className='text-start'>Scan the QR code below with your terive mobile banking app.</p>

{/* <QRCodeGenerator url={qrCodeUrl} /> */}
{qrCodeUrl !== '' ? (<QRCodeGenerator url={qrCodeUrl} />) : null}
<Separator />
<div>
<h3>Required credentials:</h3>
<BankCredentials checked={isAuth} />
</div>
</div>
)
);
};

export default LoanQrAuthentication;
10 changes: 5 additions & 5 deletions components/qr-generator.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useQRCode } from "next-qrcode";
import { useQRCode } from 'next-qrcode';

export const QRCodeGenerator = ({ url }) => {
const { Canvas } = useQRCode();
@@ -9,16 +9,16 @@ export const QRCodeGenerator = ({ url }) => {
<Canvas
text={url}
options={{
errorCorrectionLevel: "M",
errorCorrectionLevel: 'M',
margin: 3,
scale: 4,
width: qrCodeSize,
color: {
dark: "#000000",
light: "#FFFFFF"
dark: '#000000',
light: '#FFFFFF'
}
}}
/>
</div>
);
};
};
7 changes: 2 additions & 5 deletions pages/org/quotient/index.jsx
Original file line number Diff line number Diff line change
@@ -107,7 +107,7 @@ const QuotientBankForm = () => {
<h2 className="font-semibold text-2xl">Open New Banking Account</h2>
</div>
<Form {...form}>
<form className="flex gap-3">
<form onSubmit={form.handleSubmit(onSubmit)} className="flex gap-3">
<div className="p-4 bg-neutral-50 rounded-lg space-y-5 flex-1 w-60">
<FormFieldNameAndBirthday control={form.control} dob={true} />
<Separator />
@@ -121,15 +121,12 @@ const QuotientBankForm = () => {
setIsCaptureCompleted={setIsCaptureCompleted}
setIsUploadPoDComplete={setIsUploadPoDComplete}
/>
</form>
<div className='mt-3'>
<Button
onClick={form.handleSubmit(onSubmit)}
className="col-span-2 w-fit md:place-self-end px-10 bg-emerald-700 text-lg"
type="submit">
Submit Application
</Button>
</div>
</form>
</Form>
</div>
)}
33 changes: 11 additions & 22 deletions utils/generate-qr.js
Original file line number Diff line number Diff line change
@@ -1,32 +1,21 @@
import { generateNonce } from "./generate-nonce";
import { dockUrl } from "./constants";
import { toast } from "sonner";
import { postRequest } from "./request";
import { toast } from 'sonner';
import { generateNonce } from './generate-nonce';
import { dockUrl } from './constants';
import { postRequest } from './request';

export const generateQR = async (
proofTemplateID
proofTemplateID
) => {

const proofBody = {
"nonce": `${generateNonce()}`,
"domain": "dock.io"
nonce: `${generateNonce()}`,
domain: 'dock.io'
};

try {
console.log("Generating QR Code for:", proofTemplateID);

const response = await postRequest(`${dockUrl}/proof-templates/${proofTemplateID}/request`, proofBody)

console.log("QR Code generation response:", response);

if (response.qr) {
return response;
} else {
throw new Error("QR Code URL not found in response");
}

const response = await postRequest(`${dockUrl}/proof-templates/${proofTemplateID}/request`, proofBody);
if (response.status === 202) return response.data;
} catch (err) {
toast.error("Error generating proof request QR code:");
console.error("Error in QR Code generation:", err);
toast.error('Error generating proof request QR code:');
throw new Error('generateQR:Error in QR Code generation:', err);
}
};