Election-Tech-Initiative/electionguard-ui

⚙️ Election Setup

Closed this issue · 1 comments

Is there an existing issue for this?

  • I have searched the existing issues

Suggestion

Implement the ElectionSetupPage within the admin-app with the ElectionSetupWizard from the component library

This process will change the Election Key to be optional to help fix the flow for the setup. This will also allow guardians to be selected which is not currently a feature but necessary for Key Ceremony.

One thought that wasn't originally considered is if you can change the key, this will change the quorum and number of guardians on the election. This shouldn't be included in the setup but rather just the key ceremony.

Possible Implementation

This existing ElectionSetupWizard will need to be altered to function properly.

  1. A new generic container or layout should be made so that the action button is below the title instead of at the bottom of the page.
  2. The order should be slightly edited from the original. Roughly the process should be:
  • Instructions,
  • Set Election Details: Election Name and URL(optional)
  • Manifest Choice -> A. Upload Manifest or B. Build Manifest (DON'T IMPLEMENT) -> Manifest Preview
  • Key Choice -> A. Select Existing or B. Skip -> Key Preview (possibly display in selection)
  • Setup Complete but missing Key
  • Setup Complete

ORIGINAL

export enum ElectionSetupStep {
    Instructions = 0,
    JointKeySelect = 1,
    JointKeyRetrieved = 2,
    ManifestMenu = 3,
    ManifestUpload = 4,
    ManifestBuild = 5,
    ManifestPreview = 6,
    SetupComplete = 7,
}
  1. Navigation should be a single election-setup page.
  2. The statuses likely will have to be rethought. There should be some debate around whether the Election should have an isolated status to help with things like knowing if the key is missing. Discuss internally.

Election Status: New, Open, Closed
Election Setup Status: Instructions or About or Introduction, Details, Manifest, Key, Complete, Error

  1. Integrate an Error Step to handle if something fails during the setup. It should use -1 or similar ordering.

  2. At the Success step, if all the details have been added including key and manifest, allow election to be Open. Always allow Save and leave status as New.

  3. This should likely have the Open and Close buttons on the Election List to change the state of the election.

PERMISSION
This should only be available to the Admin user.

Closing as duplicate of product #1