import '../../../state/app/modules/capabilities/bloc/capabilities_state.dart';
import '../../../state/app/modules/nextcloud_capabilities/bloc/nextcloud_capabilities_state.dart';

/// Demo fixtures for the mobile capability flags — everything granted so the
/// demo persona sees every feature (incl. push) as available and the timetable
/// scroll range stays unlimited (null day counts).
class DemoCapabilities {
  const DemoCapabilities._();

  static CapabilitiesState state() => const CapabilitiesState(
    viewForeignTimetables: true,
    pushNotifications: true,
    timetablePastDays: null,
    timetableFutureDays: null,
    // Die Demo-Persona ist explizit Schüler — null hieße "Backend kennt das
    // Feld nicht" (siehe CapabilitiesResponse.userType).
    userType: 'STUDENT',
    loaded: true,
  );
}

/// Demo fixtures for the Nextcloud `files_sharing` capabilities — a permissive
/// "everything enabled, nothing enforced" server profile.
class DemoNextcloudCapabilities {
  const DemoNextcloudCapabilities._();

  static NextcloudCapabilitiesState state() => const NextcloudCapabilitiesState(
    apiEnabled: true,
    publicEnabled: true,
    publicMultipleLinks: true,
    publicUploadEnabled: true,
    publicPasswordEnforced: false,
    publicExpireEnabled: false,
    publicExpireEnforced: false,
    groupEnabled: true,
    resharing: true,
    loaded: true,
  );
}
