name ); } public static function from_slug( string $slug ): ?self { foreach ( self::cases() as $case ) { if ( $case->slug() === $slug ) { return $case; } } return null; } public function label(): string { return match ( $this ) { self::VISIBLE => __( 'Visible', 'rooster-lms' ), self::PENDING => __( 'Awaiting approval', 'rooster-lms' ), self::HIDDEN => __( 'Hidden', 'rooster-lms' ), self::TRASHED => __( 'In the trash', 'rooster-lms' ), self::EXTERNAL => __( 'From the provider (staff only)', 'rooster-lms' ), }; } }