Compare commits
3 commits
c792faa042
...
97c7247016
Author | SHA1 | Date | |
---|---|---|---|
flash | 97c7247016 | ||
flash | 5413b918f9 | ||
flash | 0f8e373225 |
133
package-lock.json
generated
133
package-lock.json
generated
|
@ -5,7 +5,7 @@
|
|||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"@swc/core": "^1.4.0",
|
||||
"@swc/core": "^1.4.2",
|
||||
"autoprefixer": "^10.4.17",
|
||||
"cssnano": "^6.0.3",
|
||||
"html-minifier-terser": "^7.2.0",
|
||||
|
@ -26,9 +26,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@jridgewell/resolve-uri": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
|
||||
"integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
|
||||
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
|
@ -65,12 +65,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.0.tgz",
|
||||
"integrity": "sha512-wc5DMI5BJftnK0Fyx9SNJKkA0+BZSJQx8430yutWmsILkHMBD3Yd9GhlMaxasab9RhgKqZp7Ht30hUYO5ZDvQg==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.2.tgz",
|
||||
"integrity": "sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@swc/counter": "^0.1.1",
|
||||
"@swc/counter": "^0.1.2",
|
||||
"@swc/types": "^0.1.5"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -81,16 +81,16 @@
|
|||
"url": "https://opencollective.com/swc"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@swc/core-darwin-arm64": "1.4.0",
|
||||
"@swc/core-darwin-x64": "1.4.0",
|
||||
"@swc/core-linux-arm-gnueabihf": "1.4.0",
|
||||
"@swc/core-linux-arm64-gnu": "1.4.0",
|
||||
"@swc/core-linux-arm64-musl": "1.4.0",
|
||||
"@swc/core-linux-x64-gnu": "1.4.0",
|
||||
"@swc/core-linux-x64-musl": "1.4.0",
|
||||
"@swc/core-win32-arm64-msvc": "1.4.0",
|
||||
"@swc/core-win32-ia32-msvc": "1.4.0",
|
||||
"@swc/core-win32-x64-msvc": "1.4.0"
|
||||
"@swc/core-darwin-arm64": "1.4.2",
|
||||
"@swc/core-darwin-x64": "1.4.2",
|
||||
"@swc/core-linux-arm-gnueabihf": "1.4.2",
|
||||
"@swc/core-linux-arm64-gnu": "1.4.2",
|
||||
"@swc/core-linux-arm64-musl": "1.4.2",
|
||||
"@swc/core-linux-x64-gnu": "1.4.2",
|
||||
"@swc/core-linux-x64-musl": "1.4.2",
|
||||
"@swc/core-win32-arm64-msvc": "1.4.2",
|
||||
"@swc/core-win32-ia32-msvc": "1.4.2",
|
||||
"@swc/core-win32-x64-msvc": "1.4.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@swc/helpers": "^0.5.0"
|
||||
|
@ -102,9 +102,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-darwin-arm64": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.0.tgz",
|
||||
"integrity": "sha512-UTJ/Vz+s7Pagef6HmufWt6Rs0aUu+EJF4Pzuwvr7JQQ5b1DZeAAUeUtkUTFx/PvCbM8Xfw4XdKBUZfrIKCfW8A==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.2.tgz",
|
||||
"integrity": "sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -117,9 +117,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-darwin-x64": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.0.tgz",
|
||||
"integrity": "sha512-f8v58u2GsGak8EtZFN9guXqE0Ep10Suny6xriaW2d8FGqESPyNrnBzli3aqkSeQk5gGqu2zJ7WiiKp3XoUOidA==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.2.tgz",
|
||||
"integrity": "sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -132,9 +132,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-linux-arm-gnueabihf": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.0.tgz",
|
||||
"integrity": "sha512-q2KAkBzmPcTnRij/Y1fgHCKAGevUX/H4uUESrw1J5gmUg9Qip6onKV80lTumA1/aooGJ18LOsB31qdbwmZk9OA==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.2.tgz",
|
||||
"integrity": "sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
|
@ -147,9 +147,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-linux-arm64-gnu": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.0.tgz",
|
||||
"integrity": "sha512-SknGu96W0mzHtLHWm+62fk5+Omp9fMPFO7AWyGFmz2tr8EgRRXtTSrBUnWhAbgcalnhen48GsvtMdxf1KNputg==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.2.tgz",
|
||||
"integrity": "sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -162,9 +162,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-linux-arm64-musl": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.0.tgz",
|
||||
"integrity": "sha512-/k3TDvpBRMDNskHooNN1KqwUhcwkfBlIYxRTnJvsfT2C7My4pffR+4KXmt0IKynlTTbCdlU/4jgX4801FSuliw==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.2.tgz",
|
||||
"integrity": "sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -177,9 +177,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-linux-x64-gnu": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.0.tgz",
|
||||
"integrity": "sha512-GYsTMvNt5+WTVlwwQzOOWsPMw6P/F41u5PGHWmfev8Nd4QJ1h3rWPySKk4mV42IJwH9MgQCVSl3ygwNqwl6kFg==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.2.tgz",
|
||||
"integrity": "sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -192,9 +192,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-linux-x64-musl": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.0.tgz",
|
||||
"integrity": "sha512-jGVPdM/VwF7kK/uYRW5N6FwzKf/FnDjGIR3RPvQokjYJy7Auk+3Oj21C0Jev7sIT9RYnO/TrFEoEozKeD/z2Qw==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.2.tgz",
|
||||
"integrity": "sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -207,9 +207,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-win32-arm64-msvc": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.0.tgz",
|
||||
"integrity": "sha512-biHYm1AronEKlt47O/H8sSOBM2BKXMmWT+ApvlxUw50m1RGNnVnE0bgY7tylFuuSiWyXsQPJbmUV708JqORXVg==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.2.tgz",
|
||||
"integrity": "sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -222,9 +222,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-win32-ia32-msvc": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.0.tgz",
|
||||
"integrity": "sha512-TL5L2tFQb19kJwv6+elToGBj74QXCn9j+hZfwQatvZEJRA5rDK16eH6oAE751dGUArhnWlW3Vj65hViPvTuycw==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.2.tgz",
|
||||
"integrity": "sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
|
@ -237,9 +237,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/core-win32-x64-msvc": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.0.tgz",
|
||||
"integrity": "sha512-e2xVezU7XZ2Stzn4i7TOQe2Kn84oYdG0M3A7XI7oTdcpsKCcKwgiMoroiAhqCv+iN20KNqhnWwJiUiTj/qN5AA==",
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz",
|
||||
"integrity": "sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -322,9 +322,9 @@
|
|||
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.22.3",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz",
|
||||
"integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==",
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
|
||||
"integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
|
@ -340,8 +340,8 @@
|
|||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001580",
|
||||
"electron-to-chromium": "^1.4.648",
|
||||
"caniuse-lite": "^1.0.30001587",
|
||||
"electron-to-chromium": "^1.4.668",
|
||||
"node-releases": "^2.0.14",
|
||||
"update-browserslist-db": "^1.0.13"
|
||||
},
|
||||
|
@ -378,9 +378,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001585",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz",
|
||||
"integrity": "sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==",
|
||||
"version": "1.0.30001588",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz",
|
||||
"integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
|
@ -643,9 +643,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.665",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.665.tgz",
|
||||
"integrity": "sha512-UpyCWObBoD+nSZgOC2ToaIdZB0r9GhqT2WahPKiSki6ckkSuKhQNso8V2PrFcHBMleI/eqbKgVQgVC4Wni4ilw=="
|
||||
"version": "1.4.677",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.677.tgz",
|
||||
"integrity": "sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q=="
|
||||
},
|
||||
"node_modules/entities": {
|
||||
"version": "4.5.0",
|
||||
|
@ -699,11 +699,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/lilconfig": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz",
|
||||
"integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==",
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz",
|
||||
"integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==",
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/antonk52"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash.memoize": {
|
||||
|
@ -1307,9 +1310,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/terser": {
|
||||
"version": "5.27.0",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz",
|
||||
"integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==",
|
||||
"version": "5.27.2",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz",
|
||||
"integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==",
|
||||
"dependencies": {
|
||||
"@jridgewell/source-map": "^0.3.3",
|
||||
"acorn": "^8.8.2",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"@swc/core": "^1.4.0",
|
||||
"@swc/core": "^1.4.2",
|
||||
"autoprefixer": "^10.4.17",
|
||||
"cssnano": "^6.0.3",
|
||||
"html-minifier-terser": "^7.2.0",
|
||||
|
|
|
@ -1,142 +0,0 @@
|
|||
.domaintrans {
|
||||
font-family: Verdana, Tahoma, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 20px;
|
||||
|
||||
background-color: #222;
|
||||
color: #ddd;
|
||||
|
||||
text-shadow: 0 0 5px #000;
|
||||
box-shadow: inset 0 0 1em #000;
|
||||
margin: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
|
||||
}
|
||||
|
||||
.domaintrans-body {
|
||||
max-width: 500px;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
.domaintrans-eggs {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.domaintrans-domain {
|
||||
margin: 10px;
|
||||
}
|
||||
.domaintrans-domain-main {
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
.domaintrans-domain-compat {
|
||||
font-size: .8em;
|
||||
line-height: 1.5em;
|
||||
opacity: .8;
|
||||
}
|
||||
|
||||
.domaintrans-domain-header {
|
||||
font-size: 1.4em;
|
||||
line-height: 1.5em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.domaintrans-domain-display {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.4em;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.domaintrans-domain-text {
|
||||
border: 1px solid #444;
|
||||
background: #333;
|
||||
border-radius: 5px;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
.domaintrans-domain-arrow-down {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
.domaintrans-domain-display {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.domaintrans-domain-arrow-right {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.domaintrans-domain-arrow-down {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.domaintrans-text {
|
||||
font-size: .8em;
|
||||
line-height: 1.3em;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.domaintrans-text p {
|
||||
margin: 1em 10px;
|
||||
}
|
||||
|
||||
.domaintrans-options {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.domaintrans-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
background: #333;
|
||||
border-width: 0;
|
||||
border-radius: 5px;
|
||||
font-size: 16px;
|
||||
max-width: 300px;
|
||||
width: 100%;
|
||||
text-shadow: initial;
|
||||
text-align: left;
|
||||
font-family: Verdana, Tahoma, Geneva, Arial, Helvetica, sans-serif;
|
||||
padding: 10px 15px;
|
||||
border: 1px solid #444;
|
||||
transition: background .2s;
|
||||
}
|
||||
.domaintrans-option-icon {
|
||||
transform: scale(1.4);
|
||||
transition: transform .2s;
|
||||
}
|
||||
.domaintrans-option-text {
|
||||
padding: 2px 10px;
|
||||
}
|
||||
|
||||
.domaintrans-option:focus {
|
||||
outline: 2px solid #9475b2;
|
||||
}
|
||||
|
||||
.domaintrans-option:hover,
|
||||
.domaintrans-option:focus {
|
||||
background: #3d3d3d;
|
||||
text-decoration: none;
|
||||
}
|
||||
.domaintrans-option:hover .domaintrans-option-icon,
|
||||
.domaintrans-option:focus .domaintrans-option-icon {
|
||||
transform: scale(1.6);
|
||||
}
|
||||
|
||||
.domaintrans-option:active {
|
||||
background: #383838;
|
||||
}
|
||||
.domaintrans-option:active .domaintrans-option-icon {
|
||||
transform: scale(1.3);
|
||||
}
|
|
@ -4,7 +4,6 @@
|
|||
@include views.css;
|
||||
|
||||
@include chat.css;
|
||||
@include domaintrans.css;
|
||||
@include eeprom.css;
|
||||
@include emote.css;
|
||||
@include input.css;
|
||||
|
|
|
@ -20,7 +20,6 @@ window.Umi = { UI: {}, Protocol: { SockChat: { Protocol: {} } } };
|
|||
#include sound/osukeys.js
|
||||
#include sound/umisound.js
|
||||
#include ui/chat-layout.js
|
||||
#include ui/domaintrans.jsx
|
||||
#include ui/hooks.js
|
||||
#include ui/input-menus.js
|
||||
#include ui/loading-overlay.jsx
|
||||
|
@ -114,7 +113,6 @@ window.Umi = { UI: {}, Protocol: { SockChat: { Protocol: {} } } };
|
|||
settings.define('forceUseWorker', 'boolean', false, false, true);
|
||||
settings.define('marqueeAllNames', 'boolean', false);
|
||||
settings.define('tmpDisableOldThemeSys', 'boolean', false, false, true);
|
||||
settings.define('tmpSkipDomainPopUpThing', 'boolean', false, false, true);
|
||||
|
||||
const noNotifSupport = !('Notification' in window);
|
||||
settings.define('enableNotifications', 'boolean', false, noNotifSupport, true);
|
||||
|
@ -179,20 +177,6 @@ window.Umi = { UI: {}, Protocol: { SockChat: { Protocol: {} } } };
|
|||
}
|
||||
|
||||
|
||||
if(!settings.get('tmpSkipDomainPopUpThing'))
|
||||
await (() => {
|
||||
return new Promise((resolve) => {
|
||||
views.push(new MamiDomainTransition(soundCtx.library, () => {
|
||||
(new MamiSettingsBackup(settings)).importUpload(document.body);
|
||||
}, () => {
|
||||
settings.set('tmpSkipDomainPopUpThing', true);
|
||||
views.pop();
|
||||
resolve();
|
||||
}));
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
const onHashChange = () => {
|
||||
if(location.hash === '#reset') {
|
||||
settings.clear(true);
|
||||
|
|
|
@ -1,28 +1,34 @@
|
|||
Umi.Message = function(msgId, time, user, text, channel, highlight, botInfo, isAction, isLog) {
|
||||
msgId = (msgId || '').toString();
|
||||
time = time === null ? new Date() : new Date(parseInt(time || 0) * 1000);
|
||||
user = user || {};
|
||||
text = (text || '').toString();
|
||||
channel = (channel || '').toString();
|
||||
highlight = !!highlight;
|
||||
isAction = !!isAction;
|
||||
isLog = !!isLog;
|
||||
hasSeen = isLog;
|
||||
#include user.js
|
||||
|
||||
const msgIdInt = parseInt(msgId);
|
||||
Umi.Message = (() => {
|
||||
const chatBot = new Umi.User('-1', 'Server');
|
||||
|
||||
return {
|
||||
getId: () => msgId,
|
||||
getIdInt: () => msgIdInt,
|
||||
getTime: () => time,
|
||||
getUser: () => user,
|
||||
getText: () => text,
|
||||
getChannel: () => channel,
|
||||
shouldHighlight: () => highlight,
|
||||
getBotInfo: () => botInfo,
|
||||
isAction: () => isAction,
|
||||
isLog: () => isLog,
|
||||
hasSeen: () => hasSeen,
|
||||
markSeen: () => hasSeen = true,
|
||||
return function(msgId, time, user, text, channel, highlight, botInfo, isAction, isLog) {
|
||||
msgId = (msgId || '').toString();
|
||||
time = time === null ? new Date() : new Date(parseInt(time || 0) * 1000);
|
||||
user = user !== null && typeof user === 'object' ? user : chatBot;
|
||||
text = (text || '').toString();
|
||||
channel = (channel || '').toString();
|
||||
highlight = !!highlight;
|
||||
isAction = !!isAction;
|
||||
isLog = !!isLog;
|
||||
hasSeen = isLog;
|
||||
|
||||
const msgIdInt = parseInt(msgId);
|
||||
|
||||
return {
|
||||
getId: () => msgId,
|
||||
getIdInt: () => msgIdInt,
|
||||
getTime: () => time,
|
||||
getUser: () => user,
|
||||
getText: () => text,
|
||||
getChannel: () => channel,
|
||||
shouldHighlight: () => highlight,
|
||||
getBotInfo: () => botInfo,
|
||||
isAction: () => isAction,
|
||||
isLog: () => isLog,
|
||||
hasSeen: () => hasSeen,
|
||||
markSeen: () => hasSeen = true,
|
||||
};
|
||||
};
|
||||
};
|
||||
})();
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
Umi.Protocol.SockChat.Protocol = function(views, settings) {
|
||||
const pub = {};
|
||||
|
||||
const chatBot = new Umi.User('-1', 'Server');
|
||||
|
||||
let noReconnect = false,
|
||||
connectAttempts = 0,
|
||||
wasKicked = false,
|
||||
|
@ -270,20 +268,20 @@ Umi.Protocol.SockChat.Protocol = function(views, settings) {
|
|||
}
|
||||
|
||||
Umi.Messages.Add(new Umi.Message(
|
||||
data[6], data[1], chatBot, '', channelName, false,
|
||||
data[6], data[1], undefined, '', channelName, false,
|
||||
{ type: 'join', isError: false, args: [juser.getName()], target: juser }
|
||||
));
|
||||
break;
|
||||
|
||||
case '2': // message
|
||||
let text = data[3];
|
||||
const muser = Umi.Users.Get(data[2]) || chatBot,
|
||||
textParts = text.split("\f");
|
||||
isPM = data[5][4] !== '0',
|
||||
isAction = data[5][1] !== '0' && data[5][3] === '0',
|
||||
isBot = data[2] === '-1',
|
||||
pmChannel = '@' + muser.getName(),
|
||||
botInfo = {};
|
||||
const muser = Umi.Users.Get(data[2]);
|
||||
const textParts = text.split("\f");
|
||||
const isPM = data[5][4] !== '0';
|
||||
const isAction = data[5][1] !== '0' && data[5][3] === '0';
|
||||
const isBot = data[2] === '-1';
|
||||
const botInfo = {};
|
||||
let pmChannel = '';
|
||||
|
||||
text = unfuckText(text);
|
||||
|
||||
|
@ -296,9 +294,10 @@ Umi.Protocol.SockChat.Protocol = function(views, settings) {
|
|||
if(isPM) {
|
||||
if(muser.getId() === userId) {
|
||||
const tmpMsg = text.split(' ');
|
||||
pmChannel = '@' + tmpMsg.shift();
|
||||
pmChannel = `@${tmpMsg.shift()}`;
|
||||
text = tmpMsg.join(' ');
|
||||
}
|
||||
} else
|
||||
pmChannel = `@${muser.getName()}`;
|
||||
|
||||
if(Umi.Channels.Get(pmChannel) === null)
|
||||
Umi.Channels.Add(new Umi.Channel(pmChannel, false, true, true));
|
||||
|
@ -308,7 +307,7 @@ Umi.Protocol.SockChat.Protocol = function(views, settings) {
|
|||
|
||||
Umi.Messages.Add(new Umi.Message(
|
||||
data[4], data[1], muser, text,
|
||||
isPM ? pmChannel : (data[6] || channelName),
|
||||
isPM ? pmChannel : channelName,
|
||||
false, botInfo, isAction
|
||||
));
|
||||
break;
|
||||
|
@ -317,7 +316,7 @@ Umi.Protocol.SockChat.Protocol = function(views, settings) {
|
|||
const luser = Umi.Users.Get(data[1]);
|
||||
|
||||
Umi.Messages.Add(new Umi.Message(
|
||||
data[5], data[4], chatBot, '', channelName, false,
|
||||
data[5], data[4], undefined, '', channelName, false,
|
||||
{ type: data[3], isError: false, args: [luser.getName()], target: luser }
|
||||
));
|
||||
Umi.Users.Remove(luser);
|
||||
|
@ -350,7 +349,7 @@ Umi.Protocol.SockChat.Protocol = function(views, settings) {
|
|||
|
||||
Umi.Users.Add(umuser);
|
||||
Umi.Messages.Add(new Umi.Message(
|
||||
data[6], null, chatBot, '', channelName, false,
|
||||
data[6], null, undefined, '', channelName, false,
|
||||
{ type: 'jchan', isError: false, args: [ umuser.getName() ], target: umuser }
|
||||
));
|
||||
break;
|
||||
|
@ -362,7 +361,7 @@ Umi.Protocol.SockChat.Protocol = function(views, settings) {
|
|||
const mouser = Umi.Users.Get(+data[2]);
|
||||
|
||||
Umi.Messages.Add(new Umi.Message(
|
||||
data[3], null, chatBot, '', channelName, false,
|
||||
data[3], null, undefined, '', channelName, false,
|
||||
{ type: 'lchan', isError: false, args: [ mouser.getName() ], target: mouser }
|
||||
));
|
||||
Umi.Users.Remove(mouser);
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
#include ui/menus.js
|
||||
|
||||
Umi.UI.Channels = (function() {
|
||||
const sidebarChannel = 'sidebar__channel',
|
||||
sidebarChannelCurrent = 'sidebar__channel--current',
|
||||
sidebarChannelUnread = 'sidebar__channel--unread';
|
||||
const sidebarChannel = 'sidebar__channel';
|
||||
const sidebarChannelCurrent = 'sidebar__channel--current';
|
||||
const sidebarChannelUnread = 'sidebar__channel--unread';
|
||||
|
||||
const markUnread = function(id, mode) {
|
||||
if(!id)
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#include ui/chat-input-menus.js
|
||||
|
||||
Umi.UI.ChatInput = function() {
|
||||
const menus = new Umi.UI.ChatInputMenus,
|
||||
main = new Umi.UI.ChatInputMain;
|
||||
const menus = new Umi.UI.ChatInputMenus;
|
||||
const main = new Umi.UI.ChatInputMain;
|
||||
|
||||
const html = $e({
|
||||
tag: 'form',
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#include ui/chat-input.js
|
||||
|
||||
Umi.UI.ChatInterface = function() {
|
||||
const messages = new Umi.UI.ChatMessageList,
|
||||
input = new Umi.UI.ChatInput;
|
||||
const messages = new Umi.UI.ChatMessageList;
|
||||
const input = new Umi.UI.ChatInput;
|
||||
|
||||
const html = $e({
|
||||
attrs: {
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
// this needs revising at some point but will suffice for now
|
||||
Umi.UI.ChatLayout = function() {
|
||||
const sideBar = new Umi.UI.ChatSideBar,
|
||||
main = new Umi.UI.ChatInterface;
|
||||
const sideBar = new Umi.UI.ChatSideBar;
|
||||
const main = new Umi.UI.ChatInterface;
|
||||
|
||||
const html = $e({
|
||||
attrs: {
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#include ui/chat-sidebar-buttons.js
|
||||
|
||||
Umi.UI.ChatSideBar = function() {
|
||||
const container = new Umi.UI.ChatSideBarContainer,
|
||||
buttons = new Umi.UI.ChatSideBarButtons;
|
||||
const container = new Umi.UI.ChatSideBarContainer;
|
||||
const buttons = new Umi.UI.ChatSideBarButtons;
|
||||
|
||||
const html = $e({
|
||||
attrs: {
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
#include common.js
|
||||
#include rng.js
|
||||
|
||||
const MamiDomainTransition = function(soundLib, onImport, onDismiss) {
|
||||
if(typeof onImport !== 'function')
|
||||
throw 'onImport must be a function';
|
||||
if(typeof onDismiss !== 'function')
|
||||
throw 'onDismiss must be a function';
|
||||
|
||||
let eggsTarget;
|
||||
const html = <div class="domaintrans">
|
||||
<div class="domaintrans-body">
|
||||
<div class="domaintrans-domain domaintrans-domain-main">
|
||||
<div class="domaintrans-domain-header">
|
||||
Flashii Chat
|
||||
</div>
|
||||
<div class="domaintrans-domain-display">
|
||||
<div class="domaintrans-domain-text domaintrans-domain-orig">sockchat.flashii.net</div>
|
||||
<div class="domaintrans-domain-arrow domaintrans-domain-arrow-right"><i class="fas fa-arrow-right" /></div>
|
||||
<div class="domaintrans-domain-arrow domaintrans-domain-arrow-down"><i class="fas fa-arrow-down" /></div>
|
||||
<div class="domaintrans-domain-text domaintrans-domain-new">chat.flashii.net</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="domaintrans-domain domaintrans-domain-compat">
|
||||
<div class="domaintrans-domain-header">
|
||||
Compatibility Chat
|
||||
</div>
|
||||
<div class="domaintrans-domain-display">
|
||||
<div class="domaintrans-domain-text domaintrans-domain-orig">sockchat.flashii.net/legacy</div>
|
||||
<div class="domaintrans-domain-arrow domaintrans-domain-arrow-right"><i class="fas fa-arrow-right" /></div>
|
||||
<div class="domaintrans-domain-arrow domaintrans-domain-arrow-down"><i class="fas fa-arrow-down" /></div>
|
||||
<div class="domaintrans-domain-text domaintrans-domain-new">sockchat.flashii.net</div>
|
||||
</div>
|
||||
</div>
|
||||
{eggsTarget = <div class="domaintrans-eggs" />}
|
||||
<div class="domaintrans-text">
|
||||
<p>At long last, chat is being moved back to its original subdomain. What was meant to be a temporary drop-in lasted a little bit longer than expected!</p>
|
||||
<p>You will need to transfer your settings using the compatibility client. Going there will present you with a similar pop-up that will let you save your settings to a file, press "Import Settings" below and select the file you saved to copy them over. If you're new or wish to start anew, just press "Continue to chat".</p>
|
||||
<p>This screen won't show up again after you press "Continue to chat".</p>
|
||||
</div>
|
||||
<div class="domaintrans-options">
|
||||
<a class="domaintrans-option" href={AMI_URL} target="_blank">
|
||||
<div class="domaintrans-option-icon"><i class="fas fa-arrow-circle-right" /></div>
|
||||
<div class="domaintrans-option-text">Open compatibility client</div>
|
||||
</a>
|
||||
<button class="domaintrans-option" onclick={onImport}>
|
||||
<div class="domaintrans-option-icon"><i class="fas fa-arrow-circle-right" /></div>
|
||||
<div class="domaintrans-option-text">Import settings</div>
|
||||
</button>
|
||||
<button class="domaintrans-option" onclick={onDismiss}>
|
||||
<div class="domaintrans-option-icon"><i class="fas fa-arrow-circle-right" /></div>
|
||||
<div class="domaintrans-option-text">Continue to chat</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>;
|
||||
|
||||
const soundRNG = new MamiRNG();
|
||||
const soundNames = soundLib.names();
|
||||
const playRandomSound = () => soundLib.play(soundNames[soundRNG.next(soundNames.length)]);
|
||||
|
||||
for(let i = 0; i < 10; ++i)
|
||||
eggsTarget.appendChild(<i class="fas fa-egg fa-3x" onclick={() => playRandomSound()} />);
|
||||
|
||||
return {
|
||||
getElement: () => html,
|
||||
};
|
||||
};
|
|
@ -5,8 +5,8 @@ Umi.UI.InputMenus = (function() {
|
|||
const ids = [];
|
||||
let current = '';
|
||||
|
||||
const inputMenuActive = 'input__menu--active',
|
||||
inputButtonActive = 'input__button--active';
|
||||
const inputMenuActive = 'input__menu--active';
|
||||
const inputButtonActive = 'input__button--active';
|
||||
|
||||
const toggle = function(baseId) {
|
||||
const button = 'umi-msg-menu-btn-' + baseId,
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
Umi.UI.Menus = (function() {
|
||||
const ids = [];
|
||||
|
||||
const sidebarMenu = 'sidebar__menu',
|
||||
sidebarMenuActive = 'sidebar__menu--active',
|
||||
sidebarMenuHidden = 'sidebar__menu--hidden',
|
||||
sidebarSelectorMode = 'sidebar__selector-mode',
|
||||
sidebarSelectorModeActive = 'sidebar__selector-mode--active',
|
||||
sidebarSelectorModeAttention = 'sidebar__selector-mode--attention',
|
||||
sidebarSelectorModeHidden = 'sidebar__selector-mode--hidden';
|
||||
const sidebarMenu = 'sidebar__menu';
|
||||
const sidebarMenuActive = 'sidebar__menu--active';
|
||||
const sidebarMenuHidden = 'sidebar__menu--hidden';
|
||||
const sidebarSelectorMode = 'sidebar__selector-mode';
|
||||
const sidebarSelectorModeActive = 'sidebar__selector-mode--active';
|
||||
const sidebarSelectorModeAttention = 'sidebar__selector-mode--attention';
|
||||
const sidebarSelectorModeHidden = 'sidebar__selector-mode--hidden';
|
||||
|
||||
const attention = function(baseId, mode) {
|
||||
if(mode === undefined)
|
||||
|
|
|
@ -379,11 +379,6 @@ Umi.UI.Settings = (function() {
|
|||
title: 'Disable Old Theme System',
|
||||
type: 'checkbox',
|
||||
},
|
||||
{
|
||||
name: 'tmpSkipDomainPopUpThing',
|
||||
title: 'Skip domain pop up thing',
|
||||
type: 'checkbox',
|
||||
},
|
||||
{
|
||||
title: 'You are an idiot!',
|
||||
type: 'button',
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
#include ui/menus.js
|
||||
|
||||
Umi.UI.Uploads = (function() {
|
||||
|
||||
|
||||
return {
|
||||
create: function(fileName) {
|
||||
const uploadHistory = Umi.UI.Menus.Get('uploads');
|
||||
|
|
|
@ -4,12 +4,12 @@ Umi.User = function(userId, userName, userColour, userPerms) {
|
|||
|
||||
const userIdInt = parseInt(userId);
|
||||
|
||||
const setName = function(name) {
|
||||
const setName = name => {
|
||||
userName = (name || '').toString().replace('<', '<').replace('>', '>');
|
||||
};
|
||||
setName(userName);
|
||||
|
||||
const setColour = function(colour) {
|
||||
const setColour = colour => {
|
||||
userColour = (colour || 'inherit').toString();
|
||||
};
|
||||
setColour(userColour);
|
||||
|
@ -33,34 +33,34 @@ Umi.User = function(userId, userName, userColour, userPerms) {
|
|||
let avatarTime = Date.now();
|
||||
|
||||
return {
|
||||
getId: function() { return userId; },
|
||||
getIdInt: function() { return userIdInt; },
|
||||
getId: () => userId,
|
||||
getIdInt: () => userIdInt,
|
||||
|
||||
getName: function() { return userName; },
|
||||
getName: () => userName,
|
||||
setName: setName,
|
||||
|
||||
getColour: function() { return userColour; },
|
||||
getColour: () => userColour,
|
||||
setColour: setColour,
|
||||
|
||||
setPermissions: setPerms,
|
||||
|
||||
getRank: function() { return userRank; },
|
||||
isCurrentUser: function() { return Umi.User.currentUser && Umi.User.currentUser.userId === userId; },
|
||||
canBan: function() { return canBan; },
|
||||
canSilence: function() { return canBan; },
|
||||
canCreateChannel: function() { return canCreateChannel; },
|
||||
canSetNickName: function() { return canSetNickName; },
|
||||
getAvatarTime: function() { return avatarTime; },
|
||||
bumpAvatarTime: function() { avatarTime = Date.now(); },
|
||||
getRank: () => userRank,
|
||||
isCurrentUser: () => Umi.User.currentUser && Umi.User.currentUser.userId === userId,
|
||||
canBan: () => canBan,
|
||||
canSilence: () => canBan,
|
||||
canCreateChannel: () => canCreateChannel,
|
||||
canSetNickName: () => canSetNickName,
|
||||
getAvatarTime: () => avatarTime,
|
||||
bumpAvatarTime: () => { avatarTime = Date.now(); },
|
||||
|
||||
isBot: function() { return userId === '-1'; },
|
||||
isBot: () => userId === '-1',
|
||||
};
|
||||
};
|
||||
Umi.User.currentUser = undefined;
|
||||
Umi.User.hasCurrentUser = function() { return Umi.User.currentUser !== undefined; };
|
||||
Umi.User.getCurrentUser = function() { return Umi.User.currentUser; };
|
||||
Umi.User.setCurrentUser = function(user) { Umi.User.currentUser = user; };
|
||||
Umi.User.isCurrentUser = function(user) {
|
||||
return Umi.User.currentUser !== undefined
|
||||
&& (Umi.User.currentUser === user || Umi.User.currentUser.getId() === user.getId());
|
||||
};
|
||||
Umi.User.hasCurrentUser = () => Umi.User.currentUser !== undefined;
|
||||
Umi.User.getCurrentUser = () => Umi.User.currentUser;
|
||||
Umi.User.setCurrentUser = user => { Umi.User.currentUser = user; };
|
||||
Umi.User.isCurrentUser = user => user !== null && typeof user === 'object' && typeof user.getId === 'function'
|
||||
&& Umi.User.currentUser !== null && typeof Umi.User.currentUser === 'object'
|
||||
&& typeof Umi.User.currentUser.getId === 'function'
|
||||
&& (Umi.User.currentUser === user || Umi.User.currentUser.getId() === user.getId());
|
||||
|
|
Loading…
Reference in a new issue