npm install @capacitor/assets --save-dev
npx capacitor-assets generate

ionic capacitor build

ionic generate page familylogin

ionic generate page blogdetail
ionic generate page marketdetail
ionic generate page activetask
ionic generate page mytask

ionic generate page jobmanager
ionic generate page jobinterest

ionic generate page jobintprocess

ionic generate page jobreview
ionic generate page jobpastdue
ionic generate page jobactive

ionic generate component taskactivities
ionic generate component suggestedlist

ionic generate component fastreward

ionic generate component familypending

ionic generate component InterestCard
ionic generate component PendingSuggested

ionic generate page logout


npm install angularx-qrcode@14.0.0 --save

npm install bn-ng-idle

npm install @capacitor-community/barcode-scanner
npx cap sync

https://github.com/capacitor-community/barcode-scanner

ionic generate page startscan

ionic generate page suggest
ionic generate page suggestdetails

ionic generate page familysettings


ionic generate page locationmaps

ionic generate page playground

ionic generate page addbank


ionic generate service user-wallet
ionic generate service waiting-interest

ionic generate component tracking
ionic generate component myjob-offers

ionic generate component add-jobs
ionic generate component add-family


pendingoffers


ionic generate page addcredit
ionic generate page ownersjob


ionic generate component latest-market
ionic generate service tasks-data
ionic generate service banners-data
ionic generate service usersoffers-data
***ionic generate service pendingjob-data


https://masteringionic.com/blog/working-with-capacitor-googlemaps-in-ionic
ionic generate interface interfaces/location
ionic generate interface interfaces/marker


ionic generate service interval-refresh
ionic generate service family-data
ionic generate service market-data


$ ionic generate
$ ionic generate page
$ ionic generate page contact
$ ionic generate component contact/form
$ ionic generate component login-form --change-detection=OnPush
$ ionic generate directive ripple --skip-import
$ ionic generate service user-wallet
ionic generate service loc-trc

ionic generate service recipients

ionic generate service familysuggest-pending


npm i @capacitor/camera @capacitor/filesystem

https://devdactic.com/ionic-image-upload-capacitor

https://www.youtube.com/watch?v=fU8uM5oU1wY&t=1640s

    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.location.network"
        android:required="false" />

https://www.npmjs.com/package/flutterwave-angular-v3
npm install flutterwave-angular-v3


https://www.skypack.dev/view/@capacitor-community/contacts

	<key>NSContactsUsageDescription</key>
	<string>We need access to your contacts in order to do send messages to friends</string>


<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>




{"contacts":[{"emails":[{"address":"kate-bell@mac.com","type":"work"}],"name":{"given":"Kate","family":"Bell","suffix":"","display":"Kate Bell","middle":"","prefix":""},"contactId":"177C371E-701D-42F8-A03B-C61CA31627F6","phones":[{"number":"(555) 564-8583"
⚡️  [log] - {"contacts":[{"emails":[{"address":"kate-bell@mac.com","type":"work"}],"name":{"given":"Kate","family":"Bell","suffix":"","display":"Kate Bell","middle":"","prefix":""},"contactId":"177C371E-701D-42F8-A03B-C61CA31627F6","phones":[{"number":"(555) 564-8583","type":"mobile"},{"number":"(415) 555-3695","type":"main"}]},{"emails":[{"address":"d-higgins@mac.com","type":"home"}],"name":{"family":"Higgins","prefix":"","given":"Daniel","suffix":"Jr.","display":"Daniel Higgins Jr.","middle":""},"contactId":"AB211C5F-9EC9-429F-9466-B9382FF61035","phones":[{"number":"555-478-7672","type":"home"},{"number":"(408) 555-5270","type":"mobile"},{"number":"(408) 555-3514","type":"fax_home"}]},{"emails":[{"address":"John-Appleseed@mac.com","type":"work"}],"contactId":"410FE041-5C4E-48DA-B4DE-04C15EA3DBAC","name":{"display":"John Appleseed","middle":"","prefix":"","given":"John","family":"Appleseed","suffix":""},"phones":[{"number":"888-555-5512","type":"mobile"},{"number":"888-555-1212","type":"home"}]},{"emails":[{"address":"anna-haro@mac.com","type":"home"}],"name":{"given":"Anna","middle":"","display":"Anna Haro","suffix":"","prefix":"","family":"Haro"},"contactId":"F57C8277-585D-4327-88A6-B5689FF69DFE","phones":[{"number":"555-522-8243","type":"home"}]},{"emails":[{"address":"hank-zakroff@mac.com","type":"work"}],"contactId":"2E73EE73-C03F-4D5F-B1E8-44E85A70F170","name":{"middle":"M.","given":"Hank","prefix":"","display":"Hank M. Zakroff","family":"Zakroff","suffix":""},"phones":[{"number":"(555) 766-4823","type":"work"},{"number":"(707) 555-1854","type":"other"}]},{"contactId":"E94CD15C-7964-4A9B-8AC4-10D7CFB791FD","phones":[{"number":"555-610-6679","type":"home"}],"name":{"suffix":"","given":"David","family":"Taylor","prefix":"","middle":"","display":"David Taylor"}}]}
⚡️  [log] - getMyActiveJobsData RETURN-> {"status":"OK","total_record":"0","internal_return":0,"result_list":[],"categories":{"CT1":"Writings & Translations","CT2":"Marketing & Promotions","CT3":"Errands","CT4":"Others"},"environment":1,"session_image_server":"https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1/getmedia/","server_tag":"LIVE02","language":"en","ip_loc":"10.0.0.239, 10.10.33.15"}
⚡️  [log] - BANNERS RETURN-> {"status":"long WrenchHomeBanners(CVars in, CVars &out)","total_record":5,"internal_return":0,"result_list":[{"title":"You are waiting for feedback.","contract":null,"card_type":"PEND_INTEREST","card_style":null,"description":"You have shown interest in a few tasks and are waiting for confirmation to start.","blog_id":"0","card_icon":"icon1","offer_id":"0","banner":"https://www.wrenchboard.com/assets/images/apps/banners/task-waiting.jpg","banner_location":"URL","link_path":"pend-interest","button_text":"Continue","short_button_text":"Details","short_title":"You are waiting for feedback.","short_description":"You are waiting for confirmation to start.","short_style":"short_style lb"},{"title":"Yo man , you have Coupons to play with","contract":null,"card_type":"COUPONS","card_style":null,"description":"You have received some cash coupons waiting to be redeemed.","blog_id":"0","card_icon":"icon1","offer_id":"0","banner":"banner-coupons.jpg","banner_location":"LOCAL","link_path":"my-coupon","button_text":"Continue","short_button_text":"Redeem","short_title":"Redeem your Cash Coupons!","short_description":"You have received some cash coupons waiting to be redeemed.","short_style":"short_style lg"},{"title":"Some of your task as owner Need Review now ","contract":null,"card_type":"REVIEWJOB","card_style":null,"description":"Some of your task as owner Need Review now,Some of your task as owner Need Review now, S Need Review now","blog_id":"0","card_icon":"icon1","offer_id":"0","banner":"banner-job-due.jpg","banner_location":"LOCAL","link_path":"my-review-jobs","button_text":"View Tasks","short_button_text":"Start Review","short_title":"Review Ready Tasks","short_description":"Some of your jobs are waiting for approval ","short_style":"short_style lr"},{"title":"Some of your task as owner of the tasks are due ","contract":null,"card_type":"PASTDUEJOB","card_style":null,"description":"Some of your task as owner of the tasks are due, Some of your task as owner of the tasks are due","blog_id":"0","card_icon":"icon1","offer_id":"0","banner":"https://www.wrenchboard.com/assets/images/apps/banners/past-due.jpg","banner_location":"URL","link_path":"my-pastdue-jobs","button_text":"View Tasks","short_button_text":"View","short_title":"Past Due Tasks","short_description":"Some of you task are now past due","short_style":"short_style lr"},{"title":"Users are interested  in some of your  job(s)","contract":null,"card_type":"INTEREST","card_style":null,"description":"Some users are interested in your job(s).","blog_id":"0","card_icon":"icon1","offer_id":"0","banner":"https://www.wrenchboard.com/assets/images/apps/banners/job-interest.jpg","banner_location":"URL","link_path":"offer-interest","button_text":"Continue","short_button_text":"View now","short_title":"Interest Pending","short_description":"Some users are interested in your job(s)","short_style":"short_style ly"},{"title":"Share WrenchBoard with a friend.","contract":null,"card_type":"INVITE","card_style":null,"description":"Show WrenchBoard to a friend and earn free coupons. Get started.","blog_id":"0","card_icon":"icon1","offer_id":"0","banner":"banner-refer.jpg","banner_location":"LOCAL","link_path":"referral","button_text":"Continue","short_button_text":"View now","short_title":"Invite a Friend - get Rewards","short_description":"Share WrenchBoard with a friend.","short_style":"short_style by"}],"environment":1,"session_image_server":"https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1/getmedia/","server_tag":"LIVE03","language":"en","ip_loc":"10.0.0.239, 10.10.33.15"}
⚡️  [log] - PAH HX RETURN-> {"status":"OK","total_record":9,"internal_return":0,"result_list":[{"title":"Review  - Theblackfaces website","description":"Browse thorough the pages of https://www.theblackfaces.com/ and give feedback","id":"525","offer_uid":"81417dc2-dc03-450f-a7c3-1595f019e663","job_uid":"141f6e6e-009c-4b0f-833f-eea621208db9","job_description":"Browse thorough the pages of https://www.theblackfaces.com/ and give feedback","job_detail":"","price":"700000","timeline_days":"7","expire":"Sat Dec 16, 2023 02:05 PM","sent":null,"offer_code":"WW778T479W","whishlisted":false,"thumbnil":"marketplace-product-1.jpg","isActive":true,"offer_added":"2023-12-02","job_country":"NG","currency":"Naira","currency_code":"NAIRA","interest_count":"2","category":["CT2","CT4"],"banner":"default.jpg"},{"title":"Write An Article For My Blog","description":"Write a 500 words  article on the title “The Reward System: Teaching Kids Life Skills Through

    To Native ->  Contacts getContacts 105125904
⚡️  TO JS {"contacts":[{"name":{"family":"Bell","prefix":"","suffix":"","middle":"","given":"Kate","display":"Kate Bell"},"contactId":"177C371E-701D-42F8-A03B-C61CA31627F6","phones":[{"number":"(555) 564-8583","type":"mobile"},{"number":"(415) 555-3695","type":"main
⚡️  [log] - {"contacts":[{"name":{"family":"Bell","prefix":"","suffix":"","middle":"","given":"Kate","display":"Kate Bell"},"contactId":"177C371E-701D-42F8-A03B-C61CA31627F6","phones":[{"number":"(555) 564-8583","type":"mobile"},{"number":"(415) 555-3695","type":"main"}]},{"name":{"middle":"","family":"Higgins","prefix":"","given":"Daniel","suffix":"Jr.","display":"Daniel Higgins Jr."},"contactId":"AB211C5F-9EC9-429F-9466-B9382FF61035","phones":[{"type":"home","number":"555-478-7672"},{"type":"mobile","number":"(408) 555-5270"},{"type":"fax_home","number":"(408) 555-3514"}]},{"name":{"suffix":"","given":"John","display":"John Appleseed","middle":"","family":"Appleseed","prefix":""},"contactId":"410FE041-5C4E-48DA-B4DE-04C15EA3DBAC","phones":[{"type":"mobile","number":"888-555-5512"},{"type":"home","number":"888-555-1212"}]},{"name":{"given":"Anna","suffix":"","family":"Haro","middle":"","prefix":"","display":"Anna Haro"},"contactId":"F57C8277-585D-4327-88A6-B5689FF69DFE","phones":[{"type":"home","number":"555-522-8243"}]},{"name":{"prefix":"","family":"Zakroff","display":"Hank M. Zakroff","middle":"M.","given":"Hank","suffix":""},"contactId":"2E73EE73-C03F-4D5F-B1E8-44E85A70F170","phones":[{"number":"(555) 766-4823","type":"work"},{"type":"other","number":"(707) 555-1854"}]},{"name":{"display":"David Taylor","family":"Taylor","middle":"","suffix":"","given":"David","prefix":""},"contactId":"E94CD15C-7964-4A9B-8AC4-10D7CFB791FD","phones":[{"number":"555-610-6679","type":"home"}]}]}