mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2025-07-25 12:54:41 +00:00
47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using Fluxor;
|
|
using Wabbajack.DTOs;
|
|
|
|
namespace Wabbajack.App.Blazor.Store;
|
|
|
|
[FeatureState]
|
|
public class DownloadState
|
|
{
|
|
public DownloadStateEnum CurrentDownloadState { get; }
|
|
public ModlistMetadata CurrentModlistMetadata { get; }
|
|
|
|
// Required for initial state.
|
|
private DownloadState() { }
|
|
|
|
public DownloadState(DownloadStateEnum newState, ModlistMetadata newModlist)
|
|
{
|
|
CurrentDownloadState = newState;
|
|
CurrentModlistMetadata = newModlist;
|
|
}
|
|
|
|
public enum DownloadStateEnum
|
|
{
|
|
Waiting,
|
|
Downloading,
|
|
Downloaded,
|
|
Failure
|
|
}
|
|
}
|
|
|
|
public class UpdateDownloadState
|
|
{
|
|
public DownloadState.DownloadStateEnum State { get; }
|
|
public ModlistMetadata Modlist { get; }
|
|
|
|
public UpdateDownloadState(DownloadState.DownloadStateEnum state, ModlistMetadata modlist)
|
|
{
|
|
State = state;
|
|
Modlist = modlist;
|
|
}
|
|
}
|
|
|
|
public static class DownloadStateReducers
|
|
{
|
|
[ReducerMethod]
|
|
public static DownloadState ReduceChangeDownloadState(DownloadState state, UpdateDownloadState action) =>
|
|
new(action.State, action.Modlist);
|
|
} |