mirror of
https://git.selfprivacy.org/kherel/selfprivacy.org.app.git
synced 2025-02-04 07:20:39 +00:00
Add storage usage to service screen, formatting
This commit is contained in:
parent
6f6df30767
commit
ae0295d959
|
@ -210,10 +210,12 @@
|
|||
"_comment": "Services",
|
||||
"title": "Your personal, private and independent services.",
|
||||
"service_page": {
|
||||
"open_in_browser": "Open in browser",
|
||||
"restart": "Restart service",
|
||||
"disable": "Disable service",
|
||||
"enable": "Enable service",
|
||||
"move": "Move to another volume"
|
||||
"move": "Move to another volume",
|
||||
"uses": "Uses {usage} on {volume}"
|
||||
},
|
||||
"mail": {
|
||||
"title": "E-Mail",
|
||||
|
|
|
@ -209,10 +209,12 @@
|
|||
"_comment": "Вкладка сервисы",
|
||||
"title": "Ваши личные, приватные и независимые сервисы:",
|
||||
"service_page": {
|
||||
"open_in_browser": "Открыть в браузере",
|
||||
"restart": "Перезапустить сервис",
|
||||
"disable": "Выключить сервис",
|
||||
"enable": "Включить сервис",
|
||||
"move": "Переместить на другой диск"
|
||||
"move": "Переместить на другой диск",
|
||||
"uses": "Использует {usage} на {volume}"
|
||||
},
|
||||
"mail": {
|
||||
"title": "Почта",
|
||||
|
|
|
@ -31,7 +31,8 @@ class BlocAndProviderConfig extends StatelessWidget {
|
|||
final recoveryKeyCubit = RecoveryKeyCubit(serverInstallationCubit);
|
||||
final apiDevicesCubit = ApiDevicesCubit(serverInstallationCubit);
|
||||
final apiVolumesCubit = ApiProviderVolumeCubit(serverInstallationCubit);
|
||||
final apiServerVolumesCubit = ApiServerVolumeCubit(serverInstallationCubit, apiVolumesCubit);
|
||||
final apiServerVolumesCubit =
|
||||
ApiServerVolumeCubit(serverInstallationCubit, apiVolumesCubit);
|
||||
final serverJobsCubit = ServerJobsCubit(serverInstallationCubit);
|
||||
final serverDetailsCubit = ServerDetailsCubit(serverInstallationCubit);
|
||||
|
||||
|
|
|
@ -12,7 +12,8 @@ part 'server_volume_state.dart';
|
|||
class ApiServerVolumeCubit
|
||||
extends ServerInstallationDependendCubit<ApiServerVolumeState> {
|
||||
ApiServerVolumeCubit(
|
||||
final ServerInstallationCubit serverInstallationCubit, this.providerVolumeCubit,
|
||||
final ServerInstallationCubit serverInstallationCubit,
|
||||
this.providerVolumeCubit,
|
||||
) : super(serverInstallationCubit, ApiServerVolumeState.initial()) {
|
||||
_providerVolumeSubscription =
|
||||
providerVolumeCubit.stream.listen(checkProviderVolumes);
|
||||
|
|
|
@ -5,7 +5,7 @@ class ApiServerVolumeState extends ServerInstallationDependendState {
|
|||
this._volumes,
|
||||
this.status,
|
||||
this.usesBinds,
|
||||
this._diskStatus,
|
||||
this._diskStatus,
|
||||
);
|
||||
|
||||
ApiServerVolumeState.initial()
|
||||
|
@ -19,7 +19,9 @@ class ApiServerVolumeState extends ServerInstallationDependendState {
|
|||
List<DiskVolume> get volumes => _diskStatus.diskVolumes;
|
||||
DiskStatus get diskStatus => _diskStatus;
|
||||
|
||||
DiskVolume getVolume(final String volumeName) => volumes.firstWhere((final volume) => volume.name == volumeName, orElse: () => DiskVolume());
|
||||
DiskVolume getVolume(final String volumeName) =>
|
||||
volumes.firstWhere((final volume) => volume.name == volumeName,
|
||||
orElse: () => DiskVolume());
|
||||
|
||||
ApiServerVolumeState copyWith({
|
||||
final List<ServerDiskVolume>? volumes,
|
||||
|
|
|
@ -51,7 +51,10 @@ class MorePage extends StatelessWidget {
|
|||
title: 'providers.storage.start_migration_button'.tr(),
|
||||
iconData: Icons.drive_file_move_outline,
|
||||
goTo: DataMigrationPage(
|
||||
diskStatus: context.watch<ApiServerVolumeCubit>().state.diskStatus,
|
||||
diskStatus: context
|
||||
.watch<ApiServerVolumeCubit>()
|
||||
.state
|
||||
.diskStatus,
|
||||
services: context
|
||||
.read<ServicesCubit>()
|
||||
.state
|
||||
|
|
|
@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:selfprivacy/logic/common_enum/common_enum.dart';
|
||||
import 'package:selfprivacy/logic/cubit/client_jobs/client_jobs_cubit.dart';
|
||||
import 'package:selfprivacy/logic/cubit/server_volumes/server_volume_cubit.dart';
|
||||
import 'package:selfprivacy/logic/cubit/services/services_cubit.dart';
|
||||
import 'package:selfprivacy/logic/models/job.dart';
|
||||
import 'package:selfprivacy/logic/models/service.dart';
|
||||
|
@ -68,7 +69,7 @@ class _ServicePageState extends State<ServicePage> {
|
|||
onTap: () => _launchURL(service.url),
|
||||
leading: const Icon(Icons.open_in_browser),
|
||||
title: Text(
|
||||
'Open in browser',
|
||||
'services.service_page.open_in_browser'.tr(),
|
||||
style: Theme.of(context).textTheme.titleMedium,
|
||||
),
|
||||
subtitle: Text(
|
||||
|
@ -117,10 +118,19 @@ class _ServicePageState extends State<ServicePage> {
|
|||
'services.service_page.move'.tr(),
|
||||
style: Theme.of(context).textTheme.titleMedium,
|
||||
),
|
||||
// subtitle: Text(
|
||||
// 'Uses ${service.storageUsage.used} on ${context.read<ApiServerVolumeCubit>().state.totalStorage}',
|
||||
// style: Theme.of(context).textTheme.bodyMedium,
|
||||
// ),
|
||||
subtitle: Text(
|
||||
'services.service_page.uses'.tr(
|
||||
namedArgs: {
|
||||
'usage': service.storageUsage.used.toString(),
|
||||
'volume': context
|
||||
.read<ApiServerVolumeCubit>()
|
||||
.state
|
||||
.getVolume(service.storageUsage.volume ?? '')
|
||||
.displayName
|
||||
},
|
||||
),
|
||||
style: Theme.of(context).textTheme.bodyMedium,
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue