Skip to content

"Share Plan" Functionality #6

Description

@dotfortun

The "Share Plan" button will generate a link to share the plan with other players, allowing players to send a link to their current plan to make coordination easier. When an end user clicks on a shared plan link, the app should deserialize the URL search params and set the application state to the shared state.

A user can click on a button to copy their plan to share with another user.

Potential URL Schema 1

?sig=<str:sig>&shipNames=<str[]:names>&shipCold=<int[]:coldMass>&shipHot=<int[]:hotMass>&shipColor=<str[]:shipColor>&isThreader=<bool[]:threader>

This has the benefit of being relatively easily editable by end users.

Potential URL Schema 2

?sig=<str:sig>&ships=<str:jsonEncodedShips>

This has the benefit of being relatively easy to implement, but you have to URL encode after serializing, and URL decode when deserializing the data.

Potential URL Schema 3

?sig=<str:sig>&ships=<str:b64EncodedShips>

This has the benefit of potentially being very compact, but has the downside of being hard to edit by end users and you have to write a custom save format.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions