diff --git a/templates/people/index.php b/templates/people/index.php
index 1cd55de..7c7e785 100644
--- a/templates/people/index.php
+++ b/templates/people/index.php
@@ -1,6 +1,105 @@
+ a + details,**不能写成 a > form**:
+ * 表单套在链接里是非法 HTML,浏览器会把 DOM 拆开,表单里那个「移动」按钮
+ * 可能连提交机会都没有(或者把整张卡片点成跳转)。
+ */
+$canMove = \App\Auth::canWrite();
+$total = 0;
+foreach ($grouped as $list) {
+ $total += count($list);
+}
+
+/**
+ * 画一栏人。用闭包是因为"分好组的各栏"和"未分类"两处要画同一套卡片,
+ * 复制一遍迟早会改漏一处。
+ */
+$renderGrid = function (array $list) use ($groups, $meId, $canMove): void {
+ if (!$list) {
+ return;
+ }
+ ?>
+
家庭名册
-
共 = count($people) ?> 人
+
共 = $total ?> 人= $groups && $q === '' ? ',分 ' . count($groups) . ' 个关系分组' : '' ?>
添加成员
@@ -22,47 +121,42 @@
= $q !== '' ? '没有匹配的人' : '名册还是空的' ?>
= $q !== '' ? '换个词试试。' : '把家里人加进来,之后观影、旅行的同行人就可以直接从名册里选。' ?>
+
+
+
+ 找到 = count($people) ?> 个匹配「= e($q) ?>」的人(搜索时不分组)。
+
+
-
+
+
+
+
+ = e((string)$g['name']) ?>
+ = count($list) ?> 人
+
+
+
+
+
+
+
+
+ 未分类
+ = count($grouped[0]) ?> 人
+
+
+ 这些人还没归到任何分组里。管理员可以在卡片下面直接选一个分组(或去「编辑成员」里改)。
+
+
+
+
diff --git a/templates/people/show.php b/templates/people/show.php
index 0f4e21b..5e205b1 100644
--- a/templates/people/show.php
+++ b/templates/people/show.php
@@ -52,7 +52,7 @@ $shortKind = ['id' => '身份证生日', 'solar' => '阳历生日', 'lunar' =
-
改我自己的资料
+
改我自己的资料
编辑资料
diff --git a/templates/settings/_nicknames.php b/templates/settings/_nicknames.php
new file mode 100644
index 0000000..5d8d9ad
--- /dev/null
+++ b/templates/settings/_nicknames.php
@@ -0,0 +1,45 @@
+
+
+
+ 我怎么称呼家人
+ 只影响你自己看到的叫法
+
+
+ 同一个「小明」,妈妈叫"明明"、姐姐叫"小弟" —— 称呼是**每个人各自定的**,
+ 不是这个人自带的属性。所以这里改的只影响你自己的页面,别人看到的还是他们自己的叫法。
+ 留空 = 恢复成用姓名显示。
+
+
+
+
名册里还没有别人。
+
+
+
+
diff --git a/templates/people/me.php b/templates/settings/_profile.php
similarity index 69%
rename from templates/people/me.php
rename to templates/settings/_profile.php
index 22d0515..0a68311 100644
--- a/templates/people/me.php
+++ b/templates/settings/_profile.php
@@ -1,40 +1,26 @@
nickname
-$myNicks = [];
-foreach ($nicknames as $n) {
- $myNicks[(int)$n['target_id']] = (string)$n['nickname'];
-}
+// 裁剪比例由「这个位置显示成什么形状」决定,前后端共用同一份配置(见 App\ImageSlot)
+$avSlot = \App\ImageSlot::get('avatar');
?>
-
-
我的资料
-
你自己看到的样子 · 别人看到你的名字不变
-
-
-
-