|
86 | 86 | import { useRouter } from 'vue-router'; |
87 | 87 | import { IconShieldOutline } from '@iconify-prerendered/vue-flowbite'; |
88 | 88 | import ErrorMessage from '@/components/ErrorMessage.vue'; |
| 89 | + import { handlePasskeyAlert } from './utils.js'; |
89 | 90 |
|
90 | 91 | const { t } = useI18n(); |
91 | 92 | const code = ref(null); |
|
278 | 279 | } |
279 | 280 | } |
280 | 281 |
|
281 | | - </script> |
282 | | - |
283 | | - <script lang="ts"> |
284 | | -
|
285 | | - export function handlePasskeyAlert(propSuggestionPeriod, router) { |
286 | | - const currentDate = Date.now(); |
287 | | - window.localStorage.removeItem('suggestionPeriod'); |
288 | | - window.localStorage.setItem('suggestionPeriod', propSuggestionPeriod); |
289 | | - let suggestionPeriod = window.localStorage.getItem('suggestionPeriod'); |
290 | | - let lastSuggestionDate = window.localStorage.getItem('lastSuggestionDate'); |
291 | | - let suggestPasskey = window.localStorage.getItem('suggestPasskey'); |
292 | | - if ( !lastSuggestionDate ) { |
293 | | - window.localStorage.setItem('lastSuggestionDate', currentDate.toString()); |
294 | | - lastSuggestionDate = window.localStorage.getItem('lastSuggestionDate'); |
295 | | - } |
296 | | - if ( !suggestPasskey ) { |
297 | | - window.localStorage.setItem('suggestPasskey', 'true'); |
298 | | - suggestPasskey = window.localStorage.getItem('suggestPasskey'); |
299 | | - } |
300 | | - if ( currentDate - parseInt(lastSuggestionDate) > parseInt(suggestionPeriod) ) { |
301 | | - suggestPasskey = window.localStorage.getItem('suggestPasskey'); |
302 | | - if (suggestPasskey !== 'true'){ |
303 | | - if ( suggestPasskey === 'false' || !suggestPasskey ) { |
304 | | - window.localStorage.setItem('suggestPasskey', 'true'); |
305 | | - } else if ( suggestPasskey !== 'never' ) { |
306 | | - window.localStorage.setItem('suggestPasskey', 'false'); |
307 | | - } |
308 | | - } |
309 | | - } |
310 | | - suggestPasskey = window.localStorage.getItem('suggestPasskey'); |
311 | | -
|
312 | | - if ( suggestPasskey === 'true' ) { |
313 | | - adminforth.alert({ |
314 | | - message: 'Do you want to add passkey?', |
315 | | - variant: 'info', |
316 | | - buttons: [ |
317 | | - { value: 'yes', label: 'Add passkey' }, |
318 | | - { value: 'later', label: 'Later' }, |
319 | | - { value: 'never', label: 'Never' }, |
320 | | - ], |
321 | | - timeout: 'unlimited' |
322 | | - }).then((value) => { |
323 | | - switch (value) { |
324 | | - case 'yes': |
325 | | - router.push({ name: 'settings', params: { page: 'passkeys' } }); |
326 | | - break; |
327 | | - case 'later': |
328 | | - window.localStorage.setItem('suggestPasskey', 'false'); |
329 | | - break; |
330 | | - case 'never': |
331 | | - window.localStorage.setItem('suggestPasskey', 'never'); |
332 | | - break; |
333 | | - default: |
334 | | - window.localStorage.setItem('suggestPasskey', 'false'); |
335 | | - break; |
336 | | - } |
337 | | - }); |
338 | | - } |
339 | | - } |
340 | 282 |
|
341 | 283 | function getOtpInputs() { |
342 | 284 | const root = otpRoot.value; |
|
0 commit comments