import { Component } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; import { CardModule } from 'primeng/card'; import { ButtonModule } from 'primeng/button'; import { DialogModule } from 'primeng/dialog'; import { KnockPageComponent } from '../knock/knock-page.component'; @Component({ selector: 'app-fsa-knock-page', standalone: true, imports: [ CommonModule, RouterModule, CardModule, ButtonModule, DialogModule, KnockPageComponent ], template: `

File System Access API не поддерживается

Эта функциональность требует браузер с поддержкой File System Access API:

Ваш браузер: {{ browserInfo }}

Эта версия поддерживает прямое редактирование файлов на диске. Файлы будут автоматически перезаписываться после шифрования/дешифрования.

Доступные возможности:

  • Прямое открытие файлов с диска
  • Автоматическое сохранение изменений
  • Перезапись зашифрованных файлов "на месте"
  • Быстрая работа без диалогов загрузки/скачивания
`, styles: [` .container { max-width: 1200px; margin: 0 auto; padding: 1rem; } ul { display: inline-block; text-align: left; } .info-link { color: #3b82f6; cursor: pointer; text-decoration: none; font-weight: 500; transition: color 0.2s ease; } .info-link:hover { color: #1d4ed8; text-decoration: underline; } .bg-green-50 { background-color: #f0fdf4; } .dialog-content { min-width: 450px; } `] }) export class FsaKnockPageComponent { isFSASupported = false; browserInfo = ''; showInfoDialog = false; constructor() { this.checkFSASupport(); this.getBrowserInfo(); } private checkFSASupport() { const w = window as any; this.isFSASupported = typeof w.showOpenFilePicker === 'function'; } private getBrowserInfo() { const ua = navigator.userAgent; if (ua.includes('Chrome') && !ua.includes('Edg/')) { this.browserInfo = 'Google Chrome'; } else if (ua.includes('Edg/')) { this.browserInfo = 'Microsoft Edge'; } else if (ua.includes('Opera') || ua.includes('OPR/')) { this.browserInfo = 'Opera'; } else if (ua.includes('Firefox')) { this.browserInfo = 'Mozilla Firefox'; } else if (ua.includes('Safari') && !ua.includes('Chrome')) { this.browserInfo = 'Safari'; } else { this.browserInfo = 'Неизвестный браузер'; } } }