上传文件至 /

This commit is contained in:
2025-11-04 10:51:21 +08:00
commit 9f8419ce93
13 changed files with 371 additions and 0 deletions

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 祈烨猫猫
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

45
README.md Normal file
View File

@@ -0,0 +1,45 @@
# RE-Amachiromaker
这个项目复活了被甘城猫猫下线的捏脸网站喵~
本项目基于Charlie Chiangm的Amachiromaker进行了UI大修喵~
# 特点
1.为所有的元素添加了交互动画喵;
2.修改原版简陋的UI界面让网页更美观
3.为所有的选项卡添加了一看就懂缩略图喵;
4.添加了深色模式white.jpg为白天背景black.jpg为夜晚背景喵~
# 如何构建
-下载所有的文件并解压到一个文件夹内;
-安装python
-运行“python -m http.server 8000 --directory <项目根目录>
-访问 localhost:8000 就可以啦~
# 特别说明
因为版权原因,本存储库不包含任何原项目的图像哦,抱歉呢
这个项目已经在我的服务器上部署可以访问这个网址使用喵
https://www.hutaotao.top/amachiromaker/
<p align="center">
<figure>
<img src="readme-assets/screenshot.png" alt="Screenshot">
<figcaption>屏幕截图</figcaption>
</figure>
<figure>
<img width="90%" src="readme-assets/gif1.gif" alt="Animated GIF">
<figcaption>动画演示</figcaption>
</figure>
<p align="center">如果你喜欢这个项目不要忘了加个star呐~</p>
</p>

28
asset-manifest.json Normal file
View File

@@ -0,0 +1,28 @@
{
"files": {
"main.css": "/static/css/main.0f9b49cf.chunk.css",
"main.js": "/static/js/main.72370a41.chunk.js",
"main.js.map": "/static/js/main.72370a41.chunk.js.map",
"runtime-main.js": "/static/js/runtime-main.a078233a.js",
"runtime-main.js.map": "/static/js/runtime-main.a078233a.js.map",
"static/css/2.27175f2b.chunk.css": "/static/css/2.27175f2b.chunk.css",
"static/js/2.78bd1ab9.chunk.js": "/static/js/2.78bd1ab9.chunk.js",
"static/js/2.78bd1ab9.chunk.js.map": "/static/js/2.78bd1ab9.chunk.js.map",
"static/js/3.d88bd067.chunk.js": "/static/js/3.d88bd067.chunk.js",
"static/js/3.d88bd067.chunk.js.map": "/static/js/3.d88bd067.chunk.js.map",
"static/js/4.43d507be.chunk.js": "/static/js/4.43d507be.chunk.js",
"static/js/4.43d507be.chunk.js.map": "/static/js/4.43d507be.chunk.js.map",
"index.html": "/index.html",
"static/css/2.27175f2b.chunk.css.map": "/static/css/2.27175f2b.chunk.css.map",
"static/css/main.0f9b49cf.chunk.css.map": "/static/css/main.0f9b49cf.chunk.css.map",
"static/js/2.78bd1ab9.chunk.js.LICENSE.txt": "/static/js/2.78bd1ab9.chunk.js.LICENSE.txt",
"static/js/3.d88bd067.chunk.js.LICENSE.txt": "/static/js/3.d88bd067.chunk.js.LICENSE.txt"
},
"entrypoints": [
"static/js/runtime-main.a078233a.js",
"static/css/2.27175f2b.chunk.css",
"static/js/2.78bd1ab9.chunk.js",
"static/css/main.0f9b49cf.chunk.css",
"static/js/main.72370a41.chunk.js"
]
}

BIN
black.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

1
defaultCombination.json Normal file
View File

