diff --git a/.agent/skills/workflows/SKILL.md b/.agent/skills/workflows/SKILL.md index eb0fa4f..bb6a1bf 100644 --- a/.agent/skills/workflows/SKILL.md +++ b/.agent/skills/workflows/SKILL.md @@ -2,8 +2,8 @@ name: Task Finisher Workflow description: Automate the Code Review -> Confirmation -> Git Commit pipeline. triggers: - - /finish - - /done + - "/finish" + - "/done" - "작업 완료" - "마무리해줘" --- diff --git a/__mocks__/next-navigation.js b/__mocks__/next-navigation.js deleted file mode 100644 index d78bb4f..0000000 --- a/__mocks__/next-navigation.js +++ /dev/null @@ -1,21 +0,0 @@ -const useRouter = () => ({ - push: (href) => {}, - replace: (href) => {}, - prefetch: (href) => {}, - back: () => {}, - forward: () => {}, - refresh: () => {}, -}); - -const usePathname = () => ''; -const useSearchParams = () => new URLSearchParams(); -const redirect = (url) => {}; -const notFound = () => {}; - -module.exports = { - useRouter, - usePathname, - useSearchParams, - redirect, - notFound, -}; diff --git a/public/favicon_io/android-icon-192x192.png b/public/favicon_io/android-icon-192x192.png new file mode 100644 index 0000000..1a9ff1d Binary files /dev/null and b/public/favicon_io/android-icon-192x192.png differ diff --git a/public/favicon_io/apple-icon-152x152.png b/public/favicon_io/apple-icon-152x152.png new file mode 100644 index 0000000..b92345f Binary files /dev/null and b/public/favicon_io/apple-icon-152x152.png differ diff --git a/public/favicon_io/apple-icon-180x180.png b/public/favicon_io/apple-icon-180x180.png new file mode 100644 index 0000000..69e6dab Binary files /dev/null and b/public/favicon_io/apple-icon-180x180.png differ diff --git a/public/favicon_io/browserconfig.xml b/public/favicon_io/browserconfig.xml new file mode 100644 index 0000000..24b26e2 --- /dev/null +++ b/public/favicon_io/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + #ffffff + + + + \ No newline at end of file diff --git a/public/favicon_io/favicon-16x16.png b/public/favicon_io/favicon-16x16.png new file mode 100644 index 0000000..a3df199 Binary files /dev/null and b/public/favicon_io/favicon-16x16.png differ diff --git a/public/favicon_io/favicon-192x192.png b/public/favicon_io/favicon-192x192.png new file mode 100644 index 0000000..1a9ff1d Binary files /dev/null and b/public/favicon_io/favicon-192x192.png differ diff --git a/public/favicon_io/favicon-32x32.png b/public/favicon_io/favicon-32x32.png new file mode 100644 index 0000000..afd5299 Binary files /dev/null and b/public/favicon_io/favicon-32x32.png differ diff --git a/public/favicon_io/favicon-96x96.png b/public/favicon_io/favicon-96x96.png new file mode 100644 index 0000000..f41770f Binary files /dev/null and b/public/favicon_io/favicon-96x96.png differ diff --git a/public/favicon_io/manifest.json b/public/favicon_io/manifest.json new file mode 100644 index 0000000..b65d42e --- /dev/null +++ b/public/favicon_io/manifest.json @@ -0,0 +1 @@ +{"name":"My Website","short_name":"My Website","icons":[{"src":"/favicon-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-icon-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/public/favicon_io/ms-icon-144x144.png b/public/favicon_io/ms-icon-144x144.png new file mode 100644 index 0000000..2d30fd8 Binary files /dev/null and b/public/favicon_io/ms-icon-144x144.png differ diff --git a/public/favicon_io/ms-icon-150x150.png b/public/favicon_io/ms-icon-150x150.png new file mode 100644 index 0000000..fd249fe Binary files /dev/null and b/public/favicon_io/ms-icon-150x150.png differ diff --git a/public/favicon_io/ms-icon-310x310.png b/public/favicon_io/ms-icon-310x310.png new file mode 100644 index 0000000..679140f Binary files /dev/null and b/public/favicon_io/ms-icon-310x310.png differ diff --git a/public/favicon_io/ms-icon-70x70.png b/public/favicon_io/ms-icon-70x70.png new file mode 100644 index 0000000..2d30fd8 Binary files /dev/null and b/public/favicon_io/ms-icon-70x70.png differ diff --git a/src/app/[locale]/[slug]/page.tsx b/src/app/[locale]/[slug]/page.tsx index 2445e4d..39be8a2 100644 --- a/src/app/[locale]/[slug]/page.tsx +++ b/src/app/[locale]/[slug]/page.tsx @@ -139,6 +139,7 @@ export default async function BlogPost({ params }: { params: Promise<{ slug: str sizes="(max-width: 1024px) 100vw, 75vw" className="object-cover" priority + unoptimized={true} /> )} diff --git a/src/app/[locale]/tamago-privacy/page.tsx b/src/app/[locale]/tamago-privacy/page.tsx new file mode 100644 index 0000000..c311714 --- /dev/null +++ b/src/app/[locale]/tamago-privacy/page.tsx @@ -0,0 +1,20 @@ +export default async function TamagoPrivacyPage() { + return ( +
+
+ Effective Date: March 19, 2026 + + 1. Data Collection "Tamago-bot" respects your privacy. We do not collect, transmit, distribute, or sell your personal data or personally identifiable information (PII). + + 2. Data Usage The extension uses the chrome.storage.local API exclusively to save the state of your virtual pixel-art pet locally on your device. This saved data includes the pet's current life stage, hunger, mood, energy, and cleanliness stats. This data is required solely to keep the virtual pet persisting across your browser sessions. + + 3. Third-Party Sharing No data is ever sent to external servers, cloud services, or third parties. Your data never leaves your personal device. + + 4. Data Retention and Deletion The saved data remains on your local browser. If you wish to delete your data, you can simply uninstall the Tamago-bot extension from your Chrome browser, which will permanently clear all associated local storage data. + + 5. Contact If you have any questions or concerns regarding this Privacy Policy, please contact the developer at: [EMAIL_ADDRESS]. +
+
+ ); +} + diff --git a/src/app/favicon.ico b/src/app/favicon.ico index 718d6fe..90c8ea3 100644 Binary files a/src/app/favicon.ico and b/src/app/favicon.ico differ diff --git a/src/entities/post/ui/PostCard.tsx b/src/entities/post/ui/PostCard.tsx index 1ad5fc0..7187131 100644 --- a/src/entities/post/ui/PostCard.tsx +++ b/src/entities/post/ui/PostCard.tsx @@ -24,6 +24,7 @@ export function PostCard({ post }: { post: BlogPost }) { fill sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" className="object-cover transition-transform duration-500 group-hover:scale-105" + unoptimized={true} /> ) : (