@@ -94,6 +94,9 @@ function renderAdminLogin() {
9494 <label for="admin-password">Password</label>
9595 <input type="password" id="admin-password" placeholder="••••••••" required autocomplete="current-password" />
9696 </div>
97+ <div style="width:100%;margin-bottom:16px">
98+ <cap-widget data-cap-api-endpoint="https://cap.zero-host.org/f6c8171b08/" theme="dark"></cap-widget>
99+ </div>
97100 <button type="submit" class="btn btn-primary btn-full" id="admin-login-btn">Sign In</button>
98101 </form>
99102 <div class="auth-footer">
@@ -119,13 +122,16 @@ async function handleAdminLogin(e) {
119122 btn . innerHTML = '<span class="spinner"></span> Signing in...' ;
120123
121124 try {
122- const data = await adminApi ( '/login' , {
123- method : 'POST' ,
124- body : JSON . stringify ( {
125- email : $a ( '#admin-email' ) . value ,
126- password : $a ( '#admin-password' ) . value ,
127- } ) ,
128- } ) ;
125+ const capWidget = $a ( '#admin-login-form cap-widget' ) ;
126+ const capToken = capWidget ?. token || '' ;
127+ const data = await adminApi ( '/login' , {
128+ method : 'POST' ,
129+ body : JSON . stringify ( {
130+ email : $a ( '#admin-email' ) . value ,
131+ password : $a ( '#admin-password' ) . value ,
132+ capToken,
133+ } ) ,
134+ } ) ;
129135 adminState . token = data . token ;
130136 adminState . user = data . user ;
131137 localStorage . setItem ( ADMIN_STORAGE_KEY , data . token ) ;
@@ -167,6 +173,10 @@ function renderAdminLayout() {
167173 </div>
168174 </nav>
169175 <main class="admin-content">
176+ <div class="admin-notice">
177+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>
178+ <span>Le panel admin a été ajouté très récemment — peu de fonctionnalités et quelques petits bugs pour le moment. Je suis focus sur l'installateur bash, la doc d'installation et le polish UI côté user, mais une fois tout ça fini, le panel admin aura toute mon attention.</span>
179+ </div>
170180 <div class="admin-page active" id="admin-page-servers"></div>
171181 <div class="admin-page" id="admin-page-server-detail"></div>
172182 </main>
@@ -180,9 +190,11 @@ function renderAdminLayout() {
180190 adminNavigateTo ( 'login' ) ;
181191 } ) ;
182192
183- $a ( '.admin-nav-link' ) . addEventListener ( 'click' , ( e ) => {
184- e . preventDefault ( ) ;
185- adminNavigateTo ( 'servers' ) ;
193+ document . querySelectorAll ( '.admin-nav-link' ) . forEach ( link => {
194+ link . addEventListener ( 'click' , ( e ) => {
195+ e . preventDefault ( ) ;
196+ adminNavigateTo ( 'servers' ) ;
197+ } ) ;
186198 } ) ;
187199
188200 updateAdminNav ( ) ;
0 commit comments