diff --git a/public/AboutBanner.png b/public/AboutBanner.png new file mode 100644 index 0000000..b26c788 Binary files /dev/null and b/public/AboutBanner.png differ diff --git a/public/earliest-prototype.png b/public/earliest-prototype.png new file mode 100644 index 0000000..b5653bd Binary files /dev/null and b/public/earliest-prototype.png differ diff --git a/public/first-sim-renders.png b/public/first-sim-renders.png new file mode 100644 index 0000000..3424397 Binary files /dev/null and b/public/first-sim-renders.png differ diff --git a/public/polished-plugin.png b/public/polished-plugin.png new file mode 100644 index 0000000..a87d378 Binary files /dev/null and b/public/polished-plugin.png differ diff --git a/src/components/divisions/DivisionManagement.jsx b/src/components/divisions/DivisionManagement.jsx index 6a7742c..1195507 100644 --- a/src/components/divisions/DivisionManagement.jsx +++ b/src/components/divisions/DivisionManagement.jsx @@ -857,7 +857,21 @@ const DivisionManagement = () => { }), }); - if (!response.ok) throw new Error('Failed to add member'); + if (!response.ok) { + if (response.status === 409) { + setShowAddMember(false); + setNewMemberCid(''); + setNewMemberRole('nav_member'); + setToastConfig({ + variant: 'warning', + title: 'Failed to Add Member', + description: 'User is already a member of this division', + }); + setShowToast(true); + return; + } + throw new Error('Failed to add member'); + } const newMember = await response.json(); setMembers([...members, newMember]); diff --git a/src/pages/About.jsx b/src/pages/About.jsx index b2a5c73..51c0b35 100644 --- a/src/pages/About.jsx +++ b/src/pages/About.jsx @@ -15,7 +15,7 @@ const TeamMemberCard = ({ name, role, email }) => { }; return ( - +

{name}

{role}

@@ -67,15 +67,24 @@ const About = () => { return ( -
+ {/* Hero Banner */} +
+ About banner + {/* Bottom fade overlay */} +
+
+ +
- - About -

What is BARS?

BARS is an advanced airport lighting simulation platform that synchronizes real-time @@ -131,7 +140,9 @@ const About = () => { BARS development began in late 2024, after the idea of a vatSys plugin to manage stopbars came up amongst members of the community. The{' '} earliest prototype @@ -139,14 +150,18 @@ const About = () => { was a simple controller only plugin that showed stopbar state changes only inside the client, displayed through a simple ground window. That quickly led to a{' '} more polished plugin , experiments with SimConnect, object placement, and the first{' '} visible in-sim lighting renders