auto-claude: subtask-4-2 - Memoize animation variants in PortfolioGrid.tsx

This commit is contained in:
2026-01-25 06:39:38 +01:00
parent f527201b8b
commit a07cea1a96
7 changed files with 308 additions and 13 deletions
+227
View File
@@ -0,0 +1,227 @@
{
"base_commands": [
".",
"[",
"[[",
"ag",
"awk",
"basename",
"bash",
"bc",
"break",
"cat",
"cd",
"chmod",
"clear",
"cmp",
"column",
"comm",
"command",
"continue",
"cp",
"curl",
"cut",
"date",
"df",
"diff",
"dig",
"dirname",
"du",
"echo",
"egrep",
"env",
"eval",
"exec",
"exit",
"expand",
"export",
"expr",
"false",
"fd",
"fgrep",
"file",
"find",
"fmt",
"fold",
"gawk",
"gh",
"git",
"grep",
"gunzip",
"gzip",
"head",
"help",
"host",
"iconv",
"id",
"jobs",
"join",
"jq",
"kill",
"killall",
"less",
"let",
"ln",
"ls",
"lsof",
"man",
"mkdir",
"mktemp",
"more",
"mv",
"nl",
"paste",
"pgrep",
"ping",
"pkill",
"popd",
"printenv",
"printf",
"ps",
"pushd",
"pwd",
"read",
"readlink",
"realpath",
"reset",
"return",
"rev",
"rg",
"rm",
"rmdir",
"sed",
"seq",
"set",
"sh",
"shuf",
"sleep",
"sort",
"source",
"split",
"stat",
"tail",
"tar",
"tee",
"test",
"time",
"timeout",
"touch",
"tr",
"tree",
"true",
"type",
"uname",
"unexpand",
"uniq",
"unset",
"unzip",
"watch",
"wc",
"wget",
"whereis",
"which",
"whoami",
"xargs",
"yes",
"yq",
"zip",
"zsh"
],
"stack_commands": [
"ar",
"clang",
"clang++",
"cmake",
"composer",
"dive",
"docker",
"docker-buildx",
"docker-compose",
"dockerfile",
"eslint",
"g++",
"gcc",
"ipython",
"jupyter",
"ld",
"make",
"meson",
"next",
"ninja",
"nm",
"node",
"notebook",
"npm",
"npx",
"objdump",
"pdb",
"php",
"pip",
"pip3",
"pipx",
"pnpm",
"pnpx",
"pudb",
"python",
"python3",
"react-scripts",
"strip",
"ts-node",
"tsc",
"tsx",
"vitest"
],
"script_commands": [
"bun",
"npm",
"pnpm",
"yarn"
],
"custom_commands": [],
"detected_stack": {
"languages": [
"python",
"javascript",
"typescript",
"php",
"c"
],
"package_managers": [
"pnpm"
],
"frameworks": [
"nextjs",
"react",
"vitest",
"eslint"
],
"databases": [],
"infrastructure": [
"docker"
],
"cloud_providers": [],
"code_quality_tools": [],
"version_managers": []
},
"custom_scripts": {
"npm_scripts": [
"dev",
"build",
"start",
"lint",
"build:images",
"generate:images",
"generate:images:dry",
"test",
"test:coverage"
],
"make_targets": [],
"poetry_scripts": [],
"cargo_aliases": [],
"shell_scripts": []
},
"project_dir": "C:\\Users\\damja\\WebstormProjects\\Portfolio",
"created_at": "2026-01-22T15:28:38.237190",
"project_hash": "c4ad399e16be367eb4e6b076fe1d9ee3",
"inherited_from": "C:\\Users\\damja\\WebstormProjects\\Portfolio"
}
+25
View File
@@ -0,0 +1,25 @@
{
"active": true,
"spec": "024-add-memoization-to-animated-list-components",
"state": "building",
"subtasks": {
"completed": 4,
"total": 7,
"in_progress": 1,
"failed": 0
},
"phase": {
"current": "Optimize Portfolio Components",
"id": null,
"total": 2
},
"workers": {
"active": 0,
"max": 1
},
"session": {
"number": 6,
"started_at": "2026-01-25T06:23:34.006900"
},
"last_update": "2026-01-25T06:38:42.534877"
}
+39
View File
@@ -0,0 +1,39 @@
{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true
},
"permissions": {
"defaultMode": "acceptEdits",
"allow": [
"Read(./**)",
"Write(./**)",
"Edit(./**)",
"Glob(./**)",
"Grep(./**)",
"Read(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components/**)",
"Write(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components/**)",
"Edit(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components/**)",
"Glob(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components/**)",
"Grep(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components/**)",
"Read(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components\\.auto-claude\\specs\\024-add-memoization-to-animated-list-components/**)",
"Write(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components\\.auto-claude\\specs\\024-add-memoization-to-animated-list-components/**)",
"Edit(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude\\worktrees\\tasks\\024-add-memoization-to-animated-list-components\\.auto-claude\\specs\\024-add-memoization-to-animated-list-components/**)",
"Read(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude/**)",
"Write(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude/**)",
"Edit(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude/**)",
"Glob(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude/**)",
"Grep(C:\\Users\\damja\\WebstormProjects\\Portfolio\\.auto-claude/**)",
"Bash(*)",
"WebFetch(*)",
"WebSearch(*)",
"mcp__context7__resolve-library-id(*)",
"mcp__context7__get-library-docs(*)",
"mcp__graphiti-memory__search_nodes(*)",
"mcp__graphiti-memory__search_facts(*)",
"mcp__graphiti-memory__add_episode(*)",
"mcp__graphiti-memory__get_episodes(*)",
"mcp__graphiti-memory__get_entity_edge(*)"
]
}
}
+3
View File
@@ -82,3 +82,6 @@ supabase/.temp/
# Source images (originals before optimization) # Source images (originals before optimization)
source-images/ source-images/
# Auto Claude data directory
.auto-claude/
View File
View File
+13 -12
View File
@@ -18,20 +18,21 @@ interface PortfolioGridProps {
projects: Project[]; projects: Project[];
} }
const PortfolioGrid = ({ projects }: PortfolioGridProps) => { const containerVariants = {
const containerVariants = { hidden: {},
hidden: {}, visible: {
visible: { transition: {
transition: { staggerChildren: 0.1,
staggerChildren: 0.1,
},
}, },
}; },
};
const itemVariants = { const itemVariants = {
hidden: { opacity: 0, y: 20 }, hidden: { opacity: 0, y: 20 },
visible: { opacity: 1, y: 0 }, visible: { opacity: 1, y: 0 },
}; };
const PortfolioGrid = ({ projects }: PortfolioGridProps) => {
return ( return (
<motion.div <motion.div