├── .gitignore
├── ProtectedRoutes.jsx
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.cjs
├── public
├── _redirects
├── images
│ ├── Scout-DESKTOP-1B4TDEO.jpg
│ ├── Scout.jpg
│ ├── bg home.jpg
│ ├── bg.jpeg
│ ├── bglogin.jpeg
│ ├── goly.png
│ ├── images.jpeg
│ ├── img 1.jpeg
│ ├── img 2.jpg
│ ├── img 3.jpg
│ ├── img 7.jpeg
│ ├── img8.jpeg
│ ├── jym.png
│ ├── logo.png
│ ├── player 2.jpg
│ ├── player.jpg
│ ├── playerdata.jpg
│ ├── playerlogin.jpg
│ ├── recovery.png
│ ├── scout.png
│ ├── training.png
│ ├── trining.png
│ ├── undraw_junior_soccer_6sop (1).png
│ └── undraw_junior_soccer_6sop.png
└── vite.svg
├── src
├── App.jsx
├── assets
│ └── react.svg
├── components
│ ├── AllPlayers.jsx
│ ├── Chat.jsx
│ ├── Home.jsx
│ ├── Notification.jsx
│ ├── Player.jsx
│ ├── Profile.jsx
│ ├── RegisterScout.jsx
│ ├── Search.jsx
│ ├── SelectedPlayer.jsx
│ ├── SinglePage.jsx
│ ├── auth
│ │ ├── Login.jsx
│ │ └── Signup.jsx
│ └── layout
│ │ ├── Footer.jsx
│ │ └── Navbar.jsx
├── config
│ └── Instance.js
├── error
│ └── errorPage.jsx
├── helpers
│ └── validate.js
├── index.css
├── main.jsx
├── page
│ ├── ChatPage.jsx
│ ├── HomePage.jsx
│ ├── LoginPage.jsx
│ ├── PlayerPage.jsx
│ ├── ProfilePage.jsx
│ ├── RegisterPage.jsx
│ ├── SelectedPlayerPage.jsx
│ ├── SignupPage.jsx
│ ├── searchPage.jsx
│ └── waitingPage.jsx
└── pagenation.css
├── tailwind.config.cjs
└── vite.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/ProtectedRoutes.jsx:
--------------------------------------------------------------------------------
1 | import axios from "axios"
2 | import { Navigate } from "react-router-dom"
3 | import Instance from "./src/config/Instance"
4 |
5 | const protectedRoutes = ({ children }) => {
6 | const token = localStorage.getItem("token")
7 | if(token){
8 | Instance
9 | .get("/scout/verifyScout",
10 | {headers : {
11 | Authorization : "Bearer " + localStorage.getItem("token"),
12 | }})
13 | .then((response) => {
14 | const scout = response.data.scout
15 | if(scout.status === "Pending"){
16 | localStorage.clear()
17 | window.location.reload()
18 | return
209 | {dateFormat(msg.createdAt, "shortTime")} 210 |
211 |233 | {dateFormat(msg.createdAt, "shortTime")} 234 |
235 |25 | Designed to make scouting easier{" "} 26 |
27 |61 | This is a wider card with supporting text below as a natural 62 | content. 63 |
64 |99 | This is a wider card with supporting text below as a natural 100 | content. 101 |
102 |137 | This is a wider card with supporting text below as a natural 138 | content. 139 |
140 |174 | This is a wider card with supporting text below as a natural 175 | content. 176 |
177 |212 | This is a wider card with supporting text below as a natural 213 | content. 214 |
215 |90 | User 91 | | 92 |93 | Profession 94 | | 95 |96 | Joined at 97 | | 98 |99 | Total Renting 100 | | 101 |102 | Status 103 | | 104 |
---|---|---|---|---|
110 |
111 |
133 |
112 |
118 |
119 |
124 |
125 |
129 | {data.name}
130 |
131 |
132 | |
134 |
135 | 136 | {data.profession} 137 | 138 | |
139 |
140 | 141 | {data.joined} 142 | 143 | |
144 |
145 | 146 | {data.rentings} 147 | 148 | |
149 | 150 | {data.status == "Unblocked" && ( 151 | 152 | 156 | Active 157 | 158 | )} 159 | 160 | {data.status == "Blocked" && ( 161 | 162 | 166 | Inactive 167 | 168 | )} 169 | | 170 |
103 | A player scout typically attends as many football matches as 104 | possible to evaluate targets first hand. Scouts who wish to 105 | identify promising young players typically attend 106 | lower-league club games,. 107 |
108 |Connect and Message!
109 |150 | {player?.position} 151 |
152 |163 | {player?.nationality} 164 |
165 |{scout?.fullname}
55 | {/* 56 | 70 | */} 71 |Scout
74 |{scoutData?.nationality}
75 |218 | Player scouts or physical scouts evaluate the talent of 219 | footballers with a view to signing them on a professional 220 | contract for their employers. Some scouts focus on discovering 221 | promising young players and future stars, others are employed to 222 | run the rule on potential signings. Smaller clubs might only 223 | scout within their own country region, while larger and richer 224 | clubs can have extensive international scouting networks 225 |
226 |109 | A football scout attends football matches on the behalf of clubs to 110 | collect intelligence 111 |
112 | 361 | {/* */} 369 |209 | {player?.nationality} 210 |
211 |101 | Player 102 | | 103 |104 | Player 105 | | 106 |107 | Email 108 | | 109 |110 | phone Number 111 | | 112 | 113 |114 | Action 115 | | 116 |
---|---|---|---|---|
122 |
123 |
128 |
129 |
133 | {data.fullname}
134 |
135 |
136 |
137 | |
138 |
139 | 140 | {data.fullname} 141 | 142 | |
143 |
144 | 145 | {data.email} 146 | 147 | |
148 |
149 | {data.phone} 150 | |
151 |
152 | 153 | 163 | | 164 |
40 | {player?.position} 41 |
42 | 51 | 52 |57 | We Never Stop Dreaming Big{" "} 58 |
59 |The stuff you were looking for doesn't exist 190 |
191 | 193 | Retry 194 |43 | We are processing your request... 44 |
45 | 51 |