By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
TODO
How to test?
TODO
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/fosrl/pangolin/pull/1846
**Author:** [@Fredkiss3](https://github.com/Fredkiss3)
**Created:** 11/11/2025
**Status:** 🔄 Open
**Base:** `dev` ← **Head:** `feat/login-page-customization`
---
### 📝 Commits (10+)
- [`0abc561`](https://github.com/fosrl/pangolin/commit/0abc561bb843d07b19ef44456846525af672bb09) ♻️ refactor
- [`5641a2a`](https://github.com/fosrl/pangolin/commit/5641a2aa316589d35282380cac19f11a1a820ebf) 🗃️ add org auth page model
- [`46d60bd`](https://github.com/fosrl/pangolin/commit/46d60bd0900ba1ed3a693294c001bfb4b288d050) ♻️ add type
- [`08e4340`](https://github.com/fosrl/pangolin/commit/08e43400e40c6406d62166fc4b58d991ed1ae3de) 🚧 frontend wip
- [`f58cf68`](https://github.com/fosrl/pangolin/commit/f58cf68f7c20fb332d237b0c8b01b5cea5f3a94d) 🚧 WIP
- [`cfde4e7`](https://github.com/fosrl/pangolin/commit/cfde4e7443f1a5dab20a572df6967ba49d40e8c9) 🚧 WIP
- [`4bd1c4e`](https://github.com/fosrl/pangolin/commit/4bd1c4e0c650a5f17241ce4bddfc834c8e8af788) ♻️ refactor
- [`d218a4b`](https://github.com/fosrl/pangolin/commit/d218a4bbc3a85d11f712f2b9635c312b34af3878) 🏷️ fix types
- [`02cd2cf`](https://github.com/fosrl/pangolin/commit/02cd2cfb1705e8c0ac9e6f32cf40abe6daf601a7) ✨ save and update branding
- [`2284814`](https://github.com/fosrl/pangolin/commit/228481444f4ced3f61ab4f29cee9a77dd08c279a) ♻️ do not manually track the loading state in `ConfirmDeleteDialog`
### 📊 Changes
**31 files changed** (+1741 additions, -727 deletions)
<details>
<summary>View changed files</summary>
📝 `messages/en-US.json` (+19 -0)
📝 `server/db/pg/migrate.ts` (+2 -1)
📝 `server/db/pg/schema/privateSchema.ts` (+73 -36)
📝 `server/db/pg/schema/schema.ts` (+2 -1)
📝 `server/db/sqlite/schema/privateSchema.ts` (+85 -42)
📝 `server/db/sqlite/schema/schema.ts` (+12 -6)
📝 `server/private/routers/external.ts` (+27 -0)
➕ `server/private/routers/loginPage/deleteLoginPageBranding.ts` (+113 -0)
➕ `server/private/routers/loginPage/getLoginPageBranding.ts` (+103 -0)
📝 `server/private/routers/loginPage/index.ts` (+3 -0)
➕ `server/private/routers/loginPage/upsertLoginPageBranding.ts` (+154 -0)
📝 `server/routers/external.ts` (+44 -44)
📝 `server/routers/loginPage/types.ts` (+4 -2)
📝 `server/routers/resource/getResourceAuthInfo.ts` (+0 -1)
📝 `src/app/[orgId]/settings/(private)/billing/layout.tsx` (+10 -28)
📝 `src/app/[orgId]/settings/(private)/idp/[idpId]/layout.tsx` (+2 -2)
➕ `src/app/[orgId]/settings/general/auth-page/page.tsx` (+66 -0)
📝 `src/app/[orgId]/settings/general/layout.tsx` (+36 -28)
📝 `src/app/[orgId]/settings/general/page.tsx` (+2 -14)
📝 `src/app/admin/idp/[idpId]/layout.tsx` (+6 -6)
_...and 11 more files_
</details>
### 📄 Description
## Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
## Description
> TODO
## How to test?
> TODO
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/1846
Author: @Fredkiss3
Created: 11/11/2025
Status: 🔄 Open
Base:
dev← Head:feat/login-page-customization📝 Commits (10+)
0abc561♻️ refactor5641a2a🗃️ add org auth page model46d60bd♻️ add type08e4340🚧 frontend wipf58cf68🚧 WIPcfde4e7🚧 WIP4bd1c4e♻️ refactord218a4b🏷️ fix types02cd2cf✨ save and update branding2284814♻️ do not manually track the loading state inConfirmDeleteDialog📊 Changes
31 files changed (+1741 additions, -727 deletions)
View changed files
📝
messages/en-US.json(+19 -0)📝
server/db/pg/migrate.ts(+2 -1)📝
server/db/pg/schema/privateSchema.ts(+73 -36)📝
server/db/pg/schema/schema.ts(+2 -1)📝
server/db/sqlite/schema/privateSchema.ts(+85 -42)📝
server/db/sqlite/schema/schema.ts(+12 -6)📝
server/private/routers/external.ts(+27 -0)➕
server/private/routers/loginPage/deleteLoginPageBranding.ts(+113 -0)➕
server/private/routers/loginPage/getLoginPageBranding.ts(+103 -0)📝
server/private/routers/loginPage/index.ts(+3 -0)➕
server/private/routers/loginPage/upsertLoginPageBranding.ts(+154 -0)📝
server/routers/external.ts(+44 -44)📝
server/routers/loginPage/types.ts(+4 -2)📝
server/routers/resource/getResourceAuthInfo.ts(+0 -1)📝
src/app/[orgId]/settings/(private)/billing/layout.tsx(+10 -28)📝
src/app/[orgId]/settings/(private)/idp/[idpId]/layout.tsx(+2 -2)➕
src/app/[orgId]/settings/general/auth-page/page.tsx(+66 -0)📝
src/app/[orgId]/settings/general/layout.tsx(+36 -28)📝
src/app/[orgId]/settings/general/page.tsx(+2 -14)📝
src/app/admin/idp/[idpId]/layout.tsx(+6 -6)...and 11 more files
📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
How to test?
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.