improve ui and translations, separate export form sending

This commit is contained in:
marlon-erler
2026-08-29 23:31:51 +02:00
parent 784ff61794
commit 9deb365d3d
6 changed files with 999 additions and 452 deletions
+421 -30
View File
@@ -28,10 +28,10 @@ nnoremap \1 :call SN("1")
nmap \rn <Plug>(coc-rename)
xmap gx <Plug>NetrwBrowseXVis
nmap gx <Plug>NetrwBrowseX
snoremap <C-R> "_c
snoremap <silent> <C-H> c
snoremap <silent> <Del> c
snoremap <silent> <BS> c
snoremap <silent> <Del> c
snoremap <silent> <C-H> c
snoremap <C-R> "_c
nnoremap <silent> <Plug>GitGutterPreviewHunk :call gitgutter#utility#warn('Please change your map <Plug>GitGutterPreviewHunk to <Plug>(GitGutterPreviewHunk)')
nnoremap <silent> <Plug>(GitGutterPreviewHunk) :GitGutterPreviewHunk
nnoremap <silent> <Plug>GitGutterUndoHunk :call gitgutter#utility#warn('Please change your map <Plug>GitGutterUndoHunk to <Plug>(GitGutterUndoHunk)')
@@ -139,6 +139,8 @@ set smarttab
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
set updatetime=500
set window=24
set winminheight=0
set winminwidth=0
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
let v:this_session=expand("<sfile>:p")
silent only
@@ -152,15 +154,17 @@ if &shortmess =~ 'A'
else
set shortmess=aoO
endif
badd +132 src/Model/Global/fileTransferModel.ts
badd +0 src/Model/Utility/utility.ts
badd +1 src/Model/Global/fileTransferModel.ts
badd +1 src/Model/Utility/utility.ts
badd +1 src/View/Modals/dataTransferModal.tsx
badd +669 src/View/translations.ts
badd +1 src/View/translations.ts
badd +133 src/View/homePage.tsx
badd +0 src/ViewModel/Global/fileTransferViewModel.ts
argglobal
%argdel
set stal=2
tabnew +setlocal\ bufhidden=wipe
tabnew +setlocal\ bufhidden=wipe
tabrewind
edit src/Model/Global/fileTransferModel.ts
let s:save_splitbelow = &splitbelow
@@ -182,12 +186,12 @@ set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
exe 'vert 1resize ' . ((&columns * 31 + 73) / 146)
exe 'vert 2resize ' . ((&columns * 111 + 73) / 146)
exe 'vert 3resize ' . ((&columns * 2 + 73) / 146)
exe 'vert 1resize ' . ((&columns * 54 + 127) / 255)
exe 'vert 2resize ' . ((&columns * 196 + 127) / 255)
exe 'vert 3resize ' . ((&columns * 3 + 127) / 255)
argglobal
enew
file NERD_tree_tab_2
file NERD_tree_tab_1
balt src/Model/Global/fileTransferModel.ts
let s:cpo_save=&cpo
set cpo&vim
@@ -211,6 +215,14 @@ nnoremap <buffer> <silent> R :call nerdtree#ui_glue#invokeKeyMap("R")
nnoremap <buffer> <silent> T :call nerdtree#ui_glue#invokeKeyMap("T")
nnoremap <buffer> <silent> U :call nerdtree#ui_glue#invokeKeyMap("U")
nnoremap <buffer> <silent> X :call nerdtree#ui_glue#invokeKeyMap("X")
nmap <buffer> [c <Plug>(GitGutterPrevHunk)
nmap <buffer> \hp <Plug>(GitGutterPreviewHunk)
nmap <buffer> \hu <Plug>(GitGutterUndoHunk)
nmap <buffer> \hs <Plug>(GitGutterStageHunk)
xmap <buffer> \hs <Plug>(GitGutterStageHunk)
nmap <buffer> ]c <Plug>(GitGutterNextHunk)
xmap <buffer> ac <Plug>(GitGutterTextObjectOuterVisual)
omap <buffer> ac <Plug>(GitGutterTextObjectOuterPending)
nnoremap <buffer> <silent> cd :call nerdtree#ui_glue#invokeKeyMap("cd")
nnoremap <buffer> <silent> e :call nerdtree#ui_glue#invokeKeyMap("e")
nnoremap <buffer> <silent> f :call nerdtree#ui_glue#invokeKeyMap("f")
@@ -218,6 +230,8 @@ nnoremap <buffer> <silent> go :call nerdtree#ui_glue#invokeKeyMap("go")
nnoremap <buffer> <silent> gb :call nerdtree#ui_glue#invokeKeyMap("gb")
nnoremap <buffer> <silent> gi :call nerdtree#ui_glue#invokeKeyMap("gi")
nnoremap <buffer> <silent> gs :call nerdtree#ui_glue#invokeKeyMap("gs")
xmap <buffer> ic <Plug>(GitGutterTextObjectInnerVisual)
omap <buffer> ic <Plug>(GitGutterTextObjectInnerPending)
nnoremap <buffer> <silent> i :call nerdtree#ui_glue#invokeKeyMap("i")
nnoremap <buffer> <silent> m :call nerdtree#ui_glue#invokeKeyMap("m")
nnoremap <buffer> <silent> o :call nerdtree#ui_glue#invokeKeyMap("o")
@@ -515,7 +529,7 @@ setlocal wrap
setlocal wrapmargin=0
silent! normal! zE
let &fdl = &fdl
let s:l = 130 - ((13 * winheight(0) + 11) / 22)
let s:l = 130 - ((0 * winheight(0) + 23) / 47)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
@@ -672,16 +686,16 @@ setlocal wrap
setlocal wrapmargin=0
silent! normal! zE
let &fdl = &fdl
let s:l = 233 - ((10 * winheight(0) + 11) / 22)
let s:l = 233 - ((0 * winheight(0) + 23) / 47)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 233
normal! 017|
wincmd w
exe 'vert 1resize ' . ((&columns * 31 + 73) / 146)
exe 'vert 2resize ' . ((&columns * 111 + 73) / 146)
exe 'vert 3resize ' . ((&columns * 2 + 73) / 146)
exe 'vert 1resize ' . ((&columns * 54 + 127) / 255)
exe 'vert 2resize ' . ((&columns * 196 + 127) / 255)
exe 'vert 3resize ' . ((&columns * 3 + 127) / 255)
tabnext
edit src/View/translations.ts
let s:save_splitbelow = &splitbelow
@@ -703,13 +717,12 @@ set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
exe 'vert 1resize ' . ((&columns * 31 + 73) / 146)
exe 'vert 2resize ' . ((&columns * 57 + 73) / 146)
exe 'vert 3resize ' . ((&columns * 56 + 73) / 146)
exe 'vert 1resize ' . ((&columns * 31 + 127) / 255)
exe 'vert 2resize ' . ((&columns * 111 + 127) / 255)
exe 'vert 3resize ' . ((&columns * 111 + 127) / 255)
argglobal
enew
file NERD_tree_tab_3
balt src/View/translations.ts
let s:cpo_save=&cpo
set cpo&vim
nnoremap <buffer> <silent> <NL> :call nerdtree#ui_glue#invokeKeyMap("<C-j>")
@@ -747,9 +760,9 @@ nnoremap <buffer> <silent> go :call nerdtree#ui_glue#invokeKeyMap("go")
nnoremap <buffer> <silent> gb :call nerdtree#ui_glue#invokeKeyMap("gb")
nnoremap <buffer> <silent> gi :call nerdtree#ui_glue#invokeKeyMap("gi")
nnoremap <buffer> <silent> gs :call nerdtree#ui_glue#invokeKeyMap("gs")
nnoremap <buffer> <silent> i :call nerdtree#ui_glue#invokeKeyMap("i")
xmap <buffer> ic <Plug>(GitGutterTextObjectInnerVisual)
omap <buffer> ic <Plug>(GitGutterTextObjectInnerPending)
nnoremap <buffer> <silent> i :call nerdtree#ui_glue#invokeKeyMap("i")
nnoremap <buffer> <silent> m :call nerdtree#ui_glue#invokeKeyMap("m")
nnoremap <buffer> <silent> o :call nerdtree#ui_glue#invokeKeyMap("o")
nnoremap <buffer> <silent> p :call nerdtree#ui_glue#invokeKeyMap("p")
@@ -1047,18 +1060,22 @@ setlocal wrap
setlocal wrapmargin=0
silent! normal! zE
let &fdl = &fdl
let s:l = 116 - ((11 * winheight(0) + 11) / 22)
let s:l = 123 - ((20 * winheight(0) + 23) / 47)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 116
normal! 09|
keepjumps 123
normal! 0
wincmd w
argglobal
if bufexists(fnamemodify("src/View/Modals/dataTransferModal.tsx", ":p")) | buffer src/View/Modals/dataTransferModal.tsx | else | edit src/View/Modals/dataTransferModal.tsx | endif
balt src/View/homePage.tsx
let s:cpo_save=&cpo
set cpo&vim
imap <buffer> <nowait> <silent> <C-K> <Cmd>:call coc#snippet#jump(0, 0)
imap <buffer> <nowait> <silent> <C-J> <Cmd>:call coc#snippet#jump(1, 0)
smap <buffer> <nowait> <silent> <NL> <Cmd>:call coc#snippet#jump(1, 0)
smap <buffer> <nowait> <silent>  <Cmd>:call coc#snippet#jump(0, 0)
nmap <buffer> [c <Plug>(GitGutterPrevHunk)
nmap <buffer> \hp <Plug>(GitGutterPreviewHunk)
nmap <buffer> \hu <Plug>(GitGutterUndoHunk)
@@ -1069,6 +1086,10 @@ xmap <buffer> ac <Plug>(GitGutterTextObjectOuterVisual)
omap <buffer> ac <Plug>(GitGutterTextObjectOuterPending)
xmap <buffer> ic <Plug>(GitGutterTextObjectInnerVisual)
omap <buffer> ic <Plug>(GitGutterTextObjectInnerPending)
smap <buffer> <nowait> <silent> <C-K> <Cmd>:call coc#snippet#jump(0, 0)
smap <buffer> <nowait> <silent> <C-J> <Cmd>:call coc#snippet#jump(1, 0)
imap <buffer> <nowait> <silent> <NL> <Cmd>:call coc#snippet#jump(1, 0)
imap <buffer> <nowait> <silent>  <Cmd>:call coc#snippet#jump(0, 0)
let &cpo=s:cpo_save
unlet s:cpo_save
setlocal keymap=
@@ -1204,17 +1225,387 @@ setlocal wrap
setlocal wrapmargin=0
silent! normal! zE
let &fdl = &fdl
let s:l = 117 - ((0 * winheight(0) + 11) / 22)
let s:l = 31 - ((30 * winheight(0) + 23) / 47)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 117
normal! 058|
keepjumps 31
normal! $
wincmd w
2wincmd w
exe 'vert 1resize ' . ((&columns * 31 + 73) / 146)
exe 'vert 2resize ' . ((&columns * 57 + 73) / 146)
exe 'vert 3resize ' . ((&columns * 56 + 73) / 146)
3wincmd w
exe 'vert 1resize ' . ((&columns * 31 + 127) / 255)
exe 'vert 2resize ' . ((&columns * 111 + 127) / 255)
exe 'vert 3resize ' . ((&columns * 111 + 127) / 255)
tabnext
edit src/ViewModel/Global/fileTransferViewModel.ts
let s:save_splitbelow = &splitbelow
let s:save_splitright = &splitright
set splitbelow splitright
wincmd _ | wincmd |
vsplit
1wincmd h
wincmd w
let &splitbelow = s:save_splitbelow
let &splitright = s:save_splitright
wincmd t
let s:save_winminheight = &winminheight
let s:save_winminwidth = &winminwidth
set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
exe 'vert 1resize ' . ((&columns * 31 + 127) / 255)
exe 'vert 2resize ' . ((&columns * 223 + 127) / 255)
argglobal
enew
file NERD_tree_tab_4
balt src/ViewModel/Global/fileTransferViewModel.ts
let s:cpo_save=&cpo
set cpo&vim
nnoremap <buffer> <silent> <NL> :call nerdtree#ui_glue#invokeKeyMap("<C-j>")
nnoremap <buffer> <silent>  :call nerdtree#ui_glue#invokeKeyMap("<C-k>")
nnoremap <buffer> <silent> ␍ :call nerdtree#ui_glue#invokeKeyMap("<CR>")
nnoremap <buffer> <silent> ? :call nerdtree#ui_glue#invokeKeyMap("?")
nnoremap <buffer> <silent> A :call nerdtree#ui_glue#invokeKeyMap("A")
nnoremap <buffer> <silent> B :call nerdtree#ui_glue#invokeKeyMap("B")
nnoremap <buffer> <silent> C :call nerdtree#ui_glue#invokeKeyMap("C")
nnoremap <buffer> <silent> CD :call nerdtree#ui_glue#invokeKeyMap("CD")
nnoremap <buffer> <silent> D :call nerdtree#ui_glue#invokeKeyMap("D")
nnoremap <buffer> <silent> FL :call nerdtree#ui_glue#invokeKeyMap("FL")
nnoremap <buffer> <silent> F :call nerdtree#ui_glue#invokeKeyMap("F")
nnoremap <buffer> <silent> I :call nerdtree#ui_glue#invokeKeyMap("I")
nnoremap <buffer> <silent> J :call nerdtree#ui_glue#invokeKeyMap("J")
nnoremap <buffer> <silent> K :call nerdtree#ui_glue#invokeKeyMap("K")
nnoremap <buffer> <silent> O :call nerdtree#ui_glue#invokeKeyMap("O")
nnoremap <buffer> <silent> P :call nerdtree#ui_glue#invokeKeyMap("P")
nnoremap <buffer> <silent> R :call nerdtree#ui_glue#invokeKeyMap("R")
nnoremap <buffer> <silent> T :call nerdtree#ui_glue#invokeKeyMap("T")
nnoremap <buffer> <silent> U :call nerdtree#ui_glue#invokeKeyMap("U")
nnoremap <buffer> <silent> X :call nerdtree#ui_glue#invokeKeyMap("X")
nmap <buffer> [c <Plug>(GitGutterPrevHunk)
nmap <buffer> \hp <Plug>(GitGutterPreviewHunk)
nmap <buffer> \hu <Plug>(GitGutterUndoHunk)
nmap <buffer> \hs <Plug>(GitGutterStageHunk)
xmap <buffer> \hs <Plug>(GitGutterStageHunk)
nmap <buffer> ]c <Plug>(GitGutterNextHunk)
xmap <buffer> ac <Plug>(GitGutterTextObjectOuterVisual)
omap <buffer> ac <Plug>(GitGutterTextObjectOuterPending)
nnoremap <buffer> <silent> cd :call nerdtree#ui_glue#invokeKeyMap("cd")
nnoremap <buffer> <silent> e :call nerdtree#ui_glue#invokeKeyMap("e")
nnoremap <buffer> <silent> f :call nerdtree#ui_glue#invokeKeyMap("f")
nnoremap <buffer> <silent> go :call nerdtree#ui_glue#invokeKeyMap("go")
nnoremap <buffer> <silent> gb :call nerdtree#ui_glue#invokeKeyMap("gb")
nnoremap <buffer> <silent> gi :call nerdtree#ui_glue#invokeKeyMap("gi")
nnoremap <buffer> <silent> gs :call nerdtree#ui_glue#invokeKeyMap("gs")
nnoremap <buffer> <silent> i :call nerdtree#ui_glue#invokeKeyMap("i")
xmap <buffer> ic <Plug>(GitGutterTextObjectInnerVisual)
omap <buffer> ic <Plug>(GitGutterTextObjectInnerPending)
nnoremap <buffer> <silent> m :call nerdtree#ui_glue#invokeKeyMap("m")
nnoremap <buffer> <silent> o :call nerdtree#ui_glue#invokeKeyMap("o")
nnoremap <buffer> <silent> p :call nerdtree#ui_glue#invokeKeyMap("p")
nnoremap <buffer> <silent> q :call nerdtree#ui_glue#invokeKeyMap("q")
nnoremap <buffer> <silent> r :call nerdtree#ui_glue#invokeKeyMap("r")
nnoremap <buffer> <silent> s :call nerdtree#ui_glue#invokeKeyMap("s")
nnoremap <buffer> <silent> t :call nerdtree#ui_glue#invokeKeyMap("t")
nnoremap <buffer> <silent> u :call nerdtree#ui_glue#invokeKeyMap("u")
nnoremap <buffer> <silent> x :call nerdtree#ui_glue#invokeKeyMap("x")
nnoremap <buffer> <silent> <MiddleMouse> :call nerdtree#ui_glue#invokeKeyMap("<MiddleMouse>")
nnoremap <buffer> <silent> <2-LeftMouse> :call nerdtree#ui_glue#invokeKeyMap("<2-LeftMouse>")
nnoremap <buffer> <silent> <C-K> :call nerdtree#ui_glue#invokeKeyMap("<C-k>")
nnoremap <buffer> <silent> <C-J> :call nerdtree#ui_glue#invokeKeyMap("<C-j>")
nnoremap <buffer> <silent> <LeftRelease> <LeftRelease>:call nerdtree#ui_glue#invokeKeyMap("<LeftRelease>")
let &cpo=s:cpo_save
unlet s:cpo_save
setlocal keymap=
setlocal noarabic
setlocal noautoindent
setlocal backupcopy=
setlocal balloonexpr=
setlocal nobinary
setlocal nobreakindent
setlocal breakindentopt=
setlocal bufhidden=hide
setlocal nobuflisted
setlocal buftype=nofile
setlocal nocindent
setlocal cinkeys=0{,0},0),0],:,0#,!^F,o,O,e
setlocal cinoptions=
setlocal cinscopedecls=public,protected,private
setlocal cinwords=if,else,while,do,for,switch
setlocal colorcolumn=
setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
setlocal commentstring=/*%s*/
setlocal complete=.,w,b,u,t,i
setlocal concealcursor=nvic
setlocal conceallevel=2
setlocal completefunc=
setlocal nocopyindent
setlocal cryptmethod=
setlocal nocursorbind
setlocal nocursorcolumn
setlocal cursorline
setlocal cursorlineopt=both
setlocal define=
setlocal dictionary=
setlocal nodiff
setlocal equalprg=
setlocal errorformat=
setlocal noexpandtab
if &filetype != 'nerdtree'
setlocal filetype=nerdtree
endif
setlocal fillchars=
setlocal fixendofline
setlocal foldcolumn=0
setlocal nofoldenable
setlocal foldexpr=0
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldmarker={{{,}}}
setlocal foldmethod=manual
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal foldtext=foldtext()
setlocal formatexpr=
setlocal formatoptions=tcq
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
setlocal formatprg=
setlocal grepprg=
setlocal iminsert=0
setlocal imsearch=-1
setlocal include=
setlocal includeexpr=
setlocal indentexpr=
setlocal indentkeys=0{,0},0),0],:,0#,!^F,o,O,e
setlocal noinfercase
setlocal iskeyword=@,48-57,_,192-255
setlocal keywordprg=
setlocal nolinebreak
setlocal nolisp
setlocal lispoptions=
setlocal lispwords=
setlocal nolist
setlocal listchars=
setlocal makeencoding=
setlocal makeprg=
setlocal matchpairs=(:),{:},[:]
setlocal nomodeline
setlocal nomodifiable
setlocal nrformats=bin,octal,hex
set number
setlocal nonumber
setlocal numberwidth=4
setlocal omnifunc=
setlocal path=
setlocal nopreserveindent
setlocal nopreviewwindow
setlocal quoteescape=\\
setlocal readonly
setlocal norelativenumber
setlocal norightleft
setlocal rightleftcmd=search
setlocal noscrollbind
setlocal scrolloff=-1
setlocal shiftwidth=4
setlocal noshortname
setlocal showbreak=
setlocal sidescrolloff=-1
set signcolumn=yes
setlocal signcolumn=yes
setlocal nosmartindent
setlocal nosmoothscroll
setlocal softtabstop=0
setlocal nospell
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
setlocal spellfile=
setlocal spelllang=en
setlocal spelloptions=
setlocal statusline=%{exists('b:NERDTree')?b:NERDTree.root.path.str():''}
setlocal suffixesadd=
setlocal noswapfile
setlocal synmaxcol=3000
if &syntax != 'nerdtree'
setlocal syntax=nerdtree
endif
setlocal tabstop=8
setlocal tagcase=
setlocal tagfunc=
setlocal tags=
setlocal termwinkey=
setlocal termwinscroll=10000
setlocal termwinsize=
setlocal textwidth=0
setlocal thesaurus=
setlocal thesaurusfunc=
setlocal noundofile
setlocal undolevels=-123456
setlocal varsofttabstop=
setlocal vartabstop=
setlocal virtualedit=
setlocal wincolor=
setlocal nowinfixheight
setlocal winfixwidth
setlocal nowrap
setlocal wrapmargin=0
wincmd w
argglobal
balt src/View/translations.ts
let s:cpo_save=&cpo
set cpo&vim
nmap <buffer> [c <Plug>(GitGutterPrevHunk)
nmap <buffer> \hp <Plug>(GitGutterPreviewHunk)
nmap <buffer> \hu <Plug>(GitGutterUndoHunk)
nmap <buffer> \hs <Plug>(GitGutterStageHunk)
xmap <buffer> \hs <Plug>(GitGutterStageHunk)
nmap <buffer> ]c <Plug>(GitGutterNextHunk)
xmap <buffer> ac <Plug>(GitGutterTextObjectOuterVisual)
omap <buffer> ac <Plug>(GitGutterTextObjectOuterPending)
xmap <buffer> ic <Plug>(GitGutterTextObjectInnerVisual)
omap <buffer> ic <Plug>(GitGutterTextObjectInnerPending)
let &cpo=s:cpo_save
unlet s:cpo_save
setlocal keymap=
setlocal noarabic
setlocal autoindent
setlocal backupcopy=
setlocal balloonexpr=
setlocal nobinary
setlocal nobreakindent
setlocal breakindentopt=
setlocal bufhidden=
setlocal buflisted
setlocal buftype=
setlocal nocindent
setlocal cinkeys=0{,0},0),0],:,0#,!^F,o,O,e
setlocal cinoptions=
setlocal cinscopedecls=public,protected,private
setlocal cinwords=if,else,while,do,for,switch
setlocal colorcolumn=
setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
setlocal commentstring=//\ %s
setlocal complete=.,w,b,u,t,i
setlocal concealcursor=
setlocal conceallevel=0
setlocal completefunc=
setlocal nocopyindent
setlocal cryptmethod=
setlocal nocursorbind
setlocal nocursorcolumn
setlocal nocursorline
setlocal cursorlineopt=both
setlocal define=
setlocal dictionary=
setlocal nodiff
setlocal equalprg=
setlocal errorformat=%+A\ %#%f\ %#(%l\\,%c):\ %m,%C%m
setlocal noexpandtab
if &filetype != 'typescript'
setlocal filetype=typescript
endif
setlocal fillchars=
setlocal fixendofline
setlocal foldcolumn=0
setlocal foldenable
setlocal foldexpr=0
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldmarker={{{,}}}
setlocal foldmethod=manual
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal foldtext=foldtext()
setlocal formatexpr=
setlocal formatoptions=croql
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
setlocal formatprg=
setlocal grepprg=
setlocal iminsert=0
setlocal imsearch=-1
setlocal include=
setlocal includeexpr=
setlocal indentexpr=GetTypescriptIndent()
setlocal indentkeys=0{,0},0),0],:,0#,!^F,o,O,e,0],0)
setlocal noinfercase
setlocal iskeyword=@,48-57,_,192-255,$
setlocal keywordprg=
setlocal nolinebreak
setlocal nolisp
setlocal lispoptions=
setlocal lispwords=
setlocal nolist
setlocal listchars=
setlocal makeencoding=
setlocal makeprg=tsc\ \ $*\ %
setlocal matchpairs=(:),{:},[:]
setlocal nomodeline
setlocal modifiable
setlocal nrformats=bin,octal,hex
set number
setlocal number
setlocal numberwidth=4
setlocal omnifunc=
setlocal path=
setlocal nopreserveindent
setlocal nopreviewwindow
setlocal quoteescape=\\
setlocal noreadonly
setlocal norelativenumber
setlocal norightleft
setlocal rightleftcmd=search
setlocal noscrollbind
setlocal scrolloff=-1
setlocal shiftwidth=4
setlocal noshortname
setlocal showbreak=
setlocal sidescrolloff=-1
set signcolumn=yes
setlocal signcolumn=yes
setlocal nosmartindent
setlocal nosmoothscroll
setlocal softtabstop=0
setlocal nospell
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
setlocal spellfile=
setlocal spelllang=en
setlocal spelloptions=
setlocal statusline=
setlocal suffixesadd=.ts,.tsx
setlocal swapfile
setlocal synmaxcol=3000
if &syntax != 'typescript'
setlocal syntax=typescript
endif
setlocal tabstop=8
setlocal tagcase=
setlocal tagfunc=
setlocal tags=
setlocal termwinkey=
setlocal termwinscroll=10000
setlocal termwinsize=
setlocal textwidth=0
setlocal thesaurus=
setlocal thesaurusfunc=
setlocal noundofile
setlocal undolevels=-123456
setlocal varsofttabstop=
setlocal vartabstop=
setlocal virtualedit=
setlocal wincolor=
setlocal nowinfixheight
setlocal nowinfixwidth
setlocal wrap
setlocal wrapmargin=0
silent! normal! zE
let &fdl = &fdl
let s:l = 163 - ((34 * winheight(0) + 23) / 47)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 163
normal! $
wincmd w
exe 'vert 1resize ' . ((&columns * 31 + 127) / 255)
exe 'vert 2resize ' . ((&columns * 223 + 127) / 255)
tabnext 2
set stal=1
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0
+77 -16
View File
@@ -368,13 +368,18 @@
},
dataTransferModal: {
transferDataHeadline: "Data Transfer",
sendHeadline: "Transfer to other device",
receiveHeadline: "Transfer to This Device",
exportHeadline: "Export Data",
importHeadline: "Import Data",
selectionDescription: "Select the data that you want to transfer.",
dataEntryDescription: "Enter this data on the other device.",
dataEntryInputDescription: "Enter the data displayed on the other device.",
notConnectedError: "You are not connected to any server.",
///
fromThisDeviceButton: "Export or send from this device",
toThisDeviceButton: "Receive from other device",
fromThisDeviceButton: "Send to other device",
toThisDeviceButton: "Send to this device",
exportButton: "Export to file",
importButton: "Import from file",
///
generalHeadline: "General",
@@ -588,12 +593,17 @@
},
dataTransferModal: {
transferDataHeadline: "Daten\xFCbertragung",
sendHeadline: "An anderes Ger\xE4t senden",
receiveHeadline: "An dieses Ger\xE4t senden",
exportHeadline: "Daten exportieren",
importHeadline: "Daten importieren",
selectionDescription: "W\xE4hle die Daten aus, die du \xFCbertragen m\xF6chtest.",
dataEntryDescription: "Gib diese Informationen auf dem anderen Ger\xE4t ein.",
dataEntryInputDescription: "Gib die auf dem anderen Ger\xE4t angezeigten Informationen ein.",
notConnectedError: "Du bist mit keinem Server verbunden.",
fromThisDeviceButton: "Exportieren oder an anderes Ger\xE4t senden",
fromThisDeviceButton: "An anderes Ger\xE4t senden",
toThisDeviceButton: "An dieses Ger\xE4t senden",
exportButton: "Als Datei exportieren",
importButton: "Aus Datei importieren",
generalHeadline: "Allgemein",
connectionData: "Verbindungsdaten",
@@ -763,7 +773,7 @@
setNameButtonAudioLabel: "establecer nombre",
settingsButton: "Ajustes",
manageStorageButton: "Gestionar almacenamiento",
transferDataButton: "Enviar o guardar archivos",
transferDataButton: "Enviar o exportar archivos",
scrollToChatButton: "Chats",
backToOverviewAudioLabel: "volver al resumen",
chatsHeadline: "Chats",
@@ -791,14 +801,19 @@
connectButtonAudioLabel: "conectar"
},
dataTransferModal: {
transferDataHeadline: "Transferencia de Datos",
transferDataHeadline: "Transferencia de datos",
sendHeadline: "Enviar a otro dispositivo",
receiveHeadline: "Enviar a este dispositivo",
exportHeadline: "Exportar archivo",
importHeadline: "Importar archivo",
selectionDescription: "Selecciona los datos que quieres transferir.",
dataEntryDescription: "Introduce estos datos en el otro dispositivo.",
dataEntryInputDescription: "Introduce los datos mostrados en el otro dispositivo.",
notConnectedError: "No est\xE1s conectado a ning\xFAn servidor.",
fromThisDeviceButton: "Exportar o enviar a otro dispositivo",
fromThisDeviceButton: "Enviar a otro dispositivo",
toThisDeviceButton: "Enviar a este dispositivo",
importButton: "Importar desde archivo",
exportButton: "Exportar archivo",
importButton: "Importar archivo",
generalHeadline: "General",
connectionData: "Datos de Conexi\xF3n",
settingsData: "Datos de Configuraci\xF3n",
@@ -1818,6 +1833,9 @@
this.showTransferDataInputModal = () => {
this.presentedModal.value = 4 /* TransferDataInput */;
};
this.showImportModal = () => {
this.presentedModal.value = 6 /* ImportModal */;
};
this.prepareReceivingData = () => {
if (this.cannotPrepareToReceive.value == true) return;
this.presentedModal.value = 5 /* ReceptionDisplay */;
@@ -6660,7 +6678,7 @@
coreViewModel2,
connectionViewModel2,
fileTransferViewModel2
), FileSelectionModal(coreViewModel2, fileTransferViewModel2), TransferDataDisplayModal(coreViewModel2, fileTransferViewModel2), TransferDisplayModal(coreViewModel2, fileTransferViewModel2), TransferDataInputModal(coreViewModel2, fileTransferViewModel2), DataReceptionModal(coreViewModel2, fileTransferViewModel2));
), FileSelectionModal(coreViewModel2, fileTransferViewModel2), TransferDataDisplayModal(coreViewModel2, fileTransferViewModel2), TransferDisplayModal(coreViewModel2, fileTransferViewModel2), TransferDataInputModal(coreViewModel2, fileTransferViewModel2), DataReceptionModal(coreViewModel2, fileTransferViewModel2), ImportModal(coreViewModel2, fileTransferViewModel2));
}
function DirectionSelectionModal(coreViewModel2, connectionViewModel2, fileTransferViewModel2) {
const isPresented = createProxyState(
@@ -6704,13 +6722,24 @@
/* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("b", null, coreViewModel2.translations.dataTransferModal.toThisDeviceButton)),
/* @__PURE__ */ createElement("span", { class: "icon" }, "arrow_forward")
),
/* @__PURE__ */ createElement("hr", null),
/* @__PURE__ */ createElement(
"button",
{
class: "tile",
"on:click": fileTransferViewModel2.showTransferDataInputModal
"on:click": fileTransferViewModel2.showImportModal
},
/* @__PURE__ */ createElement("span", { class: "icon" }, "file_open"),
/* @__PURE__ */ createElement("span", { class: "icon" }, "file_save"),
/* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("b", null, coreViewModel2.translations.dataTransferModal.exportButton)),
/* @__PURE__ */ createElement("span", { class: "icon" }, "arrow_forward")
),
/* @__PURE__ */ createElement(
"button",
{
class: "tile",
"on:click": fileTransferViewModel2.showImportModal
},
/* @__PURE__ */ createElement("span", { class: "icon" }, "upload_file"),
/* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("b", null, coreViewModel2.translations.dataTransferModal.importButton)),
/* @__PURE__ */ createElement("span", { class: "icon" }, "arrow_forward")
)
@@ -6743,7 +6772,7 @@
[fileTransferViewModel2.presentedModal],
() => fileTransferViewModel2.presentedModal.value == 1 /* FileSelection */
);
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.transferDataHeadline), /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.selectionDescription), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("h3", null, coreViewModel2.translations.dataTransferModal.generalHeadline), /* @__PURE__ */ createElement(
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.sendHeadline), /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.selectionDescription), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("h3", null, coreViewModel2.translations.dataTransferModal.generalHeadline), /* @__PURE__ */ createElement(
"div",
{
class: "flex-column gap content-margin-bottom",
@@ -6784,7 +6813,7 @@
[fileTransferViewModel2.presentedModal],
() => fileTransferViewModel2.presentedModal.value == 2 /* TransferDataDisplay */
);
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.transferDataHeadline), /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.dataEntryDescription), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "flex-column gap content-margin-bottom" }, /* @__PURE__ */ createElement("div", { class: "tile" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "forum"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.transferChannelHeadline), /* @__PURE__ */ createElement(
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.sendHeadline), /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.dataEntryDescription), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "flex-column gap content-margin-bottom" }, /* @__PURE__ */ createElement("div", { class: "tile" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "forum"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.transferChannelHeadline), /* @__PURE__ */ createElement(
"b",
{
"subscribe:innerText": fileTransferViewModel2.transferChannel
@@ -6794,7 +6823,14 @@
{
"subscribe:innerText": fileTransferViewModel2.transferKey
}
))))), /* @__PURE__ */ createElement("div", { class: "flex-row width-100" }, /* @__PURE__ */ createElement(
)))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement(
"button",
{
"on:click": null
},
coreViewModel2.translations.dataTransferModal.exportButton,
/* @__PURE__ */ createElement("span", { class: "icon" }, "download")
)), /* @__PURE__ */ createElement("div", { class: "flex-row width-100" }, /* @__PURE__ */ createElement(
"button",
{
class: "flex",
@@ -6854,7 +6890,7 @@
[fileTransferViewModel2.presentedModal],
() => fileTransferViewModel2.presentedModal.value == 4 /* TransferDataInput */
);
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.transferDataHeadline), /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.dataEntryInputDescription), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "flex-column gap content-margin-bottom" }, /* @__PURE__ */ createElement("label", { class: "tile" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "forum"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.transferChannelHeadline), /* @__PURE__ */ createElement(
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.receiveHeadline), /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.dataEntryInputDescription), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "flex-column gap content-margin-bottom" }, /* @__PURE__ */ createElement("label", { class: "tile" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "forum"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", { class: "secondary" }, coreViewModel2.translations.dataTransferModal.transferChannelHeadline), /* @__PURE__ */ createElement(
"input",
{
"on:enter": fileTransferViewModel2.prepareReceivingData,
@@ -6889,7 +6925,29 @@
[fileTransferViewModel2.presentedModal],
() => fileTransferViewModel2.presentedModal.value == 5 /* ReceptionDisplay */
);
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.transferDataHeadline), /* @__PURE__ */ createElement(
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.receiveHeadline), /* @__PURE__ */ createElement(
"p",
{
class: "secondary",
"subscribe:innerText": fileTransferViewModel2.filesReceivedText
}
), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement(
"div",
{
class: "tile flex-column align-start",
"children:append": [
fileTransferViewModel2.filePathsReceived,
StringToTextSpan
]
}
)), /* @__PURE__ */ createElement("button", { "on:click": ViewController.reload }, coreViewModel2.translations.general.reloadAppButton, /* @__PURE__ */ createElement("span", { class: "icon" }, "refresh"))));
}
function ImportModal(coreViewModel2, fileTransferViewModel2) {
const isPresented = createProxyState(
[fileTransferViewModel2.presentedModal],
() => fileTransferViewModel2.presentedModal.value == 6 /* ImportModal */
);
return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isPresented }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, coreViewModel2.translations.dataTransferModal.importHeadline), /* @__PURE__ */ createElement(
"p",
{
class: "secondary",
@@ -7203,7 +7261,10 @@
this.handleDecryptedFile(decrypted);
};
this.handleBackupFile = async (encryptedBackup, passphrase) => {
const decrypted = await decryptString(encryptedBackup, passphrase);
const decrypted = await decryptString(
encryptedBackup,
passphrase
);
const parsed = parse(decrypted);
if (!Array.isArray(parsed)) {
console.error("Canceling backup - not an array", decrypted);
+13 -4
View File
@@ -82,8 +82,14 @@ export default class FileTransferModel {
this.handleDecryptedFile(decrypted);
};
readonly handleBackupFile = async (encryptedBackup: string, passphrase: string): Promise<void> => {
const decrypted: string = await decryptString(encryptedBackup, passphrase);
readonly handleBackupFile = async (
encryptedBackup: string,
passphrase: string,
): Promise<void> => {
const decrypted: string = await decryptString(
encryptedBackup,
passphrase,
);
const parsed = parse(decrypted);
if (!Array.isArray(parsed)) {
console.error("Canceling backup - not an array", decrypted);
@@ -93,7 +99,7 @@ export default class FileTransferModel {
for (const file of parsed) {
this.handleDecryptedFile(file);
}
}
};
readonly handleDecryptedFile = (data: string): void => {
const parsed: any = parse(data);
@@ -130,7 +136,10 @@ export default class FileTransferModel {
}
};
readonly generateBackup = async (directoryPaths: IteratorObject<string[]>, passphrase: string): Promise<string> => {
readonly generateBackup = async (
directoryPaths: IteratorObject<string[]>,
passphrase: string,
): Promise<string> => {
const files: string[] = [];
for (const directoryPath of directoryPaths) {
this.storageModel.recurse(directoryPath, (filePath: string[]) => {
+74 -10
View File
@@ -26,6 +26,7 @@ export function DataTransferModalWrapper(
{TransferDisplayModal(coreViewModel, fileTransferViewModel)}
{TransferDataInputModal(coreViewModel, fileTransferViewModel)}
{DataReceptionModal(coreViewModel, fileTransferViewModel)}
{ImportModal(coreViewModel, fileTransferViewModel)}
</div>
);
}
@@ -108,19 +109,34 @@ function DirectionSelectionModal(
</div>
<span class="icon">arrow_forward</span>
</button>
<hr></hr>
<button
class="tile"
on:click={
fileTransferViewModel.showTransferDataInputModal
}
on:click={fileTransferViewModel.showImportModal}
>
<span class="icon">file_open</span>
<span class="icon">file_save</span>
<div>
<b>
{
coreViewModel.translations
.dataTransferModal
.importButton
.dataTransferModal.exportButton
}
</b>
</div>
<span class="icon">arrow_forward</span>
</button>
<button
class="tile"
on:click={fileTransferViewModel.showImportModal}
>
<span class="icon">upload_file</span>
<div>
<b>
{
coreViewModel.translations
.dataTransferModal.importButton
}
</b>
</div>
@@ -196,7 +212,7 @@ function FileSelectionModal(
<h2>
{
coreViewModel.translations.dataTransferModal
.transferDataHeadline
.sendHeadline
}
</h2>
<span class="secondary">
@@ -279,7 +295,7 @@ function TransferDataDisplayModal(
<h2>
{
coreViewModel.translations.dataTransferModal
.transferDataHeadline
.sendHeadline
}
</h2>
@@ -441,7 +457,7 @@ function TransferDataInputModal(
<h2>
{
coreViewModel.translations.dataTransferModal
.transferDataHeadline
.receiveHeadline
}
</h2>
@@ -540,7 +556,55 @@ function DataReceptionModal(
<h2>
{
coreViewModel.translations.dataTransferModal
.transferDataHeadline
.receiveHeadline
}
</h2>
<p
class="secondary"
subscribe:innerText={
fileTransferViewModel.filesReceivedText
}
></p>
<hr></hr>
<div
class="tile flex-column align-start"
children:append={[
fileTransferViewModel.filePathsReceived,
StringToTextSpan,
]}
></div>
</main>
<button on:click={ViewController.reload}>
{coreViewModel.translations.general.reloadAppButton}
<span class="icon">refresh</span>
</button>
</div>
</div>
);
}
function ImportModal(
coreViewModel: CoreViewModel,
fileTransferViewModel: FileTransferViewModel,
) {
const isPresented = React.createProxyState(
[fileTransferViewModel.presentedModal],
() =>
fileTransferViewModel.presentedModal.value ==
FileTransferModals.ImportModal,
);
return (
<div class="modal" toggle:open={isPresented}>
<div>
<main>
<h2>
{
coreViewModel.translations.dataTransferModal
.importHeadline
}
</h2>
+21 -6
View File
@@ -104,6 +104,10 @@ const englishTranslations = {
dataTransferModal: {
transferDataHeadline: "Data Transfer",
sendHeadline: "Transfer to other device",
receiveHeadline: "Transfer to This Device",
exportHeadline: "Export Data",
importHeadline: "Import Data",
selectionDescription: "Select the data that you want to transfer.",
dataEntryDescription: "Enter this data on the other device.",
dataEntryInputDescription:
@@ -113,8 +117,9 @@ const englishTranslations = {
///
fromThisDeviceButton: "Export or send from this device",
toThisDeviceButton: "Receive from other device",
fromThisDeviceButton: "Send to other device",
toThisDeviceButton: "Send to this device",
exportButton: "Export to file",
importButton: "Import from file",
///
@@ -416,6 +421,10 @@ export const allTranslations: {
dataTransferModal: {
transferDataHeadline: "Datenübertragung",
sendHeadline: "An anderes Gerät senden",
receiveHeadline: "An dieses Gerät senden",
exportHeadline: "Daten exportieren",
importHeadline: "Daten importieren",
selectionDescription:
"Wähle die Daten aus, die du übertragen möchtest.",
dataEntryDescription:
@@ -425,8 +434,9 @@ export const allTranslations: {
notConnectedError: "Du bist mit keinem Server verbunden.",
fromThisDeviceButton: "Exportieren oder an anderes Gerät senden",
fromThisDeviceButton: "An anderes Gerät senden",
toThisDeviceButton: "An dieses Gerät senden",
exportButton: "Als Datei exportieren",
importButton: "Aus Datei importieren",
generalHeadline: "Allgemein",
@@ -697,7 +707,11 @@ export const allTranslations: {
},
dataTransferModal: {
transferDataHeadline: "Transferencia de Datos",
transferDataHeadline: "Transferencia de datos",
sendHeadline: "Enviar a otro dispositivo",
receiveHeadline: "Enviar a este dispositivo",
exportHeadline: "Exportar archivo",
importHeadline: "Importar archivo",
selectionDescription:
"Selecciona los datos que quieres transferir.",
dataEntryDescription:
@@ -707,9 +721,10 @@ export const allTranslations: {
notConnectedError: "No estás conectado a ningún servidor.",
fromThisDeviceButton: "Exportar o enviar a otro dispositivo",
fromThisDeviceButton: "Enviar a otro dispositivo",
toThisDeviceButton: "Enviar a este dispositivo",
importButton: "Importar desde archivo",
exportButton: "Exportar archivo",
importButton: "Importar archivo",
generalHeadline: "General",
@@ -148,6 +148,10 @@ export default class FileTransferViewModel extends Context {
this.presentedModal.value = FileTransferModals.TransferDataInput;
};
showImportModal = (): void => {
this.presentedModal.value = FileTransferModals.ImportModal;
};
prepareReceivingData = (): void => {
if (this.cannotPrepareToReceive.value == true) return;
this.presentedModal.value = FileTransferModals.ReceptionDisplay;
@@ -204,4 +208,7 @@ export enum FileTransferModals {
// receiving
TransferDataInput,
ReceptionDisplay,
// import
ImportModal,
}