mirror of
https://github.com/kepler155c/opus
synced 2025-04-13 06:13:20 +00:00
better cloud edit
This commit is contained in:
parent
cd6ed79d11
commit
ea8e981880
@ -10,7 +10,7 @@ local systemPage = UI.Page {
|
||||
tabs = UI.Tabs {
|
||||
settings = UI.Tab {
|
||||
tabTitle = 'Category',
|
||||
grid = UI.Grid {
|
||||
grid = UI.ScrollingGrid {
|
||||
y = 2,
|
||||
columns = {
|
||||
{ heading = 'Name', key = 'name' },
|
||||
|
@ -1,3 +1,5 @@
|
||||
local Config = require('config')
|
||||
|
||||
local multishell = _ENV.multishell
|
||||
local os = _G.os
|
||||
local read = _G.read
|
||||
@ -13,12 +15,17 @@ if not _G.http.websocket then
|
||||
end
|
||||
|
||||
if not _G.cloud_catcher then
|
||||
print('Visit https://cloud-catcher.squiddev.cc')
|
||||
print('Paste key: ')
|
||||
local key = read()
|
||||
if #key == 0 then
|
||||
return
|
||||
local key = Config.load('cloud').key
|
||||
|
||||
if not key then
|
||||
print('Visit https://cloud-catcher.squiddev.cc')
|
||||
print('Paste key: ')
|
||||
key = read()
|
||||
if #key == 0 then
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
-- open an unfocused tab
|
||||
local id = shell.openTab('cloud ' .. key)
|
||||
print('Connecting...')
|
||||
|
@ -1,3 +1,5 @@
|
||||
local Config = require('config')
|
||||
|
||||
local read = _G.read
|
||||
local shell = _ENV.shell
|
||||
|
||||
@ -6,11 +8,15 @@ if not _G.http.websocket then
|
||||
end
|
||||
|
||||
if not _G.cloud_catcher then
|
||||
print('Visit https://cloud-catcher.squiddev.cc')
|
||||
print('Paste key: ')
|
||||
local key = read()
|
||||
if #key == 0 then
|
||||
return
|
||||
local key = Config.load('cloud').key
|
||||
|
||||
if not key then
|
||||
print('Visit https://cloud-catcher.squiddev.cc')
|
||||
print('Paste key: ')
|
||||
key = read()
|
||||
if #key == 0 then
|
||||
return
|
||||
end
|
||||
end
|
||||
print('Connecting...')
|
||||
shell.run('cloud ' .. key)
|
||||
|
53
sys/apps/system/cloud.lua
Normal file
53
sys/apps/system/cloud.lua
Normal file
@ -0,0 +1,53 @@
|
||||
local Ansi = require('ansi')
|
||||
local Config = require('config')
|
||||
local UI = require('ui')
|
||||
|
||||
local colors = _G.colors
|
||||
|
||||
local config = Config.load('cloud')
|
||||
|
||||
local tab = UI.Tab {
|
||||
tabTitle = 'Cloud',
|
||||
description = 'Cloud catcher options',
|
||||
key = UI.TextEntry {
|
||||
x = 3, ex = -3, y = 2,
|
||||
limit = 32,
|
||||
value = config.key,
|
||||
shadowText = 'Cloud key',
|
||||
accelerators = {
|
||||
enter = 'update_key',
|
||||
},
|
||||
},
|
||||
button = UI.Button {
|
||||
x = 3, y = 4,
|
||||
text = 'Update',
|
||||
event = 'update_key',
|
||||
},
|
||||
labelText = UI.TextArea {
|
||||
x = 2, ex = -2, y = 6,
|
||||
textColor = colors.yellow,
|
||||
marginRight = 0,
|
||||
value = string.format(
|
||||
[[Use a non-changing cloud key. Note that only a single computer can use this session at one time.
|
||||
To obtain a key, visit:
|
||||
%shttps://cloud-catcher.squiddev.cc%s then bookmark:
|
||||
%shttps://cloud-catcher.squiddev.cc/?id=%sKEY
|
||||
]],
|
||||
Ansi.orange, Ansi.reset, Ansi.orange, Ansi.black),
|
||||
},
|
||||
}
|
||||
|
||||
function tab:eventHandler(event)
|
||||
if event.type == 'update_key' then
|
||||
if #self.key.value > 0 then
|
||||
config.key = self.key.value
|
||||
else
|
||||
config.key = nil
|
||||
end
|
||||
Config.update('cloud', config)
|
||||
self:emit({ type = 'success_message', message = 'Updated' })
|
||||
end
|
||||
end
|
||||
|
||||
return tab
|
||||
|
Loading…
x
Reference in New Issue
Block a user