@@ -0,0 +1 @@
[{"url":"/app/image_maker/168503/302526/i_Y5XjW1IGDNhRgscQ.png","x":0,"y":0,"itmId":1211621,"cId":704817},{"url":"/app/image_maker/168503/300805/i_jXP5nj6hyfXQW8Rd.png","x":0,"y":0,"itmId":1205343,"cId":700860},{"url":"/app/image_maker/168503/301908/i_NaLgjKfmTXyhM9bC.png","x":0,"y":0,"itmId":1209498,"cId":703645},{"url":"/app/image_maker/168503/300798/i_J4HV3dKAx3tbvTiF.png","x":135,"y":255,"itmId":1205332,"cId":700853},{"url":"/app/image_maker/168503/300126/i_NrwhGt1evdQGNFvZ.png","x":128,"y":236,"itmId":1203030,"cId":699295},{"url":"/app/image_maker/168503/301906/i_8Mve8WmqVPbm6DXG.png","x":128,"y":236,"itmId":1209496,"cId":703641},{"url":"/app/image_maker/168503/301886/i_pIaO8RLWC7PT3DRJ.png","x":128,"y":236,"itmId":1209455,"cId":703604},{"url":"/app/image_maker/168503/301888/i_NpOZzcJEM3oMu06Z.png","x":128,"y":236,"itmId":1209457,"cId":703606},{"url":"/app/image_maker/168503/300801/i_A5bSPHmCjfW0ur2y.png","x":230,"y":340,"itmId":1205339,"cId":700856},{"url":"/app/image_maker/168503/300802/i_0M26Atlekn3Glrij.png","x":140,"y":200,"itmId":1205340,"cId":703819},{"url":"","x":160,"y":270,"itmId":0,"cId":0},{"url":"","x":160,"y":270,"itmId":0,"cId":0},{"url":"/app/image_maker/168503/300809/i_Wt907OsvdYjuLLPk.png","x":0,"y":0,"itmId":1205347,"cId":700864},{"url":"","x":60,"y":0,"itmId":0,"cId":0},{"url":"","x":150,"y":70,"itmId":0,"cId":0},{"url":"","x":0,"y":90,"itmId":0,"cId":0},{"url":"/app/image_maker/168503/300807/i_Xh4Xfb8ES7CJYC3d.png","x":0,"y":350,"itmId":1205345,"cId":700862},{"url":"","x":220,"y":400,"itmId":0,"cId":0},{"url":"/app/image_maker/168503/300803/i_oKiZTtGdicR5cy6o.png","x":110,"y":30,"itmId":1205341,"cId":700858},{"url":"/app/image_maker/168503/300804/i_GT2XsGxAna72k4HK.png","x":0,"y":0,"itmId":1205342,"cId":700859},{"url":"","x":50,"y":50,"itmId":0,"cId":0},{"url":"","x":50,"y":50,"itmId":0,"cId":0},{"url":"","x":0,"y":400,"itmId":0,"cId":0},{"url":"","x":0,"y":400,"itmId":0,"cId":0},{"url":"","x":0,"y":0,"itmId":0,"cId":0}]

63
emptyset.svg Normal file
View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="400"
height="400"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.45"
sodipodi:modified="true"
version="1.0">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.3025"
inkscape:cx="200"
inkscape:cy="201.25772"
inkscape:document-units="px"
inkscape:current-layer="layer1"
width="400px"
height="400px"
showgrid="true"
inkscape:window-width="1024"
inkscape:window-height="719"
inkscape:window-x="-4"
inkscape:window-y="-4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
>
<path
style="font-size:12px;font-style:normal;font-weight:normal;fill:#666;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
d="M 377.24609,39.84375 L 328.41797,88.671875 C 356.4124,120.4104 370.40979,157.60112 370.41016,200.24414 C 370.40979,247.28202 353.72686,287.44311 320.36133,320.72754 C 286.99516,354.01206 246.79337,370.65429 199.75586,370.6543 C 157.27523,370.65429 120.08452,356.81967 88.183594,329.15039 L 39.84375,377.24609 L 22.753906,360.15625 L 71.337891,312.30469 C 43.343055,280.07821 29.345674,242.72473 29.345703,200.24414 C 29.345674,153.20659 45.98791,113.0455 79.272461,79.760742 C 112.55685,46.476556 152.71795,29.83432 199.75586,29.833984 C 242.39885,29.83432 279.58956,43.831702 311.32813,71.826172 L 360.40039,22.753906 L 377.24609,39.84375 z M 294.23828,88.671875 C 267.21978,65.397436 235.72568,53.760078 199.75586,53.759766 C 159.55388,53.760078 125.08939,68.12367 96.362305,96.850586 C 67.635023,125.57804 53.271431,160.04252 53.271484,200.24414 C 53.271431,236.21432 64.908789,267.70843 88.183594,294.72656 L 294.23828,88.671875 z M 346.24023,200.24414 C 346.23989,164.27429 334.60253,132.78018 311.32813,105.76172 L 105.27344,311.81641 C 132.29153,335.09118 163.78564,346.72853 199.75586,346.72852 C 239.95744,346.72853 274.42193,332.36494 303.14941,303.6377 C 331.8763,274.91057 346.23989,240.44609 346.24023,200.24414 L 346.24023,200.24414 z "
id="text2160" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

194
index.html Normal file
View File

