11<template >
2- <n-modal v-model:show =" showModal" >
2+ <n-modal v-model:show =" showModal" @esc = " closeModal " @mask-click = " closeModal " >
33 <n-card
44 style =" width : 600px "
55 role =" dialog"
66 aria-modal =" true"
77 :title =" modalTitle"
88 :bordered =" false"
99 class =" secret-modal-card"
10- @mask-click =" closeModal"
1110 >
1211 <template #header-extra >
1312 <n-icon size =" 26" @click =" closeModal" >
1615 </template >
1716 <div class =" modal-content" >
1817 <n-form
19- ref =" connectFormRef "
18+ ref =" secretFormRef "
2019 label-placement =" left"
2120 label-width =" 100"
2221 :model =" formData"
3130 </n-grid >
3231 </n-form >
3332 </div >
34- <n-tabs type =" line" animated >
33+ <n-tabs type =" line" animated class = " secret-tabs " >
3534 <n-tab-pane name =" sshKeys" tab =" SSH Keys" >
3635 <n-grid cols =" 8" item-responsive responsive =" screen" x-gap =" 10" y-gap =" 10" >
3736 <n-grid-item span =" 8" >
@@ -115,7 +114,7 @@ const { saveSecret } = secretStore;
115114
116115const lang = useLang ();
117116// DOM
118- const connectFormRef = ref ();
117+ const secretFormRef = ref ();
119118
120119const showModal = ref (false );
121120const modalTitle = ref (lang .t (' secret.new' ));
@@ -151,39 +150,20 @@ const showMedal = (secret: Secret | null) => {
151150};
152151
153152const closeModal = () => {
154- if (formData .value ) {
155- formData .value = defaultFormData ;
156- }
153+ formData .value = defaultFormData ;
157154 showModal .value = false ;
158155};
159156
160157const validationPassed = watch (formData .value , async () => {
161158 try {
162- return await connectFormRef .value ?.validate ((errors : Array <FormValidationError >) => ! errors );
159+ return await secretFormRef .value ?.validate ((errors : Array <FormValidationError >) => ! errors );
163160 } catch (e ) {
164161 return false ;
165162 }
166163});
167164
168- // const verify = async (event: MouseEvent) => {
169- // event.preventDefault();
170- // testLoading.value = !testLoading.value;
171- // try {
172- // // @TODO: verify secret
173- // // await testConnection({ ...formData.value });
174- // message.success(lang.t('connection.testSuccess'));
175- // } catch (e) {
176- // const error = e as CustomError;
177- // message.error(`status: ${error.status}, details: ${error.details}`, {
178- // closable: true,
179- // keepAliveOnHover: true,
180- // duration: 10000,
181- // });
182- // } finally {
183- // testLoading.value = !testLoading.value;
184- // }
185- // };
186- //
165+ // @TODO: verify secret
166+
187167const submitSaveSecret = async (event : MouseEvent ) => {
188168 event .preventDefault ();
189169 saveLoading .value = ! saveLoading .value ;
@@ -201,6 +181,9 @@ defineExpose({ showMedal });
201181 cursor : pointer ;
202182 }
203183 }
184+ .secret-tabs {
185+ min-height : 320px ;
186+ }
204187 .n-card__footer {
205188 .card-footer {
206189 display : flex ;
0 commit comments