import 'dart:math';
import 'package:flutter/material.dart';

String shortenText(String text, int maxLength) {
  // Wenn der Text kürzer als die maximale Länge ist, gib den Text unverändert zurück
  if (text.length <= maxLength) {
    return text;
  }

  // Den Text bis zur maximalen Länge abschneiden
  String shortened = text.substring(0, maxLength);

  // Überprüfen, ob das Zeichen nach der abgeschnittenen Länge ein Leerzeichen ist
  // Wenn nicht, das letzte vollständige Wort suchen und entfernen
  int lastSpace = shortened.lastIndexOf(' ');
  if (lastSpace != -1) {
    shortened = shortened.substring(0, lastSpace);
  }

  // Drei Punkte hinzufügen
  return '$shortened ...';
}

class ScaleSize {
  static double textScaleFactor(BuildContext context,
      {double maxTextScaleFactor = 2}) {
    final width = MediaQuery.of(context).size.width;
    double val = (width / 1400) * maxTextScaleFactor;
    return max(1, min(val, maxTextScaleFactor));
  }
}
