diff --git a/backend/app/models/Legislation.py b/backend/app/models/Legislation.py
index f765295..e6e8d0d 100644
--- a/backend/app/models/Legislation.py
+++ b/backend/app/models/Legislation.py
@@ -13,6 +13,7 @@ class Legislation(Base):
id: Mapped[int] = mapped_column(Integer, primary_key=True)
title: Mapped[str] = mapped_column(String(255), nullable=False)
+ short_title: Mapped[str | None] = mapped_column(String(255), nullable=True)
bill_number: Mapped[str] = mapped_column(String(50), nullable=False)
session_number: Mapped[int] = mapped_column(Integer, nullable=False)
sponsor_id: Mapped[int | None] = mapped_column(ForeignKey("senator.id"), nullable=True)
diff --git a/backend/app/schemas/legislation.py b/backend/app/schemas/legislation.py
index a78a3c3..4ac0f8c 100644
--- a/backend/app/schemas/legislation.py
+++ b/backend/app/schemas/legislation.py
@@ -17,6 +17,7 @@ class LegislationActionDTO(BaseModel):
class LegislationListDTO(BaseModel):
id: int
title: str
+ short_title: str | None = None
bill_number: str
session_number: int
sponsor_name: str
@@ -40,6 +41,7 @@ class LegislationDTO(LegislationDetailDTO):
class CreateLegislationDTO(BaseModel):
title: str
+ short_title: str | None = None
bill_number: str
session_number: int
sponsor_id: int | None
@@ -53,6 +55,7 @@ class CreateLegislationDTO(BaseModel):
class UpdateLegislationDTO(BaseModel):
title: str | None = None
+ short_title: str | None = None
bill_number: str | None = None
session_number: int | None = None
sponsor_id: int | None = None
diff --git a/backend/tests/models/test_other_models.py b/backend/tests/models/test_other_models.py
index 268cbb2..d7c1dc6 100644
--- a/backend/tests/models/test_other_models.py
+++ b/backend/tests/models/test_other_models.py
@@ -81,6 +81,7 @@ def test_columns_exist(self):
expected = {
"id",
"title",
+ "short_title",
"bill_number",
"session_number",
"sponsor_id",
diff --git a/frontend/src/app/legislation/[id]/page.tsx b/frontend/src/app/legislation/[id]/page.tsx
index c3a2622..1973167 100644
--- a/frontend/src/app/legislation/[id]/page.tsx
+++ b/frontend/src/app/legislation/[id]/page.tsx
@@ -80,7 +80,13 @@ export default async function LegislationDetailPage({
+ {legislation.short_title} +
+ )} + {!legislation.short_title && }
diff --git a/frontend/src/components/admin/LegislationForm.tsx b/frontend/src/components/admin/LegislationForm.tsx
index 2407a2d..66ece27 100644
--- a/frontend/src/components/admin/LegislationForm.tsx
+++ b/frontend/src/components/admin/LegislationForm.tsx
@@ -31,6 +31,7 @@ export function LegislationForm({
isLoading = false,
}: LegislationFormProps) {
const [title, setTitle] = useState(initialData?.title || "");
+ const [shortTitle, setShortTitle] = useState(initialData?.short_title || "");
const [billNumber, setBillNumber] = useState(initialData?.bill_number || "");
const [sessionNumber, setSessionNumber] = useState