Compare commits

..

15 Commits

Author SHA1 Message Date
shirahara 07f518c38b Translated using Weblate (Japanese)
Currently translated at 99.2% (514 of 518 strings)

Translation: SelfPrivacy/SelfPrivacy App
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app/ja/
2024-04-11 10:04:25 +00:00
shirahara c94933940b Translated using Weblate (Japanese)
Currently translated at 100.0% (2 of 2 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_hetzner
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_hetzner/ja/
2024-04-11 10:04:25 +00:00
shirahara 0ecd8c623b Translated using Weblate (Japanese)
Currently translated at 100.0% (2 of 2 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_cloudflare
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_cloudflare/ja/
2024-04-11 10:04:25 +00:00
shirahara b42135c04e Translated using Weblate (Japanese)
Currently translated at 100.0% (2 of 2 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_backblaze
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_backblaze/ja/
2024-04-11 10:04:25 +00:00
shirahara 9072ddc6ee Translated using Weblate (Japanese)
Currently translated at 100.0% (1 of 1 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_digital_ocean
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_digital_ocean/ja/
2024-04-11 10:04:25 +00:00
shirahara 11f5fea258 Translated using Weblate (Japanese)
Currently translated at 100.0% (8 of 8 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_fallback_terminal
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_fallback_terminal/ja/
2024-04-11 10:04:25 +00:00
shirahara 4a4ca00e9d Translated using Weblate (Japanese)
Currently translated at 98.8% (512 of 518 strings)

Translation: SelfPrivacy/SelfPrivacy App
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app/ja/
2024-04-11 10:04:25 +00:00
shirahara fbca59a67d Translated using Weblate (Japanese)
Currently translated at 100.0% (5 of 5 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_fallback_ssh
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_fallback_ssh/ja/
2024-04-11 10:04:25 +00:00
shirahara f72a8b04cd Translated using Weblate (Japanese)
Currently translated at 50.0% (1 of 2 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_hetzner
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_hetzner/ja/
2024-04-11 10:04:25 +00:00
shirahara 0b0afe7c1b Translated using Weblate (Japanese)
Currently translated at 100.0% (2 of 2 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_fallback_old
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_fallback_old/ja/
2024-04-11 10:04:25 +00:00
shirahara 61011cc374 Translated using Weblate (Japanese)
Currently translated at 37.5% (3 of 8 strings)

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_fallback_terminal
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_fallback_terminal/ja/
2024-04-11 10:04:25 +00:00
shirahara 13427b185c Translated using Weblate (Japanese)
Currently translated at 76.0% (394 of 518 strings)

Translation: SelfPrivacy/SelfPrivacy App
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app/ja/
2024-04-11 10:04:25 +00:00
Weblate 30cbe031a7 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: SelfPrivacy/SelfPrivacy App
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app/
2024-04-11 10:04:25 +00:00
Weblate d6a85d645c Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: SelfPrivacy/SelfPrivacy App Markdown: how_digital_ocean
Translate-URL: http://weblate.selfprivacy.org/projects/selfprivacy/selfprivacy-app-markdown-how_digital_ocean/
2024-04-11 10:04:25 +00:00
dettlaff 0dc281a4f6 feat: add route to service cards in storage page (#446)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: #446
Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-committed-by: dettlaff <dettlaff@riseup.net>
2024-04-11 13:04:22 +03:00
1 changed files with 43 additions and 27 deletions

View File

@ -43,8 +43,8 @@ class _ServerStoragePageState extends State<ServerStoragePage> {
return BrandHeroScreen(
hasBackButton: true,
heroTitle: 'storage.card_title'.tr(),
bodyPadding: const EdgeInsets.symmetric(vertical: 16.0),
children: [
// ...sections,
...widget.diskStatus.diskVolumes.map(
(final volume) => Column(
mainAxisSize: MainAxisSize.min,
@ -87,24 +87,35 @@ class ServerStorageSection extends StatelessWidget {
Widget build(final BuildContext context) => Column(
mainAxisSize: MainAxisSize.min,
children: [
ServerStorageListItem(
volume: volume,
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: ServerStorageListItem(
volume: volume,
),
),
const SizedBox(height: 16),
...services.map(
(final service) => ServerConsumptionListTile(
service: service,
volume: volume,
onTap: () {
context.pushRoute(
ServiceRoute(serviceId: service.id),
);
},
),
),
if (volume.isResizable) ...[
const SizedBox(height: 16),
BrandOutlinedButton(
title: 'storage.extend_volume_button.title'.tr(),
onPressed: () => context.pushRoute(
ExtendingVolumeRoute(
diskVolumeToResize: volume,
diskStatus: diskStatus,
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: BrandOutlinedButton(
title: 'storage.extend_volume_button.title'.tr(),
onPressed: () => context.pushRoute(
ExtendingVolumeRoute(
diskVolumeToResize: volume,
diskStatus: diskStatus,
),
),
),
),
@ -117,33 +128,38 @@ class ServerConsumptionListTile extends StatelessWidget {
const ServerConsumptionListTile({
required this.service,
required this.volume,
required this.onTap,
super.key,
});
final Service service;
final DiskVolume volume;
final VoidCallback onTap;
@override
Widget build(final BuildContext context) => Padding(
padding: const EdgeInsets.symmetric(vertical: 8),
child: ConsumptionListItem(
title: service.displayName,
icon: SvgPicture.string(
service.svgIcon,
width: 24.0,
height: 24.0,
colorFilter: ColorFilter.mode(
Theme.of(context).colorScheme.onBackground,
BlendMode.srcIn,
Widget build(final BuildContext context) => InkWell(
onTap: onTap,
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0, horizontal: 16.0),
child: ConsumptionListItem(
title: service.displayName,
icon: SvgPicture.string(
service.svgIcon,
width: 22.0,
height: 24.0,
colorFilter: ColorFilter.mode(
Theme.of(context).colorScheme.onBackground,
BlendMode.srcIn,
),
),
rightSideText: service.storageUsage.used.toString(),
percentage: service.storageUsage.used.byte / volume.sizeTotal.byte,
color: volume.root
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.secondary,
backgroundColor: Theme.of(context).colorScheme.surfaceVariant,
dense: true,
),
rightSideText: service.storageUsage.used.toString(),
percentage: service.storageUsage.used.byte / volume.sizeTotal.byte,
color: volume.root
? Theme.of(context).colorScheme.primary
: Theme.of(context).colorScheme.secondary,
backgroundColor: Theme.of(context).colorScheme.surfaceVariant,
dense: true,
),
);
}