Compare commits

..

1276 Commits

Author SHA1 Message Date
victorAnumudu 40b5e92047 wallet API changed 2024-10-14 20:24:52 +01:00
ameye bc867ee8aa Merge branch 'nav-link-rename' of WrenchBoard/Users-Wrench into master 2024-10-12 01:24:59 +00:00
victorAnumudu 7c430d03bd nav link updated and view all message popout fixed 2024-10-10 16:58:39 +01:00
ameye 9125990d70 Merge branch 'change-pwd-update' of WrenchBoard/Users-Wrench into master 2024-10-10 00:42:28 +00:00
victorAnumudu e64728e127 padding adjusted 2024-10-10 01:35:13 +01:00
victorAnumudu d82b454caf headed added 2024-10-09 22:11:08 +01:00
victorAnumudu db423a3f1e change pwd page updated 2024-10-09 21:09:00 +01:00
ameye 4376938217 Merge branch 'currency-fix' of WrenchBoard/Users-Wrench into master 2024-10-09 17:15:48 +00:00
victorAnumudu 0411ab82f0 currency fixed 2024-10-09 17:56:54 +01:00
ameye c7d5d5533c Merge branch 'preferences-tab' of WrenchBoard/Users-Wrench into master 2024-10-09 14:55:18 +00:00
ameye 3f7c673087 Merge branch 'resources-pagination' of WrenchBoard/Users-Wrench into master 2024-10-09 14:55:13 +00:00
victorAnumudu da389c937e preference component added 2024-10-09 15:21:03 +01:00
victorAnumudu c71d901556 added pagination to resources page blog display 2024-10-09 09:44:11 +01:00
ameye 804f76100a Merge branch 'settings-page-update' of WrenchBoard/Users-Wrench into master 2024-10-08 21:27:10 +00:00
victorAnumudu 64f6e55fb6 currency code added 2024-10-08 20:09:56 +01:00
ameye 16119dc332 Merge branch 'recipient-account' of WrenchBoard/Users-Wrench into master 2024-10-08 16:10:52 +00:00
victorAnumudu ae08f392ca updated message for account with no recipient yet 2024-10-08 16:58:26 +01:00
ameye b646f020a5 Merge branch 'history-page-update' of WrenchBoard/Users-Wrench into master 2024-10-08 15:46:51 +00:00
victorAnumudu 31b411dcab table style updated 2024-10-08 16:40:41 +01:00
ameye 48d66d263e Merge branch 'managetask-style-update' of WrenchBoard/Users-Wrench into master 2024-10-07 11:57:15 +00:00
victorAnumudu 2a6900f6a9 style updated 2024-10-07 11:16:23 +01:00
ameye 8b3e1e8923 Merge branch 'min-due-time' of WrenchBoard/Users-Wrench into master 2024-10-04 10:52:37 +00:00
victorAnumudu c87657eaef used min due time to determine when send for review button is active 2024-10-03 19:56:26 +01:00
ameye 9cccd72512 Merge branch 'managejob-strict-timeline' of WrenchBoard/Users-Wrench into master 2024-10-03 15:08:55 +00:00
victorAnumudu 146e8b383e send review task strict timeline implemented 2024-10-03 09:27:27 +01:00
ameye 7bb78772f7 Merge branch 'addjob-title' of WrenchBoard/Users-Wrench into master 2024-10-02 17:09:31 +00:00
victorAnumudu 094ba4fde8 bug fixed 2024-10-01 18:13:45 +01:00
victorAnumudu d31005c1ce shows password reset error message if internal return is false 2024-10-01 17:06:46 +01:00
victorAnumudu 3992ab696c add job title character length reduced to 80 2024-10-01 11:34:41 +01:00
victorAnumudu f1ed5f3a95 add job title character length reduced to 80 2024-10-01 11:34:21 +01:00
ameye 65b4c59129 Merge branch 'recently-pastdue' of WrenchBoard/Users-Wrench into master 2024-09-30 19:28:03 +00:00
victorAnumudu d620728651 Merge with master 2024-09-30 20:19:59 +01:00
victorAnumudu 4499f2d356 recentlt past due task added 2024-09-30 20:18:51 +01:00
ameye fa00555a6f Merge branch 'offercard-height-reduction' of WrenchBoard/Users-Wrench into master 2024-09-30 16:21:16 +00:00
victorAnumudu 00fcb275f1 Merge with master 2024-09-30 16:58:11 +01:00
victorAnumudu c987ba63ff height reduced 2024-09-30 16:57:05 +01:00
ameye 89797cdb3f Merge branch 'home-banner-api' of WrenchBoard/Users-Wrench into master 2024-09-30 15:55:29 +00:00
victorAnumudu c719c15b2b made home banner API load after login 2024-09-30 12:01:01 +01:00
ameye f3b1c229ea Merge branch 'accept-offer-bg' of WrenchBoard/Users-Wrench into master 2024-09-27 21:00:01 +00:00
victorAnumudu 0335edf1dc tab capitalization 2024-09-27 19:46:10 +01:00
victorAnumudu f7db65d527 added bg color 2024-09-27 19:17:40 +01:00
ameye 27dc4090fb Merge branch 'familywaiting-offer-bug' of WrenchBoard/Users-Wrench into master 2024-09-27 17:28:02 +00:00
victorAnumudu 7f631190dc bug fixed 2024-09-27 18:23:32 +01:00
ameye 6815eea66c Merge branch 'accept-task-update' of WrenchBoard/Users-Wrench into master 2024-09-27 16:44:14 +00:00
ameye c8e2ae9efb Merge branch 'learnmore-page' of WrenchBoard/Users-Wrench into master 2024-09-27 16:44:01 +00:00
victorAnumudu 455248f9db reject btn placed below 2024-09-27 17:22:52 +01:00
victorAnumudu fee3376a88 style updated 2024-09-27 17:15:02 +01:00
victorAnumudu 956abc8411 learn more page added 2024-09-27 17:00:11 +01:00
ameye 64f3625990 Merge branch 'flat-offer-bug' of WrenchBoard/Users-Wrench into master 2024-09-26 19:06:10 +00:00
victorAnumudu 9ec8855ed6 flat box fixed for offer list 2024-09-26 19:07:47 +01:00
victorAnumudu 06450808ed Merge with master 2024-09-26 18:42:32 +01:00
victorAnumudu 7eecd34a5e initial commit 2024-09-26 18:41:30 +01:00
ameye ab3693fc0b Merge branch 'offer-list-flat-banner' of WrenchBoard/Users-Wrench into master 2024-09-26 17:00:15 +00:00
victorAnumudu e1879222b3 offer list flat banner bug fixed 2024-09-26 17:06:43 +01:00
victorAnumudu 22250da988 offer list flat banner fixed 2024-09-26 16:54:32 +01:00
ameye 7e8704d633 Merge branch 'unsed-api-removal' of WrenchBoard/Users-Wrench into master 2024-09-25 20:21:38 +00:00
victorAnumudu 99d9a468f6 clean up on unused APIs 2024-09-25 20:40:37 +01:00
ameye 2ca1c668f5 Merge branch 'appstore-link-image-update' of WrenchBoard/Users-Wrench into master 2024-09-25 15:54:09 +00:00
ameye 0bb9528690 Merge branch 'dashdata-api-removal' of WrenchBoard/Users-Wrench into master 2024-09-25 15:53:57 +00:00
victorAnumudu 78a9c4bf5f Merge with master 2024-09-25 13:24:01 +01:00
victorAnumudu 0440b36f24 dashdata api removed 2024-09-25 13:13:19 +01:00
ameye de56fb601a Merge branch 'offerlist-display-bug' of WrenchBoard/Users-Wrench into master 2024-09-24 23:50:17 +00:00
victorAnumudu f286960bed top banner offer list display fixed 2024-09-25 00:45:54 +01:00
ameye a8a090c671 Merge branch 'offerlist-dark-color' of WrenchBoard/Users-Wrench into master 2024-09-24 21:13:03 +00:00
victorAnumudu 24e2a905d2 moved refer friend section 2024-09-24 22:07:33 +01:00
victorAnumudu 19c2500263 added dark color for offer list card 2024-09-24 21:13:03 +01:00
ameye 909c74b734 Merge branch 'dashboard-offerlist-position' of WrenchBoard/Users-Wrench into master 2024-09-24 20:09:14 +00:00
victorAnumudu 0ea988fcea repositioned offer list display 2024-09-24 21:05:01 +01:00
victorAnumudu 8be4ee52f1 updated app store link image 2024-09-24 19:40:50 +01:00
ameye db5eb85794 Merge branch 'blog-page-image' of WrenchBoard/Users-Wrench into master 2024-09-24 16:58:06 +00:00
victorAnumudu fb6a2767bc Merged with master 2024-09-24 17:34:00 +01:00
ameye c48ae540cc Merge branch 'changed-price-to-reward' of WrenchBoard/Users-Wrench into master 2024-09-24 15:56:46 +00:00
victorAnumudu c51693deb5 changed text price to reward 2024-09-24 15:36:38 +01:00
victorAnumudu b28d02b2f5 blog image fixed 2024-09-24 13:54:47 +01:00
ameye 74b395d99e Merge branch 'blog-id-fix' of WrenchBoard/Users-Wrench into master 2024-09-21 13:49:46 +00:00
victorAnumudu 21a2754fc9 blog id added 2024-09-21 14:47:22 +01:00
ameye 19282ad15a Merge branch 'home-page-image' of WrenchBoard/Users-Wrench into master 2024-09-21 11:45:46 +00:00
victorAnumudu f48b72b149 updated home page image 2024-09-21 12:15:10 +01:00
ameye 72d4af20aa Merge branch 'promo-page-update' of WrenchBoard/Users-Wrench into master 2024-09-21 09:52:42 +00:00
victorAnumudu e6f5746692 promo page download links added 2024-09-21 06:15:25 +01:00
CHIEFSOFT\ameye d0e7f58d5f Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench 2024-09-20 12:02:29 -04:00
CHIEFSOFT\ameye f4e21cb73e app links 2024-09-20 12:02:16 -04:00
ameye 6ad8ed34f5 Merge branch 'promo-login' of WrenchBoard/Users-Wrench into master 2024-09-19 18:24:42 +00:00
victorAnumudu b4bbe03bdd added promo login API 2024-09-19 19:21:15 +01:00
ameye 2c54aa36f8 Merge branch 'promo-page' of WrenchBoard/Users-Wrench into master 2024-09-18 18:54:19 +00:00
victorAnumudu 00c83b357f added promo page 2024-09-18 19:48:24 +01:00
ameye 0b7ec73409 Merge branch 'referal-page-header' of WrenchBoard/Users-Wrench into master 2024-09-13 16:53:31 +00:00
victorAnumudu f58e8834fb added referal page header 2024-09-13 10:22:04 +01:00
ameye 1a829789d4 Merge branch 'referral-page-update' of WrenchBoard/Users-Wrench into master 2024-09-13 07:26:35 +00:00
victorAnumudu 84dccfca50 updated referral page 2024-09-12 19:36:31 +01:00
ameye 49e3fc5810 Merge branch 'interest-count-added' of WrenchBoard/Users-Wrench into master 2024-09-07 11:54:02 +00:00
ameye e4b6391ed2 Merge branch 'assign-job-btn-harmonized' of WrenchBoard/Users-Wrench into master 2024-09-07 11:53:56 +00:00
victorAnumudu 3abbdd32eb interest count bug fixed 2024-09-06 21:03:58 +01:00
victorAnumudu e4a5c2682e interest count added 2024-09-06 20:53:45 +01:00
victorAnumudu 21abc93a04 made assign job btn name same as what is in mobile app 2024-09-02 20:21:31 +01:00
ameye d51bbdbc29 Merge branch 'timeline-default-value' of WrenchBoard/Users-Wrench into master 2024-08-26 19:38:54 +00:00
victorAnumudu d081dd73d6 timeline default value added 2024-08-26 17:50:50 +01:00
ameye 9b9e10efbb Merge branch 'assign-job-restructure' of WrenchBoard/Users-Wrench into master 2024-08-26 15:22:14 +00:00
victorAnumudu 07040832d7 timeline added 2024-08-26 15:42:20 +01:00
ameye f928f45615 Merge branch 'lock-job-cleanup' of WrenchBoard/Users-Wrench into master 2024-08-23 19:57:58 +00:00
victorAnumudu 1b0f6c0b89 lock job clean up 2024-08-23 18:21:18 +01:00
ameye 8315e226dd Merge branch 'lock-job' of WrenchBoard/Users-Wrench into master 2024-08-23 15:36:45 +00:00
victorAnumudu 13da84099c lock job popout 2024-08-23 15:52:16 +01:00
ameye 3b6f2a4ca0 Merge branch 'job-lock' of WrenchBoard/Users-Wrench into master 2024-08-22 14:11:14 +00:00
victorAnumudu bdc67590d1 job lock key add 2024-08-22 15:01:04 +01:00
ameye 89d2682eaf Merge branch 'depends-on-select-tag' of WrenchBoard/Users-Wrench into master 2024-08-22 11:59:06 +00:00
victorAnumudu 41a617a265 depends on select tage added 2024-08-22 11:39:15 +01:00
ameye c72765b38c Merge branch 'auth-layout-adjustment' of WrenchBoard/Users-Wrench into master 2024-08-16 04:40:41 +00:00
victorAnumudu fe3306cb98 auth layout adjusted 2024-08-15 21:26:09 +01:00
ameye 13b96a3b8d Merge branch 'signup-bug' of WrenchBoard/Users-Wrench into master 2024-08-07 20:27:54 +00:00
victorAnumudu f4c0c5bf15 signup country bug fixed 2024-08-07 21:21:24 +01:00
CHIEFSOFT\ameye bc2a4340f2 Headers fix 2024-08-01 11:46:15 -04:00
ameye a4b85e9c85 Merge branch 'link-name-change' of WrenchBoard/Users-Wrench into master 2024-07-29 12:45:30 +00:00
ameye 6dab5412c7 Merge branch 'location-addition' of WrenchBoard/Users-Wrench into master 2024-07-29 12:45:22 +00:00
victorAnumudu 1bd6064b52 link name changed 2024-07-29 06:32:55 +01:00
victorAnumudu 4949bd28aa added loc as a payload 2024-07-28 11:56:52 +01:00
ameye f1ef5e163d Merge branch 'history-icon-fix' of WrenchBoard/Users-Wrench into master 2024-07-24 17:41:35 +00:00
victorAnumudu 2f6f0bf501 added icons 2024-07-24 18:32:43 +01:00
ameye ddf361b496 Merge branch 'history-font-match' of WrenchBoard/Users-Wrench into master 2024-07-24 16:32:31 +00:00
victorAnumudu 9f8b61175e font matched 2024-07-24 17:25:54 +01:00
ameye 0e850b2222 Merge branch 'history-page-format' of WrenchBoard/Users-Wrench into master 2024-07-24 15:07:36 +00:00
victorAnumudu ad1c27a9ef history format changed 2024-07-24 15:51:54 +01:00
ameye 1f97780398 Merge branch 'relative-settings' of WrenchBoard/Users-Wrench into master 2024-07-23 18:57:47 +00:00
victorAnumudu 5a97e9a185 relative settings and edit API added 2024-07-23 19:34:15 +01:00
ameye 7eb26ce88a Merge branch 'my-offer-btn-changed' of WrenchBoard/Users-Wrench into master 2024-07-22 19:30:24 +00:00
victorAnumudu 3876e1440d offer list btn changed, and manage offer interest page updated 2024-07-22 19:52:46 +01:00
ameye df1a006f13 Merge branch 'relative-list-update' of WrenchBoard/Users-Wrench into master 2024-07-22 15:15:07 +00:00
victorAnumudu 77ab969f61 added status column 2024-07-22 15:17:29 +01:00
ameye 6da9b9158d Merge branch 'rounded-edges' of WrenchBoard/Users-Wrench into master 2024-07-21 23:56:54 +00:00
victorAnumudu 5088561e13 added rounded edges 2024-07-21 20:19:33 +01:00
ameye 6dd870bb05 Merge branch 'previous-job-stats' of WrenchBoard/Users-Wrench into master 2024-07-21 18:00:12 +00:00
victorAnumudu e5c511bd8f previous stats style adjusted 2024-07-21 15:39:09 +01:00
ameye ead1be773f Merge branch 'interest-stats-bug' of WrenchBoard/Users-Wrench into master 2024-07-21 08:41:21 +00:00
victorAnumudu 2d6c189f57 made interest stats reloads when interest offer list changes 2024-07-21 08:27:32 +01:00
ameye 841dfee7e6 Merge branch 'history-bug-fix' of WrenchBoard/Users-Wrench into master 2024-07-20 15:23:40 +00:00
victorAnumudu 8ac8808348 bug fixed 2024-07-20 15:59:55 +01:00
ameye f57f443b1e Merge branch 'family-relative' of WrenchBoard/Users-Wrench into master 2024-07-20 12:33:33 +00:00
victorAnumudu 0f770474af relative popout added 2024-07-20 10:13:12 +01:00
ameye 8668c39c6f Merge branch 'market-list-reload' of WrenchBoard/Users-Wrench into master 2024-07-19 17:46:47 +00:00
victorAnumudu 840abb4dcc market reload, and added manage job on market route for owner 2024-07-19 17:25:17 +01:00
ameye 9da4ed2282 Merge branch 'interest-stats' of WrenchBoard/Users-Wrench into master 2024-07-18 21:57:04 +00:00
victorAnumudu 713c333e96 interest stats API added 2024-07-18 22:31:04 +01:00
ameye 3b27db4ffe Merge branch 'faq-tab-link-fix' of WrenchBoard/Users-Wrench into master 2024-07-18 17:48:47 +00:00
victorAnumudu 8db2316a30 fixed faq tab link 2024-07-18 14:36:08 +01:00
ameye a1072c58c0 Merge branch 'family-settings' of WrenchBoard/Users-Wrench into master 2024-07-16 12:27:11 +00:00
victorAnumudu 5b9c564f96 add family tab populated with family list 2024-07-16 12:11:52 +01:00
ameye c14d8b0659 Merge branch 'job-completed-history' of WrenchBoard/Users-Wrench into master 2024-07-13 00:07:20 +00:00
victorAnumudu 43f59e8e84 added completed job histroy API 2024-07-12 19:33:59 +01:00
ameye ca53101b55 Merge branch 'offerlist-wallet-display' of WrenchBoard/Users-Wrench into master 2024-07-10 17:49:12 +00:00
victorAnumudu f3b8190418 offer interest page update 2024-07-10 18:42:33 +01:00
ameye 6a37da92f0 Merge branch 'currency-added' of WrenchBoard/Users-Wrench into master 2024-07-09 14:43:40 +00:00
ameye 3d382695cd Merge branch 'history-table-format' of WrenchBoard/Users-Wrench into master 2024-07-09 14:43:35 +00:00
victorAnumudu 9b0ff4a1e6 history table list adjusted and wallet display fixed 2024-07-09 15:26:46 +01:00
victorAnumudu 7231d97492 currency added to amount 2024-07-03 21:14:10 +01:00
ameye f880afabb0 Merge branch 'sidebar-update' of WrenchBoard/Users-Wrench into master 2024-07-01 14:08:06 +00:00
victorAnumudu e9d9dd2395 sidebar update 2024-07-01 14:15:32 +01:00
ameye a9c273aa17 Merge branch 'active-jobs-page-update' of WrenchBoard/Users-Wrench into master 2024-06-30 16:21:48 +00:00
victorAnumudu dddd314412 bug fix for video upload 2024-06-30 11:04:53 +01:00
ameye 43f0039d29 Merge branch 'height-adjust' of WrenchBoard/Users-Wrench into master 2024-06-28 14:29:56 +00:00
ameye c9a475b525 Merge branch 'text-replace' of WrenchBoard/Users-Wrench into master 2024-06-28 14:29:50 +00:00
victorAnumudu 74b2a554f1 height adjust 2024-06-28 14:37:32 +01:00
victorAnumudu d2a406563a text updated 2024-06-28 13:46:24 +01:00
ameye d509fb024c Merge branch 'video-upload-max-size' of WrenchBoard/Users-Wrench into master 2024-06-27 10:35:14 +00:00
victorAnumudu 4acae3401d video upload file size increased to 30mb 2024-06-26 18:54:53 +01:00
ameye 05a1dc3663 Merge branch 'new-file-upload' of WrenchBoard/Users-Wrench into master 2024-06-25 21:25:53 +00:00
victorAnumudu 63eb8b9729 new contract file upload link added 2024-06-25 19:28:17 +01:00
ameye a474d42d85 Merge branch 'no-wallet-post-job-hidden' of WrenchBoard/Users-Wrench into master 2024-06-24 21:19:38 +00:00
victorAnumudu dcb820590d set post job link hidden if no wallet is available 2024-06-24 22:06:55 +01:00
ameye 614c376c92 Merge branch 'market-box-reduction' of WrenchBoard/Users-Wrench into master 2024-06-24 13:37:50 +00:00
victorAnumudu b589277678 market box reduction 2024-06-24 11:32:57 +01:00
ameye 00a70f3574 Merge branch 'no-wallet-view' of WrenchBoard/Users-Wrench into master 2024-06-20 17:02:36 +00:00
victorAnumudu 7859cffd49 no wallet view dummy component added 2024-06-20 15:43:58 +01:00
victorAnumudu 3a574d1fd0 added no wallet message 2024-06-19 18:32:33 +01:00
ameye 7c6a2316a8 Merge branch 'my-page-link-hidden' of WrenchBoard/Users-Wrench into master 2024-06-01 13:25:20 +00:00
ameye ef99a8f1f7 Merge branch 'market-thumbnail' of WrenchBoard/Users-Wrench into master 2024-06-01 13:25:12 +00:00
victorAnumudu ba0aac126c set some links hidden base on wallet status 2024-05-31 17:56:48 +01:00
victorAnumudu 05453661ee job thumbnail position changed 2024-05-31 13:33:01 +01:00
ameye aee1b9e3bb Merge branch 'job-detail-min-height' of WrenchBoard/Users-Wrench into master 2024-05-30 16:59:29 +00:00
victorAnumudu 9a0dc0d01a Job detail min height implemented 2024-05-30 17:48:52 +01:00
ameye a467626fae Merge branch 'delivery-details' of WrenchBoard/Users-Wrench into master 2024-05-30 13:41:08 +00:00
victorAnumudu 47932d7301 added Job Details Modal 2024-05-30 11:40:37 +01:00
tokslaw de4de35611 Merge branch 'video-new-window' of WrenchBoard/Users-Wrench into master 2024-05-28 19:54:13 +00:00
victorAnumudu b3c2785a4b video new window popout added 2024-05-28 20:47:42 +01:00
ameye 2719b8426d Merge branch 'show-kid-name' of WrenchBoard/Users-Wrench into master 2024-05-28 18:06:05 +00:00
victorAnumudu fed2358a45 shows kid name on print 2024-05-28 16:56:28 +01:00
ameye ff129480a5 Merge branch 'login-logo-update' of WrenchBoard/Users-Wrench into master 2024-05-28 11:09:38 +00:00
victorAnumudu 8cf0c8da89 login logo changed 2024-05-27 17:37:03 +01:00
ameye 6aaf682d38 Merge branch 'mytask-file-download-link' of WrenchBoard/Users-Wrench into master 2024-05-27 11:18:26 +00:00
ameye 9f77a01bb2 Merge branch 'resource-mp4-download' of WrenchBoard/Users-Wrench into master 2024-05-27 11:18:18 +00:00
victorAnumudu 9d79e1c709 updated task file download link for video 2024-05-26 22:17:48 +01:00
victorAnumudu 78ac5d5b24 changed the download link for video files 2024-05-26 21:53:14 +01:00
tokslaw 75657350a3 Merge branch 'new-upload-link' of WrenchBoard/Users-Wrench into master 2024-05-24 22:45:02 +00:00
victorAnumudu 171f99d997 new upload server link added 2024-05-24 19:50:35 +01:00
ameye 25c7cd75c7 Merge branch 'family-job-list' of WrenchBoard/Users-Wrench into master 2024-05-23 16:43:20 +00:00
victorAnumudu fd68800b00 filtered family job list 2024-05-21 21:12:06 +01:00
ameye 33f1515d2c Merge branch 'joblist-listing' of WrenchBoard/Users-Wrench into master 2024-05-21 19:56:19 +00:00
victorAnumudu 2cc30d6c47 job list page filtered to display only jobs with job mode of general 2024-05-21 16:32:59 +01:00
ameye cfadb42811 Merge branch 'waiting-list-adjust' of WrenchBoard/Users-Wrench into master 2024-05-21 13:26:25 +00:00
victorAnumudu 1bb2eb3203 waiting list adjusted 2024-05-21 14:14:35 +01:00
ameye cd68861dfa Merge branch 'assign-btn-disable' of WrenchBoard/Users-Wrench into master 2024-05-21 09:24:18 +00:00
victorAnumudu 9fb0a65e46 disabled assign btn after task is assigned 2024-05-21 09:35:04 +01:00
ameye 15fce205a6 Merge branch 'font-match' of WrenchBoard/Users-Wrench into master 2024-05-21 01:25:26 +00:00
victorAnumudu dddf6af401 select option tag font changed 2024-05-20 20:59:32 +01:00
ameye 1a86361fbb Merge branch 'blog-page-display' of WrenchBoard/Users-Wrench into master 2024-05-20 16:57:50 +00:00
victorAnumudu 4f69786f19 blog page bug fixed 2024-05-20 17:51:13 +01:00
CHIEFSOFT\ameye 5634c1542b Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench 2024-05-19 14:06:31 -04:00
CHIEFSOFT\ameye f9e3d2aad2 due job banner 2024-05-19 14:06:20 -04:00
tokslaw 921d1af7f0 Merge branch 'add-job-mobile-view' of WrenchBoard/Users-Wrench into master 2024-05-14 17:06:58 +00:00
tokslaw c98d2e41ef Merge branch 'text-overlap' of WrenchBoard/Users-Wrench into master 2024-05-14 17:06:36 +00:00
victorAnumudu ea260fa15a height adjust 2024-05-14 13:15:00 +01:00
victorAnumudu b604e0b527 fixed text overlapping issue 2024-05-14 13:11:29 +01:00
victorAnumudu 991571b2d2 fixed text overlapping issue 2024-05-14 13:09:58 +01:00
victorAnumudu 1f98a3eacb adjusted add job mobile view 2024-05-14 12:32:43 +01:00
tokslaw 031a2f6680 Merge branch 'assign-job-space' of WrenchBoard/Users-Wrench into master 2024-05-13 17:23:18 +00:00
tokslaw bf22570857 Merge branch 'add-job-rearrange' of WrenchBoard/Users-Wrench into master 2024-05-13 17:22:57 +00:00
victorAnumudu 89aa5e0aef rearranged add job 2024-05-13 11:57:35 +01:00
victorAnumudu 680833d5be added space btw attched file and job details 2024-05-04 16:20:43 +01:00
ameye 1e0af67542 Merge branch 'signup-page-dark-mode' of WrenchBoard/Users-Wrench into master 2024-04-18 20:51:04 +00:00
victorAnumudu 406af95861 adjusted signup page dark mode style 2024-04-18 21:36:38 +01:00
ameye 14f69d4c3b Merge branch 'fixed-upload-payload' of WrenchBoard/Users-Wrench into master 2024-04-16 15:24:34 +00:00
victorAnumudu 24f915ee55 upload error message bud fixed 2024-04-16 15:46:33 +01:00
ameye 5da67c4c06 Merge branch 'font-increase' of WrenchBoard/Users-Wrench into master 2024-04-15 17:03:21 +00:00
victorAnumudu a21eaa40f2 increased font size 2024-04-15 17:40:09 +01:00
ameye a00e40dbe9 Merge branch 'attached-file-font' of WrenchBoard/Users-Wrench into master 2024-04-15 15:17:10 +00:00
victorAnumudu fa51914987 added margin 2024-04-15 14:47:30 +01:00
victorAnumudu c8d40c1630 increased font size 2024-04-15 14:31:42 +01:00
ameye f673fe99ef Merge branch 'login-logo' of WrenchBoard/Users-Wrench into master 2024-04-15 11:43:03 +00:00
victorAnumudu 8d5d0672cc added new login login 2024-04-15 12:16:56 +01:00
ameye 09def50875 Merge branch 'files-uploaded-com' of WrenchBoard/Users-Wrench into master 2024-04-15 09:38:45 +00:00
victorAnumudu d6920b320c added file component to accept offer model 2024-04-15 10:09:23 +01:00
ameye cbfaf1e073 Merge branch 'upload-file-list' of WrenchBoard/Users-Wrench into master 2024-04-14 20:31:37 +00:00
victorAnumudu 3d59b36850 added file upload list API 2024-04-14 21:10:37 +01:00
ameye f1d659b273 Merge branch 'add-file-api' of WrenchBoard/Users-Wrench into master 2024-04-12 21:32:24 +00:00
victorAnumudu ad49489377 added add file API 2024-04-12 21:54:50 +01:00
ameye 386fc8cb0c Merge branch 'file-upload-com' of WrenchBoard/Users-Wrench into master 2024-04-12 18:55:20 +00:00
victorAnumudu 0045a791fe added dummy env details 2024-04-12 19:20:24 +01:00
victorAnumudu b48cb48213 added file upload component 2024-04-12 17:41:58 +01:00
ameye 856c70628a Merge branch 'edit-popout-adjust' of WrenchBoard/Users-Wrench into master 2024-04-12 14:29:41 +00:00
victorAnumudu fa40f8f725 initial commit 2024-04-12 13:48:50 +01:00
ameye 8c475a56bb Merge branch 'media-page-update' of WrenchBoard/Users-Wrench into master 2024-04-11 14:51:31 +00:00
victorAnumudu 7ca8c23479 media page update 2024-04-10 21:12:57 +01:00
ameye 688592e1a3 Merge branch 'delivery-details-aligned' of WrenchBoard/Users-Wrench into master 2024-04-10 11:05:40 +00:00
victorAnumudu d12b949bcc delivery detail section alignment 2024-04-09 20:29:33 +01:00
tokslaw 3a219a20bb Merge branch 'popout-corner-color' of WrenchBoard/Users-Wrench into master 2024-04-09 17:42:58 +00:00
victorAnumudu e6bc184747 footer style added 2024-04-09 17:40:45 +01:00
victorAnumudu 2a3edcf3be removed popout background corner color 2024-04-09 15:15:00 +01:00
ameye a1d96488bf Merge branch 'layout-margin-space' of WrenchBoard/Users-Wrench into master 2024-04-09 09:36:09 +00:00
victorAnumudu 3f17920bd0 layout margin centralized 2024-04-08 18:14:45 +01:00
ameye 4014a84e1a Merge branch 'history-tab' of WrenchBoard/Users-Wrench into master 2024-04-08 14:45:42 +00:00
victorAnumudu 60ed9e7bcf changed history page tab style 2024-04-08 14:51:14 +01:00
ameye 479ea408f6 Merge branch 'country-auto-select' of WrenchBoard/Users-Wrench into master 2024-04-08 13:28:42 +00:00
victorAnumudu 9ca4ba3199 made currency to auto select during add job if user has only one wallet acct 2024-04-08 09:17:47 +01:00
ameye e5fa6544a5 Merge branch 'wallet-btn-style' of WrenchBoard/Users-Wrench into master 2024-04-06 01:46:24 +00:00
victorAnumudu f55b7186b9 wallet btn style adjusted 2024-04-05 19:51:47 +01:00
ameye 05515333ba Merge branch 'failed-topup-style' of WrenchBoard/Users-Wrench into master 2024-04-05 17:02:25 +00:00
victorAnumudu 7212ab6cfc failed credit top up style adjusted 2024-04-05 17:02:26 +01:00
ameye 020154d51a Merge branch 'reference-number' of WrenchBoard/Users-Wrench into master 2024-04-05 12:04:27 +00:00
victorAnumudu e4aadfb627 reduced reference number 2024-04-05 11:25:12 +01:00
ameye 6a79c3e56f Merge branch 'timer-countdown' of WrenchBoard/Users-Wrench into master 2024-04-04 20:13:17 +00:00
victorAnumudu 81707c7bd8 payment count down timer added 2024-04-04 20:41:57 +01:00
victorAnumudu e5b36e3f45 added count down timer 2024-04-04 20:33:49 +01:00
ameye 6f2fc17090 Merge branch 'wallet-page-btn' of WrenchBoard/Users-Wrench into master 2024-04-04 15:19:31 +00:00
victorAnumudu e6392bc433 adjusted wallet btn size 2024-04-04 15:25:50 +01:00
victorAnumudu f8e14fe6a0 initial commit 2024-04-04 14:09:53 +01:00
ameye 91a42cfe9d Merge branch 'interest-btn' of WrenchBoard/Users-Wrench into master 2024-04-04 10:51:33 +00:00
victorAnumudu 3128a77b46 interest button style changed 2024-04-04 11:36:06 +01:00
ameye d7d67e4763 Merge branch 'offer-code-removal' of WrenchBoard/Users-Wrench into master 2024-04-03 21:49:54 +00:00
victorAnumudu 388e49467e removed contract code display 2024-04-03 20:08:27 +01:00
ameye 043718837d Merge branch 'button-style-change' of WrenchBoard/Users-Wrench into master 2024-04-03 10:22:29 +00:00
ameye d0e2ba0aa3 Merge branch 'modal-footer-class' of WrenchBoard/Users-Wrench into master 2024-04-03 10:22:23 +00:00
victorAnumudu a1dc72e5b0 added modal footer class to edit job modal 2024-04-03 10:35:59 +01:00
victorAnumudu 2ab1c960c7 accept btn style changed 2024-04-03 10:06:49 +01:00
ameye 25734882cb Merge branch 'dummy-game-layout' of WrenchBoard/Users-Wrench into master 2024-04-02 19:20:42 +00:00
victorAnumudu ae31962cd7 added game layout 2024-04-02 19:04:42 +01:00
victorAnumudu 96d775d0ba added dummy coming soon text 2024-04-02 17:31:54 +01:00
victorAnumudu bcd45edb2f added game link to env file 2024-04-02 17:23:54 +01:00
victorAnumudu a5631b6291 initial commit 2024-04-02 16:42:54 +01:00
CHIEFSOFT\ameye 2fff427346 CORS iSSUES 2024-04-02 10:53:10 -04:00
CHIEFSOFT\ameye 6ef445958c removed ket temp 2024-04-02 10:45:57 -04:00
ameye 66660d98f9 Merge branch 'popout-btn-adjustment' of WrenchBoard/Users-Wrench into master 2024-04-02 14:22:01 +00:00
victorAnumudu 359344772e added space between buttons 2024-04-02 14:56:07 +01:00
ameye 1533465f8d Merge branch 'media-detail-style' of WrenchBoard/Users-Wrench into master 2024-04-02 12:03:37 +00:00
victorAnumudu 66b1ff5f92 updated style 2024-04-02 11:24:45 +01:00
ameye c141ab1ef2 Merge branch 'media-layout' of WrenchBoard/Users-Wrench into master 2024-04-01 20:53:44 +00:00
victorAnumudu 8a7b56068d added media layout 2024-04-01 21:47:00 +01:00
victorAnumudu bb5a966249 added media layout 2024-04-01 21:42:29 +01:00
ameye 199dec01fe Merge branch 'wallet-modal-style' of WrenchBoard/Users-Wrench into master 2024-04-01 17:36:20 +00:00
victorAnumudu 3775c520ff added modal style to wallet modal 2024-04-01 18:23:34 +01:00
ameye bf19dfe86a Merge branch 'currency-auto-select' of WrenchBoard/Users-Wrench into master 2024-04-01 15:59:59 +00:00
victorAnumudu 4b7c3beb53 auto selecting currency if user has only one wallet 2024-04-01 16:20:58 +01:00
ameye f032ed21b5 Merge branch 'assign-popout-style-update' of WrenchBoard/Users-Wrench into master 2024-04-01 12:07:32 +00:00
victorAnumudu cab461bd2e style adjustment 2024-04-01 11:41:29 +01:00
tokslaw a4307310ad Merge branch 'quick-links' of WrenchBoard/Users-Wrench into master 2024-03-30 23:47:37 +00:00
CHIEFSOFT\ameye dda3207573 xl:ml-[110px] 2024-03-30 13:38:45 -04:00
CHIEFSOFT\ameye 0dd7e5cd19 nft-main-container full 2024-03-30 13:25:17 -04:00
CHIEFSOFT\ameye caaff883f1 added new page for media 2024-03-30 13:19:38 -04:00
victorAnumudu f4ea8d9197 removed quick links on family login 2024-03-29 09:22:51 +01:00
ameye df136b3b30 Merge branch 'manage-media-taskpage' of WrenchBoard/Users-Wrench into master 2024-03-28 16:55:39 +00:00
victorAnumudu c04b909489 added style for manage media task page 2024-03-28 17:48:00 +01:00
ameye 4c208e8a58 Merge branch 'manage-media-task' of WrenchBoard/Users-Wrench into master 2024-03-28 12:55:34 +00:00
ameye d5017db2ba Merge branch 'family-pending-start' of WrenchBoard/Users-Wrench into master 2024-03-28 12:55:30 +00:00
ameye 78ebed6e55 Merge branch 'refactoring-component' of WrenchBoard/Users-Wrench into master 2024-03-28 12:55:23 +00:00
victorAnumudu f0c016deb8 manage media task style 2024-03-28 11:26:41 +01:00
victorAnumudu 4a0cfa03a5 Family pending task start popout style changed 2024-03-28 08:22:00 +01:00
victorAnumudu 36d8c70fd9 refactored some components and seperated their API calls 2024-03-27 23:17:58 +01:00
tokslaw 23443a4677 Merge branch 'family-media-task' of WrenchBoard/Users-Wrench into master 2024-03-27 17:42:54 +00:00
victorAnumudu 16e5656422 rendered video component for media task type 2024-03-27 18:39:04 +01:00
ameye 0e42668285 Merge branch 'media-task-api' of WrenchBoard/Users-Wrench into master 2024-03-27 12:42:23 +00:00
victorAnumudu 66bd8cf6ec added api for assign media task 2024-03-27 13:38:17 +01:00
ameye 3d7ad25517 Merge branch 'media-task' of WrenchBoard/Users-Wrench into master 2024-03-27 11:40:30 +00:00
victorAnumudu 2d5c828089 added inputs validation 2024-03-27 12:20:01 +01:00
victorAnumudu e39a8358f7 initial commit 2024-03-27 09:44:30 +01:00
tokslaw e9c57550a2 Merge branch 'assign-media-tab' of WrenchBoard/Users-Wrench into master 2024-03-26 19:21:02 +00:00
victorAnumudu 27f87ee92d added media tab on assign task to kid 2024-03-26 20:16:53 +01:00
ameye edf23352ef Merge branch 'error-msg' of WrenchBoard/Users-Wrench into master 2024-03-26 11:56:31 +00:00
victorAnumudu 002e2fead4 added error message object 2024-03-26 12:51:59 +01:00
ameye 160c302417 Merge branch 'my-page-link' of WrenchBoard/Users-Wrench into master 2024-03-25 16:46:49 +00:00
victorAnumudu 44ae966cc1 removed my page link from header nav 2024-03-25 17:17:08 +01:00
ameye f3b977c624 Merge branch 'package-lock-revert' of WrenchBoard/Users-Wrench into master 2024-03-25 14:25:14 +00:00
victorAnumudu 0c99e416ea reverted package-lock.json 2024-03-25 15:23:37 +01:00
tokslaw fd531d7d10 Merge branch 'assign-job-popout-style' of WrenchBoard/Users-Wrench into master 2024-03-25 11:47:25 +00:00
victorAnumudu ac027a3228 changed font weight 2024-03-25 12:45:55 +01:00
victorAnumudu 001492eeb5 changed price to reward 2024-03-25 12:40:01 +01:00
victorAnumudu 72fe2cad5f changed assign new job popout style 2024-03-25 12:36:10 +01:00
ameye eac693eba6 Merge branch 'pagination-item' of WrenchBoard/Users-Wrench into master 2024-03-24 19:25:43 +00:00
victorAnumudu d3b1462fe3 increased number of item to show in pagination 2024-03-24 15:57:21 +01:00
ameye 748546641d Merge branch 'market-pagination' of WrenchBoard/Users-Wrench into master 2024-03-24 12:35:26 +00:00
victorAnumudu 48a50fd47c added pagination for market list 2024-03-23 20:06:30 +01:00
tokslaw e87cb95b43 Merge branch 'offer-interest-refresh-fixed' of WrenchBoard/Users-Wrench into master 2024-03-22 17:09:35 +00:00
victorAnumudu 7638d68a7d merged branch with master, offer interest refresh fixed 2024-03-22 16:20:38 +01:00
victorAnumudu 3541363f9f added dummy pagination 2024-03-22 16:18:19 +01:00
victorAnumudu 30ce6a7d6e initial commit 2024-03-22 15:07:13 +01:00
ameye 115366672a Merge branch 'return-link' of WrenchBoard/Users-Wrench into master 2024-03-22 13:16:19 +00:00
victorAnumudu 3cd8b6e574 added link to family page 2024-03-22 12:45:34 +01:00
ameye 9850cdd392 Merge branch 'offer-interest-refresh' of WrenchBoard/Users-Wrench into master 2024-03-22 10:30:33 +00:00
victorAnumudu 6d98141c39 offer interest refresh started 2024-03-22 10:40:57 +01:00
victorAnumudu 5fe5ccbd4d merge with master 2024-03-22 07:46:17 +01:00
victorAnumudu 76c0994eb0 initial commit 2024-03-21 22:00:31 +01:00
ameye a1bc6db381 Merge branch 'others-interested-offer' of WrenchBoard/Users-Wrench into master 2024-03-21 20:03:22 +00:00
victorAnumudu 6f5d72e033 merge master 2024-03-21 20:33:37 +01:00
ameye 762de4c23e Merge branch 'market-job-event' of WrenchBoard/Users-Wrench into master 2024-03-21 17:13:37 +00:00
victorAnumudu 2a8b7ba6ec updated marketjob-addded to marketjob-added 2024-03-21 18:05:48 +01:00
victorAnumudu 50e44dab43 initial commit 2024-03-21 17:37:57 +01:00
ameye 7649a90c47 Merge branch 'job-interest-modal' of WrenchBoard/Users-Wrench into master 2024-03-21 15:30:37 +00:00
victorAnumudu 3c2c46e293 added footer style to modal 2024-03-21 16:27:52 +01:00
ameye 8dc634d900 Merge branch 'modal-footer-style-start' of WrenchBoard/Users-Wrench into master 2024-03-21 14:10:51 +00:00
victorAnumudu 3a9cb4667e added some custom style for modal footer 2024-03-21 15:08:26 +01:00
ameye 5f4b032f68 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-21 13:17:35 +00:00
Ebube 8ab3e9ae50 Changed the Name of link 2024-03-21 14:15:28 +01:00
ameye 01b5fba75b Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-21 13:09:19 +00:00
Ebube 66b8c96592 fixed typo on link path 2024-03-21 14:04:34 +01:00
ameye 616352e1ac Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-21 12:53:43 +00:00
Ebube acc4417835 commit issue fix 2024-03-21 13:51:49 +01:00
Ebube 7da693f298 fix commit issue 2024-03-21 13:49:22 +01:00
ameye b0423c665c Merge branch 'popout-fix' of WrenchBoard/Users-Wrench into master 2024-03-21 12:44:43 +00:00
victorAnumudu 7089b8f14b fixed popout header style 2024-03-21 13:38:01 +01:00
ameye 2c2e2b0ca5 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-21 12:33:20 +00:00
Ebube ba3dd91d81 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-03-21 13:28:42 +01:00
Ebube 3f04c9f9f8 added items to right sidebar 2024-03-21 13:28:03 +01:00
ameye 781f5cc5a6 Merge branch 'add-group-email' of WrenchBoard/Users-Wrench into master 2024-03-21 11:33:48 +00:00
ameye 58097d8b57 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-21 11:33:41 +00:00
victorAnumudu 630ccefa51 Made the email input longer 2024-03-21 12:20:20 +01:00
Ebube ed9f2dec0e fixed link location 2024-03-21 12:01:32 +01:00
Ebube d2ed29c6a6 fixed link location 2024-03-21 11:53:58 +01:00
ameye 4e81156d72 Merge branch 'parent-kid-wallet' of WrenchBoard/Users-Wrench into master 2024-03-21 09:50:41 +00:00
ameye e402c02c1f Merge branch 'assign-task-image' of WrenchBoard/Users-Wrench into master 2024-03-21 09:50:34 +00:00
victorAnumudu 5907b5d872 parent kids wallet bug fixed 2024-03-20 21:04:49 +01:00
victorAnumudu 042cc4110c initial commit 2024-03-20 19:16:16 +01:00
victorAnumudu 944fd134f6 added image to assign task popout 2024-03-20 18:02:47 +01:00
tokslaw 5e6b208513 Merge branch 'family-wallet-refresh' of WrenchBoard/Users-Wrench into master 2024-03-20 13:32:48 +00:00
victorAnumudu 762601a5c3 made kid wallet refresh when parent transfers cash 2024-03-20 13:44:14 +01:00
victorAnumudu 1e28a0e15b made kid wallet refresh when parent transfers cash 2024-03-20 13:43:23 +01:00
ameye a910ab177f Merge branch 'modal-change' of WrenchBoard/Users-Wrench into master 2024-03-19 23:33:19 +00:00
victorAnumudu 4e741f587c added color to modal and made the labels same font 2024-03-19 22:42:52 +01:00
tokslaw f779529cc6 Merge branch 'kid-accepts-task' of WrenchBoard/Users-Wrench into master 2024-03-19 20:17:00 +00:00
victorAnumudu 44cedf2f65 Made parent family task list refresh when child accepts task 2024-03-19 20:27:29 +01:00
ameye fbcba191b0 Merge branch 'rounded-select' of WrenchBoard/Users-Wrench into master 2024-03-19 14:51:37 +00:00
victorAnumudu c64d372193 assign job rounded select tag 2024-03-19 14:33:42 +01:00
ameye abff42e0a8 Merge branch 'parent-assign-job-bug' of WrenchBoard/Users-Wrench into master 2024-03-19 12:13:06 +00:00
victorAnumudu d5c342a57a made socket to trigger for refresh for only the child the parent assigns a job to 2024-03-19 13:09:06 +01:00
victorAnumudu 60d6629526 made socket to trigger for refresh for only the child the parent assigns a job to 2024-03-19 11:45:18 +01:00
tokslaw b1fbf89f10 Merge branch 'parent-assign-job' of WrenchBoard/Users-Wrench into master 2024-03-18 21:02:02 +00:00
victorAnumudu ae346d5ac5 parent assign job triggers update in child account 2024-03-18 21:38:41 +01:00
victorAnumudu 75b5102766 Merge master into parent-assign-job 2024-03-18 19:31:01 +01:00
victorAnumudu 9b12ffe0cd initial commit 2024-03-18 19:29:35 +01:00
tokslaw 408165e718 Merge branch 'assign-modal' of WrenchBoard/Users-Wrench into master 2024-03-18 15:35:33 +00:00
victorAnumudu f7a0594447 added bg color to modal head 2024-03-18 16:00:45 +01:00
ameye c733b006fb Merge branch 'assign-job-label' of WrenchBoard/Users-Wrench into master 2024-03-18 13:05:13 +00:00
victorAnumudu 5a6b60578e clean up 2024-03-18 13:44:56 +01:00
victorAnumudu cdd998235e made assign job labels same style 2024-03-18 13:42:58 +01:00
ameye 6e9efd7f43 Merge branch 'wallet-family-api' of WrenchBoard/Users-Wrench into master 2024-03-18 09:46:18 +00:00
ameye 07e9520774 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-18 09:46:04 +00:00
victorAnumudu c1600a2a13 consumed family wallet API 2024-03-17 23:47:35 +01:00
Ebube 58e1745ac5 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-03-17 19:47:27 +01:00
Ebube 35db4fe536 fixed underlying issues 2024-03-17 19:46:38 +01:00
ameye dfdbf404a5 Merge branch 'socket-market-refresh' of WrenchBoard/Users-Wrench into master 2024-03-14 00:52:28 +00:00
victorAnumudu 985afa3c7b clean up 2024-03-13 21:02:37 +01:00
victorAnumudu 70d82d89b3 added socket event to listen to job market post 2024-03-13 19:56:13 +01:00
ameye 7f5eccb3b7 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-13 07:24:29 +00:00
Ebube 6729b780bd Increased Font Size 2024-03-13 03:27:56 +01:00
ameye 06224f121a Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-13 00:52:26 +00:00
Ebube dc91649114 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-03-13 00:01:38 +01:00
Ebube 22f6eb436d Completed the flow 2024-03-13 00:00:58 +01:00
CHIEFSOFT\ameye f2ab0cd6c9 added host 2024-03-12 15:59:13 -04:00
CHIEFSOFT\ameye a2819786ae 76.209.103.227 2024-03-12 13:48:01 -04:00
CHIEFSOFT\ameye 6cd92f6372 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench 2024-03-12 12:35:04 -04:00
CHIEFSOFT\ameye 7173901c9b socker in coposer 2024-03-12 12:34:47 -04:00
ameye 380d014964 Merge branch 'socket-context' of WrenchBoard/Users-Wrench into master 2024-03-12 15:52:32 +00:00
victorAnumudu 9032b36b13 Merge master into socket-context 2024-03-12 16:32:59 +01:00
victorAnumudu f291382786 added a socket context for real time communication 2024-03-12 16:31:08 +01:00
ameye 69dcee859d Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-12 15:01:02 +00:00
Ebube fe295dc775 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-03-12 15:51:44 +01:00
Ebube 044c8edf7d Suggest task flow pt1 2024-03-12 15:50:47 +01:00
CHIEFSOFT\ameye c22cffd167 added socket package 2024-03-12 02:04:10 -04:00
ameye 6d77bfa1b0 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-11 19:55:16 +00:00
Ebube 60cc6f375e Fixed font size and added name to waitlist tab 2024-03-11 20:31:11 +01:00
ameye e6684c56fd Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-11 17:20:31 +00:00
Ebube 4f675b30ef Added assign popup dropdown, fixed the right api for my task page 2024-03-11 18:15:31 +01:00
ameye 00c7f65092 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-10 18:17:56 +00:00
Ebube 9a978b1913 Filtered pending task with family uid and added text to waiting tab 2024-03-10 19:03:16 +01:00
ameye 23f8346734 Merge branch 'family-double-wallet' of WrenchBoard/Users-Wrench into master 2024-03-09 22:05:33 +00:00
victorAnumudu 585632c1e1 implemented family wallet with multiple wallet 2024-03-09 22:55:02 +01:00
ameye 11ee1195c2 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-09 18:18:42 +00:00
ameye c44f456cc1 Merge branch 'pending-task-title' of WrenchBoard/Users-Wrench into master 2024-03-09 18:18:32 +00:00
Ebube b769e4a4ba Fixed the pendingfamilyData 2024-03-09 18:58:25 +01:00
victorAnumudu a6ff06e2b4 added breadcrumb for no pending task 2024-03-09 16:04:04 +01:00
victorAnumudu 0f801b2408 removed double Title from page 2024-03-09 15:49:41 +01:00
ameye c26f2b725a Merge branch 'family-wallet-cleanup' of WrenchBoard/Users-Wrench into master 2024-03-09 12:10:22 +00:00
victorAnumudu ee94cbc92c undefined variable fixed 2024-03-09 08:19:33 +01:00
victorAnumudu dccbe76c5b removed unwanted signup country API 2024-03-09 08:13:52 +01:00
ameye 735d13b440 Merge branch 'family-redeem-options' of WrenchBoard/Users-Wrench into master 2024-03-08 20:57:58 +00:00
victorAnumudu 7f83cd5cc6 added family wallet redeem options 2024-03-08 21:50:42 +01:00
ameye 71ee75072d Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-08 13:58:02 +00:00
ameye 265f2b7655 Merge branch 'family-wallet-font' of WrenchBoard/Users-Wrench into master 2024-03-08 13:57:53 +00:00
Ebube 4d264fa18e Changed btn for suggested task components 2024-03-08 14:07:00 +01:00
victorAnumudu cd6ab8b504 wallet font adjusted 2024-03-08 12:20:37 +01:00
ameye 8c81073443 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-08 10:41:47 +00:00
Ebube 14566de037 . 2024-03-08 04:32:19 +01:00
Ebube 69d711eddc Fixed suggested task bug 2024-03-08 03:47:57 +01:00
Ebube 159623eb69 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-03-08 02:13:00 +01:00
Ebube da26d5c24a Task page bug fix 2024-03-08 02:12:35 +01:00
ameye 40850b7342 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-08 00:38:54 +00:00
Ebube 28098169b9 . 2024-03-07 23:47:15 +01:00
Ebube 2ff6ed777f Fixed bug of tasks and chores page 2024-03-07 23:44:30 +01:00
ameye 723a2a09ab Merge branch 'new-family-wallet' of WrenchBoard/Users-Wrench into master 2024-03-07 20:00:49 +00:00
victorAnumudu 68482c7956 added new family wallet page 2024-03-07 20:25:58 +01:00
ameye 225e3ae34c Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-07 16:55:41 +00:00
Ebube 251d5abf10 Added family waiting data 2024-03-07 17:34:28 +01:00
ameye 22314a61c5 Merge branch 'adding-breadcrumb' of WrenchBoard/Users-Wrench into master 2024-03-07 16:01:30 +00:00
victorAnumudu a9cf3c9d22 added breadcrumb to some pages in full account type 2024-03-07 16:51:24 +01:00
ameye 01bf8a4c52 Merge branch 'login-page-width' of WrenchBoard/Users-Wrench into master 2024-03-07 12:50:47 +00:00
victorAnumudu 68ab094bf6 reduced login page width 2024-03-07 13:42:16 +01:00
ameye d938202f7a Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-07 12:25:12 +00:00
Ebube c9f66bdacb Completed layout for family activities 2024-03-07 10:01:43 +01:00
Ebube 5854ad194a Added layout for activities page 2024-03-07 09:23:14 +01:00
ameye 0f25a92b88 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-06 22:01:34 +00:00
Ebube 9d7bcd91f4 . 2024-03-06 20:48:54 +01:00
Ebube 68115e79fa Added the following changes 2024-03-06 18:52:07 +01:00
ameye de379c2bbc Merge branch 'manage-job-padding' of WrenchBoard/Users-Wrench into master 2024-03-06 17:42:38 +00:00
victorAnumudu 2c11a0755d manage job page padding reduction 2024-03-06 18:21:58 +01:00
ameye f4ed892c5c Merge branch 'family-wallet-page' of WrenchBoard/Users-Wrench into master 2024-03-06 16:24:49 +00:00
ameye 30403f27c5 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-06 16:24:44 +00:00
victorAnumudu cf2df7529d added family wallet page 2024-03-06 16:12:55 +01:00
Ebube b3695324b3 Removed next due task countdown and modified my page format 2024-03-06 15:21:55 +01:00
ameye cf8f32ed64 Merge branch 'past-due-task' of WrenchBoard/Users-Wrench into master 2024-03-06 11:00:07 +00:00
victorAnumudu bd59f26146 added past due task page 2024-03-06 00:00:27 +01:00
ameye 3a397aad86 Merge branch 'family-home-active-task' of WrenchBoard/Users-Wrench into master 2024-03-05 14:51:16 +00:00
victorAnumudu 0f548e216d removed active task display from family home page 2024-03-05 15:49:04 +01:00
ameye 50fd9711e0 Merge branch 'breadcrumb-addition' of WrenchBoard/Users-Wrench into master 2024-03-04 17:46:41 +00:00
victorAnumudu f4d9eb65c6 added breadcrumb component to other family account pages 2024-03-04 18:12:02 +01:00
ameye 774224ba6d Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-04 16:46:09 +00:00
Ebube 9eae733755 changed to square brackets and reduced font 2024-03-04 17:34:11 +01:00
ameye 0aee3b9d6f Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-03-04 15:29:11 +00:00
Ebube b676a2a4f3 username replacement and Active task window feedback 2024-03-04 15:16:41 +01:00
ameye 0baacb3057 Merge branch 'family-blog-population' of WrenchBoard/Users-Wrench into master 2024-03-04 14:14:58 +00:00
victorAnumudu 9737c02d45 added family blog api resources 2024-03-04 15:05:31 +01:00
ameye 1048e51ddf Merge branch 'family-commonheader' of WrenchBoard/Users-Wrench into master 2024-03-04 10:52:33 +00:00
victorAnumudu 6545c32326 removed common header in family single blog post page 2024-03-04 01:29:22 +01:00
ameye 6ea9078848 Merge branch 'family-file-resource' of WrenchBoard/Users-Wrench into master 2024-03-01 20:55:47 +00:00
victorAnumudu 735cc0b296 corrected text error 2024-03-01 21:36:28 +01:00
ameye 29e058828b Merge branch 'family-resource-pages' of WrenchBoard/Users-Wrench into master 2024-03-01 20:13:32 +00:00
victorAnumudu 5d5542c221 merged master to branch 2024-03-01 21:05:03 +01:00
ameye b59f92c89f Merge branch 'bug-fixing' of WrenchBoard/Users-Wrench into master 2024-03-01 19:58:07 +00:00
victorAnumudu e01bfa369b created pages for family resources 2024-03-01 18:49:23 +01:00
victorAnumudu 3d150f7a6b array length bug fixed 2024-03-01 15:18:20 +01:00
tokslaw bbd100d04e Merge branch 'resources-linking' of WrenchBoard/Users-Wrench into master 2024-03-01 00:35:21 +00:00
victorAnumudu fcb340007c linked family resources 2024-02-29 21:52:11 +01:00
ameye 95a10cf795 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-29 19:48:34 +00:00
Ebube 5b5a083987 Added Home Img on Home btn 2024-02-29 20:06:18 +01:00
ameye 1564f29a4c Merge branch 'family-home-offerlist' of WrenchBoard/Users-Wrench into master 2024-02-29 17:35:02 +00:00
ameye 2b73191741 Merge branch 'parent-waiting-page' of WrenchBoard/Users-Wrench into master 2024-02-29 17:34:57 +00:00
victorAnumudu fee5c20fe2 removed offerlist from family home page 2024-02-29 17:09:47 +01:00
victorAnumudu 2d2b184291 parent waiting page top brought to top 2024-02-29 16:40:13 +01:00
ameye 5abd3665d1 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-29 15:01:45 +00:00
Ebube a603a9eaff Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-02-29 15:54:35 +01:00
Ebube 5bd74b3ca4 Added new stuff 2024-02-29 15:54:11 +01:00
Ebube 60cc290004 reduced component 2024-02-29 13:05:44 +01:00
ameye 12f30ec1e8 Merge branch 'banner-pages' of WrenchBoard/Users-Wrench into master 2024-02-29 11:46:56 +00:00
victorAnumudu 2521fbc1d8 more pages created for family banner links 2024-02-29 12:38:35 +01:00
ameye 29812e9265 Merge branch 'family-banner-linking' of WrenchBoard/Users-Wrench into master 2024-02-29 09:35:47 +00:00
victorAnumudu 271180932c linked banner to page 2024-02-29 10:32:27 +01:00
ameye 0a2e291013 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-28 18:00:00 +00:00
ameye 8be09a9f9f Merge branch 'parent-waiting' of WrenchBoard/Users-Wrench into master 2024-02-28 17:59:53 +00:00
Ebube 78aa4fe58b Added padding 2024-02-28 18:38:52 +01:00
victorAnumudu 154ea29504 added parent waiting page 2024-02-28 18:38:19 +01:00
ameye 4f670fa3ba Merge branch 'resources-banner-fix' of WrenchBoard/Users-Wrench into master 2024-02-28 16:49:51 +00:00
victorAnumudu 8d48435705 reduced family resources banner 2024-02-28 17:40:32 +01:00
ameye 76109dc458 Merge branch 'implemented-breadcrumb' of WrenchBoard/Users-Wrench into master 2024-02-28 16:00:09 +00:00
victorAnumudu 05a7b3ec12 added breadcrumb to my task page 2024-02-28 16:54:54 +01:00
ameye 0a3805ddf8 Merge branch 'family-banner-fix' of WrenchBoard/Users-Wrench into master 2024-02-28 15:20:57 +00:00
victorAnumudu 059fdaf294 family banner img height reduced 2024-02-28 15:48:59 +01:00
ameye 353c372284 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-28 11:18:52 +00:00
ameye 26e5248a0f Merge branch 'family-button-reduction' of WrenchBoard/Users-Wrench into master 2024-02-28 11:18:47 +00:00
ameye ae6a677b25 Merge branch 'market-date-format' of WrenchBoard/Users-Wrench into master 2024-02-28 11:18:43 +00:00
Ebube cab5debfb7 Added icon toggler 2024-02-28 11:41:17 +01:00
Ebube c4c1bf6ca1 added dark mode feature to right sidebar 2024-02-28 11:20:29 +01:00
Ebube fc2a78dde7 changed the background 2024-02-28 11:05:58 +01:00
victorAnumudu 1249685c41 reduced family banner button 2024-02-28 10:26:13 +01:00
victorAnumudu 3c422d9036 formatted date style 2024-02-28 10:08:26 +01:00
Ebube 264511dfb2 adjusted home dash sizes 2024-02-28 08:30:43 +01:00
Ebube d8c5b3ff07 home_dash board sizing 2024-02-28 07:49:57 +01:00
Ebube 624f97df8d Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-02-28 07:48:31 +01:00
Ebube 4dfb442a80 responsiveness check 2024-02-28 07:47:23 +01:00
ameye 50f675e82b Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-28 04:52:03 +00:00
CHIEFSOFT\ameye a0584a26fe show new dash 2024-02-27 20:50:54 -05:00
Ebube 0d3025c4d0 Reduced fonts 2024-02-27 21:47:10 +01:00
ameye ed24fea513 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-27 19:57:44 +00:00
ameye e6d83be4d9 Merge branch 'job-link-hidden' of WrenchBoard/Users-Wrench into master 2024-02-27 19:57:38 +00:00
Ebube 36e3154933 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-02-27 19:36:19 +01:00
Ebube 5d59ff1b30 Reduced component height 2024-02-27 19:35:53 +01:00
victorAnumudu 33832fdd96 made quick job link hidden in family account 2024-02-27 18:57:16 +01:00
ameye 9f02395214 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-27 17:38:03 +00:00
ameye 9cc88eebf6 Merge branch 'family-resources' of WrenchBoard/Users-Wrench into master 2024-02-27 17:37:45 +00:00
Ebube 2390670d8c added top banner 2024-02-27 18:35:49 +01:00
victorAnumudu d908b1e10e added family resources API 2024-02-27 18:10:54 +01:00
ameye d91a3bf9f0 Merge branch 'banner-match' of WrenchBoard/Users-Wrench into master 2024-02-27 12:39:53 +00:00
victorAnumudu 880c223834 matched the image height in family banner to full member banner 2024-02-27 13:27:32 +01:00
ameye e7bf07d09e Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-27 10:47:10 +00:00
ameye e1de701ea6 Merge branch 'family-header' of WrenchBoard/Users-Wrench into master 2024-02-27 10:47:03 +00:00
Ebube 3403210fe8 Populated the lower component 2024-02-27 11:36:53 +01:00
victorAnumudu 03a897829c changed family header bg color 2024-02-27 10:24:23 +01:00
victorAnumudu d884b2a43d added header on family home page 2024-02-27 10:15:13 +01:00
ameye 3b86c6cd0e Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-26 23:43:47 +00:00
Ebube 2b5de9c95f Added the first 3 banners 2024-02-27 00:39:51 +01:00
ameye 3a8a980660 Merge branch 'banner-api-caching' of WrenchBoard/Users-Wrench into master 2024-02-26 17:26:16 +00:00
victorAnumudu 06186b3c0f cache banner API using redux 2024-02-26 18:07:58 +01:00
ameye bddbe6ceb4 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-26 15:46:14 +00:00
Ebube dd802ab22e increase size of dots 2024-02-26 16:38:57 +01:00
Ebube 8c363765ae Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-02-26 16:34:58 +01:00
Ebube f597c207fa Banner Area Layout 2024-02-26 16:34:08 +01:00
ameye dc07cff959 Merge branch 'asidebar-link' of WrenchBoard/Users-Wrench into master 2024-02-26 14:35:12 +00:00
victorAnumudu 38766c9cb7 changed Dashboard aside link name to Home 2024-02-26 15:30:30 +01:00
ameye fc04855d3f Merge branch 'banner-card' of WrenchBoard/Users-Wrench into master 2024-02-26 13:17:11 +00:00
victorAnumudu 56cb956482 adjusted banner card design 2024-02-26 14:07:15 +01:00
ameye 2f5abc8931 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-26 10:39:34 +00:00
ameye 026dbb1a0a Merge branch 'family-banner-bug' of WrenchBoard/Users-Wrench into master 2024-02-26 10:39:23 +00:00
Ebube efd464ba8a Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into home-banners-dashboard 2024-02-26 02:49:58 +01:00
Ebube 8c400c7ce1 fixed market bug, fixed key issue and added texts fork the cards 2024-02-26 02:49:35 +01:00
victorAnumudu d3d2b3cb5a changed to three cards banner 2024-02-26 02:40:25 +01:00
victorAnumudu 3054a5eb9a remove unused API from family login 2024-02-26 01:55:52 +01:00
Ebube 670f4bbf1a Added color to component and toggler to the env 2024-02-26 00:12:29 +01:00
ameye ae73f10c42 Merge branch 'family-banners' of WrenchBoard/Users-Wrench into master 2024-02-25 22:14:19 +00:00
victorAnumudu de477f32ed added banner to family dashboard banner list 2024-02-25 21:16:38 +01:00
ameye 2c6e36aea9 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-23 20:12:12 +00:00
ameye dc3aa1470e Merge branch 'family_new_dashboard' of WrenchBoard/Users-Wrench into master 2024-02-23 20:12:07 +00:00
victorAnumudu 9029953432 added familybanners API 2024-02-23 17:29:18 +01:00
Ebube fa47de7292 Added empty component to the dashboard 2024-02-23 17:19:41 +01:00
victorAnumudu d0a2b804b9 configured family new dashboard to show only on dev 2024-02-23 16:27:17 +01:00
victorAnumudu aa48529dca configured family new dashboard to show only on dev 2024-02-23 16:15:46 +01:00
ameye ad2745dfce Merge branch 'section-addition' of WrenchBoard/Users-Wrench into master 2024-02-19 17:37:50 +00:00
victorAnumudu b6ab3a6ee7 added new section to family acct dashboard 2024-02-19 14:09:20 +01:00
ameye f968cc5a50 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-17 16:41:08 +00:00
Ebube 1ddb2fd903 remove mypage component from family 2024-02-17 16:27:09 +01:00
ameye 70f6ac4e24 Merge branch 'failedtopup-alert' of WrenchBoard/Users-Wrench into master 2024-02-15 18:50:06 +00:00
victorAnumudu 3d30481852 displays failed popout box for failed top up transaction 2024-02-15 13:49:05 +01:00
ameye 63c0b07f61 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-03 23:31:58 +00:00
ameye 60568c42e8 Merge branch 'number-fix' of WrenchBoard/Users-Wrench into master 2024-02-03 23:31:51 +00:00
Ebube 77ac52820d added the email and offed the autocomplete attr for the component 2024-02-04 00:29:09 +01:00
victorAnumudu 240e075305 assign offer message updated 2024-02-03 22:49:15 +01:00
victorAnumudu bea41d8181 group count fixed 2024-02-03 22:09:25 +01:00
ameye 6268d68b67 Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-02-03 20:31:19 +00:00
Ebube f96b16b373 Added the number identifier for job list 2024-02-03 21:18:49 +01:00
ameye 9fb6a4db86 Merge branch 'download-app-links' of WrenchBoard/Users-Wrench into master 2024-02-02 11:26:36 +00:00
victorAnumudu 1aa3c79666 added download app links to signup page 2024-02-02 09:42:51 +01:00
ameye ecc2360dc4 Merge branch 'app-download-link' of WrenchBoard/Users-Wrench into master 2024-02-01 20:49:27 +00:00
victorAnumudu ca9bb1c211 changed class to classname 2024-02-01 19:43:36 +01:00
victorAnumudu 2f756d189a added app download links on login page 2024-02-01 19:34:01 +01:00
ameye d7acea769c Merge branch 'home-banners-dashboard' of WrenchBoard/Users-Wrench into master 2024-01-30 17:58:31 +00:00
Ebube 7ff5e2b6e0 . 2024-01-30 17:10:39 +01:00
Ebube 2f90c4a6c2 Different dashboards for Home Banner 2024-01-30 17:10:30 +01:00
ameye 29e0345e1c Merge branch 'Jobs-Manager-Side' of WrenchBoard/Users-Wrench into master 2024-01-27 00:26:56 +00:00
Ebube 129cdc8cba Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Jobs-Manager-Side 2024-01-26 19:17:58 +01:00
Ebube 9d42ebebab added sidebar menu 2024-01-26 19:17:28 +01:00
ameye 6193f0b492 Merge branch 'Jobs-Manager-Side' of WrenchBoard/Users-Wrench into master 2024-01-26 18:03:56 +00:00
Ebube 1d86465812 Changed my pending jobs to offers and changed its routes 2024-01-26 17:44:24 +01:00
CHIEFSOFT\ameye 7a6f43ad20 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench 2024-01-26 10:31:56 -05:00
CHIEFSOFT\ameye 37b94a68ca new layout 2024-01-26 10:31:45 -05:00
ameye a1b63c5d0c Merge branch 'Jobs-Manager-Side' of WrenchBoard/Users-Wrench into master 2024-01-26 14:49:22 +00:00
Ebube e5162a2aaf refactored some things 2024-01-26 01:46:56 +01:00
Ebube 6ee9c7e7d8 added .toFixed(2)} 2024-01-26 01:08:07 +01:00
Ebube 5928ddb3c1 added the popup component 2024-01-26 01:07:20 +01:00
ameye 06c1e339b1 Merge branch 'login-box-fix' of WrenchBoard/Users-Wrench into master 2024-01-25 22:18:49 +00:00
victorAnumudu 29cec58122 login box adjustment 2024-01-25 21:54:31 +01:00
ameye d258158a13 Merge branch 'bg-change' of WrenchBoard/Users-Wrench into master 2024-01-25 18:01:41 +00:00
victorAnumudu 1c47fa283a Merge branch 'master' into bg-change 2024-01-25 18:57:08 +01:00
victorAnumudu d1b07e6e66 added background based on country 2024-01-25 18:55:51 +01:00
ameye 648f228e45 Merge branch 'Jobs-Manager-Side' of WrenchBoard/Users-Wrench into master 2024-01-25 15:50:17 +00:00
Ebube 551a302ede added the amount checker 2024-01-25 16:39:13 +01:00
ameye 108c82b2f8 Merge branch 'family-type' of WrenchBoard/Users-Wrench into master 2024-01-25 12:44:16 +00:00
victorAnumudu f46713ef00 Merge branch 'master' into family-type 2024-01-25 08:17:59 +01:00
victorAnumudu 992993b710 family type dropdown added 2024-01-25 08:16:55 +01:00
ameye 617df4200e Merge branch 'Jobs-Manager-Side' of WrenchBoard/Users-Wrench into master 2024-01-24 21:57:28 +00:00
Ebube a47e398e87 Added background color to the group list component 2024-01-24 20:41:25 +01:00
ameye 281c4c7ab7 Merge branch 'relative-list' of WrenchBoard/Users-Wrench into master 2024-01-24 13:12:48 +00:00
victorAnumudu 3c901e5d0d fixed relative list 2024-01-24 13:43:12 +01:00
ameye 3bcbaae4c3 Merge branch 'add-relative' of WrenchBoard/Users-Wrench into master 2024-01-24 12:19:30 +00:00
ameye 17e972d603 Merge branch 'Jobs-Manager-Side' of WrenchBoard/Users-Wrench into master 2024-01-24 12:19:23 +00:00
victorAnumudu dbc821a804 added relative list 2024-01-24 10:12:06 +01:00
Ebube 0e4b1af1ce Jobs Manager Side task done 2024-01-24 01:11:49 +01:00
CHIEFSOFT\ameye ec88f304ab remove grp icon 2024-01-23 08:20:35 -05:00
ameye 8d795a29b4 Merge branch 'actions-variables' of WrenchBoard/Users-Wrench into master 2024-01-23 12:24:14 +00:00
ameye da12f5905c Merge branch 'link-icons' of WrenchBoard/Users-Wrench into master 2024-01-23 12:24:09 +00:00
victorAnumudu 99d4301588 added link icons 2024-01-23 10:32:29 +01:00
Ebube 8139fbb090 added third 2024-01-23 09:33:56 +01:00
Ebube 926837c656 added second batch 2024-01-23 09:00:30 +01:00
Ebube 14c894da6c first batch 2024-01-23 07:33:57 +01:00
CHIEFSOFT\ameye dbdc028ed4 api const 2024-01-22 11:49:49 -05:00
CHIEFSOFT\ameye c3a5a2fe34 left image 2024-01-18 11:31:35 -05:00
ameye eed2e62f62 Merge branch 'new-layout' of WrenchBoard/Users-Wrench into master 2024-01-18 14:34:53 +00:00
victorAnumudu 824f46fd9f dummy bg added 2024-01-17 21:36:05 +01:00
victorAnumudu ff5a73bec7 determines when to show new login layout from env variable 2024-01-17 20:45:34 +01:00
victorAnumudu ad37885445 determines when to show new login layout from env variable 2024-01-17 20:43:49 +01:00
victorAnumudu 0c3425a97a new layout pages duplicated 2024-01-17 20:28:43 +01:00
victorAnumudu 92ca50e02f added style className 2024-01-17 19:55:48 +01:00
victorAnumudu 4eed8abac1 added new layout auth layout page 2024-01-17 19:52:49 +01:00
victorAnumudu a6627555d9 added new layout for login page 2024-01-17 19:51:44 +01:00
victorAnumudu e127c79df2 added new layout for signup page 2024-01-17 19:50:46 +01:00
victorAnumudu 00278e32b6 added new layout for forget password page 2024-01-17 19:50:00 +01:00
victorAnumudu 255da58588 added new layout for verify link page 2024-01-17 19:49:17 +01:00
victorAnumudu 0464025eff added new layout for verify password page 2024-01-17 19:48:06 +01:00
victorAnumudu c300d0d7f4 added new layout for verify you page 2024-01-17 19:47:14 +01:00
ameye 47ae14bc7a Merge branch 'memberpage' of WrenchBoard/Users-Wrench into master 2024-01-16 04:23:21 +00:00
Ebube 185ca14750 Clean up and auto refresh 2024-01-13 19:06:35 +01:00
ameye 1ef92207fb Merge branch 'memberpage' of WrenchBoard/Users-Wrench into master 2024-01-10 16:54:06 +00:00
ameye 0b8cf50088 Merge branch 'alignment-fix' of WrenchBoard/Users-Wrench into master 2024-01-10 16:54:02 +00:00
Ebube 57be599bb5 added the pageload api 2024-01-10 17:41:52 +01:00
victorAnumudu 9ec512777e assign task text added 2024-01-09 18:31:05 +01:00
ameye 9dde87277c Merge branch 'new-tab-style' of WrenchBoard/Users-Wrench into master 2024-01-09 14:37:06 +00:00
victorAnumudu a176e8e6d5 assign job tabs style changed 2024-01-09 15:24:14 +01:00
ameye 8106f6a049 Merge branch 'memberpage' of WrenchBoard/Users-Wrench into master 2024-01-09 12:46:44 +00:00
Ebube aa26a63fcf Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into memberpage 2024-01-09 13:31:41 +01:00
Ebube 3fbcfe5797 Done for now 2024-01-09 13:30:32 +01:00
Ebube 510545bf82 refactor: Your Page Code 2024-01-09 12:59:11 +01:00
ameye 7a149b87bd Merge branch 'memberpage' of WrenchBoard/Users-Wrench into master 2024-01-08 23:30:22 +00:00
ameye 391f6e0abd Merge branch 'modal-display-adjustment' of WrenchBoard/Users-Wrench into master 2024-01-08 23:30:14 +00:00
Ebube 057691b2f9 added more things 2024-01-09 00:21:29 +01:00
Ebube d085636843 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into memberpage 2024-01-08 23:37:48 +01:00
Ebube 0150caf4bb Added New Page 2024-01-08 23:37:13 +01:00
victorAnumudu dd580cadfd modal display box centered 2024-01-08 20:56:38 +01:00
ameye a59588d4a7 Merge branch 'assign-tabs' of WrenchBoard/Users-Wrench into master 2024-01-08 18:49:40 +00:00
victorAnumudu 393b4e7b37 change popout class style 2024-01-08 19:48:03 +01:00
victorAnumudu b2411285bc added assign tabs 2024-01-08 19:21:15 +01:00
ameye 091faec9bd Merge branch 'family-image' of WrenchBoard/Users-Wrench into master 2024-01-08 12:42:50 +00:00
victorAnumudu 15fc2e6c9b displays assign to group 2024-01-08 13:37:38 +01:00
ameye 3ef68adf7e Merge branch 'assign-to-group' of WrenchBoard/Users-Wrench into master 2024-01-08 09:33:17 +00:00
victorAnumudu 71f987cbff made group offer display when show offer to group is true 2024-01-08 09:47:48 +01:00
victorAnumudu e8c3dca731 assign task to group implementation 2024-01-07 19:45:32 +01:00
ameye 85d15ac2f1 Merge branch 'add-group-member' of WrenchBoard/Users-Wrench into master 2024-01-07 11:57:34 +00:00
ameye 236dfeae2c Merge branch 'add-group-member-form' of WrenchBoard/Users-Wrench into master 2024-01-07 11:57:29 +00:00
victorAnumudu 734acd9dd5 placeholder renamed 2024-01-07 08:01:11 +01:00
victorAnumudu 3f9534b968 placeholder renamed 2024-01-07 07:59:54 +01:00
victorAnumudu 13d69efbaf changed group member form style 2024-01-07 07:57:06 +01:00
victorAnumudu 151aa4ba0c made selected group active after adding a member 2024-01-05 20:00:55 +01:00
ameye 4985256c3a Merge branch 'group-page-bug-fixed' of WrenchBoard/Users-Wrench into master 2024-01-05 17:14:12 +00:00
victorAnumudu 5c552fe006 fixed group list member bug 2024-01-05 18:05:52 +01:00
ameye b14272f040 Merge branch 'job-groups-page' of WrenchBoard/Users-Wrench into master 2024-01-05 13:21:43 +00:00
victorAnumudu 5e4887c01c added pagination for member list table 2024-01-05 09:57:45 +01:00
victorAnumudu f6e55718bb add group api added 2024-01-04 22:45:32 +01:00
victorAnumudu 98ddc5aaae added dummy job groups page 2024-01-03 19:58:07 +01:00
ameye 53d8b0f411 Merge branch 'app-download-route' of WrenchBoard/Users-Wrench into master 2023-12-20 14:01:55 +00:00
victorAnumudu b3d33f87cf added app download route 2023-12-20 14:39:17 +01:00
ameye 5922064c42 Merge branch 'expire-session-clear' of WrenchBoard/Users-Wrench into master 2023-12-18 12:57:03 +00:00
victorAnumudu eae8dc43ec clears expire session value after 5secs 2023-12-18 13:40:36 +01:00
ameye 34e6322126 Merge branch 'signup-country' of WrenchBoard/Users-Wrench into master 2023-12-18 08:59:28 +00:00
victorAnumudu b3db82000b result_list array as list of countries 2023-12-18 09:53:42 +01:00
CHIEFSOFT\ameye fa565437f0 download links 2023-12-12 15:49:22 -05:00
ameye 59f407ba26 Merge branch 'edit_job' of WrenchBoard/Users-Wrench into master 2023-12-12 12:41:02 +00:00
ameye e7afc12334 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-12-12 12:40:54 +00:00
victorAnumudu 5f81c0b847 edit job categpry text color for dark mode added 2023-12-12 06:03:03 +01:00
ebube 0756747143 updated payload 2023-12-11 20:30:44 -08:00
ameye 99eb1591a2 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-12-11 19:46:01 +00:00
ameye 85b9aab229 Merge branch 'upload_filename' of WrenchBoard/Users-Wrench into master 2023-12-11 19:45:55 +00:00
ebube 67a0a34288 Fixed a typo 2023-12-10 10:19:56 -08:00
ebube 814e4c9693 Fixed the amount in naira add credit payload to flutterwave 2023-12-03 23:55:43 -08:00
victorAnumudu e74eb38caf defaulted filename to myfile 2023-11-29 19:56:28 +01:00
ameye 67db1a72bf Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-29 14:32:03 +00:00
ebube 41e46d8030 Reverted updates 2023-11-29 06:30:36 -08:00
ebube 8707411dda added a linux checker 2023-11-28 21:02:17 -08:00
ameye 327a4a42ae Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-29 01:33:58 +00:00
ebube 455f4001f7 Final Check 2023-11-28 09:18:54 -08:00
ebube 775bcd5005 Clean up...added feature to edit popup 2023-11-28 09:11:52 -08:00
ebube 492bda021f Select Option Bug Fixed 2023-11-28 07:41:31 -08:00
ebube eacfae19f0 Currency Bug Fix 2023-11-28 07:26:34 -08:00
ebube 376cf44a9c Currency option set to fixed and category option set 2023-11-28 06:41:32 -08:00
ameye 1aab0c2910 Merge branch 'upload_download_link' of WrenchBoard/Users-Wrench into master 2023-11-28 11:56:05 +00:00
victorAnumudu 1f5fb8c7c3 upload file bug fixed 2023-11-28 11:50:16 +01:00
victorAnumudu a303b24b53 upload file bug fixed 2023-11-28 11:33:59 +01:00
victorAnumudu 322927045c Merge master into upload_download_link 2023-11-28 03:18:45 +01:00
victorAnumudu 3cf1dc7166 added download link# 2023-11-28 03:17:23 +01:00
ameye 8ed331e909 Merge branch 'wrong-upload-placeholder' of WrenchBoard/Users-Wrench into master 2023-11-28 01:42:14 +00:00
ameye 2428923f73 Merge branch 'file_link_bug' of WrenchBoard/Users-Wrench into master 2023-11-28 01:41:53 +00:00
victorAnumudu 139f87c919 corrected wrong placeholders 2023-11-28 02:16:49 +01:00
victorAnumudu c24fbedf2c file link updated 2023-11-27 12:49:18 +01:00
ameye 1a817e723e Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-27 11:31:03 +00:00
ebube c023911cd4 Fixed prev card issue 2023-11-27 03:19:39 -08:00
ameye 907dc298ab Merge branch 'file_link_update' of WrenchBoard/Users-Wrench into master 2023-11-27 10:32:02 +00:00
ameye 8095006386 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-27 10:31:57 +00:00
ebube d9d28791da Added and specified card_uid for prev and new card 2023-11-27 01:49:09 -08:00
ebube a98d967ba4 Fixed the credit issues 2023-11-27 01:12:24 -08:00
victorAnumudu 59a5e84ee2 uploaded link for file added 2023-11-27 07:00:58 +01:00
ameye 35ed1d48a3 Merge branch 'zero-bal-job-add' of WrenchBoard/Users-Wrench into master 2023-11-23 11:12:47 +00:00
victorAnumudu f9d385dfec made user to be able to add job even with zero wallet bal 2023-11-23 12:04:29 +01:00
ameye 033af03221 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-22 03:26:54 +00:00
ebube b3afb94030 Added family banner 2023-11-21 15:47:02 -08:00
ameye 0b1aa4e7d9 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-21 16:18:24 +00:00
ebube 18c4f31322 seen the issue 2023-11-21 08:02:11 -08:00
ebube 97e3344953 Added tabs as individual components 2023-11-21 07:32:36 -08:00
ebube 9565ca0d35 Fixed typo causing error displays in the console.log 2023-11-21 07:22:33 -08:00
ameye 51cc4edc1d Merge branch 'assign-task-message-bug' of WrenchBoard/Users-Wrench into master 2023-11-21 14:15:49 +00:00
victorAnumudu d12a1fd579 fixed error message display 2023-11-21 15:04:22 +01:00
ameye 21f1173e66 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-21 14:03:58 +00:00
ebube cf5ae81918 Added tabs for family settings 2023-11-21 05:58:57 -08:00
ameye 235bb7d667 Merge branch 'wallet-reload' of WrenchBoard/Users-Wrench into master 2023-11-21 11:25:59 +00:00
ameye 18a319a437 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-21 11:25:54 +00:00
victorAnumudu d3e2cc6744 added wallet reload when user accepts interest offer 2023-11-13 19:38:29 +01:00
victorAnumudu a08d8feb7d made wallet to reload when parent confirms task completion 2023-11-13 16:35:54 +01:00
Chief Bube 7cb5cc558b added box 2023-11-12 12:55:13 -08:00
ameye 36025ade56 Merge branch 'completed-job-history' of WrenchBoard/Users-Wrench into master 2023-11-12 11:01:25 +00:00
victorAnumudu b80c21358a tab bug fix 2023-11-11 22:11:02 +01:00
victorAnumudu f5ad68f7bb added completed job tab history 2023-11-11 22:06:35 +01:00
ameye 27cba1ac68 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-11 17:04:11 +00:00
Chief Bube dbb21d8a08 added a few to page 2023-11-11 08:13:26 -08:00
Chief Bube a4597599b7 added icon and page for family settings 2023-11-11 08:10:02 -08:00
ameye 894f986574 Merge branch 'holdings-removal' of WrenchBoard/Users-Wrench into master 2023-11-11 14:03:32 +00:00
victorAnumudu e42a358da6 removed holdings from childs wallet 2023-11-11 14:59:11 +01:00
ameye 23c2e840c2 Merge branch 'server-image-replacement' of WrenchBoard/Users-Wrench into master 2023-11-11 13:31:29 +00:00
victorAnumudu 7e7176ae5c server icon fix 2023-11-11 07:03:54 +01:00
victorAnumudu 306fa1300d replaced images to server images on mytask route 2023-11-11 06:26:00 +01:00
ameye 7b3178bd1a Merge branch 'add-family-btn-bug' of WrenchBoard/Users-Wrench into master 2023-11-10 17:50:11 +00:00
victorAnumudu 5e94ddee48 fixed add family btn 2023-11-09 07:09:24 +01:00
ameye 32171ae3ce Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-08 19:47:53 +00:00
Chief Bube 2c99fedd8c removing session once user logs out or session expires 2023-11-08 10:58:42 -08:00
Chief Bube 7e926cc7bc added family image 2023-11-08 10:42:54 -08:00
ameye 587bcaa411 Merge branch 'family-wallet-copy' of WrenchBoard/Users-Wrench into master 2023-11-08 17:56:42 +00:00
ameye 756628ee1a Merge branch 'image-bug' of WrenchBoard/Users-Wrench into master 2023-11-08 17:56:37 +00:00
victorAnumudu 575710a807 image bug fixed 2023-11-08 18:26:50 +01:00
victorAnumudu c77d8e5693 merged from master branch 2023-11-08 18:18:06 +01:00
victorAnumudu 7e9d734e6f added copy wallet for family member 2023-11-08 18:15:21 +01:00
ameye 9ddb127bd3 Merge branch 'job-image-icon' of WrenchBoard/Users-Wrench into master 2023-11-08 16:24:00 +00:00
victorAnumudu a85e5fdb91 changed default icons to server icons 2023-11-08 09:41:06 +01:00
victorAnumudu 09ad8a94ca changed default icons to server icons 2023-11-08 09:39:28 +01:00
Chief Bube 0c1db6b4b5 fixed svg typos 2023-11-07 23:00:12 -08:00
ameye 6ddffdf2e6 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-08 04:29:31 +00:00
Chief Bube 5043540abb Added conditionals to the paths to avoid breakage and resolved some images in family account 2023-11-07 09:24:28 -08:00
ameye 5f39accdd6 Merge branch 'pend-interest' of WrenchBoard/Users-Wrench into master 2023-11-07 16:20:23 +00:00
victorAnumudu b5aeaf59a4 changed from offer_uid to job_uid 2023-11-07 17:13:50 +01:00
ameye f3e63d2ef6 Merge branch 'default-icon' of WrenchBoard/Users-Wrench into master 2023-11-07 13:52:19 +00:00
victorAnumudu 44a055e76b Merge master into default-icon 2023-11-07 14:22:49 +01:00
victorAnumudu 67c1b2aaa0 placed default job icons 2023-11-07 14:20:19 +01:00
ameye 313cfc1f28 Merge branch 'edit-job-bug-fix' of WrenchBoard/Users-Wrench into master 2023-11-07 12:40:34 +00:00
victorAnumudu 59a7f110be Fixed save job bug 2023-11-07 07:35:40 +01:00
ameye 52e8447f6a Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-06 23:33:16 +00:00
Chief Bube c60e28928a changed to job_uid 2023-11-06 15:29:23 -08:00
ameye 58357fd501 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-06 21:15:03 +00:00
Chief Bube 5402980d6c Chnged path from profile to job 2023-11-06 11:15:11 -08:00
ameye 32c7b3d513 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-06 18:56:32 +00:00
Chief Bube a30b22170d Added images server path 2023-11-06 10:53:26 -08:00
ameye e3314b0460 Merge branch 'job-image-upload-fix' of WrenchBoard/Users-Wrench into master 2023-11-06 18:01:42 +00:00
victorAnumudu 86eb1f16bb fixed job image upload 2023-11-06 19:00:28 +01:00
ameye 5660d74e75 Merge branch 'job-image-upload' of WrenchBoard/Users-Wrench into master 2023-11-06 15:48:53 +00:00
victorAnumudu 612016784d added job image upload API 2023-11-06 16:34:41 +01:00
ameye 988aadfb7e Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-06 14:28:14 +00:00
ameye 54851b5f77 Merge branch 'family-image-bug' of WrenchBoard/Users-Wrench into master 2023-11-06 14:27:50 +00:00
victorAnumudu 91f3b92138 Merge master into family-image-bug 2023-11-06 15:24:06 +01:00
victorAnumudu f48de9d65f upload bug fixed 2023-11-06 15:22:56 +01:00
Chief Bube c920c35a9c image now works 2023-11-06 06:15:12 -08:00
ameye 7bcaead120 Merge branch 'Server-path-added' of WrenchBoard/Users-Wrench into master 2023-11-06 14:04:08 +00:00
Chief Bube 828f56ed84 Added Image Path for server image 2023-11-06 05:30:30 -08:00
ameye 07118c10a8 Merge branch 'family-profile-image-upload' of WrenchBoard/Users-Wrench into master 2023-11-06 12:13:26 +00:00
victorAnumudu ca5923a7f8 Merge master into family-profile-image-upload 2023-11-06 12:43:20 +01:00
victorAnumudu 4f0d432176 family profile image upload API added 2023-11-06 12:42:10 +01:00
ameye dd3f9d99f3 Merge branch 'Family-Acc-layout-update' of WrenchBoard/Users-Wrench into master 2023-11-06 09:33:43 +00:00
Chief Bube 8807b671ad update market data 2023-11-06 01:25:44 -08:00
victorAnumudu 7020e6d4dc added family profile image upload 2023-11-06 04:10:03 +01:00
ameye d66093a2ad Merge branch 'edit-job-add-image' of WrenchBoard/Users-Wrench into master 2023-11-05 10:53:44 +00:00
victorAnumudu b79eb6b158 Merge master into edit-job-add-image 2023-11-04 17:37:19 +01:00
victorAnumudu a759daaf90 edit job upload image added 2023-11-04 17:35:18 +01:00
ameye 600aec62cf Merge branch 'Family-Acc-layout-update' of WrenchBoard/Users-Wrench into master 2023-11-04 15:54:50 +00:00
Chief Bube 1612bf11ce Added JobOfferCancel 2023-11-04 08:47:42 -07:00
ameye f4e261eb6c Merge branch 'Family-Acc-layout-update' of WrenchBoard/Users-Wrench into master 2023-11-04 08:13:03 +00:00
Chief Bube b622398b6a added assignJobTask function to userServices 2023-11-03 18:47:14 -07:00
ameye e60957e6be Merge branch 'dummy-lnd-page' of WrenchBoard/Users-Wrench into master 2023-11-02 21:35:01 +00:00
victorAnumudu 6a2082d732 added lnd page 2023-11-02 19:01:48 +01:00
ameye 452c6bf8a1 Merge branch 'session-bug' of WrenchBoard/Users-Wrench into master 2023-11-02 01:54:41 +00:00
victorAnumudu 9f89376aa9 Hid text when session expires 2023-11-01 22:11:34 +01:00
ameye 4e91e47978 Merge branch 'session-implement' of WrenchBoard/Users-Wrench into master 2023-11-01 20:09:08 +00:00
ameye fcaa485b17 Merge branch 'history-header-removal' of WrenchBoard/Users-Wrench into master 2023-11-01 20:08:55 +00:00
victorAnumudu e4526652d3 Merge master into session-implement 2023-11-01 20:27:35 +01:00
victorAnumudu 64056bb2a4 changed payment to purchase 2023-11-01 18:45:25 +01:00
victorAnumudu e49c4d66f8 removed table headers if no record is found 2023-11-01 18:39:24 +01:00
ameye 8fdb939b72 Merge branch 'Family-Acc-layout-update' of WrenchBoard/Users-Wrench into master 2023-11-01 17:06:51 +00:00
victorAnumudu 79325450f3 session logout implemented 2023-11-01 18:04:47 +01:00
Chief Bube 7849a027b4 changed fill 2023-11-01 10:04:00 -07:00
ameye 38432a6d50 Merge branch 'Family-Acc-layout-update' of WrenchBoard/Users-Wrench into master 2023-11-01 16:08:13 +00:00
Chief Bube 83a54ff3ef . 2023-11-01 07:37:00 -07:00
Chief Bube 5e0fdffa1e done 2023-11-01 07:34:23 -07:00
ameye 11d2cb3e3a Merge branch 'Added-uid-to-completesignup' of WrenchBoard/Users-Wrench into master 2023-11-01 14:00:31 +00:00
ameye 93ac55b44b Merge branch 'error-page-style' of WrenchBoard/Users-Wrench into master 2023-11-01 14:00:23 +00:00
Chief Bube 237ce13a6c . 2023-11-01 06:40:13 -07:00
Chief Bube 4253174494 . 2023-11-01 06:31:05 -07:00
victorAnumudu da0ed0364b changed the height of the page 2023-11-01 13:43:51 +01:00
ameye 466175c49d Merge branch 'fixing-height-in-intrest-popup' of WrenchBoard/Users-Wrench into master 2023-11-01 10:39:10 +00:00
Chief Bube ed148ce267 Fixed Family Profile Break 2023-10-31 21:42:15 -07:00
ameye 6de795c07b Merge branch 'error-page' of WrenchBoard/Users-Wrench into master 2023-10-31 21:29:49 +00:00
victorAnumudu 436498bef9 added background image to error page 2023-10-31 19:51:36 +01:00
victorAnumudu 086b1202a4 error 404 page adjusted 2023-10-31 16:59:02 +01:00
ameye a81ccdc4d7 Merge branch 'reward-tab-cleanup' of WrenchBoard/Users-Wrench into master 2023-10-31 12:57:55 +00:00
victorAnumudu 33abbbcd2b adjusted reward component contents 2023-10-31 13:53:02 +01:00
ameye 04844af733 Merge branch 'lastname-bug-fix' of WrenchBoard/Users-Wrench into master 2023-10-31 12:42:42 +00:00
victorAnumudu 46d919090d lastname bug fixed 2023-10-31 13:36:53 +01:00
ameye 8e67892f16 Merge branch 'rewards-tab' of WrenchBoard/Users-Wrench into master 2023-10-31 12:21:17 +00:00
victorAnumudu a67d2b7bb4 reward tab clean up 2023-10-31 13:16:33 +01:00
victorAnumudu 99c0c24489 Merge master into rewards-tab 2023-10-31 13:15:22 +01:00
victorAnumudu 1a1d59a8c7 rewards API implemented 2023-10-31 13:13:58 +01:00
ameye 31dcfcfd0b Merge branch 'fixing-height-in-intrest-popup' of WrenchBoard/Users-Wrench into master 2023-10-31 11:45:48 +00:00
Chief Bube e9aa58f2f5 Added tracking text color 2023-10-31 04:42:50 -07:00
victorAnumudu 55fe2bf6d2 Merge master into rewards-tab 2023-10-31 04:23:42 +01:00
victorAnumudu 738eb1589e rewards tab added 2023-10-31 04:22:50 +01:00
ameye 139e0c2827 Merge branch 'send-btn-disable' of WrenchBoard/Users-Wrench into master 2023-10-30 17:43:22 +00:00
victorAnumudu 30642bba14 disabled send btn on successful transfer 2023-10-30 16:29:45 +01:00
ameye f5921612b8 Merge branch 'balance-bug' of WrenchBoard/Users-Wrench into master 2023-10-30 14:43:49 +00:00
victorAnumudu 38afece043 Merge master into balance-bug 2023-10-30 15:40:34 +01:00
victorAnumudu d44447c6b3 returned balance to 2 decimal places 2023-10-30 15:39:38 +01:00
ameye d942c6641a Merge branch 'fixing-height-in-intrest-popup' of WrenchBoard/Users-Wrench into master 2023-10-30 14:12:06 +00:00
Chief Bube beed565ba0 Updated Transaction popup layout 2023-10-30 07:04:01 -07:00
ameye 329e27b83d Merge branch 'family-transfer-bug' of WrenchBoard/Users-Wrench into master 2023-10-28 22:42:25 +00:00
victorAnumudu 3145656d80 checked that required parameters are not empty before outputting success message 2023-10-28 23:39:11 +01:00
victorAnumudu 5098a45bd5 fixed family transfer bug 2023-10-28 23:06:53 +01:00
ameye 9e65a6e7d5 Merge branch 'family-transfer' of WrenchBoard/Users-Wrench into master 2023-10-28 21:33:04 +00:00
victorAnumudu 83ac1087f3 Merge master into family-transfer 2023-10-28 17:48:42 +01:00
victorAnumudu 55b2bccdf0 family transfer API added 2023-10-28 17:47:36 +01:00
ameye 0c51474dd2 Merge branch 'fixing-height-in-intrest-popup' of WrenchBoard/Users-Wrench into master 2023-10-28 12:38:17 +00:00
CHIEFSOFT\ameye 8c7ffb52a5 captcha text 2023-10-28 08:30:28 -04:00
Chief Bube 6c698bc399 fixed array list 2023-10-27 20:37:25 -07:00
ameye 540ad6f9ad Merge branch 'family-start-transfer' of WrenchBoard/Users-Wrench into master 2023-10-27 19:55:00 +00:00
victorAnumudu 11342c32c6 Family start transfer API added 2023-10-27 19:22:54 +01:00
ameye 356c11d029 Merge branch 'fixing-height-in-intrest-popup' of WrenchBoard/Users-Wrench into master 2023-10-26 20:17:15 +00:00
Chief Bube 934d95e822 Added Tracking to Family Profile 2023-10-26 10:25:00 -07:00
ameye 0aa49b49a9 Merge branch 'fixing-height-in-intrest-popup' of WrenchBoard/Users-Wrench into master 2023-10-26 08:22:30 +00:00
Chief Bube be52792271 fixed height issues 2023-10-25 13:51:39 -07:00
ameye c23e61e06b Merge branch 'family-add-fund-modal' of WrenchBoard/Users-Wrench into master 2023-10-25 20:20:19 +00:00
victorAnumudu 24b9a0e348 made amount to align right 2023-10-25 19:37:36 +01:00
victorAnumudu fcb154ba49 request message removed 2023-10-25 19:27:08 +01:00
victorAnumudu c0065ed569 Merge master into family-add-fund-modal 2023-10-25 19:23:06 +01:00
victorAnumudu 05a2ebec61 added family add fund modal 2023-10-25 19:19:55 +01:00
ameye 63f7deaa2b Merge branch 'job-increse-bug-fix' of WrenchBoard/Users-Wrench into master 2023-10-25 14:47:55 +00:00
Chief Bube d762ef42e8 Fixed positioning 2023-10-25 07:43:47 -07:00
ameye 3e34c81789 Merge branch 'job-increse-bug-fix' of WrenchBoard/Users-Wrench into master 2023-10-25 09:15:19 +00:00
Chief Bube a2340af314 tiny bug fix and checker added 2023-10-24 19:09:09 -07:00
Chief Bube 2a445fd2d4 tiny feature added 2023-10-24 18:55:37 -07:00
Chief Bube b5e52fb34e Fixed button position 2023-10-24 18:48:17 -07:00
ameye 87512bbc23 Merge branch 'family-balance' of WrenchBoard/Users-Wrench into master 2023-10-24 18:07:43 +00:00
victorAnumudu 1e59059394 Merge master into family-balance 2023-10-24 17:47:13 +01:00
victorAnumudu e59c83d216 made balance container take whole width 2023-10-24 17:45:10 +01:00
ameye 395569dab5 Merge branch 'job-increse-bug-fix' of WrenchBoard/Users-Wrench into master 2023-10-24 15:47:03 +00:00
Chief Bube 25a537c5bc changed duplicate 2023-10-24 08:25:52 -07:00
Chief Bube 5244a2875e Interest Popup Fix 2023-10-24 08:18:32 -07:00
victorAnumudu 54560b3fec Merge master into family-balance 2023-10-24 15:27:23 +01:00
victorAnumudu 078d26317f family balance added 2023-10-24 15:26:24 +01:00
ameye 8dbf638c7f Merge branch 'interest-popout-size' of WrenchBoard/Users-Wrench into master 2023-10-24 11:39:09 +00:00
CHIEFSOFT\ameye a68af7c3a4 cooment 2023-10-24 06:38:38 -04:00
CHIEFSOFT\ameye 905d48ceb7 package json lock 2023-10-24 06:34:30 -04:00
victorAnumudu 1e5dac0104 adjusted interest popout style 2023-10-24 11:22:51 +01:00
ameye 11e52a02f6 Merge branch 'family-wallet' of WrenchBoard/Users-Wrench into master 2023-10-24 08:51:02 +00:00
ameye 4e74198ae5 Merge branch 'job-increse-bug-fix' of WrenchBoard/Users-Wrench into master 2023-10-24 08:50:55 +00:00
ameye 5d673a630c Merge branch 'banner-fix' of WrenchBoard/Users-Wrench into master 2023-10-24 08:50:47 +00:00
victorAnumudu adcb33764b added family wallet icon 2023-10-24 07:26:27 +01:00
Chief Bube 305bff1167 Job count increase - bug fixed 2023-10-23 22:51:47 -07:00
victorAnumudu 1ebe9fe12b Fixed banner image 2023-10-23 20:37:10 +01:00
ameye 3fbaf6b78a Merge branch 'update-family-validation' of WrenchBoard/Users-Wrench into master 2023-10-23 16:37:19 +00:00
victorAnumudu 421a24c185 added validation to update family component 2023-10-23 17:23:43 +01:00
ameye 6386fbcda6 Merge branch 'family-update' of WrenchBoard/Users-Wrench into master 2023-10-23 11:34:35 +00:00
victorAnumudu 2e09d77597 bug fix 2023-10-23 12:27:54 +01:00
victorAnumudu 10dae9193c added family update component 2023-10-23 12:17:32 +01:00
ameye 3f487337f4 Merge branch 'interest-style-fix' of WrenchBoard/Users-Wrench into master 2023-10-22 18:08:02 +00:00
victorAnumudu 7eabee8855 updated interest popout btn and font style 2023-10-22 19:04:14 +01:00
ameye 360f0500a9 Merge branch 'btn-customization' of WrenchBoard/Users-Wrench into master 2023-10-22 12:16:34 +00:00
victorAnumudu 9b6c5b72ad changed cancel btn style 2023-10-22 05:52:47 +01:00
ameye afc5e25cfc Merge branch 'login-captcha' of WrenchBoard/Users-Wrench into master 2023-10-17 17:40:06 +00:00
victorAnumudu 58fe5eb82c captcha added in login page 2023-10-17 18:26:46 +01:00
CHIEFSOFT\ameye 2f3fdc0695 google captach settings 2023-10-17 07:01:05 -04:00
ameye 0a465fceb0 Merge branch 'btn-height-adjustment' of WrenchBoard/Users-Wrench into master 2023-10-16 20:26:23 +00:00
victorAnumudu 5e968db2f5 adjusted btn height 2023-10-16 21:08:06 +01:00
ameye 1916bc1a65 Merge branch 'btn-rename' of WrenchBoard/Users-Wrench into master 2023-10-16 18:41:55 +00:00
ameye 1103127cae Merge branch 'btn-customized' of WrenchBoard/Users-Wrench into master 2023-10-16 18:41:47 +00:00
ameye 751369071c Merge branch 'family-task-reload' of WrenchBoard/Users-Wrench into master 2023-10-16 18:41:39 +00:00
ameye 4cc8f27c14 Merge branch 'profile-upload-revert' of WrenchBoard/Users-Wrench into master 2023-10-16 18:41:07 +00:00
ameye aab455c2c3 Merge branch 'Changed-Naira-Wallet-Country-Display' of WrenchBoard/Users-Wrench into master 2023-10-16 13:52:03 +00:00
Ebube 21843c4bc7 Changed Naira Wallet Country Display 2023-10-16 13:43:48 +01:00
Ebube 8702728ffa Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-10-16 13:12:24 +01:00
victorAnumudu 79dcd0f2b5 btn style customized 2023-10-16 11:49:03 +01:00
ameye 47b25f3dfe Merge branch 'google-recaptcha' of WrenchBoard/Users-Wrench into master 2023-10-16 00:30:06 +00:00
victorAnumudu 89925a6af9 added google recaptcha 2023-10-16 01:18:48 +01:00
CHIEFSOFT\ameye 3c0f951b6e Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench 2023-10-15 19:32:29 -04:00
CHIEFSOFT\ameye ffbfb1da35 added "react-google-recaptcha": "^3.1.0" 2023-10-15 19:32:22 -04:00
victorAnumudu a8416a8433 made family page to reload after adding a task 2023-10-10 10:17:22 +01:00
victorAnumudu 70c9d1778c renamed edit job btn to save 2023-10-10 07:02:52 +01:00
Ebube 930559c96b Family Picture 2023-10-09 13:32:07 +01:00
victorAnumudu c4af2dfcc8 changed timeout duration 2023-10-09 11:29:11 +01:00
victorAnumudu b186549b8d added profile upload API 2023-10-09 11:22:38 +01:00
ameye ab191b6a72 Merge branch 'upload-profile' of WrenchBoard/Users-Wrench into master 2023-10-08 12:02:52 +00:00
victorAnumudu d130687cf9 made upload profile to show from env 2023-10-08 08:58:37 +01:00
ameye 5e9a442eac Merge branch 'online-name' of WrenchBoard/Users-Wrench into master 2023-10-07 18:38:23 +00:00
victorAnumudu 1093c25207 added online name 2023-10-07 18:28:30 +01:00
ameye 0623227807 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-10-02 13:07:50 +00:00
Ebube 3a05790125 fixed table responsive issue 2023-10-02 12:26:18 +01:00
Ebube 85b0456011 Added price to review due task 2023-09-30 07:18:23 +01:00
ameye 6ddd16ee24 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-27 23:54:04 +00:00
Ebube d034f9be45 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-09-27 17:33:22 +01:00
Ebube 2f3940f99c fixed responsiveness issues for the layout 2023-09-27 17:31:31 +01:00
ameye 5e998e5e42 Merge branch 'btn-name' of WrenchBoard/Users-Wrench into master 2023-09-27 13:48:05 +00:00
victorAnumudu e113f40c5c btn name changed based on job owner status 2023-09-27 14:13:04 +01:00
Ebube 42a3df2d65 Fixed assign popup data display delay 2023-09-27 13:33:12 +01:00
ameye 3fb996887b Merge branch 'send-to-group' of WrenchBoard/Users-Wrench into master 2023-09-27 07:52:15 +00:00
victorAnumudu 6d2794dd2f displays send to group based on env variable 2023-09-27 06:57:51 +01:00
CHIEFSOFT\ameye 8e683f12a2 env update 2023-09-26 17:07:16 -04:00
ameye 1910ea2bb6 Merge branch 'home-active-task-display' of WrenchBoard/Users-Wrench into master 2023-09-26 20:36:17 +00:00
victorAnumudu 5f6471a16e made active task to display if no offer 2023-09-26 19:35:05 +01:00
ameye 98a4baddab Merge branch 'offer-notice' of WrenchBoard/Users-Wrench into master 2023-09-26 11:49:23 +00:00
ameye 67f8de325f Merge branch 'bug-logout-modal' of WrenchBoard/Users-Wrench into master 2023-09-26 11:49:17 +00:00
victorAnumudu 594d2a4224 displays offerlist if it exist on home page 2023-09-26 12:42:16 +01:00
victorAnumudu edd48e72ec made the close btn on logout modal to appear on light mode 2023-09-26 09:16:50 +01:00
ameye 47c9e1bb6e Merge branch 'delete-family-suggest' of WrenchBoard/Users-Wrench into master 2023-09-25 21:18:45 +00:00
victorAnumudu 2fe80ecbe3 adjusted width of delete btn 2023-09-25 16:58:11 +01:00
victorAnumudu 1640f25d9d delete and send reminder API added 2023-09-25 16:54:43 +01:00
ameye 28f3bbcad1 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-25 09:56:25 +00:00
ameye c4eca264b1 Merge branch 'send-reminder-modified' of WrenchBoard/Users-Wrench into master 2023-09-25 09:56:15 +00:00
Ebube 89a9e77380 reduced the year length to 17 2023-09-25 07:39:08 +01:00
Ebube 349b524151 Added two select elements for year and month respectively. 2023-09-25 07:30:50 +01:00
victorAnumudu 084370b641 added the correct last time reminded 2023-09-25 05:00:24 +01:00
ameye c2a6cff3eb Merge branch 'send-reminder' of WrenchBoard/Users-Wrench into master 2023-09-24 10:21:07 +00:00
victorAnumudu d45e533d91 Merged master into send-reminder 2023-09-24 07:46:33 +01:00
victorAnumudu c89de2559a added send reminder popout 2023-09-24 07:45:05 +01:00
ameye a5a267927a Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-23 21:02:25 +00:00
ameye 557e0acba4 Merge branch 'add_job_detail' of WrenchBoard/Users-Wrench into master 2023-09-23 21:02:21 +00:00
Ebube 3e4dfadb41 .env 2023-09-22 15:09:18 +01:00
Ebube b480d49096 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-09-22 15:05:07 +01:00
Ebube ece7bf41d3 Added Max 8 for family, added responsive breakpoints for wallet and layout 2023-09-22 15:03:57 +01:00
victorAnumudu 250dd0b171 Add job delivery details textarea tag size increased 2023-09-22 13:26:19 +01:00
victorAnumudu f2475ddd88 Add job delivery details expanded to accept 499 characters 2023-09-22 13:17:45 +01:00
ameye f302ca80d7 Merge branch 'recent-activities-height' of WrenchBoard/Users-Wrench into master 2023-09-19 07:55:39 +00:00
victorAnumudu 11b96e56da reduced the height of each activity and image removed 2023-09-19 06:03:12 +01:00
ameye daad9d18ec Merge branch 'card-adding-limit' of WrenchBoard/Users-Wrench into master 2023-09-18 22:06:47 +00:00
ameye 3c842f6606 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-18 22:06:40 +00:00
Ebube 23ef007bb1 wallet card sizes and others 2023-09-18 22:45:51 +01:00
Ebube a9b9a17381 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-09-18 22:42:29 +01:00
victorAnumudu d5e66618aa added limit to card and account adding 2023-09-18 20:46:17 +01:00
CHIEFSOFT\ameye 2e89f07ee2 env add 2023-09-18 12:17:54 -04:00
Ebube 1a51bcf0b5 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-09-13 18:16:31 +01:00
Ebube f1ee5150a9 Fixed confirmation page and added comments 2023-09-13 18:16:04 +01:00
ameye 9db7f5c985 Merge branch 'signup-page-pathname-fix' of WrenchBoard/Users-Wrench into master 2023-09-13 06:21:36 +00:00
victorAnumudu d56363276b made the pathname to retain the country query param 2023-09-13 05:12:27 +01:00
ameye 5a9b49559b Merge branch 'signup-page-modification' of WrenchBoard/Users-Wrench into master 2023-09-12 19:14:16 +00:00
victorAnumudu fbc8228977 modified signup page to show select country list or defaults to country passed on search param 2023-09-12 20:05:56 +01:00
victorAnumudu a1140f7006 modified signup page to show select country list or defaults to country passed on search param 2023-09-12 20:05:22 +01:00
ameye f3561ff0fb Merge branch 'signup-country-param' of WrenchBoard/Users-Wrench into master 2023-09-12 15:58:35 +00:00
victorAnumudu 42b792ab9d made country auto filled if pathname contains country value 2023-09-12 15:24:30 +01:00
ameye 1e3a166172 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-12 10:22:34 +00:00
ameye e1c6cb357e Merge branch 'wallet-fix' of WrenchBoard/Users-Wrench into master 2023-09-12 10:22:26 +00:00
Ebube 1aa64fba1f Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-09-12 09:51:01 +01:00
Ebube 4f0a6f67c3 Fixed Layout for confirm add and added comments 2023-09-12 09:50:36 +01:00
victorAnumudu 4f863f7b1d increase the wallet font and made it navigable 2023-09-12 06:28:01 +01:00
ameye b66f9d7ced Merge branch 'job-created-value' of WrenchBoard/Users-Wrench into master 2023-09-11 15:30:21 +00:00
ameye 493f209162 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-11 15:30:17 +00:00
victorAnumudu 0aa109e280 added job created value to add job popout 2023-09-11 14:45:45 +01:00
Ebube b0a287c6a8 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-09-11 14:29:34 +01:00
Ebube 8c00b157ad Modified the content layout and added formatted date 2023-09-11 14:29:11 +01:00
ameye 85bbd25bbb Merge branch 'add-job-dark-theme' of WrenchBoard/Users-Wrench into master 2023-09-11 11:51:23 +00:00
victorAnumudu 4d7e42fba8 dark theme for add jop popout fixed 2023-09-11 04:28:07 +01:00
ameye f91e8e9910 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-10 06:00:27 +00:00
ameye 9e9b0b5557 Merge branch 'QR-value-update' of WrenchBoard/Users-Wrench into master 2023-09-10 06:00:17 +00:00
Ebube bfcfcdbf16 added variable for hiding social links 2023-09-10 06:25:36 +01:00
victorAnumudu 7e99e7ccab QR value updated 2023-09-10 05:19:19 +01:00
ameye fd9adb1c08 Merge branch 'QR-value' of WrenchBoard/Users-Wrench into master 2023-09-09 21:15:23 +00:00
victorAnumudu 7f2448efff family QR scan value changed 2023-09-09 21:29:24 +01:00
ameye 82ec224d66 Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-09 06:07:32 +00:00
Ebube 35ea200de5 change btn type to submit 2023-09-09 07:00:18 +01:00
ameye 7cdd387045 Merge branch 'resource_upload' of WrenchBoard/Users-Wrench into master 2023-09-08 19:54:33 +00:00
ameye 6b568ff56c Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-08 19:54:23 +00:00
ameye 8808a2f81c Merge branch 'twitter-logos-added' of WrenchBoard/Users-Wrench into master 2023-09-08 19:54:17 +00:00
Ebube 1991bab675 added active animations for job list popup 2023-09-07 16:53:16 +01:00
victorAnumudu f650097db2 implemented resource video and pdf upload 2023-09-07 12:21:05 +01:00
Ebube c427521ac3 dark mode styles added 2023-09-05 09:51:54 +01:00
victorAnumudu 2412059fd0 added new twitter logo in image folder 2023-09-05 06:36:43 +01:00
ameye 34dc467e8b Merge branch 'Recent-Activities' of WrenchBoard/Users-Wrench into master 2023-09-04 14:37:01 +00:00
Ebube 9fa16278ab Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Recent-Activities 2023-09-04 14:31:54 +01:00
Ebube cae02d1dc6 . 2023-09-04 14:31:28 +01:00
ameye abbd7b3993 Merge branch 'add-job-bug' of WrenchBoard/Users-Wrench into master 2023-09-04 12:44:22 +00:00
victorAnumudu 5523511524 Add Job Bug fixed 2023-09-04 10:49:04 +01:00
CHIEFSOFT\ameye 35db8ca7ec activities 2023-09-03 17:57:14 -04:00
CHIEFSOFT\ameye 51e0482a16 Hoe activities 2023-09-03 16:34:19 -04:00
ameye a615e25fcb Merge branch 'resources-tab-visibility' of WrenchBoard/Users-Wrench into master 2023-09-03 13:01:03 +00:00
victorAnumudu addede388e made resources tab visible if enabled 2023-09-03 06:26:19 +01:00
CHIEFSOFT\ameye 76474bb3b5 invite 2023-09-02 16:37:29 -04:00
tokslaw 6337c82374 Merge branch 'coupon-wallet-reload' of WrenchBoard/Users-Wrench into master 2023-08-29 16:57:03 +00:00
victorAnumudu a970411719 made wallet to reload on coupon redeem 2023-08-29 09:47:35 +01:00
ameye 10967acf9e Merge branch 'my-uploads-page' of WrenchBoard/Users-Wrench into master 2023-08-22 10:58:13 +00:00
Ebube fb6831d44f An Optimized version 2023-08-21 23:28:32 +01:00
Ebube 7dcae39320 BUG - Assign Job with less than amount 2023-08-21 22:41:21 +01:00
ameye a0ba60a2bc Merge branch 'flutter_key_removal' of WrenchBoard/Users-Wrench into master 2023-08-21 13:12:38 +00:00
victorAnumudu f377326b48 removed flutter api key from env variables 2023-08-21 11:38:51 +01:00
CHIEFSOFT\ameye feb8bd718d all status 2023-08-20 17:07:25 -04:00
ameye a2a2dbfc24 Merge branch 'my-uploads-page' of WrenchBoard/Users-Wrench into master 2023-08-18 10:46:24 +00:00
Ebube 1c0cb6c97f added the session parameter 2023-08-15 21:02:51 +01:00
ameye 41c9c60fd1 Merge branch 'terms-of-use-update' of WrenchBoard/Users-Wrench into master 2023-08-15 11:45:12 +00:00
victorAnumudu ba5646fe2c Merge master into terms-of-use-update 2023-08-13 07:59:40 +01:00
victorAnumudu 1f9ab45206 updated terms of use 2023-08-13 07:58:37 +01:00
tolik 0ffa1123d2 Hide Apple button 2023-08-13 10:56:42 +08:00
ameye 9420a201e4 Merge branch 'image-anchor-added' of WrenchBoard/Users-Wrench into master 2023-08-11 18:59:57 +00:00
ameye 1b7ea7321e Merge branch 'my-uploads-page' of WrenchBoard/Users-Wrench into master 2023-08-11 18:59:50 +00:00
victorAnumudu b3e273d712 file messages wrapped with anthor 2023-08-11 19:37:01 +01:00
Ebube 7fa74d6fd3 added img 2023-08-11 18:13:34 +01:00
CHIEFSOFT\ameye 02c195500a myfiles 2023-08-11 12:11:31 -04:00
ameye ca8e56c6dd Merge branch 'cancel-popout-removed' of WrenchBoard/Users-Wrench into master 2023-08-10 22:42:31 +00:00
victorAnumudu c265e9db33 popout removed 2023-08-10 22:06:30 +01:00
ameye 2861473ea3 Merge branch 'cancel-upload' of WrenchBoard/Users-Wrench into master 2023-08-10 19:41:46 +00:00
victorAnumudu a598aa3898 on cancel, takes user back to my item 2023-08-10 12:51:54 +01:00
ameye 9d190916a8 Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master 2023-08-09 21:14:17 +00:00
Ebube eca9455f0f Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into wallet-styles 2023-08-09 22:00:11 +01:00
Ebube a1bf0bad0f added uploaded files 2023-08-09 21:59:46 +01:00
ameye e236ad20f7 Merge branch 'upload-payload-fix' of WrenchBoard/Users-Wrench into master 2023-08-09 20:36:46 +00:00
victorAnumudu 330f47baa7 updated upload payloads 2023-08-09 21:23:51 +01:00
ameye 5088aa3ead Merge branch 'bug-fix' of WrenchBoard/Users-Wrench into master 2023-08-09 19:52:37 +00:00
victorAnumudu 07a443d082 file upload size validation initiated 2023-08-09 20:28:19 +01:00
victorAnumudu 59a370d763 enforces user upload supported file before proceeding to upload 2023-08-09 19:34:35 +01:00
victorAnumudu 68e709f34b list of supported uploads add 2023-08-09 18:19:34 +01:00
victorAnumudu b1bb730c7d made file name in upload not to have spaces 2023-08-09 17:01:38 +01:00
ameye 20a86f4802 Merge branch 'upload-action' of WrenchBoard/Users-Wrench into master 2023-08-09 14:28:05 +00:00
victorAnumudu 2d918517f8 upload action implemented 2023-08-09 12:52:46 +01:00
tolik a0c0cbdc98 Merge branch 'master' of ssh://gitlab.chiefsoft.net:10222/WrenchBoard/Users-Wrench 2023-08-09 10:39:47 +08:00
tolik ed309007e5 Implemented Facebook login 2023-08-09 10:39:37 +08:00
ameye 594c072806 Merge branch 'add-item-btn-moved' of WrenchBoard/Users-Wrench into master 2023-08-09 01:13:02 +00:00
victorAnumudu 4b9289cb8e bug fix 2023-08-08 22:15:09 +01:00
victorAnumudu 5b39e75119 Add item button moved down 2023-08-08 22:06:44 +01:00
CHIEFSOFT\ameye e61b2c8f43 my files page 2023-08-08 08:55:12 -04:00
CHIEFSOFT\ameye 4c6952c4b3 Page format 2023-08-08 08:23:48 -04:00
CHIEFSOFT\ameye 6a5cebed5b Upload new item 2023-08-08 08:16:32 -04:00
CHIEFSOFT\ameye 663e3e8bb7 fix text 2023-08-08 08:15:26 -04:00
CHIEFSOFT\ameye aaa5b9e8ff Resource Upload My Files 2023-08-08 06:38:03 -04:00
ameye 90ec033b34 Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master 2023-08-07 16:22:27 +00:00
Ebube c3c359cfc8 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into wallet-styles 2023-08-07 16:27:26 +01:00
Ebube 68b4031752 added online_name 2023-08-07 16:26:25 +01:00
ameye 8a2559571f Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master 2023-08-07 08:50:16 +00:00
ameye ccae5000ee Merge branch 'reset-pwd-validation' of WrenchBoard/Users-Wrench into master 2023-08-07 08:50:12 +00:00
Ebube 5f01cb14f9 updated payload 2023-08-07 08:10:51 +01:00
Ebube 9f62345a2e Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into wallet-styles 2023-08-06 23:46:26 +01:00
Ebube b9096117bc updateprofile payload updated 2023-08-06 23:46:03 +01:00
victorAnumudu f70659901c valid pwd text added 2023-08-06 21:15:18 +01:00
tolik 451e4624b1 Merge branch 'master' of ssh://gitlab.chiefsoft.net:10222/WrenchBoard/Users-Wrench 2023-08-06 10:14:17 +08:00
tolik 1557ba1040 Fix crash 2023-08-06 10:13:15 +08:00
ameye 7133ad8de3 Merge branch 'reset-pwd-icon' of WrenchBoard/Users-Wrench into master 2023-08-05 16:33:25 +00:00
victorAnumudu 9fd8944987 pwd validation msg changed 2023-08-05 16:52:20 +01:00
victorAnumudu 874276dcba reset pwd icons added 2023-08-05 16:35:23 +01:00
ameye be1454f1b8 Merge branch 'reset-pwd-second-phase' of WrenchBoard/Users-Wrench into master 2023-08-05 14:16:16 +00:00
victorAnumudu 6a34ca6c18 reser pwd second phase implemented 2023-08-05 15:12:46 +01:00
ameye fc09771b8d Merge branch 'password-reset-first-stage' of WrenchBoard/Users-Wrench into master 2023-08-05 07:16:30 +00:00
victorAnumudu cab5ed0ece password reset first phase done 2023-08-05 05:41:46 +01:00
ameye 8d3dca96b4 Merge branch 'logo-sizing-and-alignment' of WrenchBoard/Users-Wrench into master 2023-08-04 14:26:23 +00:00
ameye e71a25630d Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master 2023-08-04 14:26:14 +00:00
Ebube cf79a15837 size in dollar acc 2023-08-04 13:53:49 +01:00
victorAnumudu 042e8c2c17 site logo size reduced and aligned 2023-08-04 13:50:59 +01:00
Ebube 46d286e8f3 size again 2023-08-04 13:49:11 +01:00
Ebube c2bfcc81ea adjusted size 2023-08-04 13:46:43 +01:00
Ebube 654ed3741c added cancel btn style in withdraw 2023-08-04 13:41:53 +01:00
Ebube 6cccd1c372 changed font-color of naira withdraw cancel btn 2023-08-04 13:39:09 +01:00
Ebube 1e6be76449 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into wallet-styles 2023-08-04 13:29:39 +01:00
Ebube 476ca04f5f Added profile img 2023-08-04 13:29:14 +01:00
ameye ce41db474d Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master 2023-08-04 02:32:07 +00:00
Ebube 7ace7e5b5d Added btn styles the of the credit and withdraw popup 2023-08-04 03:18:51 +01:00
ameye 51e829f7b4 Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master 2023-08-01 19:53:51 +00:00
Ebube 173b2adc66 css fixes for uniform btn 2023-08-01 19:50:52 +01:00
ameye 31cb7a521d Merge branch 'pending-job-refresh' of WrenchBoard/Users-Wrench into master 2023-08-01 18:40:10 +00:00
ameye ad4f68b252 Merge branch 'tx_ref-change' of WrenchBoard/Users-Wrench into master 2023-08-01 18:39:53 +00:00
victorAnumudu 10abf35d4f refreshes pending Job when expiry date is extended 2023-08-01 18:42:18 +01:00
Ebube ce767086fd BUG - Flutter wave key 2023-08-01 18:36:47 +01:00
ameye 0f44616767 Merge branch 'request-message-changed' of WrenchBoard/Users-Wrench into master 2023-08-01 15:18:07 +00:00
victorAnumudu bce00b5c0e request message changed 2023-08-01 16:10:56 +01:00
ameye 312cd54f87 Merge branch 'pending-wrong-assign' of WrenchBoard/Users-Wrench into master 2023-08-01 14:47:44 +00:00
victorAnumudu a0c3437eae pending assign value changed 2023-08-01 15:42:28 +01:00
ameye 711226f913 Merge branch 'tx_ref-change' of WrenchBoard/Users-Wrench into master 2023-08-01 11:07:16 +00:00
Ebube f46c6232b0 updated error scenario for the modal header 2023-08-01 12:05:27 +01:00
Ebube 172f0ccbce cleanup 2 2023-08-01 11:46:33 +01:00
Ebube a2047cc2de clean up 2023-08-01 11:41:57 +01:00
Ebube 6ea52e6481 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into tx_ref-change 2023-08-01 11:38:26 +01:00
Ebube a7bbcfdc1b complete popup fixed 2023-08-01 11:37:56 +01:00
ameye ff28be3e70 Merge branch 'tx_ref-change' of WrenchBoard/Users-Wrench into master 2023-08-01 09:24:46 +00:00
Ebube e91b4a4424 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into tx_ref-change 2023-07-31 23:58:36 +01:00
Ebube 9960033b72 debounced success payment and and fixed credit refresh 2023-07-31 23:55:23 +01:00
ameye ef135f1a9b Merge branch 'tx_ref-change' of WrenchBoard/Users-Wrench into master 2023-07-31 17:56:15 +00:00
Ebube 1df6380c4a Correct Drop Down Style for naira withdrawal 2023-07-31 15:09:12 +01:00
Ebube fc8cf551e5 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into tx_ref-change 2023-07-31 14:47:15 +01:00
Ebube b1feb0438a still testing 2023-07-31 14:46:29 +01:00
ameye a89649f774 Merge branch 'amount-alignment' of WrenchBoard/Users-Wrench into master 2023-07-31 13:36:56 +00:00
victorAnumudu b96e8a3ed5 Merged master into amount-alignment 2023-07-31 14:23:57 +01:00
victorAnumudu f3226a6cfc amount alignment changed 2023-07-31 14:22:55 +01:00
ameye ff4c503100 Merge branch 'tx_ref-change' of WrenchBoard/Users-Wrench into master 2023-07-31 12:04:22 +00:00
Ebube f543a2d893 testing topupResult 2023-07-31 13:02:31 +01:00
ameye 41badd52be Merge branch 'list-alignment-fix' of WrenchBoard/Users-Wrench into master 2023-07-30 16:29:28 +00:00
victorAnumudu eeddd4e0a5 list alignment fixed 2023-07-30 06:10:44 +01:00
tokslaw ee4d136834 wrenchboard-logo-text + image added 2023-07-29 19:04:08 -04:00
tokslaw 283efa42b3 social comment added 2023-07-29 12:16:57 -04:00
tokslaw 5cbab4933c Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench 2023-07-29 12:13:14 -04:00
ameye 4de2181c18 Merge branch 'family-login-no-captcha' of WrenchBoard/Users-Wrench into master 2023-07-29 15:45:31 +00:00
ameye c8f0161a29 Merge branch 'tx_ref-change' of WrenchBoard/Users-Wrench into master 2023-07-29 15:45:26 +00:00
tokslaw 60222b6d88 text error correction 2023-07-29 11:11:23 -04:00
victorAnumudu 9ea3963239 family login captcha removed 2023-07-29 12:25:25 +01:00
Ebube a87592623b Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into tx_ref-change 2023-07-29 07:01:22 +01:00
Ebube bfcf53f763 Not selected should appear not selected 2023-07-29 07:00:50 +01:00
CHIEFSOFT\ameye df4489c6f2 removed start top up 2023-07-29 00:09:59 -04:00
CHIEFSOFT\ameye 37185812b4 Result added 2023-07-28 16:55:45 -04:00
ameye eb3e78244d Merge branch 'tx_ref-change' of WrenchBoard/Users-Wrench into master 2023-07-28 13:25:00 +00:00
Ebube b302d7ba57 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into tx_ref-change 2023-07-28 14:22:18 +01:00
ameye d6c16169d9 Merge branch 'Family-Tabs-Size-Fix' of WrenchBoard/Users-Wrench into master 2023-07-28 13:18:31 +00:00
Ebube 57129da0bd changed tx_ref number 2023-07-28 13:58:10 +01:00
Ebube 9eaf7123d4 reverse 2023-07-28 13:56:23 +01:00
Ebube 096da29149 Changed tx_ref no 2023-07-28 13:51:48 +01:00
CHIEFSOFT\ameye c8331c51cf removed debugger 2023-07-28 08:20:04 -04:00
tokslaw 3b7618702b env text-spell error 2023-07-27 17:04:57 -04:00
Ebube 84968b4435 balance refresh bug for withdraw 2023-07-27 16:28:21 +01:00
Ebube 98f11a3d80 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Family-Tabs-Size-Fix 2023-07-27 16:18:29 +01:00
CHIEFSOFT\ameye 98d734e869 Post data 2023-07-27 11:17:15 -04:00
Ebube 47004fec8c Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into Family-Tabs-Size-Fix 2023-07-27 16:05:17 +01:00
CHIEFSOFT\ameye 48ce89489e console log 2023-07-27 11:04:01 -04:00
CHIEFSOFT\ameye 1ce05a3be3 add fund page 2023-07-27 11:01:22 -04:00
Ebube 28ab1116e9 Added Credit Limit & Pending Jobs Bug & removed reload for credit 2023-07-27 11:34:27 +01:00
ameye 994060d929 Merge branch 'Family-Tabs-Size-Fix' of WrenchBoard/Users-Wrench into master 2023-07-26 15:57:24 +00:00
Ebube a5c62564b7 Fixed tasks banner breaking 2023-07-26 16:54:31 +01:00
Ebube 22e61d2b41 Enforced send limit 2023-07-26 15:49:04 +01:00
ameye 6ab5eae0c0 Merge branch 'email-input-size' of WrenchBoard/Users-Wrench into master 2023-07-26 14:26:05 +00:00
victorAnumudu 3fbb47ee82 email input character size increased 2023-07-26 14:39:16 +01:00
ameye 3327b2b0df Merge branch 'Family-Tabs-Size-Fix' of WrenchBoard/Users-Wrench into master 2023-07-25 20:13:46 +00:00
Ebube ec204d0389 . 2023-07-25 20:50:56 +01:00
Ebube cb1259d2c8 Added loading height 2023-07-25 20:46:46 +01:00
Ebube 706cf141e7 Add Result Page 2023-07-25 20:26:33 +01:00
ameye 2229ebb9a0 Merge branch 'Family-Tabs-Size-Fix' of WrenchBoard/Users-Wrench into master 2023-07-25 11:17:32 +00:00
Ebube 05022c29b2 Remove the cause for the login error 2023-07-25 12:12:49 +01:00
ameye 9718cfc574 Merge branch 'job-listing-bug' of WrenchBoard/Users-Wrench into master 2023-07-25 10:39:59 +00:00
ameye aef082ac60 Merge branch 'Family-Tabs-Size-Fix' of WrenchBoard/Users-Wrench into master 2023-07-25 10:39:45 +00:00
victorAnumudu 754340fcba Merged master into job-listing-bug 2023-07-25 10:14:29 +01:00
Ebube 16afd4f90c Family Tab Sizes Fixed 2023-07-25 08:53:04 +01:00
ameye b69e2ff53b Merge branch 'blog-page' of WrenchBoard/Users-Wrench into master 2023-07-24 19:29:08 +00:00
victorAnumudu 4ac799f8c9 links to blog page added 2023-07-24 20:06:25 +01:00
ameye c93d3b61a6 Merge branch 'resource-ask-question' of WrenchBoard/Users-Wrench into master 2023-07-24 16:31:16 +00:00
ameye 4fb6dbf30f Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-24 16:31:10 +00:00
victorAnumudu 11dc8fc659 resource ask question implemented 2023-07-24 15:34:29 +01:00
Ebube 4876ba80c1 Changed name to back 2023-07-24 15:07:22 +01:00
Ebube 71f799d157 Checked Errors in Wallet Page and made some tiny fixes 2023-07-24 15:01:03 +01:00
ameye 77c538ca79 Merge branch 'balance-refresh' of WrenchBoard/Users-Wrench into master 2023-07-24 11:07:41 +00:00
victorAnumudu 6b473b5dc6 wallet refresh 2023-07-24 11:58:09 +01:00
ameye 6aa11793a5 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-24 10:14:18 +00:00
victorAnumudu e098eb4626 job listing pagination bug fixed 2023-07-24 07:46:41 +01:00
Ebube 4f8edc3998 Improved solution for the credit refresh bug 2023-07-24 06:28:48 +01:00
Ebube 7dd805b804 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-24 06:15:43 +01:00
Ebube 2aa1219ea9 updated payload for new account 2023-07-24 06:15:22 +01:00
ameye c1a17949f7 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-23 23:40:59 +00:00
Ebube 24302c7435 Added New Login 2023-07-23 23:59:20 +01:00
CHIEFSOFT\ameye 27f4fda129 Added images 2023-07-23 07:47:54 -04:00
ameye 7ddef6d52d Merge branch 'notification-menu-close' of WrenchBoard/Users-Wrench into master 2023-07-23 10:20:40 +00:00
victorAnumudu 187ac61396 logged information removed 2023-07-23 07:18:56 +01:00
victorAnumudu 31297efb5b closes notification menu when see all notifications is clicked 2023-07-23 07:15:25 +01:00
ameye f8d6475ff8 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-22 23:21:04 +00:00
Ebube 22a45ac15e Added some fixes 2023-07-23 00:12:26 +01:00
ameye 0489be5e69 Merge branch 'notifications' of WrenchBoard/Users-Wrench into master 2023-07-22 22:44:03 +00:00
victorAnumudu 0f8ef167bb Merge master into notifications 2023-07-22 23:15:30 +01:00
victorAnumudu aa6e3f4b94 notification bug fixed 2023-07-22 23:12:29 +01:00
ameye 68beda891b Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-22 21:20:55 +00:00
Ebube 61bef08a24 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-22 20:53:04 +01:00
Ebube a6409a037f ConfirmNairaWithdraw layout, payload adjustment and other style fixes 2023-07-22 20:52:39 +01:00
ameye f3ab8241a3 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-22 11:27:18 +00:00
Ebube f3defdca85 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-22 12:23:41 +01:00
Ebube f3b1a42819 Bug Fixes..Notification load, Withdraw css fix 2023-07-22 12:23:14 +01:00
ameye e65d538709 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-21 10:48:59 +00:00
Ebube 98aef302de Updated Layout for Withdraw Pop UP 2023-07-21 11:45:42 +01:00
ameye b3bbf11f0a Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-20 19:43:23 +00:00
Ebube 973517215f Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-20 20:25:32 +01:00
Ebube a3782e2dfc Added Notification and Started Wallet Withdraw 2023-07-20 20:24:54 +01:00
CHIEFSOFT\ameye 25830d5bf3 Resolve conflict 2023-07-20 06:25:51 -04:00
CHIEFSOFT\ameye 1615a7ac8a Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench
# Conflicts:
#	src/middleware/AuthRoute.jsx
2023-07-20 06:24:49 -04:00
CHIEFSOFT\ameye 232211a297 home recent 2023-07-20 06:18:56 -04:00
ameye eda3d76d4c Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-20 10:17:46 +00:00
Ebube 87f1a1e3e8 Notification for header 2023-07-20 10:22:10 +01:00
ameye 5257f89acb Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-18 20:20:31 +00:00
Ebube d4cf7419bf . 2023-07-18 20:28:30 +01:00
Ebube 1ffb732bfa . 2023-07-18 19:47:23 +01:00
Ebube 9007463f6d Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-18 19:00:21 +01:00
CHIEFSOFT\ameye a4b6b9e493 notification icons 2023-07-18 11:00:40 -04:00
CHIEFSOFT\ameye ccf820da7c bank icon 2023-07-18 07:52:58 -04:00
Ebube 7c51896bbf Wallet update 2023-07-18 10:38:58 +01:00
ameye aa80bab930 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-17 23:30:44 +00:00
Ebube 1704fc60b4 removed hidden abilities for cvv 2023-07-18 00:20:15 +01:00
ameye c3e6c90c49 Merge branch 'collapse-icon' of WrenchBoard/Users-Wrench into master 2023-07-17 19:57:36 +00:00
victorAnumudu 1a65b1daa3 collapse-icon fixed, family icon fixed 2023-07-17 19:21:43 +01:00
ameye ba2c009896 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-17 17:03:29 +00:00
Ebube bc2b71ecda Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-17 17:47:31 +01:00
Ebube 1d315018a4 Added error msg for card and updated password text display 2023-07-17 17:47:03 +01:00
CHIEFSOFT\ameye 56f8b75525 wrong end point on production - Ebubes error 2023-07-17 12:12:14 -04:00
Ebube 59531df377 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-17 17:03:39 +01:00
Ebube 06a7386211 another fix 2023-07-17 17:00:59 +01:00
Ebube 4bb3a11261 correction to .env production 2023-07-17 16:22:25 +01:00
Ebube f308eeca8d Corrections made on AddFund and text variable for Header 2023-07-17 16:20:57 +01:00
ameye 8e562ed1a5 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-17 15:07:58 +00:00
Ebube 23dd7571a3 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-17 15:52:53 +01:00
Ebube 8530b2d1a0 Digits Fixed and SignOut text variable 2023-07-17 15:52:28 +01:00
ameye acdbddbc79 Merge branch 'family-icon' of WrenchBoard/Users-Wrench into master 2023-07-17 14:48:17 +00:00
victorAnumudu 15fc5f4f14 family icon added 2023-07-17 15:31:39 +01:00
ameye 2ba3b01646 Merge branch 'resource-question-page' of WrenchBoard/Users-Wrench into master 2023-07-17 12:50:09 +00:00
ameye 4e960a2f53 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-17 12:49:59 +00:00
victorAnumudu ab700edcf2 resources question page added 2023-07-17 13:42:21 +01:00
Ebube 42e80c7a11 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-17 12:59:32 +01:00
Ebube d4472a881a Fixed digits 2023-07-17 12:59:05 +01:00
Ebube 5d12ab4f62 Made a few changes 2023-07-17 11:48:03 +01:00
ameye 8b3c586456 Merge branch 'withdrwal-popup' of WrenchBoard/Users-Wrench into master 2023-07-17 10:38:48 +00:00
ameye e456b55e16 Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-17 10:38:41 +00:00
Ebube 89c5936212 Some fixes 2023-07-17 11:29:50 +01:00
victorAnumudu 7bedf76945 made confirm withdrawal a pop up 2023-07-17 11:07:11 +01:00
Ebube 54bf020c55 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-17 11:04:59 +01:00
Ebube 78145eee77 Paying using new card 2023-07-17 11:04:31 +01:00
victorAnumudu d75b6ee26c made withdrawal a pop up 2023-07-17 11:03:27 +01:00
ameye bf5c9d4671 Merge branch 'profile-bug' of WrenchBoard/Users-Wrench into master 2023-07-17 08:06:43 +00:00
victorAnumudu d2db38ba21 profile bug fixed 2023-07-17 02:01:37 +01:00
ameye eecbca6b0e Merge branch 'withdraw-page' of WrenchBoard/Users-Wrench into master 2023-07-17 00:33:24 +00:00
victorAnumudu dd1430a350 confirm naira withdrawal added 2023-07-17 01:22:12 +01:00
victorAnumudu 0eca0c52ce withdraw page added 2023-07-17 01:15:16 +01:00
ameye c2c7ad7bb4 Merge branch 'family-start-task-layout' of WrenchBoard/Users-Wrench into master 2023-07-16 23:09:30 +00:00
victorAnumudu 98ccbce4c0 family start task layout changed 2023-07-16 23:38:25 +01:00
ameye 6484640e1a Merge branch 'assign-task-layout' of WrenchBoard/Users-Wrench into master 2023-07-16 22:28:28 +00:00
victorAnumudu ba3c4e1918 assign task layout btns fixed 2023-07-16 22:41:58 +01:00
ameye fa4fe35bdf Merge branch 'assign-task-bug-fixed' of WrenchBoard/Users-Wrench into master 2023-07-16 21:31:23 +00:00
victorAnumudu c106e66f44 assign task bug fixed 2023-07-16 22:13:47 +01:00
ameye 222c739663 Merge branch 'notification-bug' of WrenchBoard/Users-Wrench into master 2023-07-16 11:04:22 +00:00
victorAnumudu 96972dbe2f notification bug fixed 2023-07-16 06:51:38 +01:00
CHIEFSOFT\ameye 7146048aee style 2023-07-15 22:16:29 -04:00
CHIEFSOFT\ameye 39f1f5bc73 Resource Question page starter 2023-07-15 21:39:53 -04:00
Ebube fb7913c563 Another fix 2023-07-16 01:36:27 +01:00
Ebube feb301c3c0 . 2023-07-16 01:08:37 +01:00
ameye 752fc6a4a8 Merge branch 'history-page-tab' of WrenchBoard/Users-Wrench into master 2023-07-15 21:39:05 +00:00
victorAnumudu 608d5b92f1 history tab style changed 2023-07-15 22:24:38 +01:00
ameye 45563cc59b Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-15 19:32:37 +00:00
ameye b027e20c20 Merge branch 'job-message-tab' of WrenchBoard/Users-Wrench into master 2023-07-15 19:32:33 +00:00
ameye bbe0777496 Merge branch 'assign-family-hidden' of WrenchBoard/Users-Wrench into master 2023-07-15 19:32:28 +00:00
Ebube 27efbe362b Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-15 20:02:15 +01:00
Ebube 878539a56a Confirm Credit Popup Modifications 2023-07-15 19:47:06 +01:00
victorAnumudu 6ae408029d changed job message tab 2023-07-15 19:21:28 +01:00
victorAnumudu 8016d1bd12 assign to family hidden 2023-07-15 18:59:22 +01:00
ameye 0e9fef218f Merge branch 'my_wallet_layout' of WrenchBoard/Users-Wrench into master 2023-07-15 16:19:29 +00:00
CHIEFSOFT\ameye 8116665045 removed yarn lock 2023-07-15 12:13:47 -04:00
Ebube e4addc47d9 Merge branch 'master' of https://gitlab.chiefsoft.net/WrenchBoard/Users-Wrench into my_wallet_layout 2023-07-15 17:10:43 +01:00
Ebube 1682f11efd Confirm Credit Popup 2023-07-15 17:08:52 +01:00
CHIEFSOFT\ameye 80b2abf9e3 glog page 2023-07-15 12:07:42 -04:00
CHIEFSOFT\ameye 5edecb6464 jib actions 2023-07-15 11:46:55 -04:00
CHIEFSOFT\ameye 3a479b3573 action txt 2023-07-15 11:06:04 -04:00
ameye 4034909836 Merge branch 'set-account-settings' of WrenchBoard/Users-Wrench into master 2023-07-15 13:56:30 +00:00
victorAnumudu 8fc61a6289 API for set account settings added 2023-07-15 14:53:34 +01:00
CHIEFSOFT\ameye 940a12a2e9 actio panel 2023-07-15 09:51:53 -04:00
CHIEFSOFT\ameye a9f671eeaa active task messaghe 2023-07-15 08:55:48 -04:00
ameye 481924fa02 Merge branch 'delete-card' of WrenchBoard/Users-Wrench into master 2023-07-15 10:22:24 +00:00
389 changed files with 31244 additions and 18974 deletions
+61 -3
View File
@@ -14,6 +14,10 @@ REACT_APP_APPSITE="https://myfitapp.mermsemr.com"
REACT_APP_AUX_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_ENDPOINT_KEY="WRENCH-BOARD-2024"
#SOCKETS ENDS
REACT_APP_PRIMARY_SOCKET="https://socket-dev.wrenchboard.com"
#"https://devapi.mermsemr.com/en/desktop/api/v2/myfituser"
@@ -24,7 +28,6 @@ REACT_APP_SESSION_EXPIRE_CHECKER=60000
REACT_APP_LOGIN_ERROR_TIMEOUT=7000
REACT_APP_SIGNUP_ERROR_TIMEOUT=7000
REACT_APP_FLUTTERWAVE_APIKEY=FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X
# Had to change the error time to 3sec cause it took too long
REACT_APP_RESET_START_ERROR_TIMEOUT=3000
@@ -46,7 +49,7 @@ REACT_APP_GOOGLE_REDIRECT_URL=http://localhost:9082/login/auth/
REACT_APP_FACEBOOK_CLIENT_ID2=390204307987009
REACT_APP_FACEBOOK_CLIENT_SECRET2=19f778e312f2ab96d147bacb612910c2
#developenet Account
#development Account Social
REACT_APP_FACEBOOK_CLIENT_ID=677857427521030
REACT_APP_FACEBOOK_CLIENT_SECRET=4801375f22072d8a75f64483fdd89829
@@ -64,10 +67,65 @@ REACT_APP_APPLE_REDIRECT_URL='http://localhost:9082/login/auth/apple'
# /* 'client_id' => */ 'com.wrenchboard.users.client',
# /* 'client_secret' => */ 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6Ilc1V1RXQzlEVEoifQ.eyJpc3MiOiJKUjM2M0ZFWThSIiwiaWF0IjoxNjU0MDgzODQxLCJleHAiOjE2NTkyNjc4NDEsImF1ZCI6Imh0dHBzOi8vYXBwbGVpZC5hcHBsZS5jb20iLCJzdWIiOiJjb20ud3JlbmNoYm9hcmQudXNlcnMuY2xpZW50In0.TIPMwjS2MgSysqEuw3yu1nrOcrH-6omzerDhx0CadjWn2yCO8wZhQiAlhIFs7F-WPektIJ6h-2BT62yGrILiTA',
# /* 'redirect_uri' => */ site_url('login/auth/apple')
#SOCIALS Links Display
REACT_APP_APPLE_SOCIAL_LOGIN=0
REACT_APP_LINKEDIN_SOCIAL_LOGIN=0
REACT_APP_MAX_FILE_SIZE=1000000
#File Handling
REACT_APP_MAX_FILE_SIZE=1048576
REACT_APP_MAX_VIDEO_FILE_SIZE=31457280
REACT_APP_TOTAL_NUM_FILE=4
#Auth Text(s)
REACT_APP_LOGOUT_TEXT="Sign Out"
#apigate.lotus.g1.wrenchboard.com:76.209.103.227
#apigate.orion.g1.wrenchboard.com:76.209.103.227
#Cards Handling
REACT_APP_MAX_CREDIT_CARDS=4
REACT_APP_MAX_CREDIT_BANK_ACCOUNT=4
#Family
REACT_APP_MAX_FAMILY_MEMBERS=8
REACT_APP_SHOW_OFFER_GROUP_JOB=0
#UPLOAD PROFILE PICTURE
REACT_APP_SHOW_UPLOAD_PROFILE_PICTURE=0
#GOOGLE RECAPTCHA SITEKEY
REACT_APP_GOOGLE_RECAPTCHA_SITEKEY=6Ld_qKooAAAAADNL1TPzRLmcBA8vlpvx__39Rj39
#6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
#FAMILY MEMBER MINIMUM AGE
REACT_APP_FAMILY_MINIMUM_AGE=4
REACT_APP_FAMILY_MAXIMUM_AGE=18
#CHANGE LOGIN LAYOUT
REACT_APP_NEW_LOGIN_LAYOUT=1
#APP DOWNLOAD LINKS
REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users'
REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8'
# Displays the new family dashboard with boxes
REACT_APP_SHOW_NEW_FAMILY_DASH=1
# Displays the account dashboard
REACT_APP_SHOW_ACCOUNT_DASH=1
# Displays the slider banners
REACT_APP_SHOW_SLIDER_BANNERS=0
# FOR MEDIA LINK
REACT_APP_MEDIA_LINK='https://dev-media.wrenchboard.com'
# FOR FAMILY GAME LINK
REACT_APP_FAM_GAME_LINK='https://games.wrenchboard.com'
# REACT APP CUSTOMTIMER
REACT_APP_CUSTOMTIMER=90
#SHOW OR HIDE MY PAGE LINK ROUTE
REACT_APP_SHOW_USER_PAGE=1
+59 -3
View File
@@ -14,6 +14,10 @@ REACT_APP_APPSITE="https://myfitapp.mermsemr.com"
REACT_APP_AUX_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_ENDPOINT_KEY="WRENCH-BOARD-2024"
#SOCKETS ENDS
REACT_APP_PRIMARY_SOCKET="https://socket-dev.wrenchboard.com"
#"https://devapi.mermsemr.com/en/desktop/api/v2/myfituser"
@@ -24,7 +28,6 @@ REACT_APP_SESSION_EXPIRE_CHECKER=60000
REACT_APP_LOGIN_ERROR_TIMEOUT=7000
REACT_APP_SIGNUP_ERROR_TIMEOUT=7000
REACT_APP_FLUTTERWAVE_APIKEY=FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X
# Had to change the error time to 3sec cause it took too long
REACT_APP_RESET_START_ERROR_TIMEOUT=3000
@@ -40,5 +43,58 @@ REACT_APP_GOOGLE_CLIENT_SECRET=aozK_2G8UjaCmLgPPkv9abIm
REACT_APP_GOOGLE_CLIENT_SCOPE="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"
REACT_APP_GOOGLE_REDIRECT_URL=http://localhost:9082/login/auth/
REACT_APP_MAX_FILE_SIZE=1000000
REACT_APP_TOTAL_NUM_FILE=4
#File Handling
REACT_APP_MAX_FILE_SIZE=1048576
REACT_APP_MAX_VIDEO_FILE_SIZE=31457280
REACT_APP_TOTAL_NUM_FILE=4
REACT_APP_LOGOUT_TEXT="Sign Out"
REACT_APP_APPLE_SOCIAL_LOGIN=0
REACT_APP_LINKEDIN_SOCIAL_LOGIN=0
REACT_APP_MAX_CREDIT_CARDS=4
REACT_APP_MAX_CREDIT_BANK_ACCOUNT=4
REACT_APP_MAX_FAMILY_MEMBERS=8
REACT_APP_SHOW_OFFER_GROUP_JOB=0
#UPLOAD PROFILE PICTURE
REACT_APP_SHOW_UPLOAD_PROFILE_PICTURE=0
#GOOGLE RECAPTCHA SITEKEY
REACT_APP_GOOGLE_RECAPTCHA_SITEKEY=6Ld_qKooAAAAADNL1TPzRLmcBA8vlpvx__39Rj39
#6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
#FAMILY MEMBER MINIMUM AGE
REACT_APP_FAMILY_MINIMUM_AGE=4
REACT_APP_FAMILY_MAXIMUM_AGE=18
#CHANGE LOGIN LAYOUT
REACT_APP_NEW_LOGIN_LAYOUT=1
#APP DOWNLOAD LINKS
REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users'
REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8'
# Displays the new family dashboard with boxes
REACT_APP_SHOW_NEW_FAMILY_DASH=1
# Displays the account dashboard
REACT_APP_SHOW_ACCOUNT_DASH=1
# Displays the slider banners
REACT_APP_SHOW_SLIDER_BANNERS=0
# FOR MEDIA LINK
REACT_APP_MEDIA_LINK='https://dev-media.wrenchboard.com'
# FOR FAMILY GAME LINK
REACT_APP_FAM_GAME_LINK='https://games.wrenchboard.com'
# REACT APP CUSTOMTIMER
REACT_APP_CUSTOMTIMER=90
#SHOW OR HIDE MY PAGE LINK ROUTE
REACT_APP_SHOW_USER_PAGE=1
+58 -3
View File
@@ -14,6 +14,10 @@ REACT_APP_APPSITE="https://myfitapp.mermsemr.com"
REACT_APP_AUX_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_USERS_ENDPOINT="https://apigate.orion.g1.wrenchboard.com/en/wrench/api/v1"
REACT_APP_ENDPOINT_KEY="WRENCH-BOARD-2024"
#SOCKETS ENDS
REACT_APP_PRIMARY_SOCKET="https://socket.wrenchboard.com"
#"https://devapi.mermsemr.com/en/desktop/api/v2/myfituser"
@@ -24,7 +28,6 @@ REACT_APP_SESSION_EXPIRE_CHECKER=60000
REACT_APP_LOGIN_ERROR_TIMEOUT=7000
REACT_APP_SIGNUP_ERROR_TIMEOUT=7000
REACT_APP_FLUTTERWAVE_APIKEY=FLWPUBK_TEST-54c90141b028789d671067bd72f781a9-X
# Had to change the error time to 3sec cause it took too long
REACT_APP_RESET_START_ERROR_TIMEOUT=3000
@@ -47,5 +50,57 @@ REACT_APP_FACEBOOK_REDIRECT_URL="https://users.wrenchboard.com/login/auth/flogin
DISABLE_ESLINT_PLUGIN=true
REACT_APP_MAX_FILE_SIZE=1000000
REACT_APP_TOTAL_NUM_FILE=4
#File Handling
REACT_APP_MAX_FILE_SIZE=1048576
REACT_APP_MAX_VIDEO_FILE_SIZE=31457280
REACT_APP_TOTAL_NUM_FILE=4
REACT_APP_LOGOUT_TEXT="Sign Out"
REACT_APP_APPLE_SOCIAL_LOGIN=0
REACT_APP_LINKEDIN_SOCIAL_LOGIN=0
REACT_APP_MAX_CREDIT_CARDS=4
REACT_APP_MAX_CREDIT_BANK_ACCOUNT=4
REACT_APP_MAX_FAMILY_MEMBERS=8
REACT_APP_SHOW_OFFER_GROUP_JOB=0
#UPLOAD PROFILE PICTURE
REACT_APP_SHOW_UPLOAD_PROFILE_PICTURE=0
#GOOGLE RECAPTCHA SITEKEY
REACT_APP_GOOGLE_RECAPTCHA_SITEKEY=6Ld_qKooAAAAADNL1TPzRLmcBA8vlpvx__39Rj39
#6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
#FAMILY MEMBER MINIMUM AGE
REACT_APP_FAMILY_MINIMUM_AGE=4
REACT_APP_FAMILY_MAXIMUM_AGE=18
#CHANGE LOGIN LAYOUT
REACT_APP_NEW_LOGIN_LAYOUT=1
#APP DOWNLOAD LINKS
REACT_APP_ANDROID_APP='https://play.google.com/store/apps/details?id=com.wrenchboard.users'
REACT_APP_APPLE_APP='https://itunes.apple.com/us/app/wrenchboard/id1435718367?ls=1&mt=8'
# Displays the new family dashboard with boxes
REACT_APP_SHOW_NEW_FAMILY_DASH=1
# Displays the account dashboard
REACT_APP_SHOW_ACCOUNT_DASH=1
# Displays the slider banners
REACT_APP_SHOW_SLIDER_BANNERS=0
# FOR MEDIA LINK
REACT_APP_MEDIA_LINK='https://media.wrenchboard.com'
# FOR FAMILY GAME LINK
REACT_APP_FAM_GAME_LINK='https://games.wrenchboard.com'
# REACT APP CUSTOMTIMER
REACT_APP_CUSTOMTIMER=90
#SHOW OR HIDE MY PAGE LINK ROUTE
REACT_APP_SHOW_USER_PAGE=0
+2
View File
@@ -19,6 +19,8 @@
.env.test.local
.env.production.local
#package-lock.json
npm-debug.log*
yarn-debug.log*
yarn-error.log*
+10 -1
View File
@@ -21,5 +21,14 @@
"emmet.triggerExpansionOnTab": true,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
}
},
"cSpell.words": [
"completesignuplink",
"MOBILEUSER",
"MYFILES",
"mynotifications",
"PASSWORDRESET",
"TRANSFERSTART",
"WRENCHBOARD"
]
}
+3 -2
View File
@@ -21,9 +21,10 @@ services:
- backend.wrenchboard.api.live:10.10.33.15
- backend.wrenchboard.api.test:10.10.33.15
- apigate.lotus.g1.wrenchboard.com:10.10.33.15
- apigate.nebula.g1.wrenchboard.com:10.10.33.15
- apigate.orion.g1.wrenchboard.com:10.10.33.15
# #- backend.wrenchboard.api.live:172.31.4.27
# #- backend.wrenchboard.api.test:10.20.30.27
- socket-dev.wrenchboard.com:10.10.33.15
- socket.wrenchboard.com:10.10.33.15
- apigateway.wrenchboard.app.dev.fluxtra.net:10.20.30.19
- apigateway.wrenchboard.app.lotus.fluxtra.net:172.31.4.19
environment:
+74
View File
@@ -22,13 +22,17 @@
"flutterwave-react-v3": "^1.3.0",
"formik": "^2.2.9",
"react": "^18.2.0",
"react-apple-login": "^1.1.6",
"react-chartjs-2": "^4.1.0",
"react-countup": "^6.2.0",
"react-dom": "^18.2.0",
"react-google-recaptcha": "^3.1.0",
"react-qr-code": "^2.0.11",
"react-redux": "^8.0.5",
"react-router-dom": "^6.0.2",
"react-scripts": "5.0.1",
"react-slick": "^0.29.0",
"react-to-print": "^2.14.12",
"react-toastify": "^9.0.1",
"redux": "^4.2.0",
"slick-carousel": "^1.8.1",
@@ -14801,6 +14805,11 @@
"teleport": ">=0.2.0"
}
},
"node_modules/qr.js": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz",
"integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ=="
},
"node_modules/qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
@@ -14944,6 +14953,32 @@
"url": "https://opencollective.com/core-js"
}
},
"node_modules/react-apple-login": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/react-apple-login/-/react-apple-login-1.1.6.tgz",
"integrity": "sha512-ySV6ax0aB+ksA7lKzhr4MvsgjwSH068VtdHJXS+7rL380IJnNQNl14SszR31k3UqB8q8C1H1oyjJFGq4MyO6tw==",
"engines": {
"node": ">=8",
"npm": ">=5"
},
"peerDependencies": {
"prop-types": "^15.5.4",
"react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/react-async-script": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/react-async-script/-/react-async-script-1.2.0.tgz",
"integrity": "sha512-bCpkbm9JiAuMGhkqoAiC0lLkb40DJ0HOEJIku+9JDjxX3Rcs+ztEOG13wbrOskt3n2DTrjshhaQ/iay+SnGg5Q==",
"dependencies": {
"hoist-non-react-statics": "^3.3.0",
"prop-types": "^15.5.0"
},
"peerDependencies": {
"react": ">=16.4.1"
}
},
"node_modules/react-chartjs-2": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-4.3.1.tgz",
@@ -15044,11 +15079,41 @@
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz",
"integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw=="
},
"node_modules/react-google-recaptcha": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/react-google-recaptcha/-/react-google-recaptcha-3.1.0.tgz",
"integrity": "sha512-cYW2/DWas8nEKZGD7SCu9BSuVz8iOcOLHChHyi7upUuVhkpkhYG/6N3KDiTQ3XAiZ2UAZkfvYKMfAHOzBOcGEg==",
"dependencies": {
"prop-types": "^15.5.0",
"react-async-script": "^1.2.0"
},
"peerDependencies": {
"react": ">=16.4.1"
}
},
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/react-qr-code": {
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/react-qr-code/-/react-qr-code-2.0.12.tgz",
"integrity": "sha512-k+pzP5CKLEGBRwZsDPp98/CAJeXlsYRHM2iZn1Sd5Th/HnKhIZCSg27PXO58zk8z02RaEryg+60xa4vyywMJwg==",
"dependencies": {
"prop-types": "^15.8.1",
"qr.js": "0.0.0"
},
"peerDependencies": {
"react": "^16.x || ^17.x || ^18.x",
"react-native-svg": "*"
},
"peerDependenciesMeta": {
"react-native-svg": {
"optional": true
}
}
},
"node_modules/react-redux": {
"version": "8.0.5",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz",
@@ -15218,6 +15283,15 @@
"react-dom": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/react-to-print": {
"version": "2.14.15",
"resolved": "https://registry.npmjs.org/react-to-print/-/react-to-print-2.14.15.tgz",
"integrity": "sha512-SKnwOzU2cJ8eaAkoJO7+gNhvfEDmm+Y34IdcHsjtHioUevUPhprqbVtvNJlZ2JkGJ8ExK2QNWM9pXECTDR5D8w==",
"peerDependencies": {
"react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/react-toastify": {
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.1.tgz",
+2
View File
@@ -21,6 +21,7 @@
"react-chartjs-2": "^4.1.0",
"react-countup": "^6.2.0",
"react-dom": "^18.2.0",
"react-google-recaptcha": "^3.1.0",
"react-qr-code": "^2.0.11",
"react-redux": "^8.0.5",
"react-router-dom": "^6.0.2",
@@ -29,6 +30,7 @@
"react-to-print": "^2.14.12",
"react-toastify": "^9.0.1",
"redux": "^4.2.0",
"socket.io-client": "^4.4.1",
"slick-carousel": "^1.8.1",
"web-vitals": "^1.0.1",
"yup": "^1.1.1"
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+1
View File
@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+15 -3
View File
@@ -6,9 +6,18 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta name="description" content="wrenchboard.com is an online marketplace to make money from your skills, find, buy and sell professional services. Connect with freelancers to get work done faster. Trade your freelance services."/>
<meta name="title" content="WrenchBoard: Find a Freelancer | Sell Professional Services"/><meta name="keywords" content="Online Jobs, Online Workers, work online Nigeria, hire a freelancer, hire freelancers, freelance marketplace, freelancer hire, freelance service, freelance professional services, How to make money online, find workers online, Online Services, digital services, freelancers community in Ghana, freelancers community in Nigeria, freelancer site in Africa, Best freelance website in Africa, Freelance Designers, Photographers, Writers in Nigeria, freelancers, freelance outsourcing in Nigeria, freelance IT services in Nigeria, hire freelancers online in Nigeria, freelance services online in Nigeria, freelance contractor in Nigeria, freelance sites in Nigeria, freelance jobs in Nigeria, freelance projects in Nigeria, freelance jobs online in Nigeria, professional freelancers in Nigeria, buy professional services in Nigeria, professional services jobs, professional business services, professional service providers in Nigeria, freelancing services, freelancing sites in Nigeria, freelancers for hire in Nigeria, freelancer search in Nigeria, search freelancer in Nigeria, find freelancers in Nigeria, Find workers US. Outsource from US to Nigeria, find a freelancer in Nigeria, freelancing projects in Nigeria, web freelancing in Nigeria, outsourcing sites freelancers in Nigeria, website for freelancers in Nigeria, marketplace for freelancers "/>
<meta
name="description"
content="WrenchBoard.com is the place to set family goals and reward achievements. Find tasks to earn from, or send tasks for others to perform for you."
/>
<meta
name="title"
content="WrenchBoard: Reward Accomplishments | Get Family Engaged"
/>
<meta
name="keywords"
content="Empower families to reward accomplishment, set goals, and encourage kids to understand goals, earning, and the benefit of savings in one app experience."
/>
<link rel="manifest" href="/manifest.json"/>
<script>
!function(e,a,t,n,g,c,o){e.GoogleAnalyticsObject=g,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),o=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",o.parentNode.insertBefore(c,o)}(window,document,"script",0,"ga"),ga("create","UA-54829827-4","auto"),ga("send","pageview")</script><script defer="defer" src="/static/js/main.787e423f.js"></script><link href="/static/css/main.418eaf65.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body><script>var LHC_API=LHC_API||{};LHC_API.args={mode:"widget",lhc_base_url:"//chat.live.wrenchboard.com/",wheight:450,wwidth:350,pheight:520,pwidth:500,leaveamessage:!0,check_messages:!1},function(){var e=document.createElement("script");e.type="text/javascript",e.setAttribute("crossorigin","anonymous"),e.async=!0;var t=new Date;e.src="//chat.live.wrenchboard.com/design/defaulttheme/js/widgetv2/index.js?"+t.getFullYear()+t.getMonth()+t.getDate();var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(e,a)}()
@@ -17,6 +26,9 @@
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title>WrenchBoard</title>
<!-- FONT AWESOME -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v6.5.1/css/all.css"/>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
+1
View File
@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
+16 -7
View File
@@ -1,15 +1,24 @@
import Toaster from "./components/Helpers/Toaster";
import { Navigate, useLocation } from "react-router-dom";
import Routers from "./Routers";
import Toaster from "./components/Helpers/Toaster";
import Default from "./components/Partials/Default";
import SocketIOContextProvider from "./components/Contexts/SocketIOContext";
function App() {
const { pathname } = useLocation();
return (
<Default>
<>
<Routers />
<Toaster />
</>
</Default>
<Default>
<SocketIOContextProvider>
<>
{pathname.startsWith("/@") ? (
<Navigate to="/app" replace={true} />
) : (
<Routers />
)}
<Toaster />
</>
</SocketIOContextProvider>
</Default>
);
}
+148 -60
View File
@@ -1,78 +1,128 @@
import { Route, Routes } from "react-router-dom";
import FourZeroFour from "./components/FourZeroFour";
import ScrollToTop from "./components/Helpers/ScrollToTop";
import MyCollection from "./components/MyCollection";
import StartJob from "./components/MyJobs/StartJob";
import Notification from "./components/Notification";
import AuthRoute from "./middleware/AuthRoute";
import AcitveBidsPage from "./views/AcitveBidsPage";
import AppDownloadPage from "./views/AppDownloadPage";
import AppleRedirectPage from "./views/AppleRedirectPage";
import AuthProfilePage from "./views/AuthProfilePage";
import AuthRedirect from "./views/AuthRedirect";
import BlogPage from "./views/BlogPage";
import CalendarPage from "./views/CalendarPage";
import CollectionItemPage from "./views/CollectionItemPage";
import FacebookRedirect from "./views/FacebookRedirect";
import FamilyAccPage from "./views/FamilyAccPage";
import FamilyManagePage from "./views/FamilyManagePage";
import FamilyMarketPage from "./views/FamilyMarketPage";
import FamilySettingsPage from "./views/FamilySettingsPage";
import ForgotPasswordPages from "./views/ForgotPasswordPages";
import ForgotPasswordPagesTwo from "./views/ForgotPasswordPagesTwo";
import HistoryPage from "./views/HistoryPage";
import HomePages from "./views/HomePages";
import JobGroupsPage from "./views/JobGroupsPage";
import LndPage from "./views/LndPage";
import LoginPage from "./views/LoginPage";
import LoginPageTwo from "./views/LoginPageTwo";
import ManageActiveJobs from "./views/ManageActiveJobs";
import ManageInterestOfferPage from "./views/ManageInterestOfferPage";
import MarketPlacePage from "./views/MarketPlacePage";
import MyActiveJobsPage from "./views/MyActiveJobsPage";
import MyCouponPage from "./views/MyCouponPage";
import MyJobsPage from "./views/MyJobsPage";
import MyOffersPage from "./views/MyOffersPage";
import MyPastDueJobsPage from "./views/MyPastDueJobsPage";
import MyReviewDueJobsPage from "./views/MyReviewDueJobsPage";
import MyTaskPage from "./views/MyTaskPage";
import MyWaitingJobsPage from "./views/MyWaitingJobsPage";
import MyWalletPage from "./views/MyWalletPage";
import OffersInterestPage from "./views/OffersInterestPage";
import ReferralPage from "./views/ReferralPage";
import RemindersPage from "./views/RemindersPage";
import ResourcePage from "./views/ResourcePage";
import SavedPage from "./views/SavedPage";
import SellPage from "./views/SellPage";
import SettingsPage from "./views/SettingsPage";
import ShopDetailsPage from "./views/ShopDetailsPage";
import SignupPage from "./views/SignupPage";
import SignupPageTwo from "./views/SignupPageTwo";
import TrackingPage from "./views/TrackingPage";
import UpdatePasswordPages from "./views/UpdatePasswordPages";
import UpdatePasswordPagesTwo from "./views/UpdatePasswordPagesTwo";
import UploadProductPage from "./views/UploadProductPage";
import UserProfilePage from "./views/UserProfilePage";
import VerifyYouPages from "./views/VerifyYouPages";
import VerifyPasswordPages from "./views/VerifyPasswordPages";
import RemindersPage from './views/RemindersPage';
import TrackingPage from "./views/TrackingPage";
import CalendarPage from "./views/CalendarPage";
import ResourcePage from "./views/ResourcePage";
import MyTaskPage from "./views/MyTaskPage";
import MyJobsPage from "./views/MyJobsPage";
import ReferralPage from "./views/ReferralPage";
import VerifyLinkPages from "./views/VerifyLinkPages";
import MyActiveJobsPage from "./views/MyActiveJobsPage";
import FamilyAccPage from "./views/FamilyAccPage";
import StartJob from "./components/MyJobs/StartJob";
import AddJobPage from "./views/AddJobPage";
import MyPendingJobsPage from "./views/MyPendingJobsPage";
import ManageActiveJobs from "./views/ManageActiveJobs";
import FamilyManagePage from "./views/FamilyManagePage";
import MyCouponPage from "./views/MyCouponPage";
import AuthRedirect from "./views/AuthRedirect";
import MyPastDueJobsPage from "./views/MyPastDueJobsPage";
import BlogPage from "./views/BlogPage";
import MyReviewDueJobsPage from "./views/MyReviewDueJobsPage";
import OffersInterestPage from "./views/OffersInterestPage";
import ManageInterestOfferPage from './views/ManageInterestOfferPage'
import MyWaitingJobsPage from "./views/MyWaitingJobsPage";
import FamilyMarketPage from "./views/FamilyMarketPage";
import FacebookRedirect from "./views/FacebookRedirect";
import AppleRedirectPage from "./views/AppleRedirectPage";
import VerifyLinkPagesTwo from "./views/VerifyLinkPagesTwo";
import VerifyPasswordPages from "./views/VerifyPasswordPages";
import VerifyPasswordPagesTwo from "./views/VerifyPasswordPagesTwo";
import VerifyYouPages from "./views/VerifyYouPages";
import VerifyYouPagesTwo from "./views/VerifyYouPagesTwo";
import YourPages from "./views/YourPage_";
import ParentWaitingPage from "./views/ParentWaitingPage";
import FamilyPendingOfferPage from "./views/FamilyPendingOfferPage";
import FamBlogPage from "./views/FamBlogPage"
import FamAIQuestionPage from "./views/FamAIQuestionPage"
import FamMyFilesPage from "./views/FamMyFilesPage"
import FamWorkInProgressPage from "./views/FamWorkInProgressPage";
import MyPastDueTasksPage from "./views/MyPastDueTasksPage";
import FamilyWalletPage from "./views/FamilyWalletPage";
import FamilyActivitiesPage from "./views/FamilyActivitiesPage";
import FamGamesPage from "./views/FamGamesPage";
import FamilyRoutesPage from "./views/FamilyRoutesPage";
import PromoPage from "./views/PromoPage";
import LearnMorePage from "./views/LearnMorePage";
export default function Routers() {
return (
<ScrollToTop>
<Routes>
{/* guest routes */}
<Route exact path="/login" element={<LoginPage />} />
<Route exact path="/signup" element={<SignupPage />} />
{process.env.REACT_APP_NEW_LOGIN_LAYOUT == 1 ? (
<>
<Route exact path="/login" element={<LoginPageTwo />} />
<Route exact path="/signup" element={<SignupPageTwo />} />
<Route
exact
path="/forgot-password"
element={<ForgotPasswordPagesTwo />}
/>
<Route
exact
path="/update-password"
element={<UpdatePasswordPagesTwo />}
/>
<Route path="/vemail" element={<VerifyLinkPagesTwo />} />
<Route path="/complereset" element={<VerifyPasswordPagesTwo />} />
<Route exact path="/outmessage" element={<VerifyYouPagesTwo />} />
<Route exact path="/eoffer" element={<LoginPageTwo />} />
<Route exact path="/invite" element={<LoginPageTwo />} />
<Route exact path="/promo/:name/:id" element={<PromoPage />} />
</>
) : (
<>
<Route exact path="/login" element={<LoginPage />} />
<Route exact path="/signup" element={<SignupPage />} />
<Route
exact
path="/forgot-password"
element={<ForgotPasswordPages />}
/>
<Route
exact
path="/update-password"
element={<UpdatePasswordPages />}
/>
<Route path="/vemail" element={<VerifyLinkPages />} />
<Route path="/complereset" element={<VerifyPasswordPages />} />
<Route exact path="/outmessage" element={<VerifyYouPages />} />
<Route exact path="/eoffer" element={<LoginPage />} />
<Route exact path="/invite" element={<LoginPage />} />
</>
)}
<Route exact path="/login/auth" element={<AuthRedirect />} />
<Route exact path="/login/auth/flogin" element={<FacebookRedirect />} />
<Route exact path="/login/auth/apple" element={<AppleRedirectPage />} />
<Route
exact
path="/forgot-password"
element={<ForgotPasswordPages />}
/>
<Route
exact
path="/update-password"
element={<UpdatePasswordPages />}
/>
<Route path="/vemail" element={<VerifyLinkPages />} />
<Route path="/complereset" element={<VerifyPasswordPages />} />
<Route exact path="/outmessage" element={<VerifyYouPages />} />
<Route exact path="/lnd/*" element={<LndPage />} />
<Route exact path="/app" element={<AppDownloadPage />} />
{/* private route */}
<Route element={<AuthRoute />}>
@@ -81,35 +131,70 @@ export default function Routers() {
<Route exact path="/notification" element={<Notification />} />
<Route exact path="/market-place" element={<MarketPlacePage />} />
<Route exact path="/shop-details" element={<ShopDetailsPage />} />
<Route exact path="/my-wallet" element={<MyWalletPage />} />
<Route exact path="/my-collection" element={<MyCollection />} />*/}
<Route exact path="/my-collection" element={<MyCollection />} />*/}
<Route exact path="/reminders" element={<RemindersPage />} />
<Route exact path="/tracking" element={<TrackingPage />} />
<Route exact path="/calendar" element={<CalendarPage />} />
<Route exact path="/resources" element={<ResourcePage />} />
<Route exact path="/my-wallet/*" element={<MyWalletPage />} />
<Route exact path="/family-wallet" element={<FamilyWalletPage />} />
<Route exact path="/my-coupon" element={<MyCouponPage />} />
<Route exact path="/notification" element={<Notification />} />
<Route exact path="/market-place" element={<MarketPlacePage />} />
<Route exact path="/market" element={<MarketPlacePage />} />
<Route exact path="/familymarket" element={<FamilyMarketPage />} />
<Route exact path="/suggested" element={<ParentWaitingPage />} />
<Route exact path="/pending" element={<FamilyPendingOfferPage />} />
<Route exact path="/fam-blog" element={<FamBlogPage />} />
<Route exact path="/ai-question" element={<FamAIQuestionPage />} />
<Route exact path="/myfiles" element={<FamMyFilesPage />} />
<Route exact path="/ai-lab" element={<FamAIQuestionPage />} />
<Route exact path="/fam-games" element={<FamGamesPage />} />
<Route exact path="/work-in-progress" element={<FamWorkInProgressPage />} />
<Route exact path="/pastdue" element={<MyPastDueTasksPage />} />
<Route exact path="/notification" element={<Notification />} />
<Route exact path="/mytask" element={<MyTaskPage />} />
<Route exact path="/myjobs" element={<MyJobsPage />} />
{/* <Route exact path="/add-job" element={<AddJobPage />} /> */}
<Route exact path="/my-active-jobs" element={<MyActiveJobsPage />} />
<Route exact path="/my-pastdue-jobs" element={<MyPastDueJobsPage />} />
<Route exact path="/my-pending-jobs" element={<MyPendingJobsPage />} />
<Route exact path="/pend-interest" element={<MyWaitingJobsPage />} />
<Route exact path="/my-review-jobs" element={<MyReviewDueJobsPage />} />
<Route exact path="/acc-family" element={<FamilyAccPage />} />
<Route exact path="/manage-family" element={<FamilyManagePage />} />
<Route exact path="/start-job" element={<StartJob />} />
<Route exact path="/manage-active-job" element={<ManageActiveJobs />} />
<Route exact path="/blog-page" element={<BlogPage />} />
<Route exact path="/offer-interest" element={<OffersInterestPage />} />
<Route exact path="/manage-offer" element={<ManageInterestOfferPage />} />
<Route exact path="/my-active-jobs" element={<MyActiveJobsPage />} />
<Route
exact
path="/my-pastdue-jobs"
element={<MyPastDueJobsPage />}
/>
<Route exact path="/my-offers" element={<MyOffersPage />} />
<Route exact path="/pend-interest" element={<MyWaitingJobsPage />} />
<Route
exact
path="/my-review-jobs"
element={<MyReviewDueJobsPage />}
/>
{/* <Route exact path='/acc-family' element={<FamilyAccPage />} />
<Route exact path="/acc-family/activities" element={<FamilyActivitiesPage />} />
<Route exact path="/acc-family/familysettings" element={<FamilySettingsPage />} /> */}
<Route path='/acc-family/*' element={<FamilyRoutesPage />} />
<Route exact path="/manage-family" element={<FamilyManagePage />} />
<Route exact path="/start-job" element={<StartJob />} />
<Route exact path="/yourpage" element={<YourPages />} />
<Route
exact
path="/manage-active-job"
element={<ManageActiveJobs />}
/>
<Route exact path="/blog-page" element={<BlogPage />} />
<Route
exact
path="/offer-interest"
element={<OffersInterestPage />}
/>
<Route
exact
path="/manage-offer"
element={<ManageInterestOfferPage />}
/>
<Route
exact
@@ -119,11 +204,14 @@ export default function Routers() {
<Route exact path="/sell" element={<SellPage />} />
<Route exact path="/saved" element={<SavedPage />} />
<Route exact path="/history" element={<HistoryPage />} />
<Route exact path="/upload-product" element={<UploadProductPage />} />
<Route exact path="/learnmore" element={<LearnMorePage />} />
{/*<Route exact path="/upload-product" element={<UploadProductPage />} />*/}
<Route exact path="/my-uploads" element={<UploadProductPage />} />
<Route exact path="/profile" element={<AuthProfilePage />} />
<Route exact path="/user-profile" element={<UserProfilePage />} />
<Route exact path="/settings" element={<SettingsPage />} />
<Route exact path="/referral" element={<ReferralPage />} />
<Route exact path="/job-groups" element={<JobGroupsPage />} />
</Route>
<Route path="*" element={<FourZeroFour />} />
</Routes>
Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -1,4 +1,4 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.5 0H2.5C1.12125 0 0 1.12125 0 2.5V17.5C0 18.8787 1.12125 20 2.5 20H17.5C18.8787 20 20 18.8787 20 17.5V2.5C20 1.12125 18.8787 0 17.5 0Z" fill="#1976D2"/>
<path d="M16.875 10H13.75V7.5C13.75 6.81 14.31 6.875 15 6.875H16.25V3.75H13.75C11.6788 3.75 10 5.42875 10 7.5V10H7.5V13.125H10V20H13.75V13.125H15.625L16.875 10Z" fill="#FAFAFA"/>
</svg>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.5 0H2.5C1.12125 0 0 1.12125 0 2.5V17.5C0 18.8787 1.12125 20 2.5 20H17.5C18.8787 20 20 18.8787 20 17.5V2.5C20 1.12125 18.8787 0 17.5 0Z" fill="#1976D2"/>
<path d="M16.875 10H13.75V7.5C13.75 6.81 14.31 6.875 15 6.875H16.25V3.75H13.75C11.6788 3.75 10 5.42875 10 7.5V10H7.5V13.125H10V20H13.75V13.125H15.625L16.875 10Z" fill="#FAFAFA"/>
</svg>

Before

Width:  |  Height:  |  Size: 452 B

After

Width:  |  Height:  |  Size: 448 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1792 1792" id="Bank"><path d="m896 78.526 896 358.4v119.466h-119.467q0 24.267-19.133 42-19.133 17.734-45.267 17.734H183.867q-26.134 0-45.267-17.734-19.133-17.733-19.133-42H0V436.926ZM238.933 675.859h238.934v716.8h119.466v-716.8h238.934v716.8h119.466v-716.8h238.934v716.8h119.466v-716.8h238.934v716.8h55.066q26.134 0 45.267 17.733 19.133 17.734 19.133 42v59.734H119.467v-59.734q0-24.266 19.133-42 19.133-17.733 45.267-17.733h55.066v-716.8zm1488.667 896q26.133 0 45.267 17.733 19.133 17.734 19.133 42v119.467H0v-119.467q0-24.266 19.133-42 19.134-17.733 45.267-17.733h1663.2z" fill="#4687ba" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 684 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" id="DownloadArrow"><g fill="#4687ba" class="color9a7baa svgShape"><path d="M30.179 3.525V1.857c0-1.551-1.784-2.415-3.011-1.449L24 2.907 20.824.402c-1.216-.959-3.002-.093-3.002 1.456v1.668a1 1 0 0 0 1 1h10.357c.552-.001 1-.449 1-1.001zM30.179 25.172v-2.524a1 1 0 0 0-1-1H18.822a1 1 0 0 0-1 1v2.524a1 1 0 0 0 1 1h10.357a1 1 0 0 0 1-1zM30.179 10.74V8.217a1 1 0 0 0-1-1H18.822a1 1 0 0 0-1 1v2.524a1 1 0 0 0 1 1h10.357c.552-.001 1-.448 1-1.001zM30.179 17.956v-2.524a1 1 0 0 0-1-1H18.822a1 1 0 0 0-1 1v2.524a1 1 0 0 0 1 1h10.357a1 1 0 0 0 1-1zM25.748 47.029l9.336-15.018c.852-1.371-.133-3.145-1.748-3.145H14.664c-1.614 0-2.6 1.774-1.748 3.145l9.336 15.018a2.058 2.058 0 0 0 3.496 0z" fill="#000000" class="color000000 svgShape"></path></g></svg>

After

Width:  |  Height:  |  Size: 799 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="error"><path fill="#ff1d25" d="M29.75,25.73,18.68,3.59a3,3,0,0,0-4-1.33,3.05,3.05,0,0,0-1.33,1.33L2.25,25.73a3,3,0,0,0,2.68,4.34H27.07a3,3,0,0,0,3-3A2.88,2.88,0,0,0,29.75,25.73ZM16,25.38a.94.94,0,1,1,.94-.94A.94.94,0,0,1,16,25.38Zm.94-4.69a.94.94,0,1,1-1.88,0V11.31a.94.94,0,1,1,1.88,0Z"></path></svg>

After

Width:  |  Height:  |  Size: 365 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 32 28" viewBox="0 0 32 28" id="List"><circle cx="2" cy="2" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M8 0h24v4H8z" class="color4e4e50 svgShape"></path><circle cx="10" cy="10" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M16 8h16v4H16z" class="color4e4e50 svgShape"></path><circle cx="10" cy="26" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M16 24h16v4H16z" class="color4e4e50 svgShape"></path><circle cx="18" cy="18" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M24 16h8v4h-8z" class="color4e4e50 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 743 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="Group" x="0" y="0" version="1.1" viewBox="0 0 52 52" xml:space="preserve"><path d="M26.003 13.05c2.44 0 4.43-1.99 4.43-4.43a4.44 4.44 0 0 0-4.43-4.44c-2.45 0-4.44 1.99-4.44 4.44a4.44 4.44 0 0 0 4.44 4.43zM11.293 38.77c2.44 0 4.43-1.99 4.43-4.43a4.44 4.44 0 0 0-4.43-4.44c-2.45 0-4.43 1.99-4.43 4.44 0 2.44 1.98 4.43 4.43 4.43z" fill="#4687ba" class="color000000 svgShape"></path><path d="M49.493 41.93a10.091 10.091 0 0 0-3.643-3.739 6.418 6.418 0 0 1-5.138 2.58 6.392 6.392 0 0 1-4.371-1.737.975.975 0 0 0-.158-.258l-9.184-9.903V22.1h4.344c1.41 0 2.68-.73 3.4-1.94.72-1.23.73-2.7.04-3.95a10.09 10.09 0 0 0-3.643-3.739 6.418 6.418 0 0 1-5.138 2.579 6.43 6.43 0 0 1-5.144-2.58 10.085 10.085 0 0 0-3.645 3.74c-.69 1.25-.67 2.72.05 3.95a3.9 3.9 0 0 0 3.39 1.94h4.346v6.624c-.01.022-.016.044-.025.066l-9.22 9.941a.978.978 0 0 0-.22.42 6.378 6.378 0 0 1-4.242 1.62 6.417 6.417 0 0 1-5.14-2.584 10.086 10.086 0 0 0-3.65 3.743c-.69 1.25-.67 2.72.05 3.95a3.9 3.9 0 0 0 3.39 1.94h10.69c1.41 0 2.68-.73 3.4-1.94.72-1.23.73-2.7.04-3.95a10.03 10.03 0 0 0-2.134-2.612l8.01-8.636 8.055 8.685c-.815.73-1.53 1.58-2.08 2.563-.69 1.25-.67 2.72.05 3.95a3.9 3.9 0 0 0 3.39 1.94h10.69c1.41 0 2.68-.73 3.4-1.94.72-1.23.73-2.7.04-3.95z" fill="#4687ba" class="color000000 svgShape"></path><path d="M40.713 38.77c2.44 0 4.43-1.99 4.43-4.43a4.44 4.44 0 0 0-4.43-4.44c-2.45 0-4.44 1.99-4.44 4.44a4.44 4.44 0 0 0 4.44 4.43z" fill="#4687ba" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" id="List"><switch><g fill="#767fad" class="color000000 svgShape"><g fill="#4687ba" class="color0ac5ab svgShape"><path d="M20 0H8a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V8a8 8 0 00-8-8zM56 0H44a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V8a8 8 0 00-8-8zM20 36H8a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V44a8 8 0 00-8-8zM56 36H44a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V44a8 8 0 00-8-8z" fill="#767fad" class="color000000 svgShape"></path></g></g></switch></svg>

After

Width:  |  Height:  |  Size: 527 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8" id="List"><path d="M0 0v3h3V0H0zm4 0v1h4V0H4zm0 2v1h3V2H4zM0 4v3h3V4H0zm4 0v1h4V4H4zm0 2v1h3V6H4z" fill="#b22b7d" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 214 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="List"><path d="M9 3a6 6 0 1 0 6 6A6 6 0 0 0 9 3zM9 13a4 4 0 1 1 4-4A4 4 0 0 1 9 13zM17 9H28a1 1 0 0 0 0-2H17a1 1 0 0 0 0 2zM17 13h6a1 1 0 0 0 0-2H17a1 1 0 0 0 0 2zM9 17a6 6 0 1 0 6 6A6 6 0 0 0 9 17zM9 27a4 4 0 1 1 4-4A4 4 0 0 1 9 27zM28 21H17a1 1 0 0 0 0 2H28a1 1 0 0 0 0-2zM23 25H17a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z" fill="#4687ba" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 437 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 50" id="Page"><path fill-rule="evenodd" d="M0 13V2a2 2 0 0 1 2-2h64a2 2 0 0 1 2 2v11H0Zm0 4v31a2 2 0 0 0 2 2h20V17H0Zm26 33h40a2 2 0 0 0 2-2V17H26v33Z" fill="#767fad" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 265 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 64 64" id="delete"><path d="M44.41 19.59a2 2 0 0 0-2.83 0L32 29.18l-9.59-9.59a2 2 0 0 0-2.83 2.83L29.17 32l-9.59 9.59a2 2 0 1 0 2.83 2.83L32 34.83l9.59 9.59a2 2 0 0 0 2.83-2.83L34.83 32l9.59-9.59a2 2 0 0 0-.01-2.82Z" fill="#b22b7d" class="color000000 svgShape"></path><path d="M32 3a29 29 0 1 0 29 29A29 29 0 0 0 32 3Zm0 54a25 25 0 1 1 25-25 25 25 0 0 1-25 25Z" fill="#b22b7d" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 492 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" id="success"><path fill="#80af52" d="M256 26c127.03 0 230 102.97 230 230S383.03 486 256 486 26 383.03 26 256 128.97 26 256 26z"></path><path fill="#fff" d="M215.999 386a9.998 9.998 0 0 1-7.525-3.415l-70-80c-3.637-4.156-3.215-10.474.941-14.11s10.475-3.217 14.111.94l60.961 69.67 142.938-238.23c2.842-4.736 8.983-6.273 13.72-3.43 4.736 2.841 6.271 8.984 3.431 13.72l-150 250a9.998 9.998 0 0 1-8.577 4.855z"></path></svg>

After

Width:  |  Height:  |  Size: 483 B

+10
View File
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 64 64" viewBox="0 0 64 64" id="wallet"><path d="M60.94,33.76H59.6V19.85c0-1.69-1.37-3.06-3.06-3.06h-1.61l-0.47-6.54c-0.12-1.67-1.57-2.94-3.27-2.84l-7.3,0.52
l-0.18-2.48c-0.12-1.67-1.57-2.95-3.27-2.84L7.83,4.93c-0.82,0.06-1.56,0.43-2.1,1.05C5.19,6.6,4.93,7.39,4.99,8.2l0.61,8.59H3.06
C1.37,16.79,0,18.17,0,19.85v38.48c0,1.69,1.37,3.06,3.06,3.06h53.48c1.69,0,3.06-1.37,3.06-3.06V44.43h1.33
c1.69,0,3.06-1.37,3.06-3.06v-4.55C64,35.13,62.63,33.76,60.94,33.76z M51.42,9.94c0.27,0,0.51,0.22,0.53,0.49l0.45,6.36H18.55
l-0.28-3.97c-0.01-0.19,0.07-0.32,0.13-0.38c0.05-0.06,0.17-0.17,0.36-0.18L51.42,9.94z M7.65,7.64C7.7,7.58,7.82,7.47,8.01,7.46
l32.66-2.32c0.27,0,0.51,0.22,0.53,0.49l0.18,2.48L18.58,9.73c-0.82,0.06-1.56,0.43-2.1,1.05c-0.54,0.62-0.8,1.41-0.74,2.22
l0.27,3.79H8.14L7.52,8.02C7.5,7.83,7.59,7.7,7.65,7.64z M57.07,58.34c0,0.28-0.24,0.53-0.53,0.53H3.06
c-0.28,0-0.53-0.24-0.53-0.53V19.85c0-0.29,0.24-0.53,0.53-0.53h53.48c0.28,0,0.53,0.24,0.53,0.53v13.91h-4.43
c-1.69,0-3.06,1.37-3.06,3.06v4.55c0,1.69,1.37,3.06,3.06,3.06h4.43V58.34z M61.47,41.37c0,0.28-0.24,0.53-0.53,0.53h-8.3
c-0.28,0-0.53-0.24-0.53-0.53v-4.55c0-0.28,0.24-0.53,0.53-0.53h8.3c0.29,0,0.53,0.24,0.53,0.53V41.37z"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="files"><circle cx="64" cy="64" r="64" fill="#EF4C45"></circle><path fill="#CD2E30" d="M128 64v-2L92.4 26.5l-63.1 74 27.2 27c2.4.3 4.9.4 7.4.4C99.3 128 128 99.3 128 64z"></path><path fill="#E5E8EC" d="M93.5 78.4V29c0-1.9-1.5-3.4-3.4-3.4H41.8c-1.9 0-3.4 1.5-3.4 3.4v49.4h55.1z"></path><path fill="#FFF" d="M89.5 78.4V44.6H78.1c-1.9 0-3.4-1.5-3.4-3.4V29.9H37.8c-1.9 0-3.4 1.5-3.4 3.4v45.1h55.1z"></path><path fill="#FFCC04" d="m79.3 65.9-1.5 4c-.5 1.2-1.6 2-2.9 2H53.1c-1.3 0-2.4-.8-2.9-2l-1.5-4c-.5-1.3-1.7-2.2-3.1-2.2H30.9c-1.9 0-3.4 1.5-3.4 3.4v28.8c0 3.5 2.9 6.4 6.4 6.4H94c3.5 0 6.4-2.9 6.4-6.4V67.1c0-1.9-1.5-3.4-3.4-3.4H82.5c-1.4 0-2.7.9-3.2 2.2z"></path><path fill="#CED4DF" d="m74.9 45.8-.1-.1.1.1z"></path><path fill="#22D2FC" d="M74.7 29.9v11.4c0 1.9 1.5 3.4 3.4 3.4h11.4L74.7 29.9z"></path><path fill="#FFF" d="M74.1 81.6H53.9c-2 0-3.7 1.6-3.7 3.7 0 2 1.6 3.7 3.7 3.7h20.2c2 0 3.7-1.6 3.7-3.7 0-2-1.7-3.7-3.7-3.7z"></path></svg>

After

Width:  |  Height:  |  Size: 1003 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51 51" id="jpg"><circle cx="25.5" cy="25.5" r="24" fill="#FED000"></circle><path fill="#F39F03" d="M37.462 16.607v4.741a.924.924 0 0 1-.877.924v16.361c0 1.027-.84 1.867-1.867 1.867H18.282a1.866 1.866 0 0 1-1.867-1.867V22.272a.924.924 0 0 1-.877-.924v-4.741c0-.495.392-.906.877-.924v-1.316a1.86 1.86 0 0 1 1.867-1.867h16.436c1.027 0 1.867.83 1.867 1.867v1.316c.485.018.877.43.877.924z"></path><path fill="#FFF" d="M35.585 13.367v24.266c0 1.031-.836 1.867-1.867 1.867H17.282a1.867 1.867 0 0 1-1.867-1.867V13.367c0-1.031.836-1.867 1.867-1.867h16.436c1.03 0 1.867.836 1.867 1.867z" opacity=".96"></path><path fill="#33ACFE" d="M18.143 25.5h14.715v9.894H18.143z"></path><path fill="#273E56" d="M32.859 35.394h-7.622l3.959-4.357z"></path><path fill="#334861" d="M29.048 35.394H18.143l5.664-7.357z"></path><circle cx="27.697" cy="28.037" r="1.094" fill="#FED000"></circle><path fill="#EB4B33" d="M35.462 21.28H15.538a1 1 0 0 1-1-1v-4.604a1 1 0 0 1 1-1h19.924a1 1 0 0 1 1 1v4.605a1 1 0 0 1-1 1z"></path><path fill="#FFF" d="M22.511 18.797c0 .57-.155 1.499-1.475 1.499-.737 0-1.456-.403-1.456-1.37v-.384h.88v.199c0 .427.105.737.564.737.514 0 .514-.409.514-.725v-2.987h.973v3.03zm.857-3.031h1.996c1.109 0 1.53.7 1.53 1.42 0 .718-.421 1.418-1.53 1.418H24.34v1.587h-.973v-4.425zm.973 2.082h.756c.446 0 .855-.099.855-.663 0-.564-.409-.663-.855-.663h-.756v1.326zm6.36 1.84a1.49 1.49 0 0 1-1.214.608c-1.364 0-2.176-1.023-2.176-2.299 0-1.314.812-2.336 2.176-2.336.905 0 1.766.552 1.865 1.561h-.93c-.117-.496-.47-.743-.935-.743-.874 0-1.202.743-1.202 1.518 0 .738.328 1.48 1.202 1.48.638 0 .997-.334 1.053-.953h-.98V17.8h1.86v2.392h-.62l-.099-.502z"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.2" viewBox="0 0 512 512" id="mp4-file"><circle cx="256" cy="256" r="256" fill="#8ABE4F"></circle><path fill="#7BA840" d="M511.9 262.5 346.6 96.8c-1.1-1.1-3.1-1.1-4.3 0l-37.4 43.4c-.6.6-.8 1.2-.7 1.9l-3.4-6.1H159.2c-13.1 0-23.7 10.6-23.7 23.7v145.6l7.9 5.9h-16.2v66.6l8.3 7.9v6.6c0 7.6 3.5 14.3 9 18.6.7.9 58.1 58.3 100.6 100.9 3.6.1 7.2.2 10.8.2 139.3 0 252.5-111.1 256-249.5z"></path><g fill="#FFF"><path d="M169.1 193.7h145.4V206H169.1zM169.1 213.5h145.4v12.3H169.1zM169.1 233.4h145.4v12.3H169.1zM169.1 253.3h145.4v12.3H169.1zM169.1 273.1H282v12.3H169.1zM384.1 140.2l-37.4-43.4c-1.1-1.1-3.1-1.1-4.3 0L305 140.2c-1.7 1.6-.4 4.3 2.1 4.3h17.6v34h39.8v-34h17.6c2.3 0 3.6-2.6 2-4.3zM324.6 184.7h39.8v15.5h-39.8zM324.6 212c0 1.4 1.3 2.6 2.9 2.6h34c1.6 0 2.9-1.1 2.9-2.6v-5.7h-39.8v5.7z"></path><path d="M339.7 389.3c0 10.1-8.2 18.3-18.3 18.3H162.2c-10.1 0-18.3-8.2-18.3-18.3v-5.6h-8.4v8.6c0 13.1 10.6 23.7 23.7 23.7h165.2c13.1 0 23.7-10.6 23.7-23.7V220.4h-8.4v168.9zM143.9 162.7c0-10.1 8.2-18.3 18.3-18.3h136.4c-.9-2.8-.2-6 1.9-8.2l.2-.3H159.2c-13.1 0-23.7 10.6-23.7 23.7v145.6h8.4V162.7z"></path><path d="M313.2 344.5c0-18.4-14.9-33.3-33.3-33.3H127.2v66.6h152.7c18.4 0 33.3-14.9 33.3-33.3zm-109 19.2h-6.4v-27.6h-.2L187 363.7h-4.4l-10.8-28.1-.2.1v28.1h-6.4v-38.4h8.4l11 29.5h.2l11.1-29.5h8.2v38.3zm34.4-17.8c-2.4 2.2-5.7 3.3-10 3.3h-8.3v14.6h-6.4v-38.4h14.7c4.2 0 7.6 1.1 10 3.3 2.4 2.2 3.6 5.1 3.6 8.6s-1.2 6.4-3.6 8.6zm36.5 9.3h-4.9v8.5h-6.4v-8.5h-16.1l-.2-3.9 16-26h6.6V350h4.9v5.2z"></path><path d="m263.1 335.8-9.2 14.2h9.9v-15.7h-.1zM228.6 330.4h-8.3V344h8.3c2.4 0 4.2-.6 5.4-1.9 1.2-1.3 1.8-2.9 1.8-4.8s-.6-3.6-1.8-4.9c-1.2-1.3-3-2-5.4-2z"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 90 90" viewBox="0 0 90 90" id="pdf"><circle cx="45" cy="45" r="44.5" fill="#84D2ED"></circle><polygon fill="#EFC41C" stroke="#010101" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.978" points="35.6 18.8 35.6 31.9 22.5 31.9 22.5 71.2 62.8 71.2 62.8 18.8"></polygon><polygon fill="#8CC749" stroke="#010101" stroke-miterlimit="10" stroke-width="1.978" points="22.5 31.9 22.5 31.9 22.5 31.9"></polygon><polygon fill="#EB665F" stroke="#010101" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.978" points="35.6 18.8 22.5 31.9 22.5 31.9 35.6 31.9"></polygon><rect width="35.9" height="15.7" x="31.6" y="40.2" fill="#F2DFD5" stroke="#010101" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.978"></rect><path fill="#010101" d="M43 44c.7.6 1 1.5 1 2.7 0 1.2-.4 2.1-1.1 2.7-.7.6-1.8.9-3.3.9h-1.3v2.8h-2.2v-9.9h3.5C41.2 43.1 42.3 43.4 43 44zM41.4 47.9c.3-.3.4-.7.4-1.3 0-.6-.2-1-.5-1.2C41 45.2 40.4 45 39.7 45h-1.3v3.3h1.5C40.6 48.4 41.2 48.2 41.4 47.9zM53.4 44.4c.9.9 1.4 2.1 1.4 3.6 0 1.5-.5 2.8-1.4 3.7-.9.9-2.3 1.3-4.2 1.3h-3.4v-9.9h3.5C51.1 43.1 52.5 43.6 53.4 44.4zM51.8 50.3c.5-.5.8-1.3.8-2.2s-.3-1.7-.8-2.3c-.5-.5-1.4-.8-2.5-.8H48v6h1.4C50.5 51.1 51.2 50.9 51.8 50.3zM63.6 43.1v1.9H59v2.1h4.4v1.9H59v3.9h-2.2v-9.9H63.6z"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="655.359" height="655.359" fill-rule="evenodd" clip-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 6.827 6.827" id="png-file"><circle cx="3.413" cy="3.413" r="3.413" fill="#42a5f5"></circle><path fill="#fffffe" d="M1.744 4.074h.27V1.75a.164.164 0 0 1 .164-.164H4.3l.023.022.544.545.023.023v1.898h.191a.198.198 0 0 1 .198.199v.77a.198.198 0 0 1-.198.198H1.744a.198.198 0 0 1-.198-.199v-.769a.198.198 0 0 1 .198-.199zm.425 0h2.567V2.24l-.004-.004h-.498v-.495H2.178a.009.009 0 0 0-.007.003.009.009 0 0 0-.002.006v2.324zm.389-.7h1.789v.156h-1.79v-.156zm0-.544h1.789v.156h-1.79V2.83zm.07 2.094V4.37h.179c.068 0 .112.003.132.009a.145.145 0 0 1 .08.054.172.172 0 0 1 .032.107.18.18 0 0 1-.018.086.152.152 0 0 1-.047.055.162.162 0 0 1-.058.026.637.637 0 0 1-.116.008h-.073v.209h-.111zm.111-.46v.157H2.8a.29.29 0 0 0 .089-.009.074.074 0 0 0 .034-.027.075.075 0 0 0 .013-.043.072.072 0 0 0-.018-.05.077.077 0 0 0-.044-.024.532.532 0 0 0-.08-.004h-.055zm.405.46V4.37h.109l.226.37v-.37h.104v.554h-.112l-.223-.361v.36h-.104zm.814-.204v-.093H4.2v.22a.372.372 0 0 1-.237.086.304.304 0 0 1-.15-.036.232.232 0 0 1-.098-.105.337.337 0 0 1-.032-.147.32.32 0 0 1 .036-.154.244.244 0 0 1 .106-.102.285.285 0 0 1 .132-.028.26.26 0 0 1 .161.043.195.195 0 0 1 .075.12l-.111.02a.118.118 0 0 0-.044-.064.133.133 0 0 0-.08-.024.152.152 0 0 0-.117.047c-.029.03-.043.077-.043.138 0 .065.014.114.044.147.029.033.067.05.114.05a.194.194 0 0 0 .07-.014.244.244 0 0 0 .061-.034v-.07h-.128z"></path><path fill="none" d="M1.547 1.547H5.28V5.28H1.547z"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 128 128" viewBox="0 0 128 128" id="Alert"><path fill="#f34093" d="M122.9,100.2L74.3,15.9c-4.6-7.9-16-7.9-20.6,0L5.1,100.2C0.5,108.1,6.2,118,15.4,118h97.3
C121.8,118,127.5,108.1,122.9,100.2z M63.9,101c-3.5-0.1-6.7-3.3-6.6-6.8c0.1-3.5,3.3-6.7,6.8-6.6c3.5,0.1,6.7,3.3,6.6,6.8
C70.6,98,67.4,101.1,63.9,101z M71.3,51.8c-0.7,7.8-1.5,15.6-2.3,23.4c-0.5,4.4-3.2,6.1-7.3,4.5c-1-0.4-2-2-2.2-3.2
C58.6,70,58,63.4,57.3,56.8c-0.3-2.8-0.5-5.6-0.8-8.5c-0.4-3.3,0.6-4.5,4-4.5c1.1,0,2.3,0,3.4,0C72,43.8,72,43.8,71.3,51.8z" class="color343433 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 621 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" id="Messages"><path fill="#4687ba" d="m447.372 413.112-17.544-52.629c-1-3.002-.674-6.23.775-9.043 13.184-25.615 18.629-55.858 12.925-87.736-8.746-48.868-44.53-89.475-90.943-105.048 11.976 28.924 15.628 61.084 9.645 92.984-12.155 64.837-64.074 116.246-129.191 127.924-8.429 1.512-16.945 2.248-25.396 2.463 19.776 21.336 46.173 36.503 75.619 41.784 31.682 5.682 61.784.393 87.322-12.594 2.802-1.425 6.007-1.742 8.99-.748l52.83 17.61c9.251 3.084 18.052-5.716 14.968-14.967z" class="color173042 svgShape"></path><path fill="#4687ba" d="M177.161 85.744C122.283 95.941 78.306 140.526 68.472 195.47c-5.704 31.878-.259 62.121 12.925 87.736 1.449 2.813 1.775 6.041.776 9.043l-17.545 52.629c-3.083 9.251 5.717 18.051 14.968 14.968l52.83-17.61c2.984-.994 6.19-.677 8.991.748 25.537 12.987 55.638 18.276 87.321 12.594 54.809-9.829 99.281-53.698 109.541-108.428 18.078-96.414-64.733-179.316-161.118-161.406zm34.938 177.536h-68.234c-6.73 0-12.185-5.454-12.185-12.185 0-6.73 5.455-12.185 12.185-12.185h68.234c6.731 0 12.185 5.455 12.185 12.185 0 6.731-5.454 12.185-12.185 12.185zm48.739-48.739H143.864c-6.73 0-12.185-5.454-12.185-12.185 0-6.73 5.455-12.185 12.185-12.185h116.973c6.731 0 12.185 5.455 12.185 12.185.001 6.731-5.453 12.185-12.184 12.185z" class="color173042 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="phone" x="0" y="0" version="1.1" viewBox="0 0 29 29" xml:space="preserve"><path d="M5.661 23.339c4.882 4.882 12.796 4.882 17.678 0 4.882-4.882 4.882-12.796 0-17.678s-12.796-4.882-17.678 0C.78 10.543.78 18.457 5.661 23.339zm5.545-16.613l1.86 1.86c.372.372.451.947.193 1.406l-.699 1.241a.781.781 0 0 0 .129.937l4.141 4.141a.781.781 0 0 0 .937.128l1.241-.699a1.173 1.173 0 0 1 1.406.193l1.861 1.861a1.175 1.175 0 0 1 0 1.66l-.881.881a3.135 3.135 0 0 1-3.786.493l-.084-.048a24.54 24.54 0 0 1-8.868-8.681l-.423-.706a3.128 3.128 0 0 1 .469-3.823l.844-.844a1.173 1.173 0 0 1 1.66 0z" fill="#4687ba" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 678 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.2" viewBox="0 0 512 512" id="Sms"><circle cx="256" cy="256" r="256" fill="#4687ba" class="color00aebb svgShape"></circle><path fill="#ffffff" d="M256 129.3c-88.4 0-160 52-160 116.2 0 26.6 12.3 51.1 33 70.7-11.6 26.2-22.6 66.2-22.6 66.2 6.1 3.1 60.9-23.9 78.4-32.8 21.4 7.7 45.6 12.1 71.2 12.1 88.4 0 160-52 160-116.2s-71.6-116.2-160-116.2zm-59.2 148.9c-5.2 3.8-12 5.7-20.4 5.7-8.3 0-15.4-2.1-21.4-6.2-6-4.1-8.8-10.3-8.7-18.5l.1-.3h15c0 4.6 1.3 7.9 4 10.1 2.7 2.2 6.3 3.2 10.9 3.2 4.1 0 7.3-.9 9.5-2.6 2.2-1.7 3.3-4 3.3-6.9 0-3-1-5.3-3.1-7.1-2.1-1.8-5.7-3.5-10.9-5.1-8.9-2.7-15.6-5.8-20.3-9.5-4.6-3.6-6.9-8.6-6.9-14.9 0-6.3 2.6-11.5 7.8-15.5 5.2-4 11.8-6 19.9-6 8.5 0 15.4 2.2 20.6 6.5 5.2 4.3 7.7 10 7.5 16.9l-.1.3h-15c0-3.8-1.2-6.8-3.5-8.9-2.3-2.1-5.6-3.1-9.8-3.1-3.8 0-6.8.9-8.8 2.8-2.1 1.8-3.1 4.2-3.1 7 0 2.6 1.1 4.8 3.4 6.4 2.3 1.7 6.2 3.5 11.7 5.3 8.5 2.4 14.9 5.5 19.4 9.4 4.4 3.9 6.7 9 6.7 15.3-.1 6.7-2.7 11.9-7.8 15.7zm99.3 4.7h-15.5v-52.6l-.3-.1-19.1 52.7h-10.5l-19.1-52.8-.3.1v52.7h-15.5v-77.1h20.3l19.6 56.8h.3l19.8-56.8H296v77.1zm62.1-4.7c-5.2 3.8-12 5.7-20.4 5.7-8.3 0-15.4-2.1-21.4-6.2-5.9-4.1-8.8-10.3-8.7-18.5l.1-.3h15c0 4.6 1.3 7.9 4 10.1 2.7 2.2 6.3 3.2 10.9 3.2 4.1 0 7.3-.9 9.5-2.6 2.2-1.7 3.3-4 3.3-6.9 0-3-1-5.3-3.1-7.1-2.1-1.8-5.7-3.5-10.9-5.1-8.9-2.7-15.7-5.8-20.3-9.5-4.6-3.6-6.9-8.6-6.9-14.9 0-6.3 2.6-11.5 7.8-15.5 5.2-4 11.8-6 19.9-6 8.5 0 15.4 2.2 20.6 6.5 5.2 4.3 7.7 10 7.5 16.9l-.1.3h-15c0-3.8-1.2-6.8-3.5-8.9-2.3-2.1-5.6-3.1-9.8-3.1-3.8 0-6.8.9-8.8 2.8-2.1 1.8-3.1 4.2-3.1 7 0 2.6 1.1 4.8 3.4 6.4 2.3 1.7 6.2 3.5 11.7 5.3 8.5 2.4 14.9 5.5 19.4 9.4 4.4 3.9 6.7 9 6.7 15.3-.1 6.7-2.6 11.9-7.8 15.7z" class="colorffffff svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg width="1200" height="1227" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

+347 -331
View File
@@ -1,98 +1,31 @@
import { Field, Form, Formik } from "formik";
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import * as Yup from "yup";
import usersService from "../../services/UsersService";
import { tableReload } from "../../store/TableReloads";
import InputCom from "../Helpers/Inputs/InputCom";
import LoadingSpinner from "../Spinners/LoadingSpinner";
import {
validationSchema as VS,
useDispatch,
useSelector,
usersService,
initialValues as IV,
initialReqState,
useState,
tableReload,
Formik,
InputCom,
Field,
Form,
LoadingSpinner,
} from "./settings";
const validationSchema = Yup.object().shape({
country: Yup.string()
.min(1, "Minimum 3 characters")
.max(25, "Maximum 25 characters")
.required("Country is required"),
price: Yup.string()
.typeError("Invalid number")
.min(1, "Price must be greater than 0")
.test("no-e", "Invalid number", (value) => {
if (value && /\d+e/.test(value)) {
return false;
}
return true;
})
.required("Price is required"),
title: Yup.string()
.min(5, "Minimum 5 characters")
.max(149, "Maximum 149 characters")
.required("Title is required"),
description: Yup.string()
.min(5, "Minimum 5 characters")
.max(299, "Maximum 299 characters")
.required("Description is required"),
job_detail: Yup.string()
.min(3, "Minimum 3 characters")
.max(1440, "Maximum 1440 characters")
.required("Details is required"),
timeline_days: Yup.number()
.typeError("you must specify a number")
.min(1, "Price must be greater than 0")
.required("Timeline is required"),
category: Yup.array().min(1, "Select at least one checkbox"),
});
const validationSchema = VS;
function AddJob({ popUpHandler, categories }) {
const ApiCall = new usersService();
const { walletDetails } = useSelector((state) => state.walletDetails);
let dispatch = useDispatch();
let [currency, setCurrency] = useState({
loading: true,
status: false,
data: null,
}); // To Hold the array of currency getUserCurrency returns
const [requestStatus, setRequestStatus] = useState(initialReqState); // Holds state when submit button is pressed
let initialValues = {
// initial values for formik
country: "",
price: "",
title: "",
description: "",
job_detail: "",
timeline_days: "",
category: [],
};
let [requestStatus, setRequestStatus] = useState({
loading: false,
status: false,
message: "",
}); // Holds state when submit button is pressed
// FUNCTION TO GET Currency
const getUserCurrency = () => {
setCurrency((prev) => ({ ...prev, loading: true }));
ApiCall.getUserWallets()
.then((res) => {
if (res.data.internal_return < 0) {
setCurrency({ loading: false, status: true, data: [] });
return;
}
setCurrency({
loading: false,
status: true,
data: res.data.result_list,
});
})
.catch((err) => {
setCurrency({ loading: false, status: false, data: [] });
});
};
// FUNCTION TO HANDLE ADD JOB FORM
const handleAddJob = (values, helpers) => {
let reqData = {
const handleAddJob = async (values, helpers) => {
const reqData = {
country: values?.country,
price: Number(values.price) * 100,
title: values?.title,
@@ -103,19 +36,19 @@ function AddJob({ popUpHandler, categories }) {
};
setRequestStatus({ loading: true, status: false, message: "" });
ApiCall.jobManagerCreateJob(reqData)
.then((res) => {
if (res.data.internal_return < 1) {
setRequestStatus({
loading: false,
status: false,
message: "Could not complete your request at the moment",
});
setTimeout(() => {
popUpHandler();
}, 1500);
return;
}
try {
const res = await ApiCall.jobManagerCreateJob(reqData);
if (res.data.internal_return < 1) {
setRequestStatus({
loading: false,
status: false,
message: "Could not complete your request at the moment",
});
setTimeout(() => {
popUpHandler();
}, 1500);
} else {
setRequestStatus({
loading: false,
status: true,
@@ -125,65 +58,89 @@ function AddJob({ popUpHandler, categories }) {
dispatch(tableReload({ type: "JOBTABLE" }));
popUpHandler();
}, 1000);
})
.catch((err) => {
setRequestStatus({
loading: false,
status: false,
message: "Opps! something went wrong. Try Again",
});
})
.finally(() => {
setTimeout(() => {
setRequestStatus({ loading: false, status: false, message: "" });
}, 5000);
}
} catch (err) {
setRequestStatus({
loading: false,
status: false,
message: "Oops! Something went wrong. Try Again",
});
} finally {
setTimeout(() => {
setRequestStatus({ loading: false, status: false, message: "" });
}, 5000);
}
};
useEffect(() => {
getUserCurrency();
}, []);
// For form initial values
const initialValues = {
// initial values for formik
country: walletDetails.data.length == 1 ? walletDetails.data[0].country : '',
price: "",
title: "",
description: "",
job_detail: "",
timeline_days: "",
category: [],
};
return (
<div className="add-job p-5 w-full bg-white rounded-md flex flex-col justify-between">
<Formik
<Formik
initialValues={initialValues}
validationSchema={validationSchema}
onSubmit={handleAddJob}
>
{(props) => {
return (
<Form>
<div className="flex flex-col-reverse sm:flex-row">
<div className="fields w-full">
{/* inputs starts here */}
<div className="xl:flex xl:space-x-7 mb-[5px]">
<div className="field w-full mb-6 xl:mb-0">
<label
htmlFor="country"
className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold flex item-center gap-1"
>
Currency
{props.errors.country && props.touched.country && <span className="text-[12px] text-red-500">{props.errors.country}</span>}
</label>
<select
id="country"
name="country"
value={props.values.country}
className={`input-field p-2 mt-3 rounded-md placeholder:text-base text-dark-gray dark:text-white w-full h-10 bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-none`}
onChange={props.handleChange}
onBlur={props.handleBlur}
>
{currency.loading ? (
<option className="text-slate-500 text-lg" value="">
Loading...
</option>
) : currency.data.length ? (
<>
<Form className='contents'>
<div className="add-job p-5 w-full h-full rounded-md flex flex-col justify-between overflow-y-auto">
<div className="flex flex-col-reverse sm:flex-row">
<div className="fields w-full">
{/* inputs starts here */}
<div className="xl:flex xl:space-x-7 mb-[5px]">
<div className="field w-full mb-[5px] xl:mb-0">
<label
htmlFor="country"
className="job-label job-label-flex"
>
<span>Currency</span>
{props.errors.country && props.touched.country && (
<span className="text-[12px] text-red-500">
{props.errors.country}
</span>
)}
</label>
<select
id="country"
name="country"
value={props.values.country}
className={`input-field p-2 mt-3 rounded-full placeholder:text-base text-dark-gray w-full h-[42px] bg-slate-100 focus:ring-0 focus:outline-none border`}
onChange={props.handleChange}
onBlur={props.handleBlur}
disabled={walletDetails.data.length == 1}
>
{walletDetails?.loading ? (
<option className="text-slate-500 text-lg" value="">
Select a currency
Loading...
</option>
{currency.data?.map((item, index) => (
) : walletDetails.data.length > 1 ? (
<>
<option className="text-slate-500 text-lg" value="">
Select a currency
</option>
{walletDetails.data?.map((item, index) => (
<option
key={index}
className="text-slate-500 text-lg"
value={item?.country}
>
{item?.description}
</option>
))}
</>
) : walletDetails.data.length == 1 ?
<>
{walletDetails.data?.map((item, index) => (
<option
key={index}
className="text-slate-500 text-lg"
@@ -193,215 +150,274 @@ function AddJob({ popUpHandler, categories }) {
</option>
))}
</>
) : (
<option className="text-slate-500 text-lg" value="">
No Options Found! Try Again
</option>
)}
</select>
:(
<option className="text-slate-500 text-lg" value="">
No Options Found! Try Again
</option>
)}
</select>
</div>
{/* Price */}
<div className="field w-full mb-[5px] xl:mb-0">
<InputCom
fieldClass="px-6 text-right flex"
label="Reward"
labelClass=""
type="number"
name="price"
placeholder="0"
value={props.values.price}
inputHandler={props.handleChange}
blurHandler={props.handleBlur}
error={
props.errors.price &&
props.touched.price &&
props.errors.price
}
/>
</div>
{/* Timeline */}
<div className="field w-full mb-[5px] xl:mb-0">
<label
className="job-label job-label-flex"
htmlFor="timeline_days"
>
Timeline
<span className="text-green-700 text-[12px] tracking-wide">
- Duration
</span>
</label>
<Field
component="select"
name="timeline_days"
className={`input-field p-2 mt-3 rounded-full placeholder:text-base text-dark-gray w-full h-[42px] bg-slate-100 focus:ring-0 focus:outline-none border ${
props.errors.timeline_days &&
props.touched.timeline_days
? "border-[#ff0a0a63] shadow-red-500 animate-shake"
: "dark:border-[#5e6278]"
}`}
value={props.values.timeline_days}
>
<option value="" className='text-slate-500 text-lg'>Select Duration</option>
{publicArray.map(({ name, duration }, idx) => (
<option
key={idx}
className="text-slate-500 text-lg"
value={duration}
>
{name}
</option>
))}
</Field>
</div>
</div>
{/* Price */}
<div className="field w-full">
{/* Title */}
<div className="field w-full mb-[5px]">
<InputCom
fieldClass="px-6 text-right"
label="Price"
labelClass="tracking-wide"
inputBg="bg-slate-100"
type="number"
name="price"
placeholder="0"
value={props.values.price}
fieldClass="px-6"
label="Title"
labelClass=""
type="text"
name="title"
value={props.values.title}
inputHandler={props.handleChange}
blurHandler={props.handleBlur}
error={props.errors.price && props.touched.price && props.errors.price}
/>
</div>
</div>
{/* Title */}
<div className="field w-full mb-[5px]">
<InputCom
fieldClass="px-6"
label="Title"
labelClass="tracking-wide"
inputBg="bg-slate-100"
type="text"
name="title"
value={props.values.title}
inputHandler={props.handleChange}
blurHandler={props.handleBlur}
error={props.errors.title && props.touched.title && props.errors.title}
/>
</div>
{/* Description */}
<div className="field w-full mb-[5px]">
<InputCom
fieldClass="px-6"
label="Description"
labelClass="tracking-wide"
inputBg="bg-slate-100"
type="text"
name="description"
value={props.values.description}
inputHandler={props.handleChange}
blurHandler={props.handleBlur}
error={props.errors.description && props.touched.description && props.errors.description}
/>
</div>
{/* Details */}
<div className="field flex flex-col sm:flex-row w-full mb-[5px] gap-2">
<div className="sm:w-[60%] w-full">
<label
htmlFor="Job Delivery Details"
className='className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold flex items-center gap-1'
>
Job Delivery Details
{props.errors.job_detail && props.touched.job_detail && <span className="text-[12px] text-red-500">{props.errors.job_detail}</span>}
</label>
<textarea
id="Job Delivery Details"
rows="5"
className={`input-field px-3 py-2 placeholder:text-base text-dark-gray dark:text-white w-full h-[100px] bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-[#dce4e9] rounded-[10px]`}
style={{ resize: "none" }}
name="job_detail"
value={props.values.job_detail}
onChange={props.handleChange}
onBlur={props.handleBlur}
error={
props.errors.title &&
props.touched.title &&
props.errors.title
}
/>
</div>
<div className="sm:w-[35%] w-full">
<div
htmlFor="Job Categories"
className='className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold block"'
id="checked-group"
>
Categories
</div>
<div
className="sm:flex-col flex flex-wrap px-3 mt-3"
role="group"
aria-labelledby="checked-group"
>
{Object?.entries(categories).map(([key, value]) => (
<label
key={key}
className="flex gap-1 w-full items-center"
>
<Field
type="checkbox"
name="category"
value={key}
/>
<span className="text-[13.975px]">{value}</span>
</label>
))}
<span className="h-5 text-sm italic text-[#cf3917]">
{props.errors.category &&
props.touched.category &&
"please select a category"}
</span>
</div>
</div>
</div>
<div className="field w-full mb-[5px]">
<div className={`flex items-center justify-between mb-2.5`}>
<label
className="input-label text-[#181c32] dark:text-white text-[13.975px] leading-[20.9625px] font-semibold block"
htmlFor="timeline_days"
>
Timeline
<span className="text-green-700 text-sm tracking-wide">
- Expected duration of this task
</span>
</label>
{/* Description */}
<div className="field w-full mb-[5px]">
<InputCom
fieldClass="px-6"
label="Description"
labelClass=""
type="text"
name="description"
value={props.values.description}
inputHandler={props.handleChange}
blurHandler={props.handleBlur}
error={
props.errors.description &&
props.touched.description &&
props.errors.description
}
/>
</div>
<Field
component="select"
name="timeline_days"
className={`input-field p-2 mt-3 rounded-md placeholder:text-base text-dark-gray dark:text-white w-full h-10 bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-none ${
props.errors.timeline_days &&
props.touched.timeline_days
? "border-[#ff0a0a63] shadow-red-500 border-[0.5px] animate-shake"
: "border border-[#f5f8fa] dark:border-[#5e6278]"
}`}
value={props.values.timeline_days}
>
<option value="">Select Duration</option>
{publicArray.map(({ name, duration }, idx) => (
<option
className="text-slate-500 text-lg"
value={duration}
{/* Details */}
<div className="field flex flex-col sm:flex-row w-full mb-[5px] gap-2">
<div className="sm:w-[60%] w-full">
<label
htmlFor="Job Delivery Details"
className="job-label job-label-flex"
>
{name}
</option>
))}
</Field>
</div>
{/* inputs ends here */}
</div>
</div>
Job Delivery Details
{props.errors.job_detail &&
props.touched.job_detail && (
<span className="text-[12px] text-red-500">
{props.errors.job_detail}
</span>
)}
</label>
<textarea
id="Job Delivery Details"
rows="5"
className={`input-field px-3 py-2 placeholder:text-base text-dark-gray dark:text-white w-full h-[100px] bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-[#dce4e9] rounded-[10px] border`}
style={{ resize: "none" }}
name="job_detail"
value={props.values.job_detail}
onChange={props.handleChange}
onBlur={props.handleBlur}
/>
</div>
{/* ERROR DISPLAY AND SUBMIT BUTTON */}
<div className="content-footer w-full">
{/* error or success display */}
{requestStatus.message != "" &&
(!requestStatus.status ? (
<div
className={`relative p-4 my-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}
>
{requestStatus.message}
<div className="sm:w-[35%] w-full">
<label
htmlFor="Job Categories"
className='job-label'
id="checked-group"
>
Categories
</label>
<div
className="sm:flex-col flex flex-wrap px-3 mt-3"
role="group"
aria-labelledby="checked-group"
>
{categories ? (
<>
{Object?.entries(categories).map(([key, value]) => (
<label
key={key}
className="flex gap-1 w-full items-center"
>
<Field
type="checkbox"
name="category"
value={key}
/>
<span className="text-[13.975px]">{value}</span>
</label>
))}
</>
) : (
<label className="flex gap-1 w-full items-center">
<Field type="checkbox" name="category" />
<span className="text-[13.975px]">null</span>
</label>
)}
<span className="h-5 text-sm italic text-[#cf3917]">
{props.errors.category &&
props.touched.category &&
"please select a category"}
</span>
</div>
</div>
</div>
) : (
requestStatus.status && (
{/* <div className="field w-full mb-[5px]">
<div className={`flex items-center justify-between mb-2.5`}>
<label
className="job-label"
htmlFor="timeline_days"
>
Timeline
<span className="text-green-700 text-sm tracking-wide">
- Expected duration of this task
</span>
</label>
</div>
<Field
component="select"
name="timeline_days"
className={`input-field p-2 mt-3 rounded-md placeholder:text-base text-dark-gray dark:text-white w-full h-10 bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-none border ${
props.errors.timeline_days &&
props.touched.timeline_days
? "border-[#ff0a0a63] shadow-red-500 border-[0.5px] animate-shake"
: "border border-[#f5f8fa] dark:border-[#5e6278]"
}`}
value={props.values.timeline_days}
>
<option value="">Select Duration</option>
{publicArray.map(({ name, duration }, idx) => (
<option
key={idx}
className="text-slate-500 text-lg"
value={duration}
>
{name}
</option>
))}
</Field>
</div> */}
{/* inputs ends here */}
</div>
</div>
{/* ERROR DISPLAY AND SUBMIT BUTTON */}
<div className="content-footer w-full">
{/* error or success display */}
{requestStatus.message != "" &&
(!requestStatus.status ? (
<div
className={`relative p-4 my-4 text-green-700 bg-slate-200 border-slate-800 mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}
className={`relative p-4 my-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}
>
{requestStatus.message}
</div>
)
))}
{/* End of error or success display */}
<div className="w-full h-[70px] border-t border-light-purple dark:border-[#5356fb29] flex justify-end items-center">
<div className="flex items-center space-x-4 mr-9">
<button
type="button"
className="text-18 text-light-red tracking-wide "
>
<span
className="border-b dark:border-[#5356fb29] border-light-red"
onClick={popUpHandler}
>
{" "}
Cancel
</span>
</button>
{requestStatus.loading ? (
<LoadingSpinner size="8" color="sky-blue" />
) : (
<button
type="submit"
className="w-[152px] h-[46px] flex justify-center items-center btn-gradient text-base rounded-full text-white"
// className='w-20 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white'
>
Add Job
</button>
)}
</div>
requestStatus.status && (
<div
className={`relative p-4 my-4 text-green-700 bg-slate-200 border-slate-800 mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}
>
{requestStatus.message}
</div>
)
))}
{/* End of error or success display */}
</div>
</div>
<div className="modal-footer-wrapper grid grid-cols-1 xxs:grid-cols-3">
<div className="w-full col-span-1 xxs:col-span-2 xxs:col-start-2 flex justify-between items-center">
<button
type="button"
className="custom-btn border border-light-red text-light-red"
>
<span
className="px-2"
onClick={popUpHandler}
>
{" "}
Cancel
</span>
</button>
{requestStatus?.loading ? (
<LoadingSpinner size="8" color="sky-blue" />
) : (
<button
type="submit"
className="custom-btn btn-gradient text-white"
>
Add Job
</button>
)}
</div>
</div>
</Form>
);
}}
</Formik>
</div>
);
}
+100
View File
@@ -0,0 +1,100 @@
import { Field, Form, Formik } from "formik";
import { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import * as Yup from "yup";
import usersService from "../../services/UsersService";
import { tableReload } from "../../store/TableReloads";
import InputCom from "../Helpers/Inputs/InputCom";
import LoadingSpinner from "../Spinners/LoadingSpinner";
// Initialize state for request values
const initialReqState = {
loading: false,
status: false,
message: "",
};
// For form initial values
const initialValues = {
// initial values for formik
country: "",
price: "",
title: "",
description: "",
job_detail: "",
timeline_days: "",
category: [],
};
// const getWalletDetail = (country) => { // A FUNCTION TO GET USER BALANCE BASED ON COUNTRY SELECTED
// const walletChecker = walletDetails?.data.find(
// (item) => item.country === country
// );
// return walletChecker ? walletChecker.amount : 0;
// };
// To get the validation schema
const validationSchema = Yup.object().shape({
country: Yup.string()
.min(1, "Minimum 3 characters")
.max(25, "Maximum 25 characters")
.required("Currency is required"),
price: Yup.string()
.typeError("Invalid number")
.min(1, "Price must be greater than 0")
.test("no-e", "Invalid number", (value) => {
if (value && /\d+e/.test(value)) {
return false;
}
return true;
})
.required("Price is required"),
title: Yup.string()
.min(5, "Minimum 5 characters")
.max(80, "Maximum 80 characters")
.required("Title is required"),
description: Yup.string()
.min(5, "Minimum 5 characters")
.max(299, "Maximum 299 characters")
.required("Description is required"),
job_detail: Yup.string()
.min(3, "Minimum 3 characters")
.max(499, "Maximum 499 characters")
.required("Details is required"),
timeline_days: Yup.number()
.typeError("you must specify a number")
.min(1, "Price must be greater than 0")
.required("Timeline is required"),
category: Yup.array().min(1, "Select category"),
});
const getWalletDetail = (countryParams, walletDetails) => {
// A FUNCTION TO GET USER BALANCE BASED ON COUNTRY SELECTED
const walletChecker = walletDetails?.data.find(
(item) => item.country === countryParams
);
return walletChecker
? {
description: walletChecker.description,
country: walletChecker.country,
}
: "";
};
export {
Field,
Form,
Formik,
useState,
useEffect,
useDispatch,
useSelector,
usersService,
InputCom,
LoadingSpinner,
initialReqState,
initialValues,
validationSchema,
getWalletDetail,
tableReload
};
@@ -0,0 +1,9 @@
import React from 'react'
export default function AppDownload() {
return (
<div>
<div className='h-screen flex justify-center items-center'>App Download Content Comes here</div>
</div>
)
}
+80
View File
@@ -0,0 +1,80 @@
import React, { useContext } from "react";
import { Link } from "react-router-dom";
import { localImgLoad } from "../../lib";
import DarkModeContext from "../Contexts/DarkModeContext";
export default function LoginLayout({ slogan, children }) {
const bgImg = localImgLoad("images/left-wrenchboard.jpg");
const bgImgNig = localImgLoad("images/wrench-home-back-nigeria.jpg");
const bgImgCom = localImgLoad("images/wrench-home-back-common.jpg");
const { countryMode } = useContext(DarkModeContext);
return (
<div
className={`min-h-screen overflow-y-auto bg-cover bg-center flex flex-col justify-between items-center`}
style={{
backgroundImage: `url(${countryMode == "NG" ? bgImgNig : bgImgCom})`,
}}
>
<div className={`w-full grid grid-cols-1 xl:grid-cols-2`}>
{/* <div
className={`auth-bg hidden xl:block bg-blue-50 relative bg-cover bg-no-repeat border-0 after:content-[''] after:absolute after:inset-0`}
style={{backgroundImage: `url(${bgImg})`}}
>
</div> */}
<div className="p-5 sm:p-7 flex place-content-center xl:col-start-2">
<div className="py-5 w-full sm:w-11/12 max-w-[550px] shadow-md bg-slate-50 dark:bg-dark-white rounded-[0.475rem]">
<div className="w-full flex justify-center items-center">
{children && children}
</div>
</div>
</div>
</div>
<div className='w-full shadow-md bg-slate-50 dark:bg-dark-white'>
<div className="w-full flex flex-col md:flex-row justify-center items-center px-10 py-2">
<div className="flex justify-center items-center">
<div className="flex items-center">
<a
href="https://www.wrenchboard.com/about-us"
className="text-[#a1a5b7] text-[15px] px-2 font-medium hover:text-[#009ef7]"
target="_blank"
rel="noreferrer"
>
About
</a>
<a
href="https://www.wrenchboard.com/service"
className="text-[#a1a5b7] text-[15px] px-2 font-medium hover:text-[#009ef7]"
target="_blank"
rel="noreferrer"
>
Services
</a>
<a
href="https://www.wrenchboard.com/contact"
className="text-[#a1a5b7] text-[15px] px-2 font-medium hover:text-[#009ef7]"
target="_blank"
rel="noreferrer"
>
Contact Us
</a>
</div>
</div>
<p className="text-black text-[15px] px-2 font-medium flex items-center gap-1">
<span className="dark:text-white">
&copy; {new Date().getFullYear()} -
</span>
<Link to="/" className="text-[#009ef7] ml-1">
WrenchBoard
</Link>{" "}
</p>
</div>
</div>
</div>
);
}
@@ -42,7 +42,7 @@ export default function ActivitiesTab({ className }) {
<div className="relative w-full overflow-x-auto sm:rounded-lg">
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<tbody>
<tr className="text-base text-thin-light-gray whitespace-nowrap border-b dark:border-[#5356fb29] default-border-b dark:border-[#5356fb29] ottom ">
<tr className="text-base text-thin-light-gray whitespace-nowrap border-b default-border-b dark:border-[#5356fb29] ottom ">
<td className="py-4 pr-12">List</td>
<td className="py-4 text-start px-2">Product Name</td>
<td className="py-4 text-start px-2">Price</td>
@@ -1,8 +1,8 @@
import React, { useEffect } from 'react';
import { useDispatch } from "react-redux";
import { useLocation, useNavigate } from 'react-router-dom';
import usersService from '../../../services/UsersService';
import {updateUserDetails} from "../../../store/UserDetails";
import { useDispatch } from "react-redux";
import { updateUserDetails } from "../../../store/UserDetails";
import AuthLayout from "../AuthLayout";
function FbookRedirect() {
@@ -22,38 +22,50 @@ function FbookRedirect() {
console.log(codeResponse);
/*
POST /token HTTP/1.1
Host: oauth2.googleapis.com
Content-Type: application/x-www-form-urlencoded
https://developers.facebook.com/docs/facebook-login/guides/advanced/manual-flow/#exchangecode
Step 1. Get access token by code
code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&
client_id=your_client_id&
client_secret=your_client_secret&
redirect_uri=https%3A//oauth2.example.com/code&
grant_type=authorization_code
GET https://graph.facebook.com/v17.0/oauth/access_token?
client_id={app-id}
&redirect_uri={redirect-uri}
&client_secret={app-secret}
&code={code-parameter}
https://developers.facebook.com/docs/facebook-login/guides/access-tokens/get-long-lived
Step 2. Get long-lived token by access token
curl -i -X GET "https://graph.facebook.com/{graph-api-version}/oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={your-access-token}"
*/
// process.env.REACT_APP_FACEBOOK_CLIENT_ID
// process.env.REACT_APP_FACEBOOK_CLIENT_SCOPE
var reqData = {
auth_type: "FACEBOOK",
code: codeResponse,
redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL,
redirect_uri: process.env.REACT_APP_FACEBOOK_REDIRECT_URL,
};
// userApi
// .authStart(reqData)
// .then((res) => {
// if (res.status == 200 && res.data.internal_return >= 0 && res.data.member_id && res.data.uid && res.data.session) {
// localStorage.setItem("member_id", `${res.data.member_id}`);
// localStorage.setItem("uid", `${res.data.uid}`);
// localStorage.setItem("session_token", `${res.data.session}`);
// dispatch(updateUserDetails({...res.data}));
// navigate('/', {replace: true})
// return
// }
// navigate('/login', {state: {error: true}})
// })
// .catch((error) => {
// navigate('/login', {state: {error: true}})
// console.log(error);
// });
userApi
.authStart(reqData)
.then((res) => {
if (res.status == 200 && res.data.internal_return >= 0 && res.data.member_id && res.data.uid && res.data.session) {
localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`);
dispatch(updateUserDetails({...res.data}));
navigate('/', {replace: true})
return
}
navigate('/login', {state: {error: true}})
})
.catch((error) => {
navigate('/login', {state: {error: true}})
console.log(error);
});
},[])
return (
<AuthLayout>
@@ -1,26 +1,26 @@
import React, { useEffect } from 'react';
import { useLocation, useNavigate } from 'react-router-dom';
import usersService from '../../../services/UsersService';
import {updateUserDetails} from "../../../store/UserDetails";
import React, { useEffect } from "react";
import { useDispatch } from "react-redux";
import { useLocation, useNavigate } from "react-router-dom";
import usersService from "../../../services/UsersService";
import { updateUserDetails } from "../../../store/UserDetails";
import AuthLayout from "../AuthLayout";
function Redirect() {
const location = useLocation();
const navigate = useNavigate();
const userApi = new usersService();
const dispatch = useDispatch()
const location = useLocation();
const navigate = useNavigate();
const userApi = new usersService();
const dispatch = useDispatch();
const queryParams = new URLSearchParams(location?.search);
const codeResponse = queryParams.get("code");
const queryParams = new URLSearchParams(location?.search);
const codeResponse = queryParams.get("code");
useEffect(()=>{
if(!codeResponse){
navigate('/login', {state: {error: true}})
return
}
console.log(codeResponse);
/*
useEffect(() => {
if (!codeResponse) {
navigate("/login", { state: { error: true } });
return;
}
console.log(codeResponse);
/*
POST /token HTTP/1.1
Host: oauth2.googleapis.com
Content-Type: application/x-www-form-urlencoded
@@ -31,34 +31,40 @@ function Redirect() {
redirect_uri=https%3A//oauth2.example.com/code&
grant_type=authorization_code
*/
var reqData = {
auth_type: "GOOGLE",
code: codeResponse,
redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL,
};
userApi
.authStart(reqData)
.then((res) => {
if (res.status == 200 && res.data.internal_return >= 0 && res.data.member_id && res.data.uid && res.data.session) {
localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`);
dispatch(updateUserDetails({...res.data}));
navigate('/', {replace: true})
return
}
navigate('/login', {state: {error: true}})
})
.catch((error) => {
navigate('/login', {state: {error: true}})
console.log(error);
});
},[])
var reqData = {
auth_type: "GOOGLE",
code: codeResponse,
redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL,
};
userApi
.authStart(reqData)
.then((res) => {
if (
res.status == 200 &&
res.data.internal_return >= 0 &&
res.data.member_id &&
res.data.uid &&
res.data.session
) {
localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`);
dispatch(updateUserDetails({ ...res.data }));
navigate("/", { replace: true });
return;
}
navigate("/login", { state: { error: true } });
})
.catch((error) => {
navigate("/login", { state: { error: true } });
console.log(error);
});
}, []);
return (
<AuthLayout>
<div className='min-h-[70vh]'>Redirecting ... </div>
</AuthLayout>
)
<div className="min-h-[70vh]">Redirecting ... </div>
</AuthLayout>
);
}
export default Redirect
export default Redirect;
@@ -0,0 +1,37 @@
import React from 'react'
import { useNavigate } from 'react-router-dom'
import localImgLoad from '../../lib/localImgLoad'
const ForgetPwdResponse = ({title, message, type}) => {
const navigate = useNavigate()
return (
<>
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<h1 className={`${type ? 'text-black' : 'text-red-500'}text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]`}>
{title}
</h1>
</div>
<div className="title-area w-[100px] h-[100px] mx-auto flex flex-col justify-center items-center relative text-center mb-7">
<img className='w-full h-full' src={`${type ? localImgLoad('images/icons/success.svg') : localImgLoad('images/icons/error.svg')}`} alt='alert-banner' />
</div>
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<p className={`${type ? 'text-sky-blue' : 'text-red-500'} font-semibold dark:text-white mb-3 leading-[27.3px] text-[18px]`}>
{message}
</p>
</div>
<div className="signin-area mb-3.5">
<div className="flex justify-center items-center gap-2">
<button
type="button"
onClick={() => navigate("/login")}
className={`h-[48px] rounded-full mb-6 text-[15px] font-semibold text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center py-[0.8875rem] px-[1.81rem]`}
>
<span>Home</span>
</button>
</div>
</div>
</>
)
}
export default ForgetPwdResponse
+128 -99
View File
@@ -1,9 +1,13 @@
import React, { useState } from "react";
import { Link, useNavigate } from "react-router-dom";
import WrenchBoard from "../../../assets/images/wrenchboard.png";
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
import usersService from "../../../services/UsersService";
import InputCom from "../../Helpers/Inputs/InputCom";
import AuthLayout from "../AuthLayout";
import EmailValidator from "../../../lib/EmailValidator";
import ForgetPwdResponse from "../ForgetPwdResponse";
import ReCAPTCHA from "react-google-recaptcha";
export default function ForgotPassword() {
const [checked, setValue] = useState(false);
@@ -11,7 +15,7 @@ export default function ForgotPassword() {
// email
const [email, setMail] = useState("");
const [msgError, setMsgError] = useState("");
const [msgSuccess, setMsgSuccess] = useState(false);
const [msgSuccess, setMsgSuccess] = useState(null);
const navigate = useNavigate();
const userApi = new usersService();
@@ -20,15 +24,38 @@ export default function ForgotPassword() {
setMail(e?.target.value);
};
const humanChecker = () => {
setValue(!checked);
};
// const humanChecker = () => {
// setValue(!checked);
// };
function humanChecker(value) {
// console.log("Captcha value:", value);
if(value){
setValue(true)
}else{
setValue(false)
}
}
const resetHandler = async () => {
if (email == "") {
setMsgError("An email is required");
} else if (!checked) {
return setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
if (!checked) {
setMsgError("Check if you are human");
return setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
if(!EmailValidator(email)){ // CHECKS IF EMAIL IS VALID
setMsgError("Invalid Email");
return setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
if (email !== "" && checked) {
@@ -41,8 +68,11 @@ export default function ForgotPassword() {
setMail("");
setValue(false);
setResetLoading(false);
}else{
setMsgSuccess(false);
}
} catch (error) {
setMsgSuccess(false);
setResetLoading(false);
setMail("");
setMsgError("An error occurred");
@@ -53,9 +83,6 @@ export default function ForgotPassword() {
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
}
setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
};
return (
@@ -73,106 +100,108 @@ export default function ForgotPassword() {
</div>
<div className="content-wrapper login shadow-md w-full lg:max-w-[500px] mx-auto flex justify-center items-center xl:bg-white dark:bg-dark-white 2xl:w-[828px] rounded-[0.475rem] sm:p-7 p-5">
<div className="flex flex-col justify-center w-full h-full px-5">
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
Forget Password
</h1>
<span className="text-gray-400 font-medium text-[16.25px] leading-[24.375px]">
Enter your email to reset your password.
</span>
</div>
<div className="input-area">
<div className="input-item mb-10">
<InputCom
fieldClass="px-6"
placeholder="Your Username/Email"
label="Email"
name="email"
type="email"
value={email}
inputHandler={handleEmail}
iconName="message"
/>
{msgSuccess == null ?
<>
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
Forget Password
</h1>
<span className="text-gray-400 font-medium text-[16.25px] leading-[24.375px]">
Enter your email to reset your password.
</span>
</div>
{/* hCaptha clone for the time being */}
<div className="mb-10">
<div className="w-[303px] h-[78px] mx-auto overflow-hidden">
<div className="w-[300px] h-[74px] bg-white bottom-[1px] rounded border-gray-100 overflow-hidden cursor-pointer">
{/* Checkbox */}
<div className="h-full relative inline-block">
<div className="relative table top-0 h-full">
<div className="table-cell align-middle">
<div className="relative w-[30px] h-[30px] mx-[15px]">
<input
type="checkbox"
name="human-checkbox"
id="human-checkbox"
className="w-[28px] h-[28px] border-[1px] rounded border-gray-400 checked:bg-white"
checked={checked}
onChange={humanChecker}
/>
<div className="input-area">
<div className="input-item mb-10">
<InputCom
fieldClass="px-6"
placeholder="Your Username/Email"
label="Email"
name="email"
type="email"
value={email}
inputHandler={handleEmail}
iconName="message"
/>
</div>
{/* hCaptha clone for the time being */}
<div className="mb-10 flex justify-center w-full">
<ReCAPTCHA
sitekey={process.env.REACT_APP_GOOGLE_RECAPTCHA_SITEKEY}
onChange={humanChecker}
/>
</div>
{/* <div className="mb-10">
<div className="w-[303px] h-[78px] mx-auto overflow-hidden">
<div className="w-[300px] h-[74px] bg-white bottom-[1px] rounded border-gray-100 overflow-hidden cursor-pointer">
<div className="h-full relative inline-block">
<div className="relative table top-0 h-full">
<div className="table-cell align-middle">
<div className="relative w-[30px] h-[30px] mx-[15px]">
<input
type="checkbox"
name="human-checkbox"
id="human-checkbox"
className="w-[28px] h-[28px] border-[1px] rounded border-gray-400 checked:bg-white"
checked={checked}
onChange={humanChecker}
/>
</div>
</div>
</div>
</div>
</div>
<div className="h-full relative inline-block w-[170px]">
<label className="relative table top-0 h-full">
<label className="table-cell align-middle">
<label
className="text-800 text-sm"
htmlFor="human-checkbox"
>
I am human
<div className="h-full relative inline-block w-[170px]">
<label className="relative table top-0 h-full">
<label className="table-cell align-middle">
<label
className="text-800 text-sm"
htmlFor="human-checkbox"
>
I am human
</label>
</label>
</label>
</label>
</div>
<div className="h-full relative inline-block w-16"></div>
</div>
<div className="h-full relative inline-block w-16"></div>
</div>
</div> */}
{msgError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]">
{msgError}
</div>
)}
<div className="signin-area mb-3.5">
<div className="flex justify-center items-center gap-4">
<button
type="button"
onClick={() => navigate("/login")}
className={`h-[48px] rounded-full mb-6 text-[15px] font-semibold text-white hover:text-white flex justify-center bg-red-500 hover:bg-red-600 transition-all duration-300 items-center py-[0.8875rem] px-[1.8125rem] `}
>
Cancel
</button>
<button
type="button"
onClick={resetHandler}
className={`h-[48px] rounded-full mb-6 text-[15px] font-semibold text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center py-[0.8875rem] px-[1.81rem]`}
>
{resetLoading ? (
<div className="signup btn-loader"></div>
) : (
<span>Send Code</span>
)}
</button>
</div>
</div>
</div>
{msgError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]">
{msgError}
</div>
)}
{msgSuccess && (
<div className="relative p-4 text-[#44228c] bg-[#e3d7fb] border-[#d5c4f9] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]">
If we find your email, you will receive a link to reset your
password. Please use or{" "}
<Link
to="/contact"
className="text-[#4687ba] hover:text-[#009ef7]"
>
contact form
</Link>{" "}
if you did not get our message after few minutes.
</div>
)}
<div className="signin-area mb-3.5">
<div className="flex justify-center items-center gap-2">
<button
type="button"
onClick={resetHandler}
className={`rounded-[0.475rem] mb-6 text-[15px] font-semibold text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center py-[0.8875rem] px-[1.81rem]`}
>
{resetLoading ? (
<div className="signup btn-loader"></div>
) : (
<span>Send Code</span>
)}
</button>
<button
type="button"
onClick={() => navigate("/login")}
className={`rounded-[0.475rem] mb-6 text-[15px] font-semibold text-[#009ef7] hover:text-white flex justify-center bg-[#f1faff] hover:bg-[#009ef7] transition-all duration-300 items-center py-[0.8875rem] px-[1.8125rem] `}
>
Cancel
</button>
</div>
</div>
</div>
</>
:
<ForgetPwdResponse
title={'Forget Password'}
message={msgSuccess? `Check your email for the link to continue password reset. Note the reset link will expire short time` : 'We are unable to continue with your request. Please try another username or contact us for help'}
type={msgSuccess}
/>
}
</div>
</div>
</div>
@@ -0,0 +1,211 @@
import React, { useState } from "react";
import { Link, useNavigate } from "react-router-dom";
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
import usersService from "../../../services/UsersService";
import InputCom from "../../Helpers/Inputs/InputCom";
import AuthLayout from "../AuthLayout2";
import EmailValidator from "../../../lib/EmailValidator";
import ForgetPwdResponse from "../ForgetPwdResponse";
import ReCAPTCHA from "react-google-recaptcha";
export default function ForgotPassword() {
const [checked, setValue] = useState(false);
const [resetLoading, setResetLoading] = useState(false);
// email
const [email, setMail] = useState("");
const [msgError, setMsgError] = useState("");
const [msgSuccess, setMsgSuccess] = useState(null);
const navigate = useNavigate();
const userApi = new usersService();
const handleEmail = (e) => {
setMail(e?.target.value);
};
// const humanChecker = () => {
// setValue(!checked);
// };
function humanChecker(value) {
// console.log("Captcha value:", value);
if(value){
setValue(true)
}else{
setValue(false)
}
}
const resetHandler = async () => {
if (email == "") {
setMsgError("An email is required");
return setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
if (!checked) {
setMsgError("Check if you are human");
return setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
if(!EmailValidator(email)){ // CHECKS IF EMAIL IS VALID
setMsgError("Invalid Email");
return setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
if (email !== "" && checked) {
const reqData = { email };
setResetLoading(true);
try {
const res = await userApi.StartResetPassword(reqData);
if (res.status === 200 && res?.data?.internal_return >= 0) {
setMsgSuccess(true);
setMail("");
setValue(false);
setResetLoading(false);
}else{
setMsgSuccess(false);
}
} catch (error) {
setMsgSuccess(false);
setResetLoading(false);
setMail("");
setMsgError("An error occurred");
throw new Error(error);
} finally {
setTimeout(() => {
setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
}
}
};
return (
<>
<AuthLayout slogan="Welcome to WrenchBoard">
<div className="w-full">
<div className="mb-12">
<Link to="#">
<img
src={WrenchBoard}
alt="wrenchboard"
className="h-10 mx-auto"
/>
</Link>
</div>
<div className="flex place-content-center">
<div className="w-10/12">
{msgSuccess == null ?
<>
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
Forget Password
</h1>
<span className="text-gray-400 font-medium text-[16.25px] leading-[24.375px]">
Enter your email to reset your password.
</span>
</div>
<div className="input-area">
<div className="input-item mb-10">
<InputCom
fieldClass="px-6"
placeholder="Your Username/Email"
label="Email"
name="email"
type="email"
value={email}
inputHandler={handleEmail}
iconName="message"
/>
</div>
{/* hCaptha clone for the time being */}
<div className="mb-10 flex justify-center w-full">
<ReCAPTCHA
sitekey={process.env.REACT_APP_GOOGLE_RECAPTCHA_SITEKEY}
onChange={humanChecker}
/>
</div>
{/* <div className="mb-10">
<div className="w-[303px] h-[78px] mx-auto overflow-hidden">
<div className="w-[300px] h-[74px] bg-white bottom-[1px] rounded border-gray-100 overflow-hidden cursor-pointer">
<div className="h-full relative inline-block">
<div className="relative table top-0 h-full">
<div className="table-cell align-middle">
<div className="relative w-[30px] h-[30px] mx-[15px]">
<input
type="checkbox"
name="human-checkbox"
id="human-checkbox"
className="w-[28px] h-[28px] border-[1px] rounded border-gray-400 checked:bg-white"
checked={checked}
onChange={humanChecker}
/>
</div>
</div>
</div>
</div>
<div className="h-full relative inline-block w-[170px]">
<label className="relative table top-0 h-full">
<label className="table-cell align-middle">
<label
className="text-800 text-sm"
htmlFor="human-checkbox"
>
I am human
</label>
</label>
</label>
</div>
<div className="h-full relative inline-block w-16"></div>
</div>
</div>
</div> */}
{msgError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]">
{msgError}
</div>
)}
<div className="signin-area mb-3.5">
<div className="flex justify-center items-center gap-4">
<button
type="button"
onClick={() => navigate("/login")}
className={`h-[48px] rounded-full mb-6 text-[15px] font-semibold text-white hover:text-white flex justify-center bg-red-500 hover:bg-red-600 transition-all duration-300 items-center py-[0.8875rem] px-[1.8125rem] `}
>
Cancel
</button>
<button
type="button"
onClick={resetHandler}
className={`h-[48px] rounded-full mb-6 text-[15px] font-semibold text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center py-[0.8875rem] px-[1.81rem]`}
>
{resetLoading ? (
<div className="signup btn-loader"></div>
) : (
<span>Send Code</span>
)}
</button>
</div>
</div>
</div>
</>
:
<ForgetPwdResponse
title={'Forget Password'}
message={msgSuccess? `Check your email for the link to continue password reset. Note the reset link will expire short time` : 'We are unable to continue with your request. Please try another username or contact us for help'}
type={msgSuccess}
/>
}
</div>
</div>
</div>
</AuthLayout>
</>
);
}
+216 -116
View File
@@ -1,26 +1,35 @@
import React, { useEffect, useLayoutEffect, useState } from "react";
import { Link, useNavigate, useLocation } from "react-router-dom";
import { Link, useLocation, useNavigate } from "react-router-dom";
import linkedInLogo from "../../../assets/images/Linkedin.png";
import appleLogo from "../../../assets/images/apple-black.svg";
import facebookLogo from "../../../assets/images/facebook-4.svg";
import facebookLogo from "../../../assets/images/facebook.svg";
import googleLogo from "../../../assets/images/google-logo.svg";
import WrenchBoard from "../../../assets/images/wrenchboard.png";
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
import usersService from "../../../services/UsersService";
import InputCom from "../../Helpers/Inputs/InputCom";
import AuthLayout from "../AuthLayout";
// import { GoogleOAuthProvider } from '@react-oauth/google';
import { googleLogout, useGoogleLogin } from "@react-oauth/google";
import { useGoogleLogin } from "@react-oauth/google";
import { useDispatch } from "react-redux";
import { updateUserDetails } from "../../../store/UserDetails";
import ReCAPTCHA from "react-google-recaptcha";
export default function Login() {
// eslint-disable-next-line no-restricted-globals
const queryParams = new URLSearchParams(location?.search);
// const sessionExpired = queryParams.get("sessionExpired");
const dispatch = useDispatch();
const {state} = useLocation()
const { state } = useLocation();
let [loginType, setLoginType] = useState('');
const [sessionExpired, setSessionExpired] = useState(queryParams.get("sessionExpired"))
const [validCaptcha, setValidCaptcha] = useState({ show: false, valid: "" }); // FOR CAPTCHA
let [loginType, setLoginType] = useState("");
const [checked, setValue] = useState(false);
const [loginLoading, setLoginLoading] = useState(false);
const [showPassword, setShowPassword] = useState(false);
@@ -30,12 +39,8 @@ export default function Login() {
// for the catch error
const [msgError, setMsgError] = useState("");
const rememberMe = () => {
setValue(!checked);
};
// To Show and Hide Password
const togglePasswordVisibility = () => {
// To Show and Hide Password
const togglePasswordVisibility = () => {
setShowPassword(!showPassword);
};
@@ -43,7 +48,7 @@ export default function Login() {
const handleLoginType = ({ target: { name } }) => {
setLoginType(name);
let currentDate = new Date();
let expirationDate = new Date(currentDate.getTime() + (24 * 60 * 60 * 1000));
let expirationDate = new Date(currentDate.getTime() + 24 * 60 * 60 * 1000);
// Convert the expiration date to the appropriate format
let expirationDateString = expirationDate.toUTCString();
document.cookie = `loginType=${name}; expires=${expirationDateString}; path=/;`;
@@ -83,7 +88,9 @@ export default function Login() {
if (regEx.test(email) == false) {
setLoginLoading(false);
setMsgError("Invalid Email");
return setTimeout(()=>{setMsgError("");},3000)
return setTimeout(() => {
setMsgError("");
}, 3000);
}
// Post Data Info for normal Login
postData = {
@@ -91,7 +98,6 @@ export default function Login() {
password: password,
sessionid: "STARTING",
login_mode: 1100,
action: 11025,
};
} else if (name == "family") {
// Post Data Info for family Login
@@ -100,7 +106,6 @@ export default function Login() {
pin: password,
sessionid: "20067A92714",
login_mode: 1105,
action: 11025,
};
} else {
setLoginLoading(false);
@@ -110,20 +115,39 @@ export default function Login() {
}, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT));
return;
}
if (name == "full" && !validCaptcha.valid && validCaptcha.show) {
// RUNS AND DISPLAYS CAPTCHA, IF ERROR OCCURED DURING LOGIN FOR FULL LOGIN ALONE
setMsgError("Please Verify Captcha");
setLoginLoading(false);
setTimeout(() => {
setMsgError("");
}, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT));
return;
}
userApi
.logInUser(postData)
.then((res) => {
if (res.status != 200 || res.data.internal_return < 0 || !res.data.member_id || !res.data.uid || !res.data.session) {
if (
res.status != 200 ||
res.data.internal_return < 0 ||
!res.data.member_id ||
!res.data.uid ||
!res.data.session
) {
// setMsgError("Wrong, email/password");
setLoginError(true);
setLoginLoading(false);
setValidCaptcha((prev) => ({ ...prev, show: true })); // DISPLAYS CAPTCHA IF ERROR
return;
}
localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`);
if (name === "family") {
sessionStorage.setItem("family_uid", res.data?.family_uid);
}
// localStorage.setItem("session", `${res.data.session}`);
dispatch(updateUserDetails({...res.data}));
dispatch(updateUserDetails({ ...res.data }));
setTimeout(() => {
navigate("/", { replace: true });
setLoginLoading(false);
@@ -132,6 +156,7 @@ export default function Login() {
.catch((error) => {
setMsgError("Unable to login, try again");
setLoginLoading(false);
setValidCaptcha((prev) => ({ ...prev, show: true })); // DISPLAYS CAPTCHA IF ERROR
})
.finally(() => {
setTimeout(() => {
@@ -142,6 +167,15 @@ export default function Login() {
});
};
function captchaChecker(value) {
// FUNCTION TO VALIDATE CAPTCHA
if (value) {
setValidCaptcha({ show: true, valid: value });
} else {
setValidCaptcha({ show: true, valid: "" });
}
}
const googleLogin = useGoogleLogin({
flow: "auth-code",
ux_mode: "redirect",
@@ -154,11 +188,12 @@ export default function Login() {
// In order to update the selected login type whenever the component renders
// useEffect(() => {
// Clear the loginType cookie if the user switches to loginfull
// document.cookie ="loginType=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
// Clear the loginType cookie if the user switches to loginfull
// document.cookie ="loginType=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
// }, []);
useLayoutEffect(()=>{ // checks the cookie in order to set the login type before components mounts
useLayoutEffect(() => {
// checks the cookie in order to set the login type before components mounts
// if(document.cookie.includes("loginType=family")){
// setLoginType('family')
// }else if(document.cookie.includes("loginType=full")){
@@ -166,39 +201,54 @@ export default function Login() {
// }else{
// setLoginType('full')
// }
function readCookie(cname) { // checks the cookie in order to set the login type before components mounts
function readCookie(cname) {
// checks the cookie in order to set the login type before components mounts
let name = cname + "=";
let decoded_cookie = decodeURIComponent(document.cookie);
let carr = decoded_cookie.split(';');
for(let i=0; i<carr.length;i++){
let carr = decoded_cookie.split(";");
for (let i = 0; i < carr.length; i++) {
let c = carr[i];
while(c.charAt(0)==' '){
c=c.substring(1);
while (c.charAt(0) == " ") {
c = c.substring(1);
}
if(c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return 'full'
return "full";
}
let loginValue = readCookie('loginType')
setLoginType(loginValue)
let loginValue = readCookie("loginType");
setLoginType(loginValue);
if(state?.error){ //check if the login path has an error state indicating any social handle login with error
if (state?.error) {
//check if the login path has an error state indicating any social handle login with error
setMsgError("Unexpected Error, Please try again soon.");
setTimeout(()=>{
setTimeout(() => {
setMsgError("");
navigate('/login', {replace: true})
},4000)
navigate("/login", { replace: true });
}, 4000);
}
},[])
}, []);
useEffect(() => {
setMail("");
setPassword("");
}, [loginType]);
// EFFECT TO CLEAR SESSION EXPIRY IF IT EXISTS AFTER SOME SECONDS
useEffect(()=>{
let timer;
if(sessionExpired == "true"){
timer = setTimeout(()=>{
setSessionExpired(false)
},5000)
}
return () => {
clearTimeout(timer)
}
}, [])
return (
<>
<AuthLayout slogan="Welcome to WrenchBoard">
@@ -214,27 +264,41 @@ export default function Login() {
</div>
<div className="content-wrapper login shadow-md w-full lg:max-w-[530px] mx-auto flex justify-center items-center xl:bg-white dark:bg-dark-white 2xl:w-[828px] rounded-[0.475rem] sm:p-7 p-5">
<div className="w-full">
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
{/* <h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
{/* HIDES THIS IF USER SESSION HAS EXPIRED */}
{sessionExpired != "true" && (
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
{/* <h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
Sign In to WrenchBoard
</h1> */}
<span className="text-gray-400 font-medium text-[16.25px] leading-[24.375px]">
New Here?{" "}
<Link
to="/signup"
className="font-semibold text-[#4687ba] hover:text-[#009ef7] transition"
>
Create an Account
</Link>
</span>
</div>
<span className="text-gray-400 font-medium text-[16.25px] leading-[24.375px]">
New Here?{" "}
<Link
to="/signup"
className="font-semibold text-[#4687ba] hover:text-[#009ef7] transition"
>
Create an Account
</Link>
</span>
</div>
)}
{/* SHOWS THIS IF USER SESSION HAS EXPIRED */}
{sessionExpired == "true" && (
<div className="w-full p-1 mb-7">
<p className="text-red-500 text-base text-center">
Your session expired and will need to login again
</p>
</div>
)}
{/* switch login component */}
<div className="ml-7 flex justify-start items-center gap-3">
<button
name="full"
className={`login-type-btn px-4 py-1 rounded-t-2xl ${
loginType=='full' ? "bg-[#4687ba] border-[2px] border-[#4687ba] text-white" : "bg-white text-[#000] border-t-[2px]"
loginType == "full"
? "bg-[#4687ba] border-[2px] border-[#4687ba] text-white"
: "bg-white text-[#000] border-t-[2px]"
}`}
onClick={handleLoginType}
>
@@ -243,7 +307,9 @@ export default function Login() {
<button
name="family"
className={`login-type-btn px-4 py-1 rounded-t-2xl ${
loginType=='family' ? "bg-[#4687ba] border-[2px] border-[#4687ba] text-white" : "bg-white text-[#000] border-t-[2px]"
loginType == "family"
? "bg-[#4687ba] border-[2px] border-[#4687ba] text-white"
: "bg-white text-[#000] border-t-[2px]"
}`}
onClick={handleLoginType}
>
@@ -255,7 +321,7 @@ export default function Login() {
{/* for login component */}
{
loginType == 'full' ? (
loginType == "full" ? (
//user login component
<div className="p-6 input-area login-area border-2 border-[#4687ba] rounded-2xl">
<div className="input-item mb-5">
@@ -275,7 +341,7 @@ export default function Login() {
<div className="input-item mb-5">
<InputCom
labelClass="tracking-wider"
fieldClass="sm:px-6 px-2"
fieldClass="sm:px-6 px-2 tracking-[0.25em] text-2xl"
value={password}
inputHandler={handlePassword}
placeholder="● ● ● ● ● ●"
@@ -287,6 +353,19 @@ export default function Login() {
forgotPassword
/>
</div>
{/* hCaptha clone for the time being */}
{validCaptcha.show && (
<div className="mb-5 flex justify-center w-full">
<ReCAPTCHA
sitekey={
process.env.REACT_APP_GOOGLE_RECAPTCHA_SITEKEY
}
onChange={captchaChecker}
/>
</div>
)}
{loginError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-thin leading-[19.5px] text-[13px]">
Invalid username or password- Please{" "}
@@ -311,7 +390,7 @@ export default function Login() {
onClick={doLogin}
type="button"
disabled={loginLoading}
className={`btn-login rounded-[0.475rem] mb-6 text-xl text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center text-[15px]`}
className={`btn-login rounded-full mb-6 text-xl text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center text-[15px]`}
>
{loginLoading ? (
<div className="signup btn-loader"></div>
@@ -320,34 +399,51 @@ export default function Login() {
)}
</button>
</div>
<div className="sm:flex sm:justify-between sm:items-center sm:space-x-2">
<BrandBtn
link="#"
imgSrc={googleLogo}
brand="Google"
onClick={googleLogin}
/>
<BrandBtn
// link={`https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id=${process.env.REACT_APP_APPLE_CLIENT_ID}&redirect_uri=https%3A%2F%2Fwork.wrenchboard.com%2Flogin%2Fauth%2Fapple&state=4b2c4456b7&scope=name+email`}
link={`https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id=${process.env.REACT_APP_APPLE_CLIENT_ID}&redirect_uri=${process.env.REACT_APP_APPLE_REDIRECT_URL}&state=4b2c4456b7&scope=name+email`}
imgSrc={appleLogo}
brand="Apple"
isAnchor={true}
/>
</div>
<div className="sm:flex sm:justify-between sm:items-center sm:space-x-2">
<BrandBtn
link={`https://www.facebook.com/v14.0/dialog/oauth?client_id=${process.env.REACT_APP_FACEBOOK_CLIENT_ID}&redirect_uri=${process.env.REACT_APP_FACEBOOK_REDIRECT_URL}&scope=${process.env.REACT_APP_FACEBOOK_CLIENT_SCOPE}`}
imgSrc={facebookLogo}
brand="Facebook"
isAnchor={true}
/>
<BrandBtn
// link="https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&scope=comma-separated-list-of-scopes&state=YOUR_STATE_VALUE"
imgSrc={linkedInLogo}
brand="LinkedIn"
isAnchor={true}
/>
<div className="sm:grid grid-cols-2 gap-1">
<div className="w-full">
<BrandBtn
link="#"
imgSrc={googleLogo}
brand="Google"
onClick={googleLogin}
/>
</div>
<div
className={`w-full ${
process.env.REACT_APP_APPLE_SOCIAL_LOGIN !== 0 &&
"hidden"
}`}
>
<BrandBtn
// link={`https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id=${process.env.REACT_APP_APPLE_CLIENT_ID}&redirect_uri=https%3A%2F%2Fwork.wrenchboard.com%2Flogin%2Fauth%2Fapple&state=4b2c4456b7&scope=name+email`}
link={`https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id=${process.env.REACT_APP_APPLE_CLIENT_ID}&redirect_uri=${process.env.REACT_APP_APPLE_REDIRECT_URL}&state=4b2c4456b7&scope=name+email`}
imgSrc={appleLogo}
brand="Apple"
isAnchor={true}
// style={{visibility: 'hidden'}}
/>
</div>
<div className="w-full">
<BrandBtn
link={`https://www.facebook.com/v14.0/dialog/oauth?client_id=${process.env.REACT_APP_FACEBOOK_CLIENT_ID}&redirect_uri=${process.env.REACT_APP_FACEBOOK_REDIRECT_URL}&scope=${process.env.REACT_APP_FACEBOOK_CLIENT_SCOPE}`}
imgSrc={facebookLogo}
brand="Facebook"
isAnchor={true}
/>
</div>
<div
className={`w-full ${
process.env.REACT_APP_LINKEDIN_SOCIAL_LOGIN !== 0 &&
"hidden"
}`}
>
<BrandBtn
// link="https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&scope=comma-separated-list-of-scopes&state=YOUR_STATE_VALUE"
imgSrc={linkedInLogo}
brand="LinkedIn"
isAnchor={true}
/>
</div>
</div>
</div>
</div>
@@ -407,7 +503,7 @@ export default function Login() {
onClick={doLogin}
disabled={loginLoading}
type="button"
className={`btn-login rounded-[0.475rem] text-xl text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center text-[15px]`}
className={`btn-login rounded-full text-xl text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center text-[15px]`}
>
{loginLoading ? (
<div className="signup btn-loader"></div>
@@ -423,10 +519,12 @@ export default function Login() {
}
{/* END of login component */}
<div className="pt-5 text-[#181c32] text-center font-semibold text-[13.975px] leading-[20.9625px]">
This site is protected by hCaptcha and the our Privacy Policy
and Terms of Service apply.
</div>
{loginType == "full" && (
<div className="pt-5 text-[#181c32] text-center font-semibold text-[13.975px] leading-[20.9625px]">
This site is protected by a Captcha. Our Privacy Policy and
Terms of Service apply.
</div>
)}
</div>
</div>
</div>
@@ -435,7 +533,14 @@ export default function Login() {
);
}
const BrandBtn = ({ link, imgSrc, brand, onClick, isAnchor=false }) => {
const BrandBtn = ({
link,
imgSrc,
brand,
onClick,
isAnchor = false,
style = { visibility: "visible" },
}) => {
// const doGoogle = async () => {
// alert("start google");
// };
@@ -455,34 +560,29 @@ const BrandBtn = ({ link, imgSrc, brand, onClick, isAnchor=false }) => {
// alert("start facebook");
// };
return (
<div className="w-full sm:w-1/2 flex justify-center bottomMargin">
{isAnchor ?
(
<div className="w-full flex justify-center bottomMargin" style={style}>
{isAnchor ? (
<a
href={link}
className="w-full border border-light-purple dark:border-[#5356fb29] rounded-[0.475rem] h-[48px] flex justify-center bg-[#FAFAFA] hover:bg-[#eff2f5] hover:text-[#7e8299] transition duration-300 dark:bg-[#11131F] items-center font-medium cursor-pointer"
>
<img className="mr-3 h-6" src={imgSrc} alt="logo-icon(s)" />
<span className="text-lg text-thin-light-gray font-normal text-[15px]">
Continue with {brand}
</span>
</a>
)
:
(
href={link}
className="w-full border border-light-purple dark:border-[#5356fb29] rounded-[0.475rem] h-[48px] flex justify-center bg-[#FAFAFA] hover:bg-[#eff2f5] hover:text-[#7e8299] transition duration-300 dark:bg-[#11131F] items-center font-medium cursor-pointer"
>
<img className="mr-3 h-6" src={imgSrc} alt="logo-icon(s)" />
<span className="text-lg text-thin-light-gray font-normal text-[15px]">
Continue with {brand}
</span>
</a>
) : (
<button
onClick={onClick}
// href="#dd"
className="w-full border border-light-purple dark:border-[#5356fb29] rounded-[0.475rem] h-[48px] flex justify-center bg-[#FAFAFA] hover:bg-[#eff2f5] hover:text-[#7e8299] transition duration-300 dark:bg-[#11131F] items-center font-medium cursor-pointer"
>
<img className="mr-3 h-6" src={imgSrc} alt="logo-icon(s)" />
<span className="text-lg text-thin-light-gray font-normal text-[15px]">
Continue with {brand}
</span>
</button>
)
}
onClick={onClick}
// href="#dd"
className="w-full border border-light-purple dark:border-[#5356fb29] rounded-[0.475rem] h-[48px] flex justify-center bg-[#FAFAFA] hover:bg-[#eff2f5] hover:text-[#7e8299] transition duration-300 dark:bg-[#11131F] items-center font-medium cursor-pointer"
>
<img className="mr-3 h-6" src={imgSrc} alt="logo-icon(s)" />
<span className="text-lg text-thin-light-gray font-normal text-[15px]">
Continue with {brand}
</span>
</button>
)}
</div>
)
);
};
+637
View File
@@ -0,0 +1,637 @@
import React, { useEffect, useLayoutEffect, useState } from "react";
import { Link, useLocation, useNavigate } from "react-router-dom";
import linkedInLogo from "../../../assets/images/Linkedin.png";
import appleLogo from "../../../assets/images/apple-black.svg";
import facebookLogo from "../../../assets/images/facebook.svg";
import googleLogo from "../../../assets/images/google-logo.svg";
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
import usersService from "../../../services/UsersService";
import InputCom from "../../Helpers/Inputs/InputCom";
import AuthLayout from "../AuthLayout2";
// import { GoogleOAuthProvider } from '@react-oauth/google';
import { useGoogleLogin } from "@react-oauth/google";
import { useDispatch } from "react-redux";
import { updateUserDetails } from "../../../store/UserDetails";
import ReCAPTCHA from "react-google-recaptcha";
import GoogleDownload from '../../../assets/images/download/andriod.jpg'
import IOSDownload from '../../../assets/images/download/apple.jpg'
export default function Login() {
// eslint-disable-next-line no-restricted-globals
const queryParams = new URLSearchParams(location?.search);
// const sessionExpired = queryParams.get("sessionExpired");
const dispatch = useDispatch();
const { state } = useLocation();
const [sessionExpired, setSessionExpired] = useState(
queryParams.get("sessionExpired")
);
const [validCaptcha, setValidCaptcha] = useState({ show: false, valid: "" }); // FOR CAPTCHA
let [loginType, setLoginType] = useState("");
const [loginLoading, setLoginLoading] = useState(false);
const [showPassword, setShowPassword] = useState(false);
//login error state
const [loginError, setLoginError] = useState(false);
// for the catch error
const [msgError, setMsgError] = useState("");
// To Show and Hide Password
const togglePasswordVisibility = () => {
setShowPassword(!showPassword);
};
//FUNCTION TO DETERMINE/CHANGE LOGIN COMPONENT
const handleLoginType = ({ target: { name } }) => {
setLoginType(name);
let currentDate = new Date();
let expirationDate = new Date(currentDate.getTime() + 24 * 60 * 60 * 1000);
// Convert the expiration date to the appropriate format
let expirationDateString = expirationDate.toUTCString();
document.cookie = `loginType=${name}; expires=${expirationDateString}; path=/;`;
};
// email
const [email, setMail] = useState("");
const handleEmail = (e) => {
setMail(e.target.value);
};
// password
const [password, setPassword] = useState("");
const handlePassword = (e) => {
setPassword(e.target.value);
};
const navigate = useNavigate();
const userApi = new usersService();
// FUNCTION TO HANDLE USER LOGIN
const doLogin = ({ target: { name } }) => {
setMsgError("");
setLoginError(false);
setLoginLoading(true);
let postData; // Post Data for API
if (!email || !password) {
setLoginLoading(false);
setMsgError("Please fill all the fields");
setTimeout(() => {
setMsgError("");
}, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT));
return;
}
if (name == "full") {
//checks if email is a valid email address
let regEx = /^[^0-9][a-zA-Z0-9._%+-]+@[a-zA-Z]+(\.[a-zA-Z]+)+$/;
if (regEx.test(email) == false) {
setLoginLoading(false);
setMsgError("Invalid Email");
return setTimeout(() => {
setMsgError("");
}, 3000);
}
// Post Data Info for normal Login
postData = {
username: email,
password: password,
sessionid: "STARTING",
login_mode: 1100,
};
} else if (name == "family") {
// Post Data Info for family Login
postData = {
username: email,
pin: password,
sessionid: "20067A92714",
login_mode: 1105,
};
} else {
setLoginLoading(false);
setMsgError("Invalid Login Type. Consider refreshing the page");
setTimeout(() => {
setMsgError("");
}, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT));
return;
}
if (name == "full" && !validCaptcha.valid && validCaptcha.show) {
// RUNS AND DISPLAYS CAPTCHA, IF ERROR OCCURED DURING LOGIN FOR FULL LOGIN ALONE
setMsgError("Please Verify Captcha");
setLoginLoading(false);
setTimeout(() => {
setMsgError("");
}, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT));
return;
}
userApi
.logInUser(postData)
.then((res) => {
if (
res.status != 200 ||
res.data.internal_return < 0 ||
!res.data.member_id ||
!res.data.uid ||
!res.data.session
) {
// setMsgError("Wrong, email/password");
setLoginError(true);
setLoginLoading(false);
setValidCaptcha((prev) => ({ ...prev, show: true })); // DISPLAYS CAPTCHA IF ERROR
return;
}
localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`);
localStorage.setItem("wallet_available_status", `${res.data.wallet_available_status}`);
if (res.data?.account_type == "FAMILY") {
sessionStorage.setItem("family_uid", res.data?.family_uid);
sessionStorage.setItem("parent_uid", res.data?.parent_uid);
}
// localStorage.setItem("session", `${res.data.session}`);
dispatch(updateUserDetails({ ...res.data }));
setTimeout(() => {
navigate("/", { replace: true });
setLoginLoading(false);
}, 2000);
})
.catch((error) => {
setMsgError("Unable to login, try again");
setLoginLoading(false);
setValidCaptcha((prev) => ({ ...prev, show: true })); // DISPLAYS CAPTCHA IF ERROR
})
.finally(() => {
setTimeout(() => {
setLoginError(false);
setMsgError("");
setLoginLoading(false);
}, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT));
});
};
function captchaChecker(value) {
// FUNCTION TO VALIDATE CAPTCHA
if (value) {
setValidCaptcha({ show: true, valid: value });
} else {
setValidCaptcha({ show: true, valid: "" });
}
}
const googleLogin = useGoogleLogin({
flow: "auth-code",
ux_mode: "redirect",
redirect_uri: process.env.REACT_APP_GOOGLE_REDIRECT_URL,
onSuccess: async (codeResponse) => {
console.log("GOOGLE LOGIN GOOD --- ", codeResponse);
},
onError: (errorResponse) => console.log(errorResponse),
});
// In order to update the selected login type whenever the component renders
// useEffect(() => {
// Clear the loginType cookie if the user switches to loginfull
// document.cookie ="loginType=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
// }, []);
useLayoutEffect(() => {
// checks the cookie in order to set the login type before components mounts
// if(document.cookie.includes("loginType=family")){
// setLoginType('family')
// }else if(document.cookie.includes("loginType=full")){
// setLoginType('full')
// }else{
// setLoginType('full')
// }
function readCookie(cname) {
// checks the cookie in order to set the login type before components mounts
let name = cname + "=";
let decoded_cookie = decodeURIComponent(document.cookie);
let carr = decoded_cookie.split(";");
for (let i = 0; i < carr.length; i++) {
let c = carr[i];
while (c.charAt(0) == " ") {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "full";
}
let loginValue = readCookie("loginType");
setLoginType(loginValue);
if (state?.error) {
//check if the login path has an error state indicating any social handle login with error
setMsgError("Unexpected Error, Please try again soon.");
setTimeout(() => {
setMsgError("");
navigate("/login", { replace: true });
}, 4000);
}
}, []);
useEffect(() => {
setMail("");
setPassword("");
}, [loginType]);
// EFFECT TO CLEAR SESSION EXPIRY IF IT EXISTS AFTER SOME SECONDS
useEffect(() => {
let timer;
if (sessionExpired == "true") {
timer = setTimeout(() => {
setSessionExpired(false);
}, 5000);
}
return () => {
clearTimeout(timer);
};
}, []);
return (
<>
<AuthLayout slogan="Welcome to WrenchBoard">
<div className="w-full">
<div className="mb-5">
<Link to="#">
<img
src={WrenchBoard}
alt="wrenchboard"
className="h-10 mx-auto"
/>
</Link>
</div>
{/* <div className="content-wrapper login shadow-md w-10/12 mx-auto flex justify-center items-center xl:bg-white dark:bg-dark-white 2xl:w-[828px] rounded-[0.475rem] sm:p-7 p-5"> */}
<div className="flex place-content-center">
<div className="w-10/12">
{/* HIDES THIS IF USER SESSION HAS EXPIRED */}
{sessionExpired != "true" && (
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
{/* <h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
Sign In to WrenchBoard
</h1> */}
<span className="text-gray-400 font-medium text-[16.25px] leading-[24.375px]">
New Here?{" "}
<Link
to="/signup"
className="font-semibold text-[#4687ba] hover:text-[#009ef7] transition"
>
Create an Account
</Link>
</span>
</div>
)}
{/* SHOWS THIS IF USER SESSION HAS EXPIRED */}
{sessionExpired == "true" && (
<div className="w-full p-1 mb-7">
<p className="text-red-500 text-base text-center">
Your session expired and will need to login again
</p>
</div>
)}
{/* switch login component */}
<div className="ml-7 flex justify-start items-center gap-3">
<button
name="full"
className={`login-type-btn px-4 py-1 rounded-t-2xl ${
loginType == "full"
? "bg-[#4687ba] border-[2px] border-[#4687ba] text-white"
: "bg-white text-[#000] border-t-[2px]"
}`}
onClick={handleLoginType}
>
Sign in
</button>
<button
name="family"
className={`login-type-btn px-4 py-1 rounded-t-2xl ${
loginType == "family"
? "bg-[#4687ba] border-[2px] border-[#4687ba] text-white"
: "bg-white text-[#000] border-t-[2px]"
}`}
onClick={handleLoginType}
>
Family Account
</button>
</div>
{/* END of switch login component */}
{/* for login component */}
{
loginType == "full" ? (
//user login component
<div className="p-6 input-area login-area border-2 border-[#4687ba] rounded-2xl">
<div className="input-item mb-5">
<InputCom
labelClass="tracking-wider"
fieldClass="sm:px-6 px-2"
value={email}
inputHandler={handleEmail}
placeholder="Your Email"
label="Email"
name="email"
type="email"
iconName="message"
/>
</div>
<div className="input-item mb-5">
<InputCom
labelClass="tracking-wider"
fieldClass="sm:px-6 px-2 tracking-[0.25em] text-2xl"
value={password}
inputHandler={handlePassword}
placeholder="● ● ● ● ● ●"
label="Password"
name="password"
type={showPassword ? "text" : "password"}
onClick={togglePasswordVisibility}
passIcon={showPassword ? "password" : "password"}
forgotPassword
/>
</div>
{/* hCaptha clone for the time being */}
{validCaptcha.show && (
<div className="mb-5 flex justify-center w-full">
<ReCAPTCHA
sitekey={
process.env.REACT_APP_GOOGLE_RECAPTCHA_SITEKEY
}
onChange={captchaChecker}
/>
</div>
)}
{loginError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-thin leading-[19.5px] text-[13px]">
Invalid username or password- Please{" "}
<Link to="/#" className="text-[#009ef7]">
reset your password
</Link>{" "}
or{" "}
<Link to="/signup" className="text-[#009ef7]">
create a new account
</Link>
</div>
)}
{msgError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]">
{msgError}
</div>
)}
<div className="signin-area mb-3.5">
<div className="flex justify-center">
<button
name="full"
onClick={doLogin}
type="button"
disabled={loginLoading}
className={`btn-login rounded-full mb-6 text-xl text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center text-[15px]`}
>
{loginLoading ? (
<div className="signup btn-loader"></div>
) : (
<>Continue</>
)}
</button>
</div>
<div className="sm:grid grid-cols-2 gap-1">
<div className="w-full">
<BrandBtn
link="#"
imgSrc={googleLogo}
brand="Google"
onClick={googleLogin}
/>
</div>
<div
className={`w-full ${
process.env.REACT_APP_APPLE_SOCIAL_LOGIN !== 0 &&
"hidden"
}`}
>
<BrandBtn
// link={`https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id=${process.env.REACT_APP_APPLE_CLIENT_ID}&redirect_uri=https%3A%2F%2Fwork.wrenchboard.com%2Flogin%2Fauth%2Fapple&state=4b2c4456b7&scope=name+email`}
link={`https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id=${process.env.REACT_APP_APPLE_CLIENT_ID}&redirect_uri=${process.env.REACT_APP_APPLE_REDIRECT_URL}&state=4b2c4456b7&scope=name+email`}
imgSrc={appleLogo}
brand="Apple"
isAnchor={true}
// style={{visibility: 'hidden'}}
/>
</div>
<div className="w-full">
<BrandBtn
link={`https://www.facebook.com/v14.0/dialog/oauth?client_id=${process.env.REACT_APP_FACEBOOK_CLIENT_ID}&redirect_uri=${process.env.REACT_APP_FACEBOOK_REDIRECT_URL}&scope=${process.env.REACT_APP_FACEBOOK_CLIENT_SCOPE}`}
imgSrc={facebookLogo}
brand="Facebook"
isAnchor={true}
/>
</div>
<div
className={`w-full ${
process.env.REACT_APP_LINKEDIN_SOCIAL_LOGIN !== 0 &&
"hidden"
}`}
>
<BrandBtn
// link="https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&scope=comma-separated-list-of-scopes&state=YOUR_STATE_VALUE"
imgSrc={linkedInLogo}
brand="LinkedIn"
isAnchor={true}
/>
</div>
</div>
</div>
</div>
) : (
// END of user login compoenent
// family login compoenent
<div className="p-6 input-area login-area border-2 border-[#4687ba] rounded-2xl">
<div className="input-item mb-5">
<InputCom
labelClass="tracking-wider"
fieldClass="px-6"
value={email}
inputHandler={handleEmail}
placeholder="Account ID"
label="Username"
name="email"
type="email"
iconName="family-id"
/>
</div>
<div className="input-item mb-5">
<InputCom
labelClass="tracking-wider"
fieldClass="px-6"
value={password}
inputHandler={handlePassword}
placeholder="● ● ● ● ● ●"
label="Pin"
name="password"
type={showPassword ? "text" : "password"}
onClick={togglePasswordVisibility}
passIcon={showPassword ? "family-pin" : "family-pin"}
/>
</div>
{loginError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-thin leading-[19.5px] text-[13px]">
Invalid username or password{" "}
{/* <Link to="/#" className="text-[#009ef7]">
reset your password
</Link>{" "}
or{" "}
<Link to="/signup" className="text-[#009ef7]">
create a new account
</Link> */}
</div>
)}
{msgError && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]">
{msgError}
</div>
)}
<div className="signin-area mb-1.5">
<div className="flex justify-center">
<button
name="family"
onClick={doLogin}
disabled={loginLoading}
type="button"
className={`btn-login rounded-full text-xl text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center text-[15px]`}
>
{loginLoading ? (
<div className="signup btn-loader"></div>
) : (
<>Continue</>
)}
</button>
</div>
</div>
</div>
)
// END of family login compoenent
}
{/* END of login component */}
{/* APP DOWNLOAD STORE */}
<div className="w-full mt-4">
<div className="w-full flex justify-center items-center gap-4">
<div className="w-32 lg:w-48">
<a
// className="px-1 py-1 lg:py-2 flex justify-center items-center gap-1 w-full rounded-md bg-black text-white hover:text-slate-500 hover:shadow-lg transition-all duration-300"
target="_blank"
rel="noreferrer"
href={process.env.REACT_APP_APPLE_APP}
>
{/* <i className="fa-brands fa-apple text-3xl"></i>
<div className="flex flex-col">
<span className="text-[11px]">Available on the</span>
<span className="text-[12px] lg:text-base">
App Store
</span>
</div> */}
<img src={IOSDownload} className='w-full h-auto' alt='IOS Download' />
</a>
</div>
<div className="w-32 lg:w-48">
<a
// className="px-1 py-1 lg:py-2 flex justify-center items-center gap-1 w-full rounded-md bg-black text-white hover:text-slate-500 hover:shadow-lg transition-all duration-300"
target="_blank"
rel="noreferrer"
href={process.env.REACT_APP_ANDROID_APP}
>
{/* <i className="fa-brands fa-google-play text-2xl"></i>
<div className="flex flex-col">
<span className="text-[11px]">Available on the</span>
<span className="text-[12px] lg:text-base">
Google Play
</span>
</div> */}
<img src={GoogleDownload} className='w-full h-auto' alt='IOS Download' />
</a>
</div>
</div>
</div>
{loginType == "full" && (
<>
<div className="pt-5 text-[#181c32] text-center font-semibold text-[13.975px] leading-[20.9625px]">
This site is protected by a Captcha. <br />Our Privacy Policy and
Terms of Service apply.
</div>
</>
)}
</div>
</div>
</div>
</AuthLayout>
</>
);
}
const BrandBtn = ({
link,
imgSrc,
brand,
onClick,
isAnchor = false,
style = { visibility: "visible" },
}) => {
// const doGoogle = async () => {
// alert("start google");
// };
// onSuccess: (codeResponse) => setUser(codeResponse),
// const doGoogle = useGoogleLogin({
// onSuccess: (codeResponse) => console.log('Login onSuccess:', codeResponse),
// onError: (error) => console.log('Login Failed:', error)
// });
// const doApple = async () => {
// alert("start apple");
// };
// const doFacebook = async () => {
// alert("start facebook");
// };
return (
<div className="w-full flex justify-center bottomMargin" style={style}>
{isAnchor ? (
<a
href={link}
className="w-full border border-light-purple rounded-[0.475rem] h-[48px] flex justify-center bg-[#FAFAFA] hover:bg-[#eff2f5] hover:text-[#7e8299] transition duration-300 items-center font-medium cursor-pointer"
>
<img className="mr-3 h-6" src={imgSrc} alt="logo-icon(s)" />
<span className="text-lg text-thin-light-gray font-normal text-[15px]">
Continue with {brand}
</span>
</a>
) : (
<button
onClick={onClick}
// href="#dd"
className="w-full border border-light-purple rounded-[0.475rem] h-[48px] flex justify-center bg-[#FAFAFA] hover:bg-[#eff2f5] hover:text-[#7e8299] transition duration-300 items-center font-medium cursor-pointer"
>
<img className="mr-3 h-6" src={imgSrc} alt="logo-icon(s)" />
<span className="text-lg text-thin-light-gray font-normal text-[15px]">
Continue with {brand}
</span>
</button>
)}
</div>
);
};
+252
View File
@@ -0,0 +1,252 @@
import React, {useState, useEffect} from 'react'
import { Link, useParams, useNavigate } from "react-router-dom";
import { useDispatch } from "react-redux";
import { updateUserDetails } from "../../../store/UserDetails";
import usersService from "../../../services/UsersService";
import PromoPageLayout from '../PromoPageLayout'
import InputCom from "../../Helpers/Inputs/InputCom";
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
import LoadingSpinner from '../../../components/Spinners/LoadingSpinner'
import GoogleDownload from '../../../assets/images/download/andriod.jpg'
import IOSDownload from '../../../assets/images/download/apple.jpg'
export default function Promo() {
const api = new usersService()
const {name, id} = useParams() // PARAMETERS COMING FROM THE LINK
// console.log(name, id)
const navigate = useNavigate()
const dispatch = useDispatch();
const [requestStatus, setRequestStatus] = useState({loading:true, data:{}})
const [completeSignUp, setCompleteSignUp] = useState({loading:false, status:false, message: ''});
const [showPassword, setShowPassword] = useState(false);
const [password, setPassword] = useState("");
const handlePassword = (e) => {
setPassword(e.target.value);
};
// To Show and Hide Password
const togglePasswordVisibility = () => {
setShowPassword(!showPassword);
};
const handleContinue = () => {
let reqData = { // API REQUEST DATA/PAYLOAD
username: requestStatus?.data?.email,
promo: name,
promo_owner: id,
password: password,
sessionid: '24271A99426'
}
setCompleteSignUp({loading:true, status:false, message: ''})
if(!password){ // CHECKS FOR EMPTY PASSWORD
setCompleteSignUp({loading:false, status:false, message: 'Please Enter Password'})
return setTimeout(()=>{
setCompleteSignUp({loading:false, status:false, message: ''})
},2000)
}
api.loginPromo(reqData).then(res => { //loginPromo
console.log('RES', res)
if(res.data?.internal_return < 0 || !res?.data?.member_id || !res?.data?.uid || !res?.data?.session || res?.data?.status_message == 'VALID_LINK_NOT_FOUND'){
setCompleteSignUp({loading:false, status:false, message: 'Unable to login'})
return setTimeout(()=>{
setCompleteSignUp({loading:false, status:false, message: ''})
},4000)
}
// Do LOGIN HERE
localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`);
localStorage.setItem("wallet_available_status", `${res.data.wallet_available_status}`);
if (res.data?.account_type == "FAMILY") {
sessionStorage.setItem("family_uid", res.data?.family_uid);
sessionStorage.setItem("parent_uid", res.data?.parent_uid);
}
dispatch(updateUserDetails({ ...res.data }));
setTimeout(() => {
navigate("/", { replace: true });
setCompleteSignUp({loading:false, status:true, message: ''})
}, 2000);
}).catch(err => {
setCompleteSignUp({loading:false, status:false, message: 'Opps! try again'})
setTimeout(()=>{
setCompleteSignUp({loading:false, status:false, message: ''})
},4000)
})
}
useEffect(()=>{
let reqData = { // API REQUEST DATA/PAYLOAD
promo: name,
promo_owner: id,
sessionid: '79970A12501'
}
api.verifyPromo(reqData).then(res => {
if(res?.data?.internal_return < 0 || !res?.data?.email || res?.data?.status_message != 'VALID_LINK_FOUND'){
return setRequestStatus({loading:false, data:{}})
}
setRequestStatus({loading:false, data:res?.data})
}).catch(err => {
setRequestStatus({loading:false, data:{}})
})
},[])
return (
<PromoPageLayout>
<div className="w-full">
<div className="mb-5">
<Link to="#">
<img
src={WrenchBoard}
alt="wrenchboard"
className="h-10 mx-auto"
/>
</Link>
</div>
{requestStatus.loading ?
<div className='flex flex-col justify-center items-center'>
<LoadingSpinner height='h-40' size='8' />
<p>Loading...</p>
<p>please do not refresh</p>
</div>
: Object.keys(requestStatus.data).length > 0 ?
<div className="flex place-content-center">
<div className="w-10/12 pb-3">
<div className="p-6 input-area login-area border-2 border-[#4687ba] rounded-2xl">
<div className="input-item mb-5">
<InputCom
labelClass="tracking-wider"
fieldClass="sm:px-6 px-2"
value={requestStatus?.data?.email}
// inputHandler={handleEmail}
placeholder="Your Email"
label="Email"
name="email"
type="email"
iconName="message"
disable={true}
/>
</div>
<div className="input-item mb-5">
<InputCom
labelClass="tracking-wider"
fieldClass="sm:px-6 px-2 tracking-[0.25em] text-2xl"
value={password}
inputHandler={handlePassword}
placeholder="● ● ● ● ● ●"
label="Set Password"
name="password"
type={showPassword ? "text" : "password"}
onClick={togglePasswordVisibility}
passIcon={showPassword ? "password" : "password"}
/>
</div>
{completeSignUp.message && (
<div className="relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]">
{completeSignUp.message}
</div>
)}
<div className="flex justify-center">
<button
name="full"
onClick={handleContinue}
type="button"
disabled={completeSignUp.loading}
className={`btn-login rounded-full text-xl text-white flex justify-center bg-[#4687ba] hover:bg-[#009ef7] transition-all duration-300 items-center text-[15px]`}
>
{completeSignUp.loading ? (
<div className="signup btn-loader"></div>
) : (
<>Continue</>
)}
</button>
</div>
</div>
{/* APP DOWNLOAD STORE */}
<div className="w-full mt-4">
<div className="w-full flex justify-center items-center gap-4">
<div className="w-32 lg:w-48">
<a
// className="px-1 py-1 lg:py-2 flex justify-center items-center gap-1 w-full rounded-md bg-black text-white hover:text-slate-500 hover:shadow-lg transition-all duration-300"
target="_blank"
rel="noreferrer"
href={process.env.REACT_APP_APPLE_APP}
>
{/* <i className="fa-brands fa-apple text-3xl"></i>
<div className="flex flex-col">
<span className="text-[11px]">Available on the</span>
<span className="text-[12px] lg:text-base">
App Store
</span>
</div> */}
<img src={IOSDownload} className='w-full h-auto' alt='IOS Download' />
</a>
</div>
<div className="w-32 lg:w-48">
<a
// className="px-1 py-1 lg:py-2 flex justify-center items-center gap-1 w-full rounded-md bg-black text-white hover:text-slate-500 hover:shadow-lg transition-all duration-300"
target="_blank"
rel="noreferrer"
href={process.env.REACT_APP_ANDROID_APP}
>
{/* <i className="fa-brands fa-google-play text-2xl"></i>
<div className="flex flex-col">
<span className="text-[11px]">Available on the</span>
<span className="text-[12px] lg:text-base">
Google Play
</span>
</div> */}
<img src={GoogleDownload} className='w-full h-auto' alt='IOS Download' />
</a>
</div>
</div>
</div>
</div>
</div>
:
<ErrorComponent onClick={() => navigate("/login")} />
}
</div>
</PromoPageLayout>
)
}
const ErrorComponent = ({ onClick }) => (
<div className="input-area">
<div className="my-5">
<p className="text-[14px] leading-[19px] text-center text-[#181c32]">
This error occurs because you have already verified this link or the
link has expired. Try login or reset password. If none worked, try to
create the account from the start.
</p>
</div>
<div className="signin-area flex justify-center mb-3.5">
<button
onClick={onClick}
type="button"
className={`rounded-[0.475rem] mb-6 text-[15px] font-semibold text-[#009ef7] hover:text-white flex justify-center bg-[#f1faff] hover:bg-[#009ef7] transition-all duration-300 items-center py-[0.8875rem] px-[1.81rem]`}
>
<span>Return Home</span>
</button>
</div>
</div>
);

Some files were not shown because too many files have changed in this diff Show More