diff --git a/app/admin/[character]/[page]/page.tsx b/app/admin/[character]/[page]/page.tsx
index e2f61ba..d32d77e 100644
--- a/app/admin/[character]/[page]/page.tsx
+++ b/app/admin/[character]/[page]/page.tsx
@@ -75,7 +75,7 @@ export default async function StructuredEditorPage({
{guide.name}
diff --git a/app/admin/[character]/page.tsx b/app/admin/[character]/page.tsx
index 9615043..f42b8aa 100644
--- a/app/admin/[character]/page.tsx
+++ b/app/admin/[character]/page.tsx
@@ -23,6 +23,8 @@ const sections = [
{ slug: "team", title: "Team Calc", description: "ตัวละคร 4 ตัว Damage share, DPS และ Combo" },
];
+export const instant = false;
+
export default async function GuideOverviewPage({ params }: { params: Promise<{ character: string }> }) {
await connection();
if (!(await getAdminSession())) redirect("/admin/login");
@@ -42,7 +44,7 @@ export default async function GuideOverviewPage({ params }: { params: Promise<{
-
+
เลือกส่วนที่ต้องการแก้ไข
diff --git a/app/admin/page.tsx b/app/admin/page.tsx
index 4dc2fb5..61a741d 100644
--- a/app/admin/page.tsx
+++ b/app/admin/page.tsx
@@ -10,6 +10,8 @@ import {
} from "@/lib/catalog/sync";
import { listGuideCards } from "@/lib/guides/queries";
+export const instant = false;
+
export default async function AdminPage() {
await connection();
if (!(await getAdminSession())) redirect("/admin/login");
diff --git a/components/admin/guide-section-editor.tsx b/components/admin/guide-section-editor.tsx
index 4f3e8f0..6c56314 100644
--- a/components/admin/guide-section-editor.tsx
+++ b/components/admin/guide-section-editor.tsx
@@ -451,6 +451,7 @@ function CatalogPicker({
src={selected.imageUrl}
alt=""
fill
+ sizes="40px"
className="object-contain"
/>
@@ -491,6 +492,7 @@ function CatalogPicker({
src={item.imageUrl}
alt=""
fill
+ sizes="32px"
className="object-contain"
/>
@@ -1336,6 +1338,7 @@ function WeaponEditor({ guide, weapons, characters, initial }: EditorBase) {
src={selectedWeapon.imageUrl}
alt=""
fill
+ sizes="40px"
className="object-contain"
/>
@@ -3840,7 +3843,7 @@ function ExtraCatalogItemsEditor({
{item ? (
-
+
) : null}
diff --git a/components/public/material-poster.tsx b/components/public/material-poster.tsx
index c3d82dd..4eed65c 100644
--- a/components/public/material-poster.tsx
+++ b/components/public/material-poster.tsx
@@ -147,6 +147,7 @@ export function MaterialPoster({
src={characterArtUrl}
alt={character.name}
fill
+ unoptimized
sizes={`${artworkImageSize}px`}
quality={POSTER_IMAGE_QUALITY}
className="object-contain object-center"
@@ -158,6 +159,7 @@ export function MaterialPoster({
src={characterArtUrl}
alt=""
fill
+ unoptimized
sizes={`${artworkImageSize}px`}
quality={POSTER_IMAGE_QUALITY}
className="object-contain object-center"
diff --git a/components/public/structured-guide.tsx b/components/public/structured-guide.tsx
index f02ef2d..750d734 100644
--- a/components/public/structured-guide.tsx
+++ b/components/public/structured-guide.tsx
@@ -119,6 +119,7 @@ export function StructuredGuideShell({
src={guide.coverUrl}
alt={guide.name}
fill
+ sizes="44px"
className="object-cover"
/>
@@ -217,6 +218,7 @@ function GuideOverview({
src={guide.coverUrl}
alt={`ไกด์ ${guide.name}`}
fill
+ sizes="(min-width: 1280px) 600px, (min-width: 1024px) calc(50vw - 44px), calc(100vw - 32px)"
priority
className="object-cover"
/>
diff --git a/components/public/team-search.tsx b/components/public/team-search.tsx
index 24f6cb8..8e51505 100644
--- a/components/public/team-search.tsx
+++ b/components/public/team-search.tsx
@@ -276,6 +276,7 @@ function TeamCard({
alt={member.character.name}
fill
loading={exporting ? "eager" : undefined}
+ sizes="(min-width: 1280px) 184px, (min-width: 640px) 16vw, 25vw"
className="object-contain"
/>
@@ -304,6 +305,7 @@ function TeamCard({
alt={member.weapon.name}
fill
loading={exporting ? "eager" : undefined}
+ sizes="(min-width: 1280px) 86px, (min-width: 640px) 8vw, 12.5vw"
className="object-contain p-1"
/>