fix: Windows path handling, light theme default, file viewer in editor, first-user admin logic
Config: - Fixed SQLite path parsing on Windows (handle drive letters without prepending /) - Changed default theme from dark to light - Updated OAuth test credentials (gitea_oauth_client_id/secret) Auth: - First real user (excluding default admin with no password) becomes admin - Changed user count query to exclude users without password_hash File viewer: - Removed separate _render_file_viewer() —
This commit is contained in:
@@ -14,37 +14,37 @@
|
||||
<style>
|
||||
.workspace-layout{max-width:900px;margin:0 auto;padding:32px 24px;}
|
||||
.workspace-header{margin-bottom:24px;}
|
||||
.workspace-header h1{font-size:28px;font-weight:600;margin-bottom:8px;}
|
||||
.workspace-header p{color:rgba(255,255,255,.5);font-size:14px;}
|
||||
.workspace-header h1{font-size:28px;font-weight:600;margin-bottom:8px;color:var(--text-primary);}
|
||||
.workspace-header p{color:var(--text-secondary);font-size:14px;}
|
||||
|
||||
.forge-section{margin-bottom:32px;}
|
||||
.forge-section h2{font-size:14px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-weight:500;display:flex;align-items:center;gap:8px;}
|
||||
.forge-section h2{font-size:14px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-weight:500;display:flex;align-items:center;gap:8px;}
|
||||
.forge-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;}
|
||||
.forge-badge.gitea{background:rgba(96,155,80,.15);color:#609b50;}
|
||||
.forge-badge.github{background:rgba(110,84,148,.15);color:#6e5494;}
|
||||
.forge-badge.builtin{background:rgba(35,131,226,.15);color:#2383E2;}
|
||||
.forge-badge.gitea{background:rgba(96,155,80,.15);color:var(--green);}
|
||||
.forge-badge.github{background:rgba(110,84,148,.15);color:var(--purple);}
|
||||
.forge-badge.builtin{background:rgba(35,131,226,.15);color:var(--accent);}
|
||||
|
||||
.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;}
|
||||
.project-card{background:#222;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;cursor:pointer;transition:background 150ms ease;}
|
||||
.project-card:hover{background:#2A2A2A;border-color:rgba(255,255,255,.12);}
|
||||
.project-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:background var(--transition);}
|
||||
.project-card:hover{background:var(--bg-hover);border-color:var(--border-strong);}
|
||||
.project-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
|
||||
.project-card-icon{font-size:20px;}
|
||||
.project-card-name{font-size:14px;font-weight:500;color:#fff;margin-bottom:4px;}
|
||||
.project-card-desc{font-size:12px;color:rgba(255,255,255,.4);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
|
||||
.project-card-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:rgba(255,255,255,.3);}
|
||||
.project-card-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;}
|
||||
.project-card-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
|
||||
.project-card-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-dim);}
|
||||
|
||||
.empty-state{text-align:center;padding:40px;color:rgba(255,255,255,.3);font-size:14px;}
|
||||
.empty-state .btn{margin-top:12px;display:inline-block;padding:8px 16px;background:#2383E2;color:#fff;border-radius:8px;text-decoration:none;font-size:13px;}
|
||||
.empty-state{text-align:center;padding:40px;color:var(--text-dim);font-size:14px;}
|
||||
.empty-state .btn{margin-top:12px;display:inline-block;padding:8px 16px;background:var(--accent);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-size:13px;}
|
||||
|
||||
.new-project-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:rgba(35,131,226,.15);color:#2383E2;border:1px solid rgba(35,131,226,.3);border-radius:8px;cursor:pointer;font-size:13px;}
|
||||
.new-project-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:rgba(35,131,226,.15);color:var(--accent);border:1px solid rgba(35,131,226,.3);border-radius:var(--radius-md);cursor:pointer;font-size:13px;}
|
||||
.new-project-btn:hover{background:rgba(35,131,226,.25);}
|
||||
|
||||
/* Modal */
|
||||
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:500;}
|
||||
.modal-box{background:#1F1F1F;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:32px;width:400px;max-width:90vw;}
|
||||
.modal-box h3{font-size:16px;margin-bottom:16px;}
|
||||
.modal-input{width:100%;padding:10px 12px;background:#2A2A2A;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;margin-bottom:12px;outline:none;}
|
||||
.modal-input:focus{border-color:#2383E2;}
|
||||
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:500;}
|
||||
.modal-box{background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:400px;max-width:90vw;box-shadow:var(--shadow-modal);}
|
||||
.modal-box h3{font-size:16px;margin-bottom:16px;color:var(--text-primary);}
|
||||
.modal-input{width:100%;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;margin-bottom:12px;outline:none;}
|
||||
.modal-input:focus{border-color:var(--accent);}
|
||||
.modal-actions{display:flex;gap:8px;justify-content:flex-end;}
|
||||
</style>
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="project-card" style="border:1px dashed rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;min-height:100px" @click="showCreateModal = true">
|
||||
<span style="color:rgba(255,255,255,.3);font-size:24px">+</span>
|
||||
<div class="project-card" style="border:1px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;min-height:100px" @click="showCreateModal = true">
|
||||
<span style="color:var(--text-dim);font-size:24px">+</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user