feat: add legal document acceptance and standard project files generation
Implement legal document acceptance tracking requiring users to accept terms of service and privacy policy before continuing to use the system. Add automatic generation of standard project files (LICENSE, README.md, RULES.md, cookies.html, termos-de-uso.html, privacidade.html) with download functionality. Enhance prompt building with detailed Portuguese instructions and system requirements. Update seeders with comprehensive legal content and standard files configuration for all prompt templates.
This commit is contained in:
@@ -173,6 +173,51 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3 d-flex justify-content-between align-items-center">
|
||||
<h6 class="m-0 fw-bold text-primary">Arquivos Padrão do Projeto</h6>
|
||||
<span class="badge bg-info">LICENSE · README.md · RULES.md · LGPD</span>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="alert alert-info small mb-3">
|
||||
<i class="bi bi-info-circle me-1"></i>
|
||||
Estes arquivos são gerados automaticamente com base nos dados do projeto e devem ser incluídos no repositório.
|
||||
</div>
|
||||
<ul class="nav nav-tabs mb-3" id="standardFilesTab" role="tablist">
|
||||
@foreach($standardFiles as $filename => $content)
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link {{ $loop->first ? 'active' : '' }}"
|
||||
id="file-{{ Str::slug($filename) }}-tab"
|
||||
data-bs-toggle="tab"
|
||||
data-bs-target="#file-{{ Str::slug($filename) }}"
|
||||
type="button" role="tab">
|
||||
<i class="bi bi-file-text me-1"></i>{{ $filename }}
|
||||
</button>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<div class="tab-content" id="standardFilesTabContent">
|
||||
@foreach($standardFiles as $filename => $content)
|
||||
<div class="tab-pane fade {{ $loop->first ? 'show active' : '' }}"
|
||||
id="file-{{ Str::slug($filename) }}" role="tabpanel">
|
||||
<div class="d-flex justify-content-between align-items-center mb-2">
|
||||
<small class="text-muted">{{ $filename }} — {{ str_word_count($content) }} palavras</small>
|
||||
<div>
|
||||
<a href="{{ route('prompt-projects.download-file', [$promptProject, $filename]) }}" class="btn btn-sm btn-outline-primary me-1" download>
|
||||
<i class="bi bi-download me-1"></i> Download
|
||||
</a>
|
||||
<button class="btn btn-sm btn-outline-secondary copy-btn" type="button" data-target="file-content-{{ Str::slug($filename) }}">
|
||||
<i class="bi bi-clipboard me-1"></i> Copiar
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<textarea class="form-control font-monospace small" id="file-content-{{ Str::slug($filename) }}" rows="15" readonly>{{ $content }}</textarea>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
document.getElementById('model').addEventListener('change', function() {
|
||||
|
||||
Reference in New Issue
Block a user