This commit is contained in:
2026-01-12 20:37:38 -06:00
parent 7694532d53
commit 9c2d516f9d
74 changed files with 1842 additions and 1842 deletions

View File

@@ -169,7 +169,7 @@ const AdminBylaws = () => {
if (loading) {
return (
<div className="flex items-center justify-center min-h-[60vh]">
<p className="text-var(--purple-lavender)">Loading bylaws...</p>
<p className="text-[var(--purple-lavender)]">Loading bylaws...</p>
</div>
);
}
@@ -179,17 +179,17 @@ const AdminBylaws = () => {
{/* Header */}
<div className="flex justify-between items-center">
<div>
<h1 className="text-3xl font-semibold text-var(--purple-ink)" style={{ fontFamily: "'Inter', sans-serif" }}>
<h1 className="text-3xl font-semibold text-[var(--purple-ink)]" style={{ fontFamily: "'Inter', sans-serif" }}>
Bylaws Management
</h1>
<p className="text-var(--purple-lavender) mt-2" style={{ fontFamily: "'Nunito Sans', sans-serif" }}>
<p className="text-[var(--purple-lavender)] mt-2" style={{ fontFamily: "'Nunito Sans', sans-serif" }}>
Manage LOAF governing bylaws and version history
</p>
</div>
{hasPermission('bylaws.create') && (
<Button
onClick={handleCreate}
className="bg-var(--purple-lavender) text-white hover:bg-var(--purple-muted) rounded-full flex items-center gap-2"
className="bg-[var(--purple-lavender)] text-white hover:bg-[var(--purple-muted)] rounded-full flex items-center gap-2"
>
<Plus className="h-4 w-4" />
Add Version
@@ -199,22 +199,22 @@ const AdminBylaws = () => {
{/* Current Bylaws */}
{currentBylaws ? (
<Card className="p-6 border-2 border-var(--purple-lavender)">
<Card className="p-6 border-2 border-[var(--purple-lavender)]">
<div className="flex items-center justify-between mb-4">
<div className="flex items-center gap-3">
<div className="bg-gradient-to-br from-var(--purple-lavender) to-var(--purple-ink) p-3 rounded-xl">
<div className="bg-gradient-to-br from-[var(--purple-lavender)] to-[var(--purple-ink)] p-3 rounded-xl">
<Scale className="h-6 w-6 text-white" />
</div>
<div>
<h3 className="text-xl font-semibold text-var(--purple-ink)">
<h3 className="text-xl font-semibold text-[var(--purple-ink)]">
{currentBylaws.title}
</h3>
<div className="flex items-center gap-2 mt-1">
<Badge className="bg-var(--green-light) text-white">
<Badge className="bg-[var(--green-light)] text-white">
<Check className="h-3 w-3 mr-1" />
Current Version
</Badge>
<span className="text-var(--purple-lavender) text-sm">
<span className="text-[var(--purple-lavender)] text-sm">
Version {currentBylaws.version}
</span>
</div>
@@ -225,7 +225,7 @@ const AdminBylaws = () => {
variant="outline"
size="sm"
onClick={() => window.open(currentBylaws.document_url, '_blank')}
className="border-var(--purple-lavender) text-var(--purple-lavender)"
className="border-[var(--purple-lavender)] text-[var(--purple-lavender)]"
>
<ExternalLink className="h-4 w-4 mr-1" />
View
@@ -235,7 +235,7 @@ const AdminBylaws = () => {
variant="outline"
size="sm"
onClick={() => handleEdit(currentBylaws)}
className="border-var(--purple-lavender) text-var(--purple-lavender)"
className="border-[var(--purple-lavender)] text-[var(--purple-lavender)]"
>
<Edit className="h-4 w-4" />
</Button>
@@ -252,7 +252,7 @@ const AdminBylaws = () => {
)}
</div>
</div>
<div className="flex items-center gap-4 text-sm text-var(--purple-lavender)">
<div className="flex items-center gap-4 text-sm text-[var(--purple-lavender)]">
<span>Effective Date: <strong>{formatDate(currentBylaws.effective_date)}</strong></span>
<span></span>
<span>Document Type: <strong>{currentBylaws.document_type === 'upload' ? 'PDF Upload' : 'Link'}</strong></span>
@@ -260,10 +260,10 @@ const AdminBylaws = () => {
</Card>
) : (
<Card className="p-12 text-center">
<Scale className="h-16 w-16 text-var(--neutral-800) mx-auto mb-4" />
<p className="text-var(--purple-lavender) text-lg mb-4">No current bylaws set</p>
<Scale className="h-16 w-16 text-[var(--neutral-800)] mx-auto mb-4" />
<p className="text-[var(--purple-lavender)] text-lg mb-4">No current bylaws set</p>
{hasPermission('bylaws.create') && (
<Button onClick={handleCreate} className="bg-var(--purple-lavender) text-white">
<Button onClick={handleCreate} className="bg-[var(--purple-lavender)] text-white">
<Plus className="h-4 w-4 mr-2" />
Create Bylaws
</Button>
@@ -274,7 +274,7 @@ const AdminBylaws = () => {
{/* Historical Versions */}
{historicalBylaws.length > 0 && (
<div>
<h2 className="text-xl font-semibold text-var(--purple-ink) mb-4">
<h2 className="text-xl font-semibold text-[var(--purple-ink)] mb-4">
Version History ({historicalBylaws.length})
</h2>
<div className="space-y-4">
@@ -282,10 +282,10 @@ const AdminBylaws = () => {
<Card key={bylawsDoc.id} className="p-6">
<div className="flex items-center justify-between">
<div>
<h3 className="text-lg font-semibold text-var(--purple-ink) mb-1">
<h3 className="text-lg font-semibold text-[var(--purple-ink)] mb-1">
{bylawsDoc.title}
</h3>
<div className="flex items-center gap-3 text-sm text-var(--purple-lavender)">
<div className="flex items-center gap-3 text-sm text-[var(--purple-lavender)]">
<span>Version {bylawsDoc.version}</span>
<span></span>
<span>Effective {formatDate(bylawsDoc.effective_date)}</span>
@@ -296,7 +296,7 @@ const AdminBylaws = () => {
variant="outline"
size="sm"
onClick={() => window.open(bylawsDoc.document_url, '_blank')}
className="border-var(--purple-lavender) text-var(--purple-lavender)"
className="border-[var(--purple-lavender)] text-[var(--purple-lavender)]"
>
<ExternalLink className="h-4 w-4" />
</Button>
@@ -305,7 +305,7 @@ const AdminBylaws = () => {
variant="outline"
size="sm"
onClick={() => handleEdit(bylawsDoc)}
className="border-var(--purple-lavender) text-var(--purple-lavender)"
className="border-[var(--purple-lavender)] text-[var(--purple-lavender)]"
>
<Edit className="h-4 w-4" />
</Button>
@@ -404,12 +404,12 @@ const AdminBylaws = () => {
required={!selectedBylaws}
/>
{uploadedFile && (
<p className="text-sm text-var(--purple-lavender) mt-1">
<p className="text-sm text-[var(--purple-lavender)] mt-1">
Selected: {uploadedFile.name}
</p>
)}
{selectedBylaws && !uploadedFile && (
<p className="text-sm text-var(--purple-lavender) mt-1">
<p className="text-sm text-[var(--purple-lavender)] mt-1">
Current file will be kept if no new file is selected
</p>
)}
@@ -424,7 +424,7 @@ const AdminBylaws = () => {
placeholder="https://docs.google.com/... or https://example.com/file.pdf"
required
/>
<p className="text-sm text-var(--purple-lavender) mt-1">
<p className="text-sm text-[var(--purple-lavender)] mt-1">
Paste the shareable link to your document (Google Drive, Dropbox, PDF URL, etc.)
</p>
</div>
@@ -455,7 +455,7 @@ const AdminBylaws = () => {
</Button>
<Button
type="submit"
className="bg-var(--purple-lavender) text-white"
className="bg-[var(--purple-lavender)] text-white"
disabled={submitting}
>
{submitting ? 'Saving...' : selectedBylaws ? 'Update' : 'Create'}