UPDATE: Update UI
All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 50s
All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 50s
This commit is contained in:
@@ -15,8 +15,7 @@ The application is deployed and available at the following URLs:
|
|||||||
|
|
||||||
| Role | URL |
|
| Role | URL |
|
||||||
| :--- | :--- |
|
| :--- | :--- |
|
||||||
| **Main Site** | [srtools.kain.id.vn](https://srtools.kain.id.vn) |
|
| **Main Site** | [srtools.punklorde.org](https://srtools.punklorde.org) |
|
||||||
| **Backup / Vercel Mirror** | [firefly-srtools.vercel.app](https://firefly-srtools.vercel.app) |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"TabTitle": {
|
"TabTitle": {
|
||||||
"title": "Firefly Tools",
|
"title": "Firefly Tools",
|
||||||
"description": "Firefly tools by Kain"
|
"description": "Firefly tools by Firefly Shelter"
|
||||||
},
|
},
|
||||||
"DataPage": {
|
"DataPage": {
|
||||||
"skillType": "技能类型",
|
"skillType": "技能类型",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"TabTitle": {
|
"TabTitle": {
|
||||||
"title": "Firefly Tools",
|
"title": "Firefly Tools",
|
||||||
"description": "Firefly tools by Kain"
|
"description": "Firefly tools by Firefly Shelter"
|
||||||
},
|
},
|
||||||
"DataPage": {
|
"DataPage": {
|
||||||
"skillType": "Skill Type",
|
"skillType": "Skill Type",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"TabTitle": {
|
"TabTitle": {
|
||||||
"title": "Firefly Tools",
|
"title": "Firefly Tools",
|
||||||
"description": "Firefly tools by Kain"
|
"description": "Firefly tools by Firefly Shelter"
|
||||||
},
|
},
|
||||||
"DataPage": {
|
"DataPage": {
|
||||||
"skillType": "スキルタイプ",
|
"skillType": "スキルタイプ",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"TabTitle": {
|
"TabTitle": {
|
||||||
"title": "Firefly Tools",
|
"title": "Firefly Tools",
|
||||||
"description": "Firefly tools by Kain"
|
"description": "Firefly tools by Firefly Shelter"
|
||||||
},
|
},
|
||||||
"DataPage": {
|
"DataPage": {
|
||||||
"skillType": "스킬 유형",
|
"skillType": "스킬 유형",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"TabTitle": {
|
"TabTitle": {
|
||||||
"title": "Firefly Tools",
|
"title": "Firefly Tools",
|
||||||
"description": "Firefly tools by Kain"
|
"description": "Firefly tools by Firefly Shelter"
|
||||||
},
|
},
|
||||||
"DataPage": {
|
"DataPage": {
|
||||||
"skillType": "Loại kỹ năng",
|
"skillType": "Loại kỹ năng",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"TabTitle": {
|
"TabTitle": {
|
||||||
"title": "Firefly Tools",
|
"title": "Firefly Tools",
|
||||||
"description": "Firefly tools by Kain"
|
"description": "Firefly tools by Firefly Shelter"
|
||||||
},
|
},
|
||||||
"DataPage": {
|
"DataPage": {
|
||||||
"skillType": "技能类型",
|
"skillType": "技能类型",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ const geistMono = Geist_Mono({
|
|||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Firefly SrTools",
|
title: "Firefly SrTools",
|
||||||
description: "SrTools by Kain",
|
description: "SrTools by Firefly Shelter",
|
||||||
icons: {
|
icons: {
|
||||||
icon: "/ff-srtool.png",
|
icon: "/ff-srtool.png",
|
||||||
shortcut: "/ff-srtool.ico",
|
shortcut: "/ff-srtool.ico",
|
||||||
@@ -33,12 +33,12 @@ export const metadata: Metadata = {
|
|||||||
},
|
},
|
||||||
openGraph: {
|
openGraph: {
|
||||||
title: "Firefly SrTools",
|
title: "Firefly SrTools",
|
||||||
description: "SrTools by Kain",
|
description: "SrTools by Firefly Shelter",
|
||||||
url: "https://srtools.kain.id.vn",
|
url: "https://srtools.punklorde.org",
|
||||||
siteName: "Firefly SrTools",
|
siteName: "Firefly SrTools",
|
||||||
images: [
|
images: [
|
||||||
{
|
{
|
||||||
url: "https://srtools.kain.id.vn/ff-srtool.png",
|
url: "https://srtools.punklorde.org/ff-srtool.png",
|
||||||
width: 312,
|
width: 312,
|
||||||
height: 312,
|
height: 312,
|
||||||
alt: "Firefly SrTools Logo",
|
alt: "Firefly SrTools Logo",
|
||||||
@@ -50,8 +50,8 @@ export const metadata: Metadata = {
|
|||||||
twitter: {
|
twitter: {
|
||||||
card: "summary_large_image",
|
card: "summary_large_image",
|
||||||
title: "Firefly SrTools",
|
title: "Firefly SrTools",
|
||||||
description: "SrTools by Kain",
|
description: "SrTools by Firefly Shelter",
|
||||||
images: ["https://srtools.kain.id.vn/ff-srtool.png"],
|
images: ["https://srtools.punklorde.org/ff-srtool.png"],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -417,7 +417,7 @@ export default function ActionBar() {
|
|||||||
|
|
||||||
{modalConfigs.map(({ id, title, onClose, content }) => (
|
{modalConfigs.map(({ id, title, onClose, content }) => (
|
||||||
<dialog key={id} id={id} className="modal">
|
<dialog key={id} id={id} className="modal">
|
||||||
<div className="modal-box w-11/12 max-w-7xl max-h-[85vh] bg-base-100 text-base-content border border-purple-500/50 shadow-lg shadow-purple-500/20">
|
<div className="modal-box w-11/12 max-w-[90%] max-h-[85vh] bg-base-100 text-base-content border border-purple-500/50 shadow-lg shadow-purple-500/20">
|
||||||
<div className="sticky top-0 z-10">
|
<div className="sticky top-0 z-10">
|
||||||
<motion.button
|
<motion.button
|
||||||
whileHover={{ scale: 1.1, rotate: 90 }}
|
whileHover={{ scale: 1.1, rotate: 90 }}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
import useLocaleStore from '@/stores/localeStore';
|
import useLocaleStore from '@/stores/localeStore';
|
||||||
import { Check, AlertCircle, Sparkles, Bug, Zap, Package, Calendar } from 'lucide-react';
|
import { Check, Sparkles, Bug, Zap, Package, Calendar } from 'lucide-react';
|
||||||
|
|
||||||
export default function ChangelogBar() {
|
export default function ChangelogBar() {
|
||||||
const { changelog } = useLocaleStore()
|
const { changelog } = useLocaleStore()
|
||||||
@@ -47,12 +47,9 @@ export default function ChangelogBar() {
|
|||||||
return (
|
return (
|
||||||
<div className="md:p-4">
|
<div className="md:p-4">
|
||||||
{/* Alert */}
|
{/* Alert */}
|
||||||
<div className="alert alert-info mb-4 md:p-2 p-1">
|
{/* <div className="alert alert-info mb-4 md:p-2 p-1">
|
||||||
<AlertCircle className="w-6 h-6" />
|
<AlertCircle className="w-6 h-6" />
|
||||||
<div>
|
</div> */}
|
||||||
<h3 className="font-bold text-sm">If you have any suggestions or problems, please contact me! @kain0304</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Timeline */}
|
{/* Timeline */}
|
||||||
<div className="flex flex-col gap-4">
|
<div className="flex flex-col gap-4">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ export default function Footer() {
|
|||||||
return (
|
return (
|
||||||
<footer className="footer footer-horizontal footer-center bg-base-200 text-base-content rounded p-10">
|
<footer className="footer footer-horizontal footer-center bg-base-200 text-base-content rounded p-10">
|
||||||
<aside>
|
<aside>
|
||||||
<p>Copyright © {new Date().getFullYear()} - Kain (Powered by Nextjs & DaisyUi)</p>
|
<p>Copyright © {new Date().getFullYear()} - Firefly Shelter (Powered by Nextjs & DaisyUi)</p>
|
||||||
</aside>
|
</aside>
|
||||||
</footer>
|
</footer>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ export default function Header() {
|
|||||||
Tools
|
Tools
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-sm text-gray-500">By Kain</p>
|
<p className="text-sm text-gray-500">Firefly Shelter</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
@@ -567,7 +567,7 @@ export default function Header() {
|
|||||||
|
|
||||||
{modalConfigs?.map(({ id, title, onClose, content }) => (
|
{modalConfigs?.map(({ id, title, onClose, content }) => (
|
||||||
<dialog key={id} id={id} className="modal">
|
<dialog key={id} id={id} className="modal">
|
||||||
<div className="modal-box w-11/12 max-w-7xl max-h-[85vh] bg-base-100 text-base-content border border-purple-500/50 shadow-lg shadow-purple-500/20">
|
<div className="modal-box w-11/12 max-w-[90%] max-h-[85vh] bg-base-100 text-base-content border border-purple-500/50 shadow-lg shadow-purple-500/20">
|
||||||
<div className="sticky top-0 z-10">
|
<div className="sticky top-0 z-10">
|
||||||
<motion.button
|
<motion.button
|
||||||
whileHover={{ scale: 1.1, rotate: 90 }}
|
whileHover={{ scale: 1.1, rotate: 90 }}
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ export default function RelicMaker() {
|
|||||||
{transI18n("relicMaker")}
|
{transI18n("relicMaker")}
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8 max-w-7xl">
|
<div className="grid grid-cols-1 lg:grid-cols-2 gap-2">
|
||||||
|
|
||||||
{/* Left Panel */}
|
{/* Left Panel */}
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
|
|||||||
@@ -173,7 +173,6 @@ export default function RelicsInfo() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="max-h-[77vh] min-h-[50vh] overflow-y-scroll overflow-x-hidden">
|
<div className="max-h-[77vh] min-h-[50vh] overflow-y-scroll overflow-x-hidden">
|
||||||
<div className="max-w-7xl">
|
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
||||||
|
|
||||||
{/* Left Section - Items Grid */}
|
{/* Left Section - Items Grid */}
|
||||||
@@ -184,7 +183,7 @@ export default function RelicsInfo() {
|
|||||||
{transI18n("relics")}
|
{transI18n("relics")}
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<div className="grid grid-cols-2 md:grid-cols-3 gap-6 max-w-2xl">
|
<div className="grid grid-cols-2 md:grid-cols-3 gap-6">
|
||||||
{["1", "2", "3", "4", "5", "6"].map((item, index) => (
|
{["1", "2", "3", "4", "5", "6"].map((item, index) => (
|
||||||
<div key={index} className="relative group">
|
<div key={index} className="relative group">
|
||||||
<div
|
<div
|
||||||
@@ -334,11 +333,10 @@ export default function RelicsInfo() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{modalConfigs.map(({ id, title, onClose, content }) => (
|
{modalConfigs.map(({ id, title, onClose, content }) => (
|
||||||
<dialog key={id} id={id} className="modal">
|
<dialog key={id} id={id} className="modal">
|
||||||
<div className="modal-box w-11/12 max-w-7xl max-h-[85vh] bg-base-100 text-base-content border border-purple-500/50 shadow-lg shadow-purple-500/20">
|
<div className="modal-box w-11/12 max-w-[90%] max-h-[85vh] bg-base-100 text-base-content border border-purple-500/50 shadow-lg shadow-purple-500/20">
|
||||||
<div className="sticky top-0 z-10">
|
<div className="sticky top-0 z-10">
|
||||||
<motion.button
|
<motion.button
|
||||||
whileHover={{ scale: 1.1, rotate: 90 }}
|
whileHover={{ scale: 1.1, rotate: 90 }}
|
||||||
|
|||||||
Reference in New Issue
Block a user