7 Commits

Author SHA1 Message Date
Renovate Bot
9badd04dfc Update dependency eslint-config-next to v14.2.22 2024-12-26 18:06:21 +00:00
ccca936c61 Merge pull request 'Update dependency next to v14.2.14' (#19) from renovate/next-14.x into master
All checks were successful
Deploy / deploy (ubuntu-latest, 2.44.0) (push) Successful in 2m16s
Reviewed-on: #19
2024-10-06 08:47:46 -07:00
Renovate Bot
d9bc61db7e Update dependency next to v14.2.14 2024-10-04 20:06:28 +00:00
19596b9589 make the user setting pages more responsive
All checks were successful
Deploy / deploy (ubuntu-latest, 2.44.0) (push) Successful in 1m0s
2024-09-22 21:52:42 -04:00
2e40f5bacf make dashboard profile pages more responsived
All checks were successful
Deploy / deploy (ubuntu-latest, 2.44.0) (push) Successful in 1m3s
2024-09-22 21:22:50 -04:00
ec7e1e4b76 make the dashboard layout more responsive 2024-09-22 21:20:56 -04:00
5f7c30a86d fix sidebar home link bug 2024-09-22 21:16:01 -04:00
13 changed files with 26 additions and 24 deletions

BIN
bun.lockb

Binary file not shown.

View File

@ -34,7 +34,7 @@
"lossless-json": "^4.0.2",
"lucide-react": "^0.445.0",
"luxon": "^3.5.0",
"next": "14.2.13",
"next": "14.2.14",
"next-client-cookies": "^1.1.1",
"next-themes": "^0.3.0",
"qrcode.react": "^4.0.1",
@ -55,8 +55,8 @@
"@types/node": "^22.0.0",
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^9.0.0",
"eslint-config-next": "14.2.13",
"eslint": "^8",
"eslint-config-next": "14.2.22",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"turnstile-types": "^1.2.2",

View File

@ -18,7 +18,9 @@ const DashboardLayout = ({
<OrganizationProvider>
<div className="min-h-screen flex">
<Sidebar />
<div className="w-full mx-7 my-6">{children}</div>
<div className="w-full mx-4 sm:mx-7 my-3 sm:my-5 transition-all transform-gpu">
{children}
</div>
</div>
</OrganizationProvider>
</UserProvider>

View File

@ -10,7 +10,7 @@ import DashboardHeader from "@/components/dashboard/dashboard-header";
* @return the page jsx
*/
const UserBillingPage = (): ReactElement => (
<main className="w-[47rem] flex flex-col gap-5">
<main className="max-w-[47rem] flex flex-col gap-5">
<DashboardHeader title="Billing" />
{/* Content */}

View File

@ -14,7 +14,7 @@ import DashboardHeader from "@/components/dashboard/dashboard-header";
* @return the page jsx
*/
const UserProfilePage = (): ReactElement => (
<main className="w-[47rem] flex flex-col gap-5">
<main className="max-w-[47rem] flex flex-col gap-5">
<DashboardHeader title="My Profile" />
{/* Content */}

View File

@ -12,7 +12,7 @@ import DashboardHeader from "@/components/dashboard/dashboard-header";
* @return the page jsx
*/
const UserSettingsPage = (): ReactElement => (
<main className="w-[47rem] flex flex-col gap-5">
<main className="max-w-[32rem] flex flex-col gap-5">
<DashboardHeader title="Settings" />
{/* Content */}

View File

@ -30,7 +30,7 @@ const Sidebar = (): ReactElement => {
href="/dashboard"
draggable={false}
>
<Branding size="xs" />
<Branding className="pointer-events-none" size="xs" />
<h1 className="hidden opacity-0 md:flex md:opacity-100 text-2xl font-bold group-hover:opacity-75 transition-all transform-gpu">
Pulse App
</h1>

View File

@ -16,9 +16,9 @@ const AvatarSetting = (): ReactElement => {
(state: UserState) => state.user
);
return (
<div className="px-5 flex items-center">
<div className="flex flex-col gap-3 sm:flex-row items-start sm:items-center">
{/* Name & Description */}
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none">
<div className="w-72 md:w-80 lg:w-96 flex flex-col gap-0.5 select-none pointer-events-none transition-all transform-gpu">
<h1 className="text-lg font-bold">Avatar</h1>
<p className="max-w-64 text-sm opacity-75">
Set a profile picture for your account. This can be seen by

View File

@ -16,9 +16,9 @@ const EmailSetting = (): ReactElement => {
(state: UserState) => state.user
);
return (
<div className="px-5 flex items-center">
<div className="flex flex-col gap-3 lg:flex-row items-start lg:items-center">
{/* Name & Description */}
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none">
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none transition-all transform-gpu">
<h1 className="text-lg font-bold">Email</h1>
<p className="max-w-64 text-sm opacity-75">
The email you use to login to this account.
@ -27,7 +27,7 @@ const EmailSetting = (): ReactElement => {
{/* Setting */}
<Input
className="w-60 rounded-lg select-none"
className="max-w-60 rounded-lg select-none"
value={user?.email}
disabled
/>

View File

@ -18,9 +18,9 @@ const TierSetting = (): ReactElement => {
(state: UserState) => state.user
);
return (
<div className="px-5 flex items-center">
<div className="flex flex-col gap-3 sm:flex-row items-start sm:items-center">
{/* Name & Description */}
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none">
<div className="w-72 md:w-80 lg:w-96 flex flex-col gap-0.5 select-none pointer-events-none transition-all transform-gpu">
<h1 className="text-lg font-bold">Tier</h1>
<p className="max-w-64 text-sm opacity-75">
The tier of your account.

View File

@ -16,9 +16,9 @@ const UsernameSetting = (): ReactElement => {
(state: UserState) => state.user
);
return (
<div className="px-5 flex items-center">
<div className="flex flex-col gap-3 lg:flex-row items-start lg:items-center">
{/* Name & Description */}
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none">
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none transition-all transform-gpu">
<h1 className="text-lg font-bold">Username</h1>
<p className="max-w-64 text-sm opacity-75">
The username used to identify you on the app.
@ -27,7 +27,7 @@ const UsernameSetting = (): ReactElement => {
{/* Setting */}
<Input
className="w-60 rounded-lg select-none"
className="max-w-60 rounded-lg select-none"
value={user?.username}
disabled
/>

View File

@ -41,18 +41,18 @@ const DevicesSetting = (): ReactElement => {
}, [fetchDevices]);
return (
<div className="px-5 flex flex-col gap-3.5 justify-center">
<div className="flex flex-col gap-3.5 justify-center">
{/* Name & Description */}
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none">
<div className="max-w-96 flex flex-col gap-0.5 select-none pointer-events-none">
<h1 className="text-lg font-bold">Devices</h1>
<p className="w-[25rem] text-sm opacity-75">
<p className="max-w-[15rem] text-sm opacity-75">
Here is a list of devices logged into your Pulse App
account.
</p>
</div>
{/* Setting */}
<div className="w-[27.7rem] flex flex-col gap-2">
<div className="max-w-[27.7rem] flex flex-col gap-2">
{!devices ? (
<>
{Array.from({ length: 4 }, (_, index) => (

View File

@ -101,9 +101,9 @@ const TFASetting = (): ReactElement => {
};
return (
<div className="px-5 flex items-center">
<div className="flex flex-col gap-3 xs:flex-row items-start xs:items-center">
{/* Name & Description */}
<div className="w-96 flex flex-col gap-0.5 select-none pointer-events-none">
<div className="w-80 md:w-96 flex flex-col gap-0.5 select-none pointer-events-none transition-all transform-gpu">
<h1 className="text-lg font-bold">Two-Factor Auth</h1>
<p className="max-w-64 text-sm opacity-75">
Enhance your account security with an extra layer of