diff --git a/app.html b/app.html
index 7683d03..2914863 100644
--- a/app.html
+++ b/app.html
@@ -100,13 +100,18 @@ function allU(){var r=getU();r.admin={pass:"admin",name:"Администрат
function getA(){return JSON.parse(localStorage.getItem("pab_audits")||"[]")}
function saveA(d){localStorage.setItem("pab_audits",JSON.stringify(d))}
-// Sync from Supabase to localStorage
+// Sync: push localStorage to Supabase, then pull Supabase to localStorage
async function syncFromSB(){
try{
- var u=await SB.from("users").select("*");if(u.data){var um={};u.data.forEach(function(x){um[x.login]={pass:x.pass,name:x.name,email:x.email,role:x.role,freq:x.freq,branch:x.branch,dept:x.dept,region:x.region,oblast:x.oblast,city:x.city}});saveU(um)}
- var a=await SB.from("audits").select("*").order("created_at",{ascending:false});if(a.data){var am=a.data.map(function(x){return{id:x.id,number:x.number,date:x.date,location:x.location,region:x.region,workType:x.work_type,workerCount:x.worker_count,observer:x.observer,observerRole:x.observer_role,overallSafe:x.overall_safe,categories:x.categories,totalViolations:x.total_violations,dialogue:x.dialogue,docs:x.docs,createdBy:x.created_by,createdAt:x.created_at}});saveA(am)}
- console.log("Synced from Supabase")
- }catch(e){console.log("Supabase sync failed, using localStorage")}
+ // 1. Push localStorage users to Supabase
+ var lu=getU();for(var k in lu){await SB.from("users").upsert({login:k,pass:lu[k].pass,name:lu[k].name,email:lu[k].email,role:lu[k].role,freq:lu[k].freq,branch:lu[k].branch,dept:lu[k].dept,region:lu[k].region,oblast:lu[k].oblast,city:lu[k].city}).select();}
+ // 2. Push localStorage audits to Supabase
+ var la=getA();for(var i=0;i
Вход — ПАБ
-