Changes for page 学校一覧
Last modified by Super Admin on 2026/03/23 10:15
From version 1.1
edited by Super Admin
on 2026/03/05 22:05
on 2026/03/05 22:05
Change comment:
There is no comment for this version
To version
9.1
edited by Super Admin
on 2026/03/06 21:03
on 2026/03/06 21:03
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -17,23 +17,20 @@ 17 17 #end 18 18 #set($results = $query.execute()) 19 19 20 -= <svg class="ico" style="width:1.1em;height:1.1em;vertical-align:-0.15em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 20h20"/><path d="M5 20V10l7-5 7 5v10"/><path d="M9 20v-5h6v5"/></svg> 登録されている学校 = 21 - 22 22 {{html clean="false"}} 23 -<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;"> 24 - <div style="font-size:0.9em;color:#64748b;"> 21 +<h1 class="home-section-title">登録されている学校</h1> 22 +<div class="sort-header"> 23 + <div class="school-count"> 25 25 $results.size() 校が登録されています 26 26 </div> 27 - <div style="display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:3px;">26 + <div class="sort-toggle-group"> 28 28 <a href="$doc.getURL('view', 'sort=updated')" 29 - 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; 30 - #if($sortParam == 'updated')background:#fff;color:#1e293b;box-shadow:0 1px 3px rgba(0,0,0,0.1);#else color:#64748b;#end"> 31 - <svg style="width:14px;height:14px;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg> 更新順 28 + class="sort-toggle #if($sortParam == 'updated')active#end"> 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> 更新順 32 32 </a> 33 33 <a href="$doc.getURL('view', 'sort=pref')" 34 - 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; 35 - #if($sortParam == 'pref')background:#fff;color:#1e293b;box-shadow:0 1px 3px rgba(0,0,0,0.1);#else color:#64748b;#end"> 36 - <svg style="width:14px;height:14px;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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> 都道府県順 32 + class="sort-toggle #if($sortParam == 'pref')active#end"> 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> 都道府県順 37 37 </a> 38 38 </div> 39 39 </div> ... ... @@ -45,7 +45,7 @@ 45 45 #set($currentPref = '') 46 46 47 47 {{html clean="false"}} 48 -<div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:16px;">45 +<div class="school-card-grid"> 49 49 #foreach($docName in $results) 50 50 #set($schoolDoc = $xwiki.getDocument($docName)) 51 51 #set($schoolObj = $schoolDoc.getObject('SeitokaiCode.SchoolClass')) ... ... @@ -76,39 +76,34 @@ 76 76 ## 都道府県グループヘッダー(都道府県順の場合) 77 77 #if($sortParam == 'pref' && $sPref != $currentPref) 78 78 #set($currentPref = $sPref) 79 - <div style="grid-column:1/-1;margin-top:12px;padding:8px 0;border-bottom:2px solid #e2e8f0;">80 - <span style="font-size:1.05em;font-weight:700;color:#1e293b;display:inline-flex;align-items:center;gap:4px;"><svgstyle="width:16px;height:16px;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>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> 81 81 </div> 82 82 #end 83 83 84 - <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;" 85 - onmouseover="this.style.boxShadow='0 4px 12px rgba(0,0,0,0.08)';this.style.transform='translateY(-1px)'" 86 - onmouseout="this.style.boxShadow='';this.style.transform=''"> 87 - <div style="padding:16px 20px;"> 88 - <div style="display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap;"> 89 - <div style="font-weight:700;font-size:0.95em;color:#1e293b;">$escapetool.xml($sName)</div> 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> 90 90 #if($sEst) 91 - <span style="font-size:0.72em;padding:2px 8px;border-radius:4px;font-weight:600; 92 - #if($sEst == '公立')background:#dbeafe;color:#1d4ed8; 93 - #elseif($sEst == '私立')background:#fce7f3;color:#be185d; 94 - #else background:#f3e8ff;color:#7c3aed;#end">$escapetool.xml($sEst)</span> 86 + <span class="school-card-badge #if($sEst == '公立')public#elseif($sEst == '私立')private#else national#end">$!escapetool.xml($sEst)</span> 95 95 #end 96 96 </div> 97 - <div style="font-size:0.82em;color:#94a3b8;margin-bottom:8px;">98 - $escapetool.xml($sPref) $escapetool.xml($sCity) 99 - #if($sCoed) ・ $escapetool.xml($sCoed)#end 100 - #if($sSystem) ・ $escapetool.xml($sSystem)#end 89 + <div class="school-card-meta"> 90 + $!escapetool.xml($sPref) $!escapetool.xml($sCity) 91 + #if($sCoed) ・ $!escapetool.xml($sCoed)#end 92 + #if($sSystem) ・ $!escapetool.xml($sSystem)#end 101 101 </div> 102 102 ## 特色ある活動バッジ 103 103 #if($featuredCount > 0) 104 - <div style="display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;">105 - <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;"><svgstyle="width:11px;height:11px;" 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>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> 106 106 </div> 107 107 #end 108 - <div style="display:flex;gap:14px;font-size:0.8em;color:#94a3b8;">109 - <span style="display:inline-flex;align-items:center;gap:3px;"><svg style="width:13px;height:13px;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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> 活動 <strongstyle="color:#334155;">$actCount</strong>件</span>110 - <span style="display:inline-flex;align-items:center;gap:3px;"><svg style="width:13px;height:13px;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/></svg> 投稿 <strongstyle="color:#334155;">$postCount</strong>件</span>111 - <span style="display:inline-flex;align-items:center;gap:3px;"><svg style="width:13px;height:13px;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg> 更新 $lastUpdate</span>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> 112 112 </div> 113 113 </div> 114 114 </a>