collabdocchat 2.0.7 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,102 +1,101 @@
1
- import { AuthService } from '../services/auth.js';
2
-
3
- export function renderLoginPage(onSuccess) {
4
- const app = document.getElementById('app');
5
- const authService = new AuthService();
6
-
7
- app.innerHTML = `
8
- <div class="login-container">
9
- <div class="login-card">
10
- <div class="login-header">
11
- <h1 class="logo">CollabDocChat</h1>
12
- <p class="tagline">实时协作 · 智能沟�?/p>
13
- </div>
14
-
15
- <div id="loginSection">
16
- <form id="loginForm" class="auth-form">
17
- <div class="form-group">
18
- <label>用户�?/label>
19
- <input type="text" name="username" required placeholder="请输入用户名">
20
- </div>
21
- <div class="form-group">
22
- <label>密码</label>
23
- <input type="password" name="password" required placeholder="•••••••�?>
24
- </div>
25
- <button type="submit" class="btn-primary">登录</button>
26
- <div class="error-message" id="loginError"></div>
27
- </form>
28
-
29
- <div class="auth-switch">
30
- <p class="switch-text">还没有账号?<button class="link-btn" id="showRegister">立即注册</button></p>
31
- </div>
32
- </div>
33
-
34
- <div id="registerSection" class="hidden">
35
- <form id="registerForm" class="auth-form">
36
- <div class="form-group">
37
- <label>用户�?/label>
38
- <input type="text" name="username" required placeholder="请输入用户名">
39
- </div>
40
- <div class="form-group">
41
- <label>密码</label>
42
- <input type="password" name="password" required placeholder="•••••••�?>
43
- </div>
44
- <div class="register-note">
45
- <p>注册后将自动分配为普通用�?/p>
46
- </div>
47
- <button type="submit" class="btn-primary">注册</button>
48
- <div class="error-message" id="registerError"></div>
49
- </form>
50
-
51
- <div class="auth-switch">
52
- <p class="switch-text">已有账号�?button class="link-btn" id="showLogin">返回登录</button></p>
53
- </div>
54
- </div>
55
- </div>
56
- </div>
57
- `;
58
-
59
- // 登录/注册切换
60
- document.getElementById('showRegister').addEventListener('click', () => {
61
- document.getElementById('loginSection').classList.add('hidden');
62
- document.getElementById('registerSection').classList.remove('hidden');
63
- });
64
-
65
- document.getElementById('showLogin').addEventListener('click', () => {
66
- document.getElementById('registerSection').classList.add('hidden');
67
- document.getElementById('loginSection').classList.remove('hidden');
68
- });
69
-
70
- // 登录表单
71
- document.getElementById('loginForm').addEventListener('submit', async (e) => {
72
- e.preventDefault();
73
- const formData = new FormData(e.target);
74
- const username = formData.get('username');
75
- const password = formData.get('password');
76
-
77
- try {
78
- const result = await authService.login(username, password);
79
- onSuccess(result.user, result.token);
80
- } catch (error) {
81
- document.getElementById('loginError').textContent = error.message;
82
- }
83
- });
84
-
85
- // 注册表单
86
- document.getElementById('registerForm').addEventListener('submit', async (e) => {
87
- e.preventDefault();
88
- const formData = new FormData(e.target);
89
- const username = formData.get('username');
90
- const password = formData.get('password');
91
-
92
- try {
93
- const result = await authService.register(username, password);
94
- onSuccess(result.user, result.token);
95
- } catch (error) {
96
- document.getElementById('registerError').textContent = error.message;
97
- }
98
- });
99
- }
100
-
101
-
1
+ import { AuthService } from '../services/auth.js';
2
+
3
+ export function renderLoginPage(onSuccess) {
4
+ const app = document.getElementById('app');
5
+ const authService = new AuthService();
6
+
7
+ app.innerHTML = `
8
+ <div class="login-container">
9
+ <div class="login-card">
10
+ <div class="login-header">
11
+ <h1 class="logo">CollabDocChat</h1>
12
+ <p class="tagline">实时协作 · 智能沟通</p>
13
+ </div>
14
+
15
+ <div id="loginSection">
16
+ <form id="loginForm" class="auth-form">
17
+ <div class="form-group">
18
+ <label>用户名</label>
19
+ <input type="text" name="username" required placeholder="请输入用户名">
20
+ </div>
21
+ <div class="form-group">
22
+ <label>密码</label>
23
+ <input type="password" name="password" required placeholder="••••••••">
24
+ </div>
25
+ <button type="submit" class="btn-primary">登录</button>
26
+ <div class="error-message" id="loginError"></div>
27
+ </form>
28
+
29
+ <div class="auth-switch">
30
+ <p class="switch-text">还没有账号?<button class="link-btn" id="showRegister">立即注册</button></p>
31
+ </div>
32
+ </div>
33
+
34
+ <div id="registerSection" class="hidden">
35
+ <form id="registerForm" class="auth-form">
36
+ <div class="form-group">
37
+ <label>用户名</label>
38
+ <input type="text" name="username" required placeholder="请输入用户名">
39
+ </div>
40
+ <div class="form-group">
41
+ <label>密码</label>
42
+ <input type="password" name="password" required placeholder="••••••••">
43
+ </div>
44
+ <div class="register-note">
45
+ <p>注册后将自动分配为普通用户</p>
46
+ </div>
47
+ <button type="submit" class="btn-primary">注册</button>
48
+ <div class="error-message" id="registerError"></div>
49
+ </form>
50
+
51
+ <div class="auth-switch">
52
+ <p class="switch-text">已有账号?<button class="link-btn" id="showLogin">返回登录</button></p>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ `;
58
+
59
+ // 登录/注册切换
60
+ document.getElementById('showRegister').addEventListener('click', () => {
61
+ document.getElementById('loginSection').classList.add('hidden');
62
+ document.getElementById('registerSection').classList.remove('hidden');
63
+ });
64
+
65
+ document.getElementById('showLogin').addEventListener('click', () => {
66
+ document.getElementById('registerSection').classList.add('hidden');
67
+ document.getElementById('loginSection').classList.remove('hidden');
68
+ });
69
+
70
+ // 登录表单
71
+ document.getElementById('loginForm').addEventListener('submit', async (e) => {
72
+ e.preventDefault();
73
+ const formData = new FormData(e.target);
74
+ const username = formData.get('username');
75
+ const password = formData.get('password');
76
+
77
+ try {
78
+ const result = await authService.login(username, password);
79
+ onSuccess(result.user, result.token);
80
+ } catch (error) {
81
+ document.getElementById('loginError').textContent = error.message;
82
+ }
83
+ });
84
+
85
+ // 注册表单
86
+ document.getElementById('registerForm').addEventListener('submit', async (e) => {
87
+ e.preventDefault();
88
+ const formData = new FormData(e.target);
89
+ const username = formData.get('username');
90
+ const password = formData.get('password');
91
+
92
+ try {
93
+ const result = await authService.register(username, password);
94
+ onSuccess(result.user, result.token);
95
+ } catch (error) {
96
+ document.getElementById('registerError').textContent = error.message;
97
+ }
98
+ });
99
+ }
100
+
102
101
 
@@ -1,4 +1,4 @@
1
- // 优化后的备份管理界面
1
+ // 优化后的备份管理界面
2
2
  // 使用卡片式布局,提升视觉效果和用户体验
3
3
 
4
4
  async function renderOptimizedBackupView(container) {
@@ -1,4 +1,4 @@
1
- /**
1
+ /**
2
2
  * 美化后的知识库视�? * 现代化卡片布局,增强视觉效�? */
3
3
 
4
4
  import { showCreateKnowledgeModal, showEditKnowledgeModal } from '../components/knowledge-modal.js';
@@ -1,4 +1,4 @@
1
- // 优化后的任务详情界面
1
+ // 优化后的任务详情界面
2
2
  // 使用卡片式布局,提升视觉效果和信息层次
3
3
 
4
4
  function renderOptimizedTaskDetail(task, container) {
@@ -1,4 +1,4 @@
1
- /**
1
+ /**
2
2
  * 优化后的工作流管理界�? * 可视化创建工作流,无需编写JSON代码
3
3
  */
4
4
 
@@ -1,4 +1,4 @@
1
- // 简化的工作流视�?- 为非技术用户设�?
1
+ // 简化的工作流视�?- 为非技术用户设�?
2
2
  // 替换原有的复�?JSON 配置方式
3
3
 
4
4
  async function renderSimplifiedWorkflowsView(container) {