Skip to content

Conversation

@DJJones66
Copy link
Contributor

🚀 PR: Expand Powered By – Extended Settings & UI Options

Summary

This PR builds on the earlier “Powered By” feature by expanding branding and footer support across the application. It introduces configurable branding logos and copyright text via settings, and integrates these into the Dashboard layout and Header for a more flexible and professional look.


🔧 Changes Made

Backend (settings_initializer.py)

  • Added branding_logo_settings:

    • Stores light/dark logo URLs and optional alt text.

    • Default:

      {
        "light": "/braindrive/braindrive-light.svg",
        "dark": "/braindrive/braindrive-dark.svg",
        "alt": "BrainDrive"
      }
  • Added copyright_settings:

    • Configurable footer copyright line.

    • Default:

      { "text": "© 2025 BrainDrive" }
  • Both definitions support scopes (system, user) and are tagged as ui.

Frontend

  • DashboardLayout.tsx

    • Loads copyright value via useSettings.
    • Renders a footer with the configured or default text at the bottom of the dashboard.
  • Header.tsx

    • Loads branding logo settings.
    • Replaces hardcoded logo paths with dynamic light/dark logos.
    • Supports custom alt text for accessibility and branding consistency.

✅ Benefits

  • Organizations can customize branding without code changes.
  • Supports both text and logos for flexible powered-by/footer messaging.
  • Ensures consistent UI theming across light/dark modes.
  • Adds a clean, professional footer to the dashboard layout.

🧪 Testing Steps

  1. Start the app with default settings.

    • Confirm header shows BrainDrive logos (light/dark).

    • Confirm dashboard footer shows:

      © 2025 BrainDrive
      
  2. Update branding_logo_settings to point to custom logos.

    • Verify logo updates dynamically in both light and dark mode.
  3. Update copyright_settings:

    { "text": "© 2025 ExampleCorp. All Rights Reserved." }
    • Confirm footer reflects the new text.
  4. Check fallback behavior:

    • Delete or corrupt settings → defaults should apply gracefully.

📎 Related Context

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