Files
philip b239ae3e5f Initial commit: Flutter app + PHP/MySQL backend on Hostinger
Replaces Firebase with a self-hosted PHP/MySQL API served from
winded.prymsolutions.com. Includes full backend (schema, auth, events,
teams, brackets, suggestions, stats, media, file upload) and updated
Flutter repositories and domain models.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 20:13:57 -07:00

37 lines
1.1 KiB
Dart

/// Social platforms surfaced on the Media screen. The enum values are stable
/// identifiers used for icon mapping and snackbar copy.
enum SocialPlatform { instagram, youtube, twitter, tiktok }
/// Immutable domain model for a single social media link card on the Media
/// screen. Pairs a [platform] with the community's [handle], a deep [url],
/// and a friendly [displayName].
class MediaLink {
const MediaLink({
required this.platform,
required this.handle,
required this.url,
required this.displayName,
});
final SocialPlatform platform;
final String handle;
final String url;
final String displayName;
@override
bool operator ==(Object other) {
if (identical(this, other)) return true;
if (other is! MediaLink) return false;
return other.platform == platform &&
other.handle == handle &&
other.url == url &&
other.displayName == displayName;
}
@override
int get hashCode => Object.hash(platform, handle, url, displayName);
@override
String toString() => 'MediaLink($platform, $handle)';
}