nscript: load script view

This allows you to open and run scripts for testing purposes, but only
from external links such as nostr:nscript...
This commit is contained in:
William Casarin
2023-07-04 11:42:16 -07:00
parent 640fbf23ea
commit a04a401292
10 changed files with 261 additions and 25 deletions

View File

@@ -16,6 +16,7 @@ enum Route: Hashable {
case Following(following: FollowingModel)
case MuteList(users: [String])
case RelayConfig
case Script(script: ScriptModel)
case Bookmarks
case Config
case EditMetadata
@@ -105,6 +106,8 @@ enum Route: Hashable {
WalletScannerView(result: walletScanResult)
case .FollowersYouKnow(let friendedFollowers, let followers):
FollowersYouKnowView(damus_state: damusState, friended_followers: friendedFollowers, followers: followers)
case .Script(let load_model):
LoadScript(pool: damusState.pool, model: load_model)
}
}
@@ -172,8 +175,10 @@ enum Route: Hashable {
return true
case (.FollowersYouKnow(_, _), .FollowersYouKnow(_, _)):
return true
case (.Script(_), .Script(_)):
return true
default:
return false
return true
}
}
@@ -259,6 +264,9 @@ enum Route: Hashable {
hasher.combine("followersYouKnow")
hasher.combine(friendedFollowers)
hasher.combine(followers.sub_id)
case .Script(let model):
hasher.combine("script")
hasher.combine(model.data.count)
}
}
}