68 lines
4.0 KiB
HTML
68 lines
4.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="vi">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Domain Migration - SRTools</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<style>
|
|
body { background-color: #0f172a; color: white; font-family: sans-serif; }
|
|
</style>
|
|
</head>
|
|
<body class="min-h-screen flex items-center justify-center p-4">
|
|
<div class="max-w-2xl w-full bg-slate-800 border border-slate-700 rounded-2xl p-8 shadow-2xl">
|
|
<div class="text-center">
|
|
<h1 id="title" class="text-3xl font-bold mb-4 bg-gradient-to-r from-blue-400 to-purple-500 bg-clip-text text-transparent"></h1>
|
|
<p id="desc" class="text-lg font-medium mb-4 text-slate-200"></p>
|
|
<p id="inst" class="text-sm text-slate-400 mb-8"></p>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
<button onclick="exportData()" class="flex items-center justify-center gap-2 bg-slate-700 hover:bg-slate-600 font-semibold py-4 px-6 rounded-xl border border-slate-600 transition-all">
|
|
<span id="btnExport"></span>
|
|
</button>
|
|
<a href="https://srtools.punklorde.org" class="flex items-center justify-center gap-2 bg-blue-600 hover:bg-blue-500 font-semibold py-4 px-6 rounded-xl shadow-lg transition-all text-center">
|
|
<span id="btnGo"></span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
const translations = {
|
|
vi: { title: "Thông báo chuyển đổi", desc: "srtools.kain.id.vn chuyển sang srtools.punklorde.org", inst: "Vui lòng backup dữ liệu. Tại web mới chọn 'Load Data' -> 'Database' để restore.", btnExport: "Tải backup (.json)", btnGo: "Đi đến web mới" },
|
|
en: { title: "Domain Migration", desc: "Moving from srtools.kain.id.vn to srtools.punklorde.org", inst: "Please backup your data. On the new site, select 'Load Data' -> 'Database'.", btnExport: "Download backup", btnGo: "Go to new site" },
|
|
ja: { title: "移転のお知らせ", desc: "srtools.punklorde.org へ移転します", inst: "データのバックアップを取り、新しいサイトで復元してください。", btnExport: "バックアップをダウンロード", btnGo: "新しいサイトへ" },
|
|
ko: { title: "이전 안내", desc: "srtools.punklorde.org로 이전합니다", inst: "데이터를 백업하고 새 사이트에서 복구해 주세요.", btnExport: "백업 다운로드", btnGo: "새 사이트로 이동" },
|
|
zh: { title: "迁移通知", desc: "正在迁移至 srtools.punklorde.org", inst: "请备份您的数据并在新网站进行恢复。", btnExport: "下载备份文件", btnGo: "前往新域名" }
|
|
};
|
|
|
|
const lang = (navigator.language.split('-')[0] in translations) ? navigator.language.split('-')[0] : 'en';
|
|
const t = translations[lang];
|
|
|
|
document.getElementById('title').innerText = t.title;
|
|
document.getElementById('desc').innerText = t.desc;
|
|
document.getElementById('inst').innerText = t.inst;
|
|
document.getElementById('btnExport').innerText = t.btnExport;
|
|
document.getElementById('btnGo').innerText = t.btnGo;
|
|
|
|
function exportData() {
|
|
const storageData = localStorage.getItem('user-data-storage');
|
|
if (!storageData) {
|
|
alert("No data found in localStorage!");
|
|
return;
|
|
}
|
|
const parsed = JSON.parse(storageData);
|
|
const data = parsed.state || parsed;
|
|
const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });
|
|
const url = URL.createObjectURL(blob);
|
|
const a = document.createElement('a');
|
|
a.href = url;
|
|
a.download = "database-data.json";
|
|
document.body.appendChild(a);
|
|
a.click();
|
|
document.body.removeChild(a);
|
|
URL.revokeObjectURL(url);
|
|
}
|
|
</script>
|
|
</body>
|
|
</html> |