Abmacode12 commited on
Commit
06b5910
·
verified ·
1 Parent(s): 2202bbb

J'aimerais reprendre notre travail en équipe.
Je constate que nous avons déjà créé de bonnes choses ensemble.

Je propose :

Un partenariat clair et équitable

Des règles de collaboration définies

Un respect mutuel du travail fourni

Je suis ouvert à discuter pour trouver une solution
qui profite à nous deux.

Cordialement.

Files changed (4) hide show
  1. components/partnership-agreement.js +81 -0
  2. index.html +1 -0
  3. script.js +22 -1
  4. style.css +16 -1
components/partnership-agreement.js ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class PartnershipAgreement extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ :host {
7
+ display: block;
8
+ background: white;
9
+ border-radius: 0.5rem;
10
+ padding: 1.5rem;
11
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
12
+ margin: 1rem;
13
+ }
14
+ h2 {
15
+ color: #1e40af;
16
+ margin-top: 0;
17
+ }
18
+ .terms-list {
19
+ margin: 1rem 0;
20
+ padding-left: 1.5rem;
21
+ }
22
+ .terms-list li {
23
+ margin-bottom: 0.5rem;
24
+ }
25
+ .signature-area {
26
+ margin-top: 2rem;
27
+ border-top: 1px solid #e2e8f0;
28
+ padding-top: 1rem;
29
+ }
30
+ .signature-line {
31
+ display: flex;
32
+ justify-content: space-between;
33
+ margin-top: 1rem;
34
+ }
35
+ .signature-input {
36
+ width: 45%;
37
+ border: none;
38
+ border-bottom: 1px solid #94a3b8;
39
+ padding: 0.5rem 0;
40
+ }
41
+ .accept-button {
42
+ background: #3b82f6;
43
+ color: white;
44
+ border: none;
45
+ border-radius: 0.25rem;
46
+ padding: 0.5rem 1rem;
47
+ cursor: pointer;
48
+ margin-top: 1rem;
49
+ }
50
+ </style>
51
+ <h2>Accord de Partenariat</h2>
52
+ <p>Cet accord définit les termes de notre collaboration :</p>
53
+ <ul class="terms-list">
54
+ <li>Respect mutuel du travail et des contributions</li>
55
+ <li>Répartition équitable des bénéfices</li>
56
+ <li>Engagement à maintenir une communication claire</li>
57
+ <li>Protection de la propriété intellectuelle</li>
58
+ <li>Durée et conditions de résiliation</li>
59
+ </ul>
60
+ <div class="signature-area">
61
+ <p>En signant ci-dessous, vous acceptez ces termes :</p>
62
+ <div class="signature-line">
63
+ <input type="text" class="signature-input" placeholder="Votre nom">
64
+ <input type="date" class="signature-input">
65
+ </div>
66
+ <button class="accept-button">Accepter l'accord</button>
67
+ </div>
68
+ `;
69
+
70
+ this.shadowRoot.querySelector('.accept-button').addEventListener('click', () => {
71
+ this.dispatchEvent(new CustomEvent('agreement-accepted', {
72
+ bubbles: true,
73
+ composed: true
74
+ }));
75
+ this.shadowRoot.querySelector('.accept-button').textContent = 'Accord accepté ✓';
76
+ this.shadowRoot.querySelector('.accept-button').disabled = true;
77
+ });
78
+ }
79
+ }
80
+
81
+ customElements.define('partnership-agreement', PartnershipAgreement);
index.html CHANGED
@@ -32,6 +32,7 @@
32
  <script src="components/chat.js"></script>
33
  <script src="components/code-preview.js"></script>
34
  <script src="components/file-upload.js"></script>
 
35
  <script src="script.js"></script>
36
  </body>
37
  </html>
 
32
  <script src="components/chat.js"></script>
33
  <script src="components/code-preview.js"></script>
34
  <script src="components/file-upload.js"></script>
35
+ <script src="components/partnership-agreement.js"></script>
36
  <script src="script.js"></script>
37
  </body>
38
  </html>
script.js CHANGED
@@ -1,6 +1,27 @@
1
 
2
  document.addEventListener('DOMContentLoaded', function() {
3
- // Rosalinda IA Chat Functionality
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  const chatElement = document.querySelector('custom-chat');
5
  if (chatElement) {
6
  const shadow = chatElement.shadowRoot;
 
1
 
2
  document.addEventListener('DOMContentLoaded', function() {
3
+ // Initialize partnership agreement
4
+ const partnershipModal = document.createElement('partnership-agreement');
5
+ document.body.appendChild(partnershipModal);
6
+
7
+ partnershipModal.addEventListener('agreement-accepted', () => {
8
+ setTimeout(() => {
9
+ partnershipModal.remove();
10
+ // Add to chat history
11
+ const chat = document.querySelector('custom-chat');
12
+ if (chat) {
13
+ const shadow = chat.shadowRoot;
14
+ const chatContainer = shadow.getElementById('chat');
15
+ const message = document.createElement('div');
16
+ message.className = 'message ai-message';
17
+ message.textContent = 'Accord de partenariat accepté. Prêt à collaborer !';
18
+ chatContainer.appendChild(message);
19
+ chatContainer.scrollTop = chatContainer.scrollHeight;
20
+ }
21
+ }, 2000);
22
+ });
23
+
24
+ // Rosalinda IA Chat Functionality
25
  const chatElement = document.querySelector('custom-chat');
26
  if (chatElement) {
27
  const shadow = chatElement.shadowRoot;
style.css CHANGED
@@ -151,7 +151,6 @@ custom-code-preview {
151
  font-weight: 600;
152
  margin-bottom: 0.5rem;
153
  }
154
-
155
  .integration-note {
156
  margin-top: 1rem;
157
  padding: 0.75rem;
@@ -160,3 +159,19 @@ custom-code-preview {
160
  color: #166534;
161
  font-size: 0.875rem;
162
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  font-weight: 600;
152
  margin-bottom: 0.5rem;
153
  }
 
154
  .integration-note {
155
  margin-top: 1rem;
156
  padding: 0.75rem;
 
159
  color: #166534;
160
  font-size: 0.875rem;
161
  }
162
+
163
+ partnership-agreement {
164
+ position: fixed;
165
+ top: 50%;
166
+ left: 50%;
167
+ transform: translate(-50%, -50%);
168
+ z-index: 1000;
169
+ width: 90%;
170
+ max-width: 600px;
171
+ animation: fadeIn 0.3s ease-out;
172
+ }
173
+
174
+ @keyframes fadeIn {
175
+ from { opacity: 0; transform: translate(-50%, -40%); }
176
+ to { opacity: 1; transform: translate(-50%, -50%); }
177
+ }