Changes for page 学校一覧

Last modified by Super Admin on 2026/03/23 10:15

From version Icon 9.1 Icon
edited by Super Admin
on 2026/03/06 21:03
Change comment: There is no comment for this version
To version Icon 10.1 Icon
edited by Super Admin
on 2026/03/06 22:09
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -18,18 +18,20 @@
18 18  #set($results = $query.execute())
19 19  
20 20  {{html clean="false"}}
21 -<h1 class="home-section-title">登録されている学校</h1>
22 -<div class="sort-header">
23 - <div class="school-count">
21 +<h1 class="home-section-title" style="font-size:1.4em;margin-bottom:20px;">登録されている学校</h1>
22 +<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;">
23 + <div style="font-size:0.9em;color:#64748b;">
24 24   $results.size() 校が登録されています
25 25   </div>
26 - <div class="sort-toggle-group">
26 + <div style="display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:3px;">
27 27   <a href="$doc.getURL('view', 'sort=updated')"
28 - class="sort-toggle #if($sortParam == 'updated')active#end">
28 + style="padding:6px 14px;border-radius:6px;font-size:0.84em;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;
29 + #if($sortParam == 'updated')background:#fff;color:#1e293b;box-shadow:0 1px 3px rgba(0,0,0,0.1);#else color:#64748b;#end">
29 29   <svg class="ico ico-fixed-14" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg> 更新順
30 30   </a>
31 31   <a href="$doc.getURL('view', 'sort=pref')"
32 - class="sort-toggle #if($sortParam == 'pref')active#end">
33 + style="padding:6px 14px;border-radius:6px;font-size:0.84em;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;
34 + #if($sortParam == 'pref')background:#fff;color:#1e293b;box-shadow:0 1px 3px rgba(0,0,0,0.1);#else color:#64748b;#end">
33 33   <svg class="ico ico-fixed-14" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg> 都道府県順
34 34   </a>
35 35   </div>
... ... @@ -42,7 +42,7 @@
42 42  #set($currentPref = '')
43 43  
44 44  {{html clean="false"}}
45 -<div class="school-card-grid">
47 +<div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:16px;">
46 46  #foreach($docName in $results)
47 47   #set($schoolDoc = $xwiki.getDocument($docName))
48 48   #set($schoolObj = $schoolDoc.getObject('SeitokaiCode.SchoolClass'))
... ... @@ -73,20 +73,25 @@
73 73   ## 都道府県グループヘッダー(都道府県順の場合)
74 74   #if($sortParam == 'pref' && $sPref != $currentPref)
75 75   #set($currentPref = $sPref)
76 - <div class="pref-group-header">
77 - <span class="pref-group-label"><svg class="ico ico-fixed-16" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg> $!escapetool.xml($currentPref)</span>
78 + <div style="grid-column:1/-1;margin-top:12px;padding:8px 0;border-bottom:2px solid #e2e8f0;">
79 + <span style="font-size:1.05em;font-weight:700;color:#1e293b;display:inline-flex;align-items:center;gap:4px;"><svg class="ico ico-fixed-16" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg> $!escapetool.xml($currentPref)</span>
78 78   </div>
79 79   #end
80 80  
81 - <a href="$schoolDoc.getURL('view')" class="school-card">
82 - <div class="school-card-body">
83 - <div class="school-card-header-row">
84 - <div class="school-card-name">$!escapetool.xml($sName)</div>
83 + <a href="$schoolDoc.getURL('view')" style="text-decoration:none;color:inherit;display:block;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:box-shadow 0.2s,transform 0.1s;"
84 + onmouseover="this.style.boxShadow='0 4px 12px rgba(0,0,0,0.08)';this.style.transform='translateY(-1px)'"
85 + onmouseout="this.style.boxShadow='';this.style.transform=''">
86 + <div style="padding:16px 20px;">
87 + <div style="display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap;">
88 + <div style="font-weight:700;font-size:0.95em;color:#1e293b;">$!escapetool.xml($sName)</div>
85 85   #if($sEst)
86 - <span class="school-card-badge #if($sEst == '公立')public#elseif($sEst == '私立')private#else national#end">$!escapetool.xml($sEst)</span>
90 + <span style="font-size:0.72em;padding:2px 8px;border-radius:4px;font-weight:600;
91 + #if($sEst == '公立')background:#dbeafe;color:#1d4ed8;
92 + #elseif($sEst == '私立')background:#fce7f3;color:#be185d;
93 + #else background:#f3e8ff;color:#7c3aed;#end">$!escapetool.xml($sEst)</span>
87 87   #end
88 88   </div>
89 - <div class="school-card-meta">
96 + <div style="font-size:0.82em;color:#94a3b8;margin-bottom:8px;">
90 90   $!escapetool.xml($sPref) $!escapetool.xml($sCity)
91 91   #if($sCoed) ・ $!escapetool.xml($sCoed)#end
92 92   #if($sSystem) ・ $!escapetool.xml($sSystem)#end
... ... @@ -93,14 +93,14 @@
93 93   </div>
94 94   ## 特色ある活動バッジ
95 95   #if($featuredCount > 0)
96 - <div class="school-card-featured-wrap">
97 - <span class="badge-featured"><svg class="ico ico-fixed-14" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg> 特色ある活動 ${featuredCount}件</span>
103 + <div style="display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;">
104 + <span style="font-size:0.72em;padding:2px 8px;background:#fef3c7;color:#92400e;border-radius:4px;font-weight:600;display:inline-flex;align-items:center;gap:3px;"><svg class="ico ico-fixed-14" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg> 特色ある活動 ${featuredCount}件</span>
98 98   </div>
99 99   #end
100 - <div class="school-card-stats">
101 - <span><svg class="ico ico-fixed-14" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg> 活動 <span class="num">$actCount</span>件</span>
102 - <span><svg class="ico ico-fixed-14" viewBox="0 0 24 24"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/></svg> 投稿 <span class="num">$postCount</span>件</span>
103 - <span><svg class="ico ico-fixed-14" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg> 更新 $lastUpdate</span>
107 + <div style="display:flex;gap:14px;font-size:0.8em;color:#94a3b8;">
108 + <span style="display:inline-flex;align-items:center;gap:3px;"><svg class="ico ico-fixed-14" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg> 活動 <strong style="color:#334155;">$actCount</strong>件</span>
109 + <span style="display:inline-flex;align-items:center;gap:3px;"><svg class="ico ico-fixed-14" viewBox="0 0 24 24"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/></svg> 投稿 <strong style="color:#334155;">$postCount</strong>件</span>
110 + <span style="display:inline-flex;align-items:center;gap:3px;"><svg class="ico ico-fixed-14" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg> 更新 $lastUpdate</span>
104 104   </div>
105 105   </div>
106 106   </a>