saveTemplate method
- String name
Save a distro as a template by name
Implementation
Future<void> saveTemplate(String name) async {
String templateName = name;
// Check if template already exists
var templates = prefs.getStringList('templates');
var i = 2;
while (templates != null && templates.contains(templateName)) {
if (i > 2) {
templateName =
'${templateName.substring(0, templateName.length - 2)}-$i';
} else {
templateName = '$templateName-2';
}
i++;
}
plausible.event(name: "wsl_saveastemplate");
Notify.message('$templateName ${'savingastemplate-text'.i18n()}.',
loading: true);
await WSLApi().export(name, getTemplatePath().file('$templateName.ext4'));
templates ??= [];
templates.add(templateName);
prefs.setStringList('templates', templates);
Notify.message('$templateName ${'savedastemplate-text'.i18n()}.',
duration: const Duration(seconds: 3));
}