← back to Grant

components/settings/SettingsTab.tsx

204 lines

'use client';

import { Settings, Building2, User, Bell, Database } from 'lucide-react';

export default function SettingsTab() {
  return (
    <div className="p-6 space-y-6">
      {/* Header */}
      <div>
        <h2
          className="text-lg font-bold"
          style={{ color: 'var(--color-text)' }}
        >
          Settings
        </h2>
        <p className="text-sm mt-1" style={{ color: 'var(--color-text-muted)' }}>
          Manage your organization profile, account settings, and integrations.
        </p>
      </div>

      {/* Settings Sections */}
      <div className="grid grid-cols-1 lg:grid-cols-2 gap-6">
        {/* Organization Profile */}
        <div className="card">
          <div className="flex items-center gap-2 mb-4">
            <Building2 size={16} style={{ color: 'var(--color-primary)' }} aria-hidden="true" />
            <h3
              className="text-sm font-semibold"
              style={{ color: 'var(--color-text)' }}
            >
              Organization Profile
            </h3>
          </div>
          <div className="space-y-3">
            <div>
              <label
                className="block text-xs font-medium mb-1"
                style={{ color: 'var(--color-text-secondary)' }}
              >
                Organization Name
              </label>
              <input
                type="text"
                className="input"
                placeholder="Your non-profit name"
                disabled
              />
            </div>
            <div>
              <label
                className="block text-xs font-medium mb-1"
                style={{ color: 'var(--color-text-secondary)' }}
              >
                Website
              </label>
              <input
                type="url"
                className="input"
                placeholder="https://yourorg.org"
                disabled
              />
            </div>
            <div>
              <label
                className="block text-xs font-medium mb-1"
                style={{ color: 'var(--color-text-secondary)' }}
              >
                Non-Profit Status
              </label>
              <select className="input" disabled>
                <option>Planning</option>
                <option>501(c)(3)</option>
                <option>501(c)(4)</option>
                <option>Other</option>
              </select>
            </div>
            <p className="text-xs" style={{ color: 'var(--color-text-muted)' }}>
              Complete the onboarding wizard to set up your organization profile.
            </p>
          </div>
        </div>

        {/* Account */}
        <div className="card">
          <div className="flex items-center gap-2 mb-4">
            <User size={16} style={{ color: 'var(--color-primary)' }} aria-hidden="true" />
            <h3
              className="text-sm font-semibold"
              style={{ color: 'var(--color-text)' }}
            >
              Account
            </h3>
          </div>
          <div className="space-y-3">
            <div
              className="flex items-center justify-between p-3 rounded-lg"
              style={{
                backgroundColor: 'var(--color-surface-el)',
                border: '1px solid var(--color-border)',
              }}
            >
              <div>
                <div className="text-sm font-medium" style={{ color: 'var(--color-text)' }}>
                  Admin Account
                </div>
                <div className="text-xs" style={{ color: 'var(--color-text-muted)' }}>
                  admin
                </div>
              </div>
              <span className="badge badge-success">Active</span>
            </div>
            <div
              className="flex items-center justify-between p-3 rounded-lg"
              style={{
                backgroundColor: 'var(--color-surface-el)',
                border: '1px solid var(--color-border)',
              }}
            >
              <div>
                <div className="text-sm font-medium" style={{ color: 'var(--color-text)' }}>
                  Google Sign-In
                </div>
                <div className="text-xs" style={{ color: 'var(--color-text-muted)' }}>
                  Connect your Google account for Gmail integration
                </div>
              </div>
              <span className="badge badge-warning">Coming Soon</span>
            </div>
          </div>
        </div>

        {/* Notifications */}
        <div className="card">
          <div className="flex items-center gap-2 mb-4">
            <Bell size={16} style={{ color: 'var(--color-primary)' }} aria-hidden="true" />
            <h3
              className="text-sm font-semibold"
              style={{ color: 'var(--color-text)' }}
            >
              Notifications
            </h3>
          </div>
          <div className="flex flex-col items-center justify-center py-8 text-center">
            <p className="text-sm" style={{ color: 'var(--color-text-muted)' }}>
              Notification preferences coming soon
            </p>
          </div>
        </div>

        {/* Data & Integrations */}
        <div className="card">
          <div className="flex items-center gap-2 mb-4">
            <Database size={16} style={{ color: 'var(--color-primary)' }} aria-hidden="true" />
            <h3
              className="text-sm font-semibold"
              style={{ color: 'var(--color-text)' }}
            >
              Data & Integrations
            </h3>
          </div>
          <div className="space-y-2">
            <div
              className="flex items-center justify-between p-3 rounded-lg"
              style={{
                backgroundColor: 'var(--color-surface-el)',
                border: '1px solid var(--color-border)',
              }}
            >
              <div className="text-sm" style={{ color: 'var(--color-text)' }}>
                Grants.gov API
              </div>
              <span className="badge badge-warning">Planned</span>
            </div>
            <div
              className="flex items-center justify-between p-3 rounded-lg"
              style={{
                backgroundColor: 'var(--color-surface-el)',
                border: '1px solid var(--color-border)',
              }}
            >
              <div className="text-sm" style={{ color: 'var(--color-text)' }}>
                Google Drive
              </div>
              <span className="badge badge-warning">Planned</span>
            </div>
            <div
              className="flex items-center justify-between p-3 rounded-lg"
              style={{
                backgroundColor: 'var(--color-surface-el)',
                border: '1px solid var(--color-border)',
              }}
            >
              <div className="text-sm" style={{ color: 'var(--color-text)' }}>
                Gmail
              </div>
              <span className="badge badge-warning">Planned</span>
            </div>
          </div>
        </div>
      </div>
    </div>
  );
}