# -*- coding: utf-8 -*-
"""收尾：清掉已删除元素（homeSecret / homePad / segMeet）的引用，并硬化 switchMeeting"""
import re

FILES = [
    '/data/www/files/rmsys-app/android/app/src/main/assets/web/pad.html',
    '/data/www/files/rmsys-app/backend/src/Rmsys.Api/wwwroot/pad.html',
]

# 已删除的元素：首页「机密 ★★」「本机 PAD-xx」、设置里的「会议类型」
DROP_LINES = [
    "$('homeSecret').textContent=m.secret;",
    "$('homePad').textContent=ST.pad;",
    "document.querySelectorAll('#segMeet button').forEach(function(b){ b.classList.toggle('on', b.getAttribute('data-v')===k); });",
]

OLD_SW = """function switchMeeting(k){
  ST.meet=k;
  ST.sel = MEETINGS[k].depts ? 'yichu' : 'all';
  var m=MEETINGS[k];"""

NEW_SW = """function switchMeeting(k){
  /* 包内只有本次会议的数据：切到不存在的类型时保持原状，绝不改坏 ST.meet，
     否则随后的「进入系统」会被误判为无数据 */
  var m=MEETINGS[k];
  if(!m || !m.name){ toast('本机只有本次会议的数据，无法切换会议类型'); return; }
  ST.meet=k;
  ST.sel = m.depts ? 'yichu' : 'all';"""

for p in FILES:
    s = open(p, encoding='utf-8').read()
    out = []
    removed = 0
    for line in s.split('\n'):
        if any(t in line for t in DROP_LINES):
            removed += 1
            continue
        out.append(line)
    s = '\n'.join(out)

    if OLD_SW in s:
        s = s.replace(OLD_SW, NEW_SW, 1)
        hard = '✓'
    else:
        hard = '✗'

    open(p, 'w', encoding='utf-8').write(s)
    left = [t for t in DROP_LINES if t in s]
    print("%-56s 清理引用 %d 行 | 硬化 %s | 残留引用 %d" % (p.split('/')[-2] + '/' + p.split('/')[-1], removed, hard, len(left)))