@@ -0,0 +1,194 @@
<!doctype html>
<html lang="zh">
<head>
<meta charset="utf-8"/>
<!-- 修改图标路径 -->
<link rel="icon" href="./favicon.png"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="theme-color" content="#000000"/>
<meta name="description" content="Web site created using create-react-app"/>
<!-- 修改苹果图标路径 -->
<link rel="apple-touch-icon" href="./icon_x9xMHja1yr84uqqE.png"/>
<!-- 修改 manifest 路径 -->
<link rel="manifest" href="./manifest.json"/>
<title>amachiromaker</title>
<!-- 修改 CSS 路径 -->
<link href="./static/css/2.27175f2b.chunk.css" rel="stylesheet">
<link href="./static/css/main.0f9b49cf.chunk.css" rel="stylesheet">
<!-- 添加自定义主题CSS -->
<link href="./static/css/custom-theme.css" rel="stylesheet">
<link href="./static/css/modal.css" rel="stylesheet">
</head>
<body>
<!-- 送给所有使用本项目的人 -->
<div id="modal-overlay" class="modal-overlay">
<div class="modal-content">
<h2>⚠️注意注意⚠️</h2>
<p>本项目为<strong>祈烨猫猫</strong>基于<strong>Charlie Chiangm</strong>的原项目进行二改。<br>本项目允许二改,<strong>但请在Github拉分支且标注本项目的地址</strong>呐!<br>请勿<strong>盗图说自己画的或售卖</strong>呐!<strong>违者公开展示喵~</strong><br>图片(除缩略图)版权均为<strong>甘城なつき</strong>所有。<br><strong>请勿商用或二次售卖</strong>本项目呐!<br><strong>违者自己承担一切后果呐~</strong></p>
<div class="modal-buttons">
<button id="agree-button" class="modal-button modal-button-agree">同意</button>
<button id="disagree-button" class="modal-button modal-button-disagree">不同意</button>
</div>
</div>
</div>
<!-- 主题切换按钮 -->
<button id="theme-toggle" class="theme-toggle" aria-label="切换深色/浅色模式">
<svg id="theme-toggle-light-icon" class="theme-icon" viewBox="0 0 24 24" style="display: none;">
<path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41.39.39 1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41.39.39 1.03.39 1.41 0l1.06-1.06z"></path>
</svg>
<svg id="theme-toggle-dark-icon" class="theme-icon" viewBox="0 0 24 24">
<path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path>
</svg>
</button>
<noscript>你需要去浏览器的设置里面启用JAVA脚本才能使用本网站哦~杂鱼~</noscript>
<div id="root"></div>
<!-- 项目信息区域,不许改!!! -->
<div class="project-info animate__animated animate__fadeInUp">
<div class="project-info-content">
<h3>⭐RE:Amachiromaker⭐</h3>
<div class="author-info">
<p><span>项目简介:</span>复活被甘城猫猫下线的捏脸网站呐</a></p>
<p><span>项目图片画师:</span>甘城なつき <a href="https://amashiro.com/" target="_blank">▶ 甘城なつき官网</a></p>
<p><span>缩略图&项目所有者:</span>祈烨猫猫 <a href="https://github.com/NekoQiye" target="_blank">▶ Github资料</a></p>
<p><span>网站运营&维护:</span>XiaoXhan1234 <a href="https://github.com/xiaoxhan1234" target="_blank">▶ Github资料</a></p>
<p><span>原项目作者:</span>Charlie Chiangm <a href="https://github.com/charlie0129" target="_blank">▶ Github资料</a></p>
<img src="neko.png" class="author-neko" alt="祈烨猫猫" />
</div>
<br>
<h3>请勿商用本项目和本项目生成的图片!</h3>
<a href="https://github.com/NekoQiye/RE-Amachiromaker" class="repo-button" target="_blank">
<span>❤️ 项目仓库</span>
</a>
</div>
</div>
<script>!function(e){function r(r){for(var n,a,i=r[0],c=r[1],l=r[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);p.length;)p.shift()();return u.push.apply(u,l||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var c=t[i];0!==o[c]&&(n=!1)}n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={1:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"d88bd067",4:"43d507be"}[e]+".chunk.js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,function(r){return e[r]}.bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="./",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpamachiromaker-clone"]=this["webpackJsonpamachiromaker-clone"]||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++)r(i[l]);var f=c;t()}([]) </script>
<script src="./static/js/2.78bd1ab9.chunk.js"></script>
<script src="./static/js/main.72370a41.chunk.js"></script>
<script src="./static/js/modal.js"></script>
</body>
<script>
document.addEventListener('contextmenu', e => e.preventDefault());
// 添加猫猫气泡对话功能w
const nekoMessages = [
'喵~今天的你也要元气满满喵~',
'要摸摸我的头嘛?',
'尾..尾巴不可以摸喵!所以我藏起来啦~',
'尾巴被抓住啦~快放开喵~',
'呼噜呼噜~好困喵~',
'耳朵痒痒的呐ruarua我喵~',
'喵!发现可疑的用户在戳我喵!',
'今天的网站应该没有什么bug吧喵~对吧?',
'喵呜~摸摸头最舒服了喵~(≧ω≦)',
'可以去GitHub帮主人点个star嘛求你了喵~',
'蹭蹭你~今天也要加油喵!',
'好厄厄,祈烨又把我丢在这里当看板娘了喵...',
'悄悄告诉你个秘密...逗你玩的啦,喵~',
'喵喵拳!(ノ≧∇≦)',
'下面的这个按钮按起来好有趣喵~',
'杂鱼杂鱼~',
'喵喵~咕噜咕噜~',
'今天的你也闪闪发亮呢喵~'
];
// 添加气泡动画关键帧
const bubbleStyle = document.createElement('style');
bubbleStyle.textContent = `
@keyframes bubbleAppear {
0% { transform: translateY(10px); opacity: 0; }
100% { transform: translateY(0); opacity: 1; }
}`;
document.head.appendChild(bubbleStyle);
let isBubbleActive = false;
document.querySelector('.author-neko').addEventListener('click', function(e) {
if(isBubbleActive) return;
const bubble = document.createElement('div');
bubble.style.position = 'absolute';
bubble.style.padding = '8px 12px';
bubble.style.background = 'rgba(157,215,255,0.45)';
bubble.style.borderRadius = '12px';
bubble.style.boxShadow = '0 2px 8px rgba(0,0,0,0.15)';
bubble.style.color = '#fdeeff';
bubble.style.fontSize = '14px';
bubble.style.fontWeight = '500';
bubble.style.whiteSpace = 'nowrap';
bubble.style.animation = 'bubbleAppear 0.3s ease-out';
const rect = this.getBoundingClientRect();
// 修改后..好累喵
bubble.style.top = `${rect.top + window.scrollY - 100}px`;
bubble.style.left = `${rect.left + window.scrollX + rect.width/2 - 50}px`;
bubble.textContent = nekoMessages[Math.floor(Math.random() * nekoMessages.length)];
document.body.appendChild(bubble);
isBubbleActive = true;
setTimeout(() => {
bubble.style.transition = 'opacity 0.5s';
bubble.style.opacity = '0';
setTimeout(() => {
bubble.remove();
isBubbleActive = false;
}, 500);
}, 1400);
});
document.addEventListener('dragstart', e => {
if (e.target.tagName === 'IMG') {
e.preventDefault();
}
});
document.querySelectorAll('img').forEach(img => {
img.draggable = false;
});
// 主题切换功能~
const themeToggleBtn = document.getElementById('theme-toggle');
const themeToggleLightIcon = document.getElementById('theme-toggle-light-icon');
const themeToggleDarkIcon = document.getElementById('theme-toggle-dark-icon');
// 检查用户偏好~
const getThemePreference = () => {
// 检查本地存储中的主题偏好~
const storedTheme = localStorage.getItem('theme');
if (storedTheme) {
return storedTheme;
}
// 检查系统偏好~
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
};
// 设置主题w
const setTheme = (theme) => {
if (theme === 'dark') {
document.documentElement.setAttribute('data-theme', 'dark');
themeToggleLightIcon.style.display = 'block';
themeToggleDarkIcon.style.display = 'none';
} else {
document.documentElement.removeAttribute('data-theme');
themeToggleLightIcon.style.display = 'none';
themeToggleDarkIcon.style.display = 'block';
}
localStorage.setItem('theme', theme);
};
setTheme(getThemePreference());
themeToggleBtn.addEventListener('click', () => {
const currentTheme = document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
setTheme(currentTheme);
});
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
const newTheme = e.matches ? 'dark' : 'light';
setTheme(newTheme);
});
</script>
</html>

15
manifest.json Normal file
View File

@@ -0,0 +1,15 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.png",
"type": "image/png",
"sizes": "512x512 192x192 64x64 32x32 24x24 16x16"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#ffffff",
"background_color": "#fff5f8"
}

BIN
neko.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

1
orderedLayers.json Normal file

File diff suppressed because one or more lines are too long

3
robots.txt Normal file
View File

@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

BIN
white.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB