mirror of
https://github.com/Auties00/Reboot-Launcher.git
synced 2026-01-13 03:02:22 +01:00
Final version
This commit is contained in:
@@ -1,251 +0,0 @@
|
||||
{
|
||||
"find": "Znajdź ustawienie",
|
||||
"on": "Wł.",
|
||||
"off": "Wył.",
|
||||
"resetDefaultsContent": "Zresetuj",
|
||||
"resetDefaultsDialogTitle": "Czy chcesz zresetować wszystkie ustawienia na tej karcie do wartości domyślnych? To działanie jest nieodwracalne",
|
||||
"resetDefaultsDialogSecondaryAction": "Zamknij",
|
||||
"resetDefaultsDialogPrimaryAction": "Zresetuj",
|
||||
"authenticatorName": "Uwierzytelniacz",
|
||||
"authenticatorConfigurationName": "Konfiguracja uwierzytelniacza",
|
||||
"authenticatorConfigurationDescription": "Ta sekcja zawiera konfigurację uwierzytelniacza.",
|
||||
"authenticatorConfigurationHostName": "Hostuj",
|
||||
"authenticatorConfigurationHostDescription": "Nazwa hosta uwierzytelniacza",
|
||||
"authenticatorConfigurationPortName": "Port",
|
||||
"authenticatorConfigurationPortDescription": "Port uwierzytelniacza",
|
||||
"authenticatorConfigurationDetachedName": "Odłączony",
|
||||
"authenticatorConfigurationDetachedDescription": "Czy wbudowany uwierzytelniacz powinien być uruchamiany jako oddzielny proces, przydatny do debugowania.",
|
||||
"authenticatorInstallationDirectoryName": "Folder instalacji",
|
||||
"authenticatorInstallationDirectoryDescription": "Otwiera folder, w którym znajduje się wbudowany uwierzytelniacz.",
|
||||
"authenticatorInstallationDirectoryContent": "Pokaż pliki",
|
||||
"authenticatorResetDefaultsName": "Zresetuj uwierzytelniacz",
|
||||
"authenticatorResetDefaultsDescription": "Przywraca domyślne ustawienia uwierzytelniacza.",
|
||||
"authenticatorResetDefaultsContent": "Zresetuj",
|
||||
"hostGameServerName": "Serwer gry",
|
||||
"hostGameServerDescription": "Podaj podstawowe informacje o serwerze gry dla przeglądarki serwerów.",
|
||||
"hostGameServerNameName": "Nazwa",
|
||||
"hostGameServerNameDescription": "Nazwa twojego serwera gry",
|
||||
"hostGameServerDescriptionName": "Opis",
|
||||
"hostGameServerDescriptionDescription": "Opis twojego serwera gry",
|
||||
"hostGameServerPasswordName": "Hasło",
|
||||
"hostGameServerPasswordDescription": "Hasło do twojego serwera gry, jeśli jest potrzebne.",
|
||||
"hostGameServerDiscoverableName": "Wykrywalny",
|
||||
"hostGameServerDiscoverableDescription": "Udostępnij swój serwer innym graczom w przeglądarce serwerów.",
|
||||
"hostShareName": "Udostępnij",
|
||||
"hostShareDescription": "Ułatw innym osobom dołączenie do twojego serwera dzięki opcjom dostępnym w tej sekcji.",
|
||||
"hostShareLinkName": "Link",
|
||||
"hostShareLinkDescription": "Kopiuje link twojego serwera do schowka (wymaga Reboot Launcher).",
|
||||
"hostShareLinkContent": "Kopiuj link",
|
||||
"hostShareLinkMessageSuccess": "Skopiowano twój link do schowka",
|
||||
"hostShareIpName": "Publiczne IP",
|
||||
"hostShareIpDescription": "Kopiuje bieżące publiczne IP do schowka (nie wymaga Reboot Launcher).",
|
||||
"hostShareIpContent": "Kopiuj IP",
|
||||
"hostShareIpMessageLoading": "Uzyskiwanie publicznego IP...",
|
||||
"hostShareIpMessageSuccess": "Skopiowano twój link do schowka.",
|
||||
"hostShareIpMessageError": "Wystąpił błąd podczas uzyskiwania twojego publicznego IP: {error}.",
|
||||
"hostResetName": "Zresetuj serwer gry",
|
||||
"hostResetDescription": "Resetuje ustawienia serwera gry do wartości domyślnych.",
|
||||
"hostResetContent": "Zresetuj",
|
||||
"browserName": "Przeglądarka serwerów",
|
||||
"noServersAvailableTitle": "W tej chwili żadne serwery nie są dostępne.",
|
||||
"noServersAvailableSubtitle": "Hostuj serwer samodzielnie lub wróć później.",
|
||||
"joinServer": "Dołącz do serwera",
|
||||
"noServersAvailableByQueryTitle": "Nie znaleziono rezultatów",
|
||||
"noServersAvailableByQuerySubtitle": "Żaden serwer nie pasuje do Twojego zapytania",
|
||||
"findServer": "Znajdź serwer",
|
||||
"copyIp": "Kopiuj IP",
|
||||
"hostName": "Hostuj",
|
||||
"matchmakerName": "System dobierania graczy",
|
||||
"matchmakerConfigurationName": "Konfiguracja systemu dobierania graczy",
|
||||
"matchmakerConfigurationDescription": "Ta sekcja zawiera konfigurację systemu dobierania graczy.",
|
||||
"matchmakerConfigurationHostName": "Hostuj",
|
||||
"matchmakerConfigurationHostDescription": "Nazwa hosta systemu dobierania graczy.",
|
||||
"matchmakerConfigurationPortName": "Port",
|
||||
"matchmakerConfigurationPortDescription": "Port systemu dobierania graczy.",
|
||||
"matchmakerConfigurationAddressName": "Adres serwera gry",
|
||||
"matchmakerConfigurationAddressDescription": "Adres serwera gry używanego przez system dobierania graczy",
|
||||
"matchmakerConfigurationDetachedName": "Odłączony",
|
||||
"matchmakerConfigurationDetachedDescription": "Czy wbudowany system dobierania graczy powinien być uruchamiany jako oddzielny proces, przydatny do debugowania.",
|
||||
"matchmakerInstallationDirectoryName": "Folder instalacji",
|
||||
"matchmakerInstallationDirectoryDescription": "Otwiera folder, w którym znajduje się wbudowany system dobierania graczy.",
|
||||
"matchmakerInstallationDirectoryContent": "Pokaż pliki",
|
||||
"matchmakerResetDefaultsName": "Zresetuj system dobierania graczy",
|
||||
"matchmakerResetDefaultsDescription": "Resetuje ustawienia systemu dobierania graczy do wartości domyślnych.",
|
||||
"matchmakerResetDefaultsContent": "Zresetuj",
|
||||
"matchmakerResetDefaultsDialogTitle": "Czy chcesz zresetować wszystkie ustawienia na tej karcie do wartości domyślnych? To działanie jest nieodwracalne.",
|
||||
"matchmakerResetDefaultsDialogSecondaryAction": "Zamknij",
|
||||
"matchmakerResetDefaultsDialogPrimaryAction": "Zresetuj",
|
||||
"playName": "Graj",
|
||||
"playGameServerName": "Server gry",
|
||||
"playGameServerDescription": "Pomocne skróty do znalezienia serwera, na którym chcesz grać.",
|
||||
"playGameServerContentLocal": "Twój serwer",
|
||||
"playGameServerContentBrowser": "Server {owner}",
|
||||
"playGameServerContentCustom": "{address}",
|
||||
"playGameServerHostName": "Hostuj serwer",
|
||||
"playGameServerHostDescription": "Chcesz stworzyć serwer gry dla siebie lub swoich znajomych? Hostuj jeden!",
|
||||
"playGameServerHostContent": "Hostuj",
|
||||
"playGameServerBrowserName": "Przeglądaj serwery",
|
||||
"playGameServerBrowserDescription": "Znajdź wykrywalny serwer hostowany na Reboot Launcher w przeglądarce serwerów.",
|
||||
"playGameServerBrowserContent": "Przeglądaj",
|
||||
"playGameServerCustomName": "Dołącz do serwera niestandardowego",
|
||||
"playGameServerCustomDescription": "Wpisz adres dowolnego serwera, niezależnie od tego, czy był on hostowany poprzez Reboot Launcher, czy nie.",
|
||||
"playGameServerCustomContent": "Wprowadź IP",
|
||||
"settingsName": "Ustawienia",
|
||||
"settingsClientName": "Ustawienia klienta",
|
||||
"settingsClientDescription": "Ta sekcja zawiera pliki dll używane do działania klienta Fortnite.",
|
||||
"settingsClientConsoleName": "Konsola Unreal Engine",
|
||||
"settingsClientConsoleDescription": "Ten plik jest wstrzykiwany w celu odblokowania konsoli Unreal Engine.",
|
||||
"settingsClientAuthName": "Łatka uwierzytelniacza",
|
||||
"settingsClientAuthDescription": "Ten plik jest wstrzykiwany w celu przekierowania wszystkich żądań HTTP do uwierzytelniacza programu uruchamiającego.",
|
||||
"settingsClientMemoryName": "Łatka pamięci",
|
||||
"settingsClientMemoryDescription": "Ten plik jest wstrzykiwany, aby zapobiec awarii klienta Fortnite z powodu wycieku pamięci.",
|
||||
"settingsClientArgsName": "Niestandardowe argumenty uruchamiania",
|
||||
"settingsClientArgsDescription": "Dodatkowe argumenty do użycia podczas uruchamiania gry.",
|
||||
"settingsClientArgsPlaceholder": "-przykład",
|
||||
"settingsServerName": "Ustawienia serwera gry",
|
||||
"settingsServerSubtitle": "Ta sekcja zawiera ustawienia związane z implementacją serwera gry.",
|
||||
"settingsServerFileName": "Implementacja",
|
||||
"settingsServerFileDescription": "Ten plik jest wstrzykiwany w celu utworzenia serwera gry i hostowania meczów.",
|
||||
"settingsServerPortName": "Port",
|
||||
"settingsServerPortDescription": "Port używany przez dll serwera gry.",
|
||||
"settingsServerMirrorName": "Aktualizacja linku",
|
||||
"settingsServerMirrorDescription": "Adres URL używany do aktualizacji dll serwera gry.",
|
||||
"settingsServerMirrorPlaceholder": "link",
|
||||
"settingsServerTimerName": "Aktualizacja licznika czasu",
|
||||
"settingsServerTimerSubtitle": "Określa, kiedy dll serwera gry powininno zostać zaktualizowane.",
|
||||
"settingsUtilsName": "Narzędzia programu do uruchamiania",
|
||||
"settingsUtilsSubtitle": "Ta sekcja zawiera przydatne ustawienia programu uruchamiającego.",
|
||||
"settingsUtilsInstallationDirectoryName": "Katalog instalacji",
|
||||
"settingsUtilsInstallationDirectorySubtitle": "Otwiera katalog instalacji",
|
||||
"settingsUtilsInstallationDirectoryContent": "Pokaż pliki",
|
||||
"settingsUtilsBugReportName": "Utwórz raport o błędzie",
|
||||
"settingsUtilsBugReportSubtitle": "Pomóż mi naprawić błędy, zgłaszając je.",
|
||||
"settingsUtilsBugReportContent": "Zgłoś błąd",
|
||||
"settingsUtilsResetDefaultsName": "Zresetuj ustawienia",
|
||||
"settingsUtilsResetDefaultsSubtitle": "Resetuje ustawienia programu uruchamiającego do wartości domyślnych.",
|
||||
"settingsUtilsDialogTitle": "Czy chcesz zresetować wszystkie ustawienia na tej karcie do wartości domyślnych? To działanie jest nieodwracalne.",
|
||||
"settingsUtilsResetDefaultsContent": "Zresetuj",
|
||||
"settingsUtilsDialogSecondaryAction": "Zamknij",
|
||||
"settingsUtilsDialogPrimaryAction": "Zresetuj",
|
||||
"addVersionName": "Wersja",
|
||||
"addVersionDescription": "Wybierz wersję Fortnite, której chcesz użyć.",
|
||||
"addLocalBuildName": "Dodaj wersję z lokalnej pamięci masowej tego komputera.",
|
||||
"addLocalBuildDescription": "Wersje pochodzące z dysku lokalnego nie mają gwarancji działania.",
|
||||
"addLocalBuildContent": "Dodaj kompilację",
|
||||
"downloadBuildName": "Pobierz dowolną wersję z chmury",
|
||||
"downloadBuildDescription": "Łatwe pobieranie dowolnej wersji Fortnite z chmury.",
|
||||
"downloadBuildContent": "Pobierz",
|
||||
"cannotUpdateGameServer": "Wystąpił błąd podczas aktualizacji serwera gry: {error}.",
|
||||
"launchFortnite": "Uruchom Fortnite",
|
||||
"closeFortnite": "Zamknij Fortnite",
|
||||
"updateGameServerDllNever": "Nigdy",
|
||||
"updateGameServerDllEvery": "Każda {name}",
|
||||
"selectPathPlaceholder": "Ścieżka",
|
||||
"selectPathWindowTitle": "Wybierz plik",
|
||||
"defaultDialogSecondaryAction": "Zamknij",
|
||||
"stopLoadingDialogAction": "Stop",
|
||||
"copyErrorDialogTitle": "Kopiuj błąd",
|
||||
"copyErrorDialogSuccess": "Skopiowano błąd do schowka.",
|
||||
"defaultServerName": "Serwer gry Reboot",
|
||||
"defaultServerDescription": "Po prostu kolejny serwer",
|
||||
"updatingRebootDll": "Pobieranie dll reboot...",
|
||||
"updatedRebootDll": "Plik dll reboot został pobrany pomyślnie",
|
||||
"updateRebootDllError": "Wystąpił błąd podczas pobierania dll reboot: {error}.",
|
||||
"updateRebootDllErrorAction": "Ponów",
|
||||
"uncaughtErrorMessage": "Wystąpił niewyłapany błąd: {error}.",
|
||||
"launchingHeadlessServer": "Uruchamianie serwera bezgłowego ...",
|
||||
"usernameOrEmail": "Nazwa użytkownika/Email",
|
||||
"usernameOrEmailPlaceholder": "Wpisz swoją nazwę użytkownika lub adres e-mail.",
|
||||
"password": "Hasło",
|
||||
"passwordPlaceholder": "Wpisz hasło, jeśli chcesz je użyć.",
|
||||
"cancelProfileChanges": "Anuluj",
|
||||
"saveProfileChanges": "Zapisz",
|
||||
"startingServer": "Uruchamianie {name}...",
|
||||
"startedServer": "{name} został uruchomiony pomyślnie.",
|
||||
"startServerError": "Wystąpił błąd podczas uruchamiania {name}: {error}.",
|
||||
"stoppingServer": "Zatrzymanie {name}...",
|
||||
"stoppedServer": "{name} został pomyślnie zatrzymany.",
|
||||
"stopServerError": "Wystąpił błąd podczas zatrzymywania {name}: {error}.",
|
||||
"missingHostNameError": "Brakująca nazwa hosta w konfiguracji {name}.",
|
||||
"missingPortError": "Brakujący port w konfiguracji {name}.",
|
||||
"illegalPortError": "Niepoprawny port w konfiguracji {name}.",
|
||||
"freeingPort": "Zwalnianie portu {port}...",
|
||||
"freedPort": "Port {port} został pomyślnie zwolniony.",
|
||||
"freePortError": "Wystąpił błąd podczas zwalniania portu {port}: {error}.",
|
||||
"pingingRemoteServer": "Pingowanie zdalnego {name}...",
|
||||
"pingingLocalServer": "Pingowanie {type} {name}...",
|
||||
"pingError": "Nie można pingować {type} {name}",
|
||||
"joinSelfServer": "Nie możesz dołączyć do własnego serwera.",
|
||||
"wrongServerPassword": "Błędne hasło: spróbuj ponownie.",
|
||||
"offlineServer": "Ten serwer nie jest teraz online: spróbuj ponownie później.",
|
||||
"serverPassword": "Hasło",
|
||||
"serverPasswordPlaceholder": "Wpisz hasło serwera",
|
||||
"serverPasswordCancel": "Anuluj",
|
||||
"serverPasswordConfirm": "Potwierdź",
|
||||
"joinedServer": "Udało ci się dołączyć do serwera {author}!",
|
||||
"copiedIp": "Skopiowano IP do schowka",
|
||||
"selectVersion": "Wybierz wersję",
|
||||
"noVersions": "Proszę utwórzyć lub pobrać wersję.",
|
||||
"missingVersion": "Ta wersja nie istnieje na lokalnej maszynie.",
|
||||
"deleteVersionDialogTitle": "Czy na pewno chcesz usunąć tę wersję?",
|
||||
"deleteVersionFromDiskOption": "Usuń pliki wersji z dysku",
|
||||
"deleteVersionCancel": "Zachowaj",
|
||||
"deleteVersionConfirm": "Usuń",
|
||||
"versionName": "Nazwa",
|
||||
"versionNameLabel": "Wpisz nazwę nowej wersji",
|
||||
"newVersionNameConfirm": "Zapisz",
|
||||
"newVersionNameLabel": "Wpisz nazwę nowej wersji",
|
||||
"gameFolderTitle": "Folder gry",
|
||||
"gameFolderPlaceholder": "Wpisz nowy folder gry",
|
||||
"gameFolderPlaceWindowTitle": "Wybierz folder gry",
|
||||
"gameFolderLabel": "Ścieżka",
|
||||
"openInExplorer": "Otwórz w eksploratorze",
|
||||
"modify": "Modyfikuj",
|
||||
"delete": "Usuń",
|
||||
"build": "Kompilacja",
|
||||
"selectBuild": "Wybierz kompilację fortnite",
|
||||
"fetchingBuilds": "Pobieranie kompilacji i dysków...",
|
||||
"unknownError": "Nieznany błąd",
|
||||
"downloadVersionError": "Nie można pobrać wersji: {error}.",
|
||||
"downloadedVersion": "Pobieranie zostało zakończone pomyślnie!",
|
||||
"download": "Pobierz",
|
||||
"downloading": "Pobieranie...",
|
||||
"extracting": "Wyodrębnianie...",
|
||||
"buildProgress": "{progress}%",
|
||||
"buildInstallationDirectory": "Katalog instalacji",
|
||||
"buildInstallationDirectoryPlaceholder": "Wpisz katalog instalacji",
|
||||
"buildInstallationDirectoryWindowTitle": "Wybierz katalog instalacji",
|
||||
"timeLeft": "Pozostały czas: {timeLeft, plural, =0{mniej niż minuta} =1{około {timeLeft} minuta} other{około {timeLeft} minut}}",
|
||||
"localBuildsWarning": "Nie ma gwarancji, że lokalne kompilacje będą działać.",
|
||||
"saveLocalVersion": "Zapisz",
|
||||
"embedded": "Wbudowany",
|
||||
"remote": "Zdalny",
|
||||
"local": "Lokalny",
|
||||
"checkServer": "Sprawdź {name}",
|
||||
"startServer": "Uruchom {name}",
|
||||
"stopServer": "Zatrzymaj {name}",
|
||||
"startHosting": "Rozpocznij hosting",
|
||||
"stopHosting": "Zatrzymaj hosting",
|
||||
"startGame": "Uruchom fortnite",
|
||||
"stopGame": "Zamknij fortnite",
|
||||
"waitingForGameServer": "Oczekiwanie na uruchomienie serwera gry...",
|
||||
"gameServerStartWarning": "Serwer bezgłowy został pomyślnie uruchomiony, ale serwer gry się nie uruchomił.",
|
||||
"gameServerStartLocalWarning": "Serwer gry został pomyślnie uruchomiony, ale inni gracze nie mogą do niego dołączyć.",
|
||||
"gameServerStarted": "Serwer gry został pomyślnie uruchomiony.",
|
||||
"checkingGameServer": "Sprawdzanie, czy inni gracze mogą dołączyć do serwera gry...",
|
||||
"checkGameServerFixMessage": "Inni gracze nie mogą dołączyć do serwera gry, ponieważ port {port} nie jest otwarty.",
|
||||
"checkGameServerFixAction": "Napraw",
|
||||
"infoName": "Help",
|
||||
"emptyVersionName": "Pusta nazwa wersji",
|
||||
"versionAlreadyExists": "Ta wersja już istnieje",
|
||||
"emptyGamePath": "Pusta ścieżka gry",
|
||||
"directoryDoesNotExist": "Katalog nie istnieje",
|
||||
"missingShippingExe": "Nieprawidłowa ścieżka do gry: brak FortniteClient-Win64-Shipping",
|
||||
"invalidDownloadPath": "Nieprawidłowa ścieżka pobierania",
|
||||
"invalidDllPath": "Nieprawidłowa ścieżka dll",
|
||||
"dllDoesNotExist": "Plik nie istnieje",
|
||||
"invalidDllExtension": "Ten plik nie jest plikiem dll",
|
||||
"emptyHostname": "Pusta nazwa hosta",
|
||||
"hostnameFormat": "Nieprawidłowy format nazwy hosta: oczekiwano ip:port",
|
||||
"emptyURL": "Pusty adres URL aktualizacji"
|
||||
}
|
||||
@@ -22,6 +22,7 @@ import 'package:reboot_launcher/src/controller/settings_controller.dart';
|
||||
import 'package:reboot_launcher/src/dialog/implementation/server.dart';
|
||||
import 'package:reboot_launcher/src/page/implementation/home_page.dart';
|
||||
import 'package:reboot_launcher/src/util/matchmaker.dart';
|
||||
import 'package:reboot_launcher/src/util/os.dart';
|
||||
import 'package:reboot_launcher/src/util/translations.dart';
|
||||
import 'package:reboot_launcher/src/util/watch.dart';
|
||||
import 'package:supabase_flutter/supabase_flutter.dart';
|
||||
@@ -136,11 +137,14 @@ void _initWindow() => doWhenWindowReady(() async {
|
||||
appWindow.alignment = Alignment.center;
|
||||
}
|
||||
|
||||
await Window.setEffect(
|
||||
effect: WindowEffect.acrylic,
|
||||
color: Colors.transparent,
|
||||
dark: SchedulerBinding.instance.platformDispatcher.platformBrightness.isDark
|
||||
);
|
||||
if(isWin11) {
|
||||
await Window.setEffect(
|
||||
effect: WindowEffect.acrylic,
|
||||
color: Colors.transparent,
|
||||
dark: SchedulerBinding.instance.platformDispatcher.platformBrightness.isDark
|
||||
);
|
||||
}
|
||||
|
||||
appWindow.show();
|
||||
});
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'dart:convert';
|
||||
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:markdown_widget/widget/markdown.dart';
|
||||
import 'package:markdown_widget/config/markdown_generator.dart';
|
||||
import 'package:reboot_launcher/src/controller/info_controller.dart';
|
||||
import 'package:reboot_launcher/src/page/abstract/page.dart';
|
||||
import 'package:reboot_launcher/src/page/abstract/page_setting.dart';
|
||||
@@ -10,7 +10,6 @@ import 'package:reboot_launcher/src/page/abstract/page_type.dart';
|
||||
import 'package:reboot_launcher/src/util/translations.dart';
|
||||
import 'package:reboot_launcher/src/widget/common/setting_tile.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:skeletons/skeletons.dart';
|
||||
|
||||
class InfoPage extends RebootPage {
|
||||
const InfoPage({Key? key}) : super(key: key);
|
||||
@@ -77,44 +76,50 @@ class _InfoPageState extends RebootPageState<InfoPage> {
|
||||
future: _fetchFuture,
|
||||
builder: (context, linksSnapshot) {
|
||||
var linksData = linksSnapshot.data;
|
||||
return ListView.builder(
|
||||
itemBuilder: (context, index) {
|
||||
if (index % 2 == 0) {
|
||||
return const SizedBox(
|
||||
height: 16.0
|
||||
);
|
||||
}
|
||||
if(linksData == null) {
|
||||
return const Center(
|
||||
child: ProgressRing()
|
||||
);
|
||||
}
|
||||
|
||||
return Card(
|
||||
borderRadius: const BorderRadius.vertical(top: Radius.circular(4.0)),
|
||||
child: _buildBody(linksData, index)
|
||||
);
|
||||
},
|
||||
itemCount: linksData == null ? null : linksData.length * 2
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Expanded(
|
||||
child: ConstrainedBox(
|
||||
constraints: const BoxConstraints(
|
||||
maxWidth: 1000
|
||||
),
|
||||
child: ListView.separated(
|
||||
shrinkWrap: true,
|
||||
separatorBuilder: (context, index) => const SizedBox(
|
||||
height: 16.0
|
||||
),
|
||||
itemBuilder: (context, index) => Card(
|
||||
borderRadius: const BorderRadius.vertical(top: Radius.circular(4.0)),
|
||||
child: _buildBody(linksData, index)
|
||||
),
|
||||
itemCount: linksData.length
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildBody(List<String>? linksData, int index) {
|
||||
if (linksData == null) {
|
||||
return SkeletonLine(
|
||||
style: SkeletonLineStyle(
|
||||
height: _height
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return FutureBuilder(
|
||||
future: _readLink(linksData[index ~/ 2]),
|
||||
builder: (context, linkDataSnapshot) => SizedBox(
|
||||
height: _height,
|
||||
child: MarkdownWidget(
|
||||
data: linkDataSnapshot.data ?? ""
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
Widget _buildBody(List<String> linksData, int index) => FutureBuilder(
|
||||
future: _readLink(linksData[index]),
|
||||
builder: (context, linkDataSnapshot) {
|
||||
var markdownGenerator = MarkdownGenerator();
|
||||
var result = markdownGenerator.buildWidgets(linkDataSnapshot.data ?? "");
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: result
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
@override
|
||||
List<SettingTile> get settings => [];
|
||||
|
||||
Reference in New Issue
Block a user