Skip to content

Commit d17951a

Browse files
Merge pull request #258 from OpenSignLabs/profile_ui
2 parents 0102480 + 42c6f03 commit d17951a

File tree

1 file changed

+107
-105
lines changed

1 file changed

+107
-105
lines changed

apps/OpenSign/src/routes/UserProfile.js

Lines changed: 107 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -158,124 +158,126 @@ function UserProfile() {
158158
></div>
159159
</div>
160160
) : (
161-
<div className="bg-white flex flex-col justify-center shadow rounded">
162-
<div className="flex flex-col justify-center items-center my-4">
163-
<div className="w-[200px] h-[200px] overflow-hidden rounded-full">
164-
<img
165-
className="object-contain w-full h-full"
166-
src={Image === "" ? dp : Image}
167-
alt="dp"
168-
/>
169-
</div>
170-
{editmode && (
171-
<input
172-
type="file"
173-
className="max-w-[270px] text-sm py-1 px-2 mt-4 border-[1px] border-[#15b4e9] text-black rounded"
174-
accept="image/png, image/gif, image/jpeg"
175-
onChange={(e) => {
176-
let files = e.target.files;
177-
fileUpload(files[0]);
178-
}}
179-
/>
180-
)}
181-
{percentage !== 0 && (
182-
<div className="flex items-center gap-x-2">
183-
<div className="h-2 rounded-full w-[200px] md:w-[400px] bg-gray-200">
184-
<div
185-
className="h-2 rounded-full bg-blue-500"
186-
style={{ width: `${percentage}%` }}
187-
></div>
188-
</div>
189-
<span className="text-black text-sm">{percentage}%</span>
161+
<div className="flex justify-center items-center w-full">
162+
<div className="bg-white flex flex-col justify-center shadow rounded w-[450px]">
163+
<div className="flex flex-col justify-center items-center my-4">
164+
<div className="w-[200px] h-[200px] overflow-hidden rounded-full">
165+
<img
166+
className="object-contain w-full h-full"
167+
src={Image === "" ? dp : Image}
168+
alt="dp"
169+
/>
190170
</div>
191-
)}
192-
<div className="text-base font-semibold pt-4">
193-
{localStorage.getItem("_user_role")}
194-
</div>
195-
</div>
196-
<ul className="w-full flex flex-col p-2 text-sm">
197-
<li
198-
className={`flex justify-between items-center border-t-[1px] border-gray-300 break-all ${
199-
editmode ? "py-1" : "py-2"
200-
}`}
201-
>
202-
<span>Name:</span>{" "}
203-
{editmode ? (
171+
{editmode && (
204172
<input
205-
type="text"
206-
value={name}
207-
className="py-1 px-2 text-sm border-[1px] border-[#15b4e9] text-black rounded"
208-
onChange={(e) => SetName(e.target.value)}
173+
type="file"
174+
className="max-w-[270px] text-sm py-1 px-2 mt-4 border-[1px] border-[#15b4e9] text-black rounded"
175+
accept="image/png, image/gif, image/jpeg"
176+
onChange={(e) => {
177+
let files = e.target.files;
178+
fileUpload(files[0]);
179+
}}
209180
/>
210-
) : (
211-
<span>{localStorage.getItem("username")}</span>
212181
)}
213-
</li>
214-
<li
215-
className={`flex justify-between items-center border-t-[1px] border-gray-300 break-all ${
216-
editmode ? "py-1" : "py-2"
217-
}`}
218-
>
219-
<span>Phone:</span>{" "}
182+
{percentage !== 0 && (
183+
<div className="flex items-center gap-x-2">
184+
<div className="h-2 rounded-full w-[200px] md:w-[400px] bg-gray-200">
185+
<div
186+
className="h-2 rounded-full bg-blue-500"
187+
style={{ width: `${percentage}%` }}
188+
></div>
189+
</div>
190+
<span className="text-black text-sm">{percentage}%</span>
191+
</div>
192+
)}
193+
<div className="text-base font-semibold pt-4">
194+
{localStorage.getItem("_user_role")}
195+
</div>
196+
</div>
197+
<ul className="w-full flex flex-col p-2 text-sm">
198+
<li
199+
className={`flex justify-between items-center border-t-[1px] border-gray-300 break-all ${
200+
editmode ? "py-1" : "py-2"
201+
}`}
202+
>
203+
<span className="font-semibold">Name:</span>{" "}
204+
{editmode ? (
205+
<input
206+
type="text"
207+
value={name}
208+
className="py-1 px-2 text-sm border-[1px] border-[#15b4e9] text-black rounded"
209+
onChange={(e) => SetName(e.target.value)}
210+
/>
211+
) : (
212+
<span>{localStorage.getItem("username")}</span>
213+
)}
214+
</li>
215+
<li
216+
className={`flex justify-between items-center border-t-[1px] border-gray-300 break-all ${
217+
editmode ? "py-1" : "py-2"
218+
}`}
219+
>
220+
<span className="font-semibold">Phone:</span>{" "}
221+
{editmode ? (
222+
<input
223+
type="text"
224+
className="py-1 px-2 text-sm border-[1px] border-[#15b4e9] text-black rounded"
225+
onChange={(e) => SetPhone(e.target.value)}
226+
value={Phone}
227+
/>
228+
) : (
229+
<span>{UserProfile && UserProfile.phone}</span>
230+
)}
231+
</li>
232+
<li className="flex justify-between items-center border-t-[1px] border-gray-300 py-2 break-all">
233+
<span className="font-semibold">Email:</span>{" "}
234+
<span>{UserProfile && UserProfile.email}</span>
235+
</li>
236+
<li className="flex justify-between items-center border-y-[1px] border-gray-300 py-2 break-all">
237+
<span className="font-semibold">Is Email verified:</span>{" "}
238+
<span>
239+
{UserProfile && UserProfile.emailVerified
240+
? "Verified"
241+
: "Not verified"}
242+
</span>
243+
</li>
244+
</ul>
245+
<div className="flex justify-center pt-2 pb-3 md:pt-3 md:pb-4">
220246
{editmode ? (
221-
<input
222-
type="text"
223-
className="py-1 px-2 text-sm border-[1px] border-[#15b4e9] text-black rounded"
224-
onChange={(e) => SetPhone(e.target.value)}
225-
value={Phone}
226-
/>
247+
<button
248+
type="button"
249+
onClick={handleSubmit}
250+
className="rounded shadow focus:outline-none border-[2px] border-[#15b4e9] bg-white text-[#15b4e9] px-4 py-2 mr-4"
251+
>
252+
Save
253+
</button>
227254
) : (
228-
<span>{UserProfile && UserProfile.phone}</span>
255+
<button
256+
type="button"
257+
onClick={() => {
258+
setEditMode(true);
259+
}}
260+
className="rounded shadow focus:outline-none text-white bg-[#e7505a] px-4 py-2 mr-4"
261+
>
262+
Edit
263+
</button>
229264
)}
230-
</li>
231-
<li className="flex justify-between items-center border-t-[1px] border-gray-300 py-2 break-all">
232-
<span>Email:</span>{" "}
233-
<span>{UserProfile && UserProfile.email}</span>
234-
</li>
235-
<li className="flex justify-between items-center border-y-[1px] border-gray-300 py-2 break-all">
236-
<span>Is Email verified:</span>{" "}
237-
<span>
238-
{UserProfile && UserProfile.emailVerified
239-
? "Verified"
240-
: "Not verified"}
241-
</span>
242-
</li>
243-
</ul>
244-
<div className="flex justify-center pb-4">
245-
{editmode ? (
246-
<button
247-
type="button"
248-
onClick={handleSubmit}
249-
className="rounded bg-white border-[1px] border-[#15b4e9] text-[#15b4e9] px-4 py-2 mr-4"
250-
>
251-
Save
252-
</button>
253-
) : (
254265
<button
255266
type="button"
256267
onClick={() => {
257-
setEditMode(true);
268+
if (editmode) {
269+
setEditMode(false);
270+
} else {
271+
navigate("/changepassword");
272+
}
258273
}}
259-
className="rounded shadow text-white bg-[#e7505a] px-4 py-2 mr-4"
274+
className={`rounded shadow focus:outline-none text-white bg-[#3598dc] ${
275+
editmode ? "px-4 py-2 " : "p-2"
276+
}`}
260277
>
261-
Edit
278+
{editmode ? "Cancel" : "Change Password"}
262279
</button>
263-
)}
264-
<button
265-
type="button"
266-
onClick={() => {
267-
if (editmode) {
268-
setEditMode(false);
269-
} else {
270-
navigate("/changepassword");
271-
}
272-
}}
273-
className={`rounded shadow text-white bg-[#3598dc] ${
274-
editmode ? "px-4 py-2 " : "p-2"
275-
}`}
276-
>
277-
{editmode ? "Cancel" : "Change Password"}
278-
</button>
280+
</div>
279281
</div>
280282
</div>
281283
)}

0 commit comments

Comments
 (0)