Skip to content

Created admin login UI component#15

Open
RandyJDean wants to merge 1 commit into
mainfrom
admin-login-ui
Open

Created admin login UI component#15
RandyJDean wants to merge 1 commit into
mainfrom
admin-login-ui

Conversation

@RandyJDean

@RandyJDean RandyJDean commented May 28, 2026

Copy link
Copy Markdown

Created the admin login UI for the /admin route.

  • Added admin login component
  • Added controlled email and password inputs
  • Added required-field validation
  • Added placeholder submit handler (console log)

Testing

Verified /admin renders the admin login UI:

image.png

Verified empty submit shows validation errors:

image.png

Verified valid submit reaches the placeholder handler:

image.png

Copy link
Copy Markdown
Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@sonarqubecloud

Copy link
Copy Markdown

@RandyJDean RandyJDean marked this pull request as ready for review May 28, 2026 19:49
@RandyJDean RandyJDean requested a review from a team as a code owner May 28, 2026 19:49
@graphite-app graphite-app Bot requested review from Arshadul-Monir and arklian May 28, 2026 19:49
@graphite-app

graphite-app Bot commented May 28, 2026

Copy link
Copy Markdown

Graphite Automations

"Request reviewers once CI passes" took an action on this PR • (05/28/26)

2 reviewers were added to this PR based on Henry Chen's automation.

logo
</div>
<h1 style={{ fontSize: "36px", fontWeight: 700, color: "black" }}>PatChats</h1>
</header>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The header should be broken out into its own component. It should also likely be reused across pages.

You can look at js/src/components/ui/page/PageShell.tsx in codebloom to see how it's done there.

We don't have to go to that extent right now, but yeah.

width: "250px",
}}
>
<h2

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the Title component in mantine for html headers.

};

return (
<div

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use Mantine Box and Flex, which wrap the basic HTML divs.

style={{
minHeight: "100vh",
width: "100vw",
backgroundColor: "white",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You shouldn't need to set the color of the entire page here. We can just use the theming to do it.

size="sm"
styles={{
root: {
backgroundColor: "#a94700",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably just lean into the provided styles from the mantine theme.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The AdminLogin should be its own page. Admin.page.tsx should be the Admin home page.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The admin stuff shouldn't be under js/src/app/user/admin, but should be under js/src/app/admin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants