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

npm install socket.io-client
npm install @types/socket.io-client -D



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 page jobactive


ionic generate component taskactivities
ionic generate component suggestedlist

ionic generate component familysuggested


ionic generate page addjob
ionic generate page familyaddtask


ionic generate component historyCompletedJobs



ionic generate component add-family

ionic generate component fastreward

ionic generate component familypending
ionic generate component job-group

ionic generate component familiy-dash



ionic generate component InterestCard
ionic generate component PendingSuggested

ionic generate page logout
ionic generate page preferences


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 service socket-tools

ionic generate service media-connect

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 page history

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
ionic generate service jobgroup-data

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


ionic generate service commonfunc

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"/>

export const environment = {
  production: false,
  apiKey: '', // <-- Enter your own key here!' TEST
  baseUrl: 'https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1',
  images: 'https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1/',
  appleRedirectUri: 'https://dev-users.wrenchboard.com/loginWithApple',
  facebookAppId: '390204307987009',
  loginSocial: true,
  keys: {
    googleMaps: 'AIzaSyCvsRozdnd1i1KBGWC6ewe1RaJYuGbrk3s'
  }
};

//production key = 390204307987009
//test key == 677857427521030


69:51:B8:75:63:E2:7D:DD:29:D3:FF:01:4D:E6:0A:4F:8A:7D:3B:36



{"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"}]}]}