修改webvpn小工具

This commit is contained in:
ember 2026-01-14 18:28:40 +08:00
parent 1e876f5aab
commit 45b9b5a10f
12 changed files with 70 additions and 11 deletions

View File

@ -1 +0,0 @@
.widget-container[data-v-409666c6]{width:100%;min-height:100vh;background-color:#f5f7fa}.content-container[data-v-409666c6]{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;padding-top:80px}.page-title[data-v-409666c6]{font-size:2rem;text-align:center;margin-bottom:2rem;color:#333}.info-card[data-v-409666c6]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;margin-bottom:2rem;text-align:center;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem}.info-icon[data-v-409666c6]{color:#3273dc;font-size:1.5rem;margin-right:.5rem}.widget-group[data-v-409666c6]{margin-bottom:3rem}.group-title[data-v-409666c6]{font-size:1.5rem;margin-bottom:1.5rem;color:#444;padding-bottom:.5rem;border-bottom:2px solid #3273dc;display:inline-block}.widget-grid[data-v-409666c6]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}.widget-card[data-v-409666c6]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;transition:all .3s ease;text-decoration:none;color:#333;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}.widget-card[data-v-409666c6]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.widget-icon[data-v-409666c6]{font-size:2.5rem;color:#3273dc;margin-bottom:1rem}.widget-info[data-v-409666c6]{flex:1;display:flex;flex-direction:column}.widget-title[data-v-409666c6]{font-size:1.1rem;margin-bottom:.5rem;font-weight:600}.widget-desc[data-v-409666c6]{font-size:.9rem;color:#666;margin:0;line-height:1.4}@media(max-width:1200px){.widget-grid[data-v-409666c6]{grid-template-columns:repeat(4,1fr)}}@media(max-width:992px){.widget-grid[data-v-409666c6]{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.widget-grid[data-v-409666c6]{grid-template-columns:repeat(2,1fr)}.content-container[data-v-409666c6]{padding:1.5rem 1rem;padding-top:70px}.page-title[data-v-409666c6]{font-size:1.75rem}.group-title[data-v-409666c6]{font-size:1.25rem}.widget-card[data-v-409666c6]{padding:1.2rem}.widget-icon[data-v-409666c6]{font-size:2rem}}@media(max-width:480px){.widget-grid[data-v-409666c6]{gap:1rem}.widget-title[data-v-409666c6]{font-size:1rem}.widget-desc[data-v-409666c6]{font-size:.8rem}}

1
dist/css/194.8103992c.css vendored Normal file
View File

@ -0,0 +1 @@
.widget-frame[data-v-01e2ea60]{width:100%;min-height:100vh;background-color:#f5f7fa}.frame-container[data-v-01e2ea60]{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;padding-top:80px}.widget-header[data-v-01e2ea60]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.widget-icon[data-v-01e2ea60],.widget-identity[data-v-01e2ea60]{display:flex;align-items:center}.widget-icon[data-v-01e2ea60]{font-size:2rem;color:#3273dc;margin-right:1rem;width:50px;height:50px;justify-content:center;background-color:rgba(50,115,220,.1);border-radius:12px}.widget-title[data-v-01e2ea60]{font-size:1.8rem;color:#333;margin:0}.widget-actions[data-v-01e2ea60]{display:flex;align-items:center}.back-button[data-v-01e2ea60]{padding:.5rem 1rem;background-color:#f0f0f0;border-radius:6px;color:#555;text-decoration:none;font-size:.9rem;transition:all .3s ease}.back-button[data-v-01e2ea60]:hover{background-color:#e0e0e0}.back-button i[data-v-01e2ea60]{margin-right:5px}.widget-info-card[data-v-01e2ea60]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;margin-bottom:1.5rem}.widget-description[data-v-01e2ea60]{font-size:1rem;color:#555;margin-bottom:1rem;line-height:1.5}.widget-developer[data-v-01e2ea60]{font-size:.9rem;color:#777;padding-top:.5rem;border-top:1px solid #eee}.widget-content-card[data-v-01e2ea60]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:2rem;margin-bottom:2rem;min-height:400px}@media(max-width:768px){.frame-container[data-v-01e2ea60]{padding:1.5rem 1rem;padding-top:70px}.widget-header[data-v-01e2ea60]{flex-direction:column;align-items:flex-start}.widget-identity[data-v-01e2ea60]{margin-bottom:1rem}.widget-title[data-v-01e2ea60]{font-size:1.5rem}.widget-icon[data-v-01e2ea60]{font-size:1.5rem;width:40px;height:40px}.widget-content-card[data-v-01e2ea60]{padding:1.5rem;min-height:300px}}.webvpn-converter[data-v-3c820932]{width:100%}.quick-links-section[data-v-3c820932]{margin-bottom:20px}.quick-links-section .section-label[data-v-3c820932]{font-size:15px;font-weight:500;margin-bottom:10px;color:#333}.quick-links-section .links-container[data-v-3c820932]{display:flex;flex-wrap:wrap;gap:10px}.quick-links-section .link-tag[data-v-3c820932]{background-color:#eef3fc;color:#3273dc;border:1px solid #d0e1fd;padding:6px 12px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s}.quick-links-section .link-tag[data-v-3c820932]:hover{background-color:#3273dc;color:#fff;border-color:#3273dc}.input-section[data-v-3c820932]{margin-bottom:24px}.input-section label[data-v-3c820932]{display:block;font-size:16px;margin-bottom:8px;font-weight:500;color:#333}.input-with-button[data-v-3c820932]{display:flex;gap:10px}.input-with-button input[data-v-3c820932]{flex:1;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:15px;transition:border-color .3s}.input-with-button input[data-v-3c820932]:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50,115,220,.2)}.convert-btn[data-v-3c820932]{background-color:#3273dc;color:#fff;border:none;border-radius:6px;padding:0 20px;font-size:15px;cursor:pointer;transition:background-color .3s}.convert-btn[data-v-3c820932]:hover{background-color:#276cda}.convert-btn[data-v-3c820932]:active{background-color:#215cca}.output-section[data-v-3c820932]{margin-bottom:30px}.output-section .result-label[data-v-3c820932]{font-size:16px;font-weight:500;margin-bottom:8px;color:#333}.result-container[data-v-3c820932]{background-color:#f5f8ff;border:1px solid #d1e0ff;border-radius:6px;padding:15px}.url-display[data-v-3c820932]{font-family:Courier New,monospace;word-break:break-all;margin-bottom:15px;line-height:1.4;background-color:#fff;padding:10px;border-radius:4px;border:1px dashed #ccc}.action-buttons[data-v-3c820932]{display:flex;gap:10px}.action-btn[data-v-3c820932]{padding:8px 15px;border-radius:4px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none}.action-btn i[data-v-3c820932]{margin-right:5px}.copy-btn[data-v-3c820932]{background-color:#4caf50;color:#fff;border:none}.copy-btn[data-v-3c820932]:hover{background-color:#43a047}.open-btn[data-v-3c820932]{background-color:#ff9800;color:#fff}.open-btn[data-v-3c820932]:hover{background-color:#f57c00}.info-section[data-v-3c820932]{background-color:#f9f9f9;border-radius:6px;padding:15px 20px}.info-section h3[data-v-3c820932]{margin-top:0;margin-bottom:10px;font-size:16px;color:#444}.info-section ul[data-v-3c820932]{margin:0;padding-left:20px}.info-section ul li[data-v-3c820932]{margin-bottom:5px}.info-section .note[data-v-3c820932]{margin-top:15px;color:#d32f2f;font-size:14px}@media(max-width:768px){.input-with-button[data-v-3c820932]{flex-direction:column}.convert-btn[data-v-3c820932]{width:100%;padding:10px}.action-buttons[data-v-3c820932]{flex-direction:column}.action-btn[data-v-3c820932]{width:100%}}

1
dist/css/459.be81f214.css vendored Normal file
View File

@ -0,0 +1 @@
.widget-container[data-v-4b78f678]{width:100%;min-height:100vh;background-color:#f5f7fa}.content-container[data-v-4b78f678]{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;padding-top:80px}.page-title[data-v-4b78f678]{font-size:2rem;text-align:center;margin-bottom:2rem;color:#333}.info-card[data-v-4b78f678]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;margin-bottom:2rem;text-align:center;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem}.info-icon[data-v-4b78f678]{color:#3273dc;font-size:1.5rem;margin-right:.5rem}.widget-group[data-v-4b78f678]{margin-bottom:3rem}.group-title[data-v-4b78f678]{font-size:1.5rem;margin-bottom:1.5rem;color:#444;padding-bottom:.5rem;border-bottom:2px solid #3273dc;display:inline-block}.widget-grid[data-v-4b78f678]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}.widget-card[data-v-4b78f678]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;transition:all .3s ease;text-decoration:none;color:#333;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}.widget-card[data-v-4b78f678]:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.widget-icon[data-v-4b78f678]{font-size:2.5rem;color:#3273dc;margin-bottom:1rem}.widget-info[data-v-4b78f678]{flex:1;display:flex;flex-direction:column}.widget-title[data-v-4b78f678]{font-size:1.1rem;margin-bottom:.5rem;font-weight:600}.widget-desc[data-v-4b78f678]{font-size:.9rem;color:#666;margin:0;line-height:1.4}@media(max-width:1200px){.widget-grid[data-v-4b78f678]{grid-template-columns:repeat(4,1fr)}}@media(max-width:992px){.widget-grid[data-v-4b78f678]{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.widget-grid[data-v-4b78f678]{grid-template-columns:repeat(2,1fr)}.content-container[data-v-4b78f678]{padding:1.5rem 1rem;padding-top:70px}.page-title[data-v-4b78f678]{font-size:1.75rem}.group-title[data-v-4b78f678]{font-size:1.25rem}.widget-card[data-v-4b78f678]{padding:1.2rem}.widget-icon[data-v-4b78f678]{font-size:2rem}}@media(max-width:480px){.widget-grid[data-v-4b78f678]{gap:1rem}.widget-title[data-v-4b78f678]{font-size:1rem}.widget-desc[data-v-4b78f678]{font-size:.8rem}}

View File

@ -1 +0,0 @@
.widget-frame[data-v-01e2ea60]{width:100%;min-height:100vh;background-color:#f5f7fa}.frame-container[data-v-01e2ea60]{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;padding-top:80px}.widget-header[data-v-01e2ea60]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.widget-icon[data-v-01e2ea60],.widget-identity[data-v-01e2ea60]{display:flex;align-items:center}.widget-icon[data-v-01e2ea60]{font-size:2rem;color:#3273dc;margin-right:1rem;width:50px;height:50px;justify-content:center;background-color:rgba(50,115,220,.1);border-radius:12px}.widget-title[data-v-01e2ea60]{font-size:1.8rem;color:#333;margin:0}.widget-actions[data-v-01e2ea60]{display:flex;align-items:center}.back-button[data-v-01e2ea60]{padding:.5rem 1rem;background-color:#f0f0f0;border-radius:6px;color:#555;text-decoration:none;font-size:.9rem;transition:all .3s ease}.back-button[data-v-01e2ea60]:hover{background-color:#e0e0e0}.back-button i[data-v-01e2ea60]{margin-right:5px}.widget-info-card[data-v-01e2ea60]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:1.5rem;margin-bottom:1.5rem}.widget-description[data-v-01e2ea60]{font-size:1rem;color:#555;margin-bottom:1rem;line-height:1.5}.widget-developer[data-v-01e2ea60]{font-size:.9rem;color:#777;padding-top:.5rem;border-top:1px solid #eee}.widget-content-card[data-v-01e2ea60]{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08);padding:2rem;margin-bottom:2rem;min-height:400px}@media(max-width:768px){.frame-container[data-v-01e2ea60]{padding:1.5rem 1rem;padding-top:70px}.widget-header[data-v-01e2ea60]{flex-direction:column;align-items:flex-start}.widget-identity[data-v-01e2ea60]{margin-bottom:1rem}.widget-title[data-v-01e2ea60]{font-size:1.5rem}.widget-icon[data-v-01e2ea60]{font-size:1.5rem;width:40px;height:40px}.widget-content-card[data-v-01e2ea60]{padding:1.5rem;min-height:300px}}.webvpn-converter[data-v-19390e72]{width:100%}.input-section[data-v-19390e72]{margin-bottom:24px}.input-section label[data-v-19390e72]{display:block;font-size:16px;margin-bottom:8px;font-weight:500;color:#333}.input-with-button[data-v-19390e72]{display:flex;gap:10px}.input-with-button input[data-v-19390e72]{flex:1;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:15px;transition:border-color .3s}.input-with-button input[data-v-19390e72]:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50,115,220,.2)}.convert-btn[data-v-19390e72]{background-color:#3273dc;color:#fff;border:none;border-radius:6px;padding:0 20px;font-size:15px;cursor:pointer;transition:background-color .3s}.convert-btn[data-v-19390e72]:hover{background-color:#276cda}.convert-btn[data-v-19390e72]:active{background-color:#215cca}.output-section[data-v-19390e72]{margin-bottom:30px}.output-section .result-label[data-v-19390e72]{font-size:16px;font-weight:500;margin-bottom:8px;color:#333}.result-container[data-v-19390e72]{background-color:#f5f8ff;border:1px solid #d1e0ff;border-radius:6px;padding:15px}.url-display[data-v-19390e72]{font-family:Courier New,monospace;word-break:break-all;margin-bottom:15px;line-height:1.4;background-color:#fff;padding:10px;border-radius:4px;border:1px dashed #ccc}.action-buttons[data-v-19390e72]{display:flex;gap:10px}.action-btn[data-v-19390e72]{padding:8px 15px;border-radius:4px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none}.action-btn i[data-v-19390e72]{margin-right:5px}.copy-btn[data-v-19390e72]{background-color:#4caf50;color:#fff;border:none}.copy-btn[data-v-19390e72]:hover{background-color:#43a047}.open-btn[data-v-19390e72]{background-color:#ff9800;color:#fff}.open-btn[data-v-19390e72]:hover{background-color:#f57c00}.info-section[data-v-19390e72]{background-color:#f9f9f9;border-radius:6px;padding:15px 20px}.info-section h3[data-v-19390e72]{margin-top:0;margin-bottom:10px;font-size:16px;color:#444}.info-section ul[data-v-19390e72]{margin:0;padding-left:20px}.info-section ul li[data-v-19390e72]{margin-bottom:5px}.info-section .note[data-v-19390e72]{margin-top:15px;color:#d32f2f;font-size:14px}@media(max-width:768px){.input-with-button[data-v-19390e72]{flex-direction:column}.convert-btn[data-v-19390e72]{width:100%;padding:10px}.action-buttons[data-v-19390e72]{flex-direction:column}.action-btn[data-v-19390e72]{width:100%}}

2
dist/index.html vendored
View File

@ -1 +1 @@
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>NEU小站</title><script defer="defer" src="/js/chunk-vendors.e0d4faab.js"></script><script defer="defer" src="/js/app.795a51f7.js"></script><link href="/css/chunk-vendors.c52e575a.css" rel="stylesheet"><link href="/css/app.9b20bb13.css" rel="stylesheet"></head><body><noscript><strong>抱歉NEU小站无法在没有 JavaScript 的情况下正常工作。请启用 JavaScript 以继续。</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>NEU小站</title><script defer="defer" src="/js/chunk-vendors.e0d4faab.js"></script><script defer="defer" src="/js/app.87adfba5.js"></script><link href="/css/chunk-vendors.c52e575a.css" rel="stylesheet"><link href="/css/app.9b20bb13.css" rel="stylesheet"></head><body><noscript><strong>抱歉NEU小站无法在没有 JavaScript 的情况下正常工作。请启用 JavaScript 以继续。</strong></noscript><div id="app"></div></body></html>

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[155],{5155:function(e,t,i){i.r(t),i.d(t,{default:function(){return b}});var n=i(6768),s=i(4232);const a={class:"widget-container"},c={class:"content-container"},d={class:"info-card"},o={class:"group-title"},l={class:"widget-grid"},r={class:"widget-icon"},u={class:"widget-info"},g={class:"widget-title"},k={class:"widget-desc"};function f(e,t,i,f,v,w){const p=(0,n.g2)("NavBar"),L=(0,n.g2)("router-link");return(0,n.uX)(),(0,n.CE)("div",a,[(0,n.bF)(p),(0,n.Lk)("div",c,[t[3]||(t[3]=(0,n.Lk)("h1",{class:"page-title"},"小工具中心",-1)),(0,n.Lk)("div",d,[t[2]||(t[2]=(0,n.Lk)("i",{class:"fas fa-info-circle info-icon"},null,-1)),(0,n.Lk)("p",null,[t[1]||(t[1]=(0,n.eW)("如果您有想要使用的小工具,或想提供自己开发的小工具,欢迎")),(0,n.bF)(L,{to:"/about",style:{color:"#3273dc"}},{default:(0,n.k6)((()=>t[0]||(t[0]=[(0,n.eW)("联系网站管理员")]))),_:1})])]),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(v.widgetGroups,(e=>((0,n.uX)(),(0,n.CE)("div",{key:e.id,class:"widget-group"},[(0,n.Lk)("h2",o,(0,s.v_)(e.name),1),(0,n.Lk)("div",l,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.widgets,(e=>((0,n.uX)(),(0,n.Wv)(L,{key:e.id,to:e.route,class:"widget-card"},{default:(0,n.k6)((()=>[(0,n.Lk)("div",r,[(0,n.Lk)("i",{class:(0,s.C4)(e.icon)},null,2)]),(0,n.Lk)("div",u,[(0,n.Lk)("h3",g,(0,s.v_)(e.name),1),(0,n.Lk)("p",k,(0,s.v_)(e.description),1)])])),_:2},1032,["to"])))),128))])])))),128))])])}var v=i(2745),w={name:"WidgetIndex",components:{NavBar:v.A},created(){document.title="小工具中心 - NEU小站"},data(){return{widgetGroups:[{id:1,name:"实用工具",widgets:[{id:101,name:"WebVPN 地址生成",description:"使用校园网访问任意网站",icon:"fas fa-globe",route:"/widgets/webvpn"}]}]}}},p=i(1241);const L=(0,p.A)(w,[["render",f],["__scopeId","data-v-409666c6"]]);var b=L}}]);
//# sourceMappingURL=155.7908b856.js.map

2
dist/js/194.60c61577.js vendored Normal file

File diff suppressed because one or more lines are too long

2
dist/js/459.77512624.js vendored Normal file
View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[459],{8459:function(e,t,i){i.r(t),i.d(t,{default:function(){return b}});var n=i(6768),s=i(4232);const a={class:"widget-container"},c={class:"content-container"},d={class:"info-card"},l={class:"group-title"},o={class:"widget-grid"},r={class:"widget-icon"},u={class:"widget-info"},g={class:"widget-title"},k={class:"widget-desc"};function f(e,t,i,f,v,w){const p=(0,n.g2)("NavBar"),L=(0,n.g2)("router-link");return(0,n.uX)(),(0,n.CE)("div",a,[(0,n.bF)(p),(0,n.Lk)("div",c,[t[3]||(t[3]=(0,n.Lk)("h1",{class:"page-title"},"小工具中心",-1)),(0,n.Lk)("div",d,[t[2]||(t[2]=(0,n.Lk)("i",{class:"fas fa-info-circle info-icon"},null,-1)),(0,n.Lk)("p",null,[t[1]||(t[1]=(0,n.eW)("如果您有想要使用的小工具,或想提供自己开发的小工具,欢迎")),(0,n.bF)(L,{to:"/advice",style:{color:"#3273dc"}},{default:(0,n.k6)((()=>t[0]||(t[0]=[(0,n.eW)("反馈")]))),_:1})])]),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(v.widgetGroups,(e=>((0,n.uX)(),(0,n.CE)("div",{key:e.id,class:"widget-group"},[(0,n.Lk)("h2",l,(0,s.v_)(e.name),1),(0,n.Lk)("div",o,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.widgets,(e=>((0,n.uX)(),(0,n.Wv)(L,{key:e.id,to:e.route,class:"widget-card"},{default:(0,n.k6)((()=>[(0,n.Lk)("div",r,[(0,n.Lk)("i",{class:(0,s.C4)(e.icon)},null,2)]),(0,n.Lk)("div",u,[(0,n.Lk)("h3",g,(0,s.v_)(e.name),1),(0,n.Lk)("p",k,(0,s.v_)(e.description),1)])])),_:2},1032,["to"])))),128))])])))),128))])])}var v=i(2745),w={name:"WidgetIndex",components:{NavBar:v.A},created(){document.title="小工具中心 - NEU小站"},data(){return{widgetGroups:[{id:1,name:"实用工具",widgets:[{id:101,name:"WebVPN 地址生成",description:"使用校园网访问任意网站",icon:"fas fa-globe",route:"/widgets/webvpn"}]}]}}},p=i(1241);const L=(0,p.A)(w,[["render",f],["__scopeId","data-v-4b78f678"]]);var b=L}}]);
//# sourceMappingURL=459.77512624.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More