- 日报卡片"已提交/未提交"状态徽章补色:DailyReportCard用<article><header><em>结构,原选择器
要求.report-cards直接子<button>,日报卡片永远命中不了、只落到不分状态的兜底样式;月报因为
行本身就是<button>所以没受影响。详情页.report-author em同理补了区分色(原来恒为绿色,"未
提交"用绿色在语义上很怪)。
- 青少年模式/独立密码设置的PIN输入定位改用结构性方案,不再靠猜一个rem偏移量:给
.auth-pin-boxes/.auth-pin-input包一层.auth-pin-wrap,输入框inset:0精确覆盖方块的真实
渲染框,不管外层页面有没有标题、padding多少都自动对齐。上一轮的补丁(.youth-password-gate
.auth-pin-input{top:1.75rem})把重叠率从0%提到32.5%,本轮实测确认还是不够(方块下方
67.5%的面积点不中),根治后4个采样点(四角+中心)全部精确命中输入框。过程中额外发现并
修复了两个更隐蔽的层叠问题:全局input[type=text]的height:2.5rem特异度反超裸class、
textarea/input共享的margin:0.25rem重置——不清掉这两个会让inset:0看起来生效了、实际尺寸/
位置还是被悄悄改掉。
- .report-loading(举报原因页加载态)补基础样式,原来在base.css里零匹配,吃浏览器默认<p>样式。
- 清理静态文件里的Tinode品牌残留:index.html/index-dev.html的<meta>标签(application-name/
description/og:*/canonical,此前只改了<title>,meta标签一直没跟上)、manifest.json(name/
short_name/description改MeetingIM;prefer_related_applications+related_applications整个
删掉——这两个字段会让Android/Chrome"添加到主屏幕"时引导用户去装无关的第三方开源Tinode App,
不只是文案问题);删除.well-known/assetlinks.json(声明了无关第三方App对本域名的URL处理/
登录凭据代理权限,属于遗留模板残留,无真实对应关系,直接移除而非编造虚假内容)。
manifest.json里的图标文件(logo96.png/logo192.png/logo.svg)本身画的就是Tinode的蓝绿橙"t"标志,
是真实的视觉品牌泄漏,但重新设计一套图标涉及视觉识别决策,本次未动,留给用户决定。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
43 lines
2.4 KiB
HTML
43 lines
2.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>MeetingIM</title>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="application-name" content="MeetingIM" />
|
|
<meta name="description" content="MeetingIM instant messenger in a browser" />
|
|
<meta name="application-url" content="https://web.118im.com/">
|
|
<meta name="theme-color" content="#3949AB" />
|
|
<meta name="google" value="notranslate" />
|
|
<meta name="format-detection" content="telephone=no" />
|
|
<meta name="og:url" content="https://web.118im.com/">
|
|
<meta name="og:title" content="MeetingIM">
|
|
<meta name="og:image" content="img/og-logo.jpeg">
|
|
<meta name="og:description" content="MeetingIM instant messenger in a browser" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<link rel="manifest" href="manifest.json" />
|
|
<link rel="shortcut icon" id="shortcut-icon" href="img/logo32x32.png" type="image/png" />
|
|
<link rel="apple-touch-icon" sizes="192x192" href="img/logo192.png" type="image/png" />
|
|
<link rel="canonical" href="https://web.118im.com/" />
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,700,700i" />
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
|
<link rel="stylesheet" href="css/base.min.css" />
|
|
<script crossorigin="anonymous" src="https://polyfill-fastly.io/v3/polyfill.min.js?features=Intl.Segmenter"></script>
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react@18.3.1/umd/react.production.min.js"></script>
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-dom@18.3.1/umd/react-dom.production.min.js"></script>
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-intl@7.1.6/react-intl.iife.min.js"></script>
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/qrcodejs@1.0.0/qrcode.min.js"></script>
|
|
</head>
|
|
<body>
|
|
<noscript><div id="noscript-message"><div id="noscript-title">Javascript support is required.</div>
|
|
<div id="noscript-content">It appears JavaScript is turned off or is not supported by your browser.
|
|
MeetingIM does not work without JavaScript. Please enable JavaScript by changing your browser options,
|
|
then <a href="">try again</a>.</div></div></noscript>
|
|
<div id="mountPoint"></div>
|
|
<script src="firebase-init.js"></script>
|
|
<script src="umd/tinode.prod.js"></script>
|
|
<script src="umd/index.prod.js"></script>
|
|
</body>
|
|
</html>
|