93 Commits
Author SHA1 Message Date
CPTProgrammer 3894c0c599 Add update feature for existing platform versions
Extend existing releases' title and compatible MC versions without
re-uploading files, via Modrinth PATCH /version/{id} and CurseForge
update-file. Adds an UpdateModal with range/title diff preview, an
update tRPC mutation sharing the progress subscription with publish, and
dry-run interception for Modrinth PATCH requests.
2026-09-19 00:02:58 +08:00
CPTProgrammer 90b1ceddb6 Fix Minecraft version resolution to CurseForge publisher 2026-07-19 10:36:42 +08:00
CPTProgrammer 7c10e4b168 Replace canSelect state with derived dataReady check 2026-07-19 10:20:46 +08:00
CPTProgrammer 6b32cafeeb Fix wrong selection in PublishModal 2026-07-18 22:50:10 +08:00
CPTProgrammer bf716627a1 Fix Minecraft version resolution to CurseForge publisher 2026-07-18 22:20:50 +08:00
CPTProgrammer d88b1e0485 Fix version range calculation by passing full project version list 2026-07-18 22:17:54 +08:00
CPTProgrammer b16c9546b8 Change Curseforge relation projectID type from string to number 2026-07-18 22:09:50 +08:00
CPTProgrammer 54af762365 Remove pending- prefix from publish table row keys 2026-07-18 21:16:32 +08:00
CPTProgrammer 120e701443 Add green state colors to new version rows 2026-07-18 15:14:44 +08:00
CPTProgrammer 778ac54bfa Add Modrinth edit version API support 2026-07-18 12:33:11 +08:00
CPTProgrammer 619abfb0c5 Show existing platform versions in publish modal 2026-07-18 10:04:16 +08:00
CPTProgrammer e5de2f5dbd Restore real platform uploads 2026-07-17 21:41:27 +08:00
CPTProgrammer 5dd25a3267 Wire publish flow to tRPC with live progress 2026-07-17 19:15:41 +08:00
CPTProgrammer 9c7fd31a69 Add publish dry-run mode with request logging 2026-07-17 17:00:05 +08:00
CPTProgrammer 9dc7934603 Expect single explicit version for single-version range 2026-07-17 16:58:26 +08:00
CPTProgrammer 758d5c0207 Add GitHub-style Markdown editor to PublishModal 2026-07-17 16:09:03 +08:00
CPTProgrammer 659789b0dc Remove unused versionRanges state from MainPage 2026-07-17 15:59:08 +08:00
CPTProgrammer ea657c78b5 Use built-in Table rowSelection 2026-07-16 20:43:00 +08:00
CPTProgrammer 9d63c2028f Add Modrinth/CurseForge MC version ranges to publish modal
Compute per-platform version ranges using each platform's available MC
version list and display them as tags in the publish modal.
2026-07-16 20:26:13 +08:00
CPTProgrammer 54d6a7659a Propagate MC version ranges from VersionTable to PublishModal 2026-07-16 16:05:13 +08:00
CPTProgrammer 9a2305d5e0 Increase main content max-width 2026-07-16 15:35:08 +08:00
CPTProgrammer 95a3900aec Add platform icons to publish progress bars 2026-07-16 15:22:06 +08:00
CPTProgrammer 7bb932910a Use theme tokens for spacing and sizing and update PublishModal 2026-07-16 14:34:56 +08:00
CPTProgrammer 5f6cab6529 Add interactive version range display in VersionTable 2026-07-16 14:17:49 +08:00
CPTProgrammer e45db0ffc0 Update index.md 2026-07-16 13:20:29 +08:00
CPTProgrammer c39c135d91 Replace inline color spans with Typography.Text 2026-07-16 13:11:30 +08:00
CPTProgrammer 1cb0a444d0 Display filename in config selector options 2026-07-16 13:06:37 +08:00
CPTProgrammer 9a7e6a8934 Extract add config button and wrap selector with Flex 2026-07-16 13:02:51 +08:00
CPTProgrammer f90923736f Refactor config API to use filename-based identifiers 2026-07-16 12:30:51 +08:00
CPTProgrammer c21d67b130 Use project root constant instead of process.cwd() 2026-07-16 11:39:13 +08:00
CPTProgrammer 7173ef1149 Refactor environment selector with grouped options and descriptions 2026-07-16 11:18:20 +08:00
CPTProgrammer 269e7024a2 Add loader icons, colors, and sort order to ConfigModal selects 2026-07-15 22:16:12 +08:00
CPTProgrammer 80d664936a Add validation for Modrinth and CurseForge version fields 2026-07-15 13:28:42 +08:00
CPTProgrammer f1447a3b91 Fix stale prevRef blocking cross-def change detection 2026-07-15 13:05:46 +08:00
CPTProgrammer 5bea485378 Add debounce configuration to field validation definitions 2026-07-15 12:51:36 +08:00
CPTProgrammer c1f07cc31e Add dynamic field validation for Modrinth and CurseForge lists 2026-07-15 12:38:50 +08:00
CPTProgrammer 79d21571d9 Restrict schema parsing to a subset of fields 2026-07-15 09:58:36 +08:00
CPTProgrammer f2f5db5c17 Add project ID field to dependency configuration 2026-07-14 18:15:17 +08:00
CPTProgrammer c265b2405b Make mod link fields nullable and optional 2026-07-14 17:10:11 +08:00
CPTProgrammer 3b077d75f4 Add missing file status values and make gameVersionTypeId nullable 2026-07-14 16:39:16 +08:00
CPTProgrammer 52ef5bf927 Add Modrinth and CurseForge project ID lookup to field validation 2026-07-14 14:29:56 +08:00
CPTProgrammer 9658773fa2 Make nullable fields optional in CurseForge schemas 2026-07-13 19:07:32 +08:00
CPTProgrammer 9a15a99ba1 Add CurseForge and Modrinth project retrieval APIs 2026-07-13 18:58:49 +08:00
CPTProgrammer 296b69bf1c Split CurseForge API token into separate legacy and new tokens 2026-07-13 18:42:29 +08:00
CPTProgrammer 691ae86e00 Update Modrinth API documentation 2026-07-13 16:42:52 +08:00
CPTProgrammer b778ebc1d8 Update CurseForge API documentation 2026-07-13 16:18:52 +08:00
CPTProgrammer 750f2a18f8 Add field validation engine with per-field debounce
Introduce useFieldValidations hook and ValidatedFormItem component
driven by declarative StaticValidationDef arrays. Four server actions
scan the project directory to validate MC properties dir, version field,
artifact and source filename templates in real time.
2026-07-13 12:59:03 +08:00
CPTProgrammer d79af724e3 Add default filename and source filename format values 2026-07-13 10:08:45 +08:00
CPTProgrammer c996e772c8 Fix EventEmitter import and tsconfig paths
Update the EventEmitter import to use named import syntax.
Correct tsconfig baseUrl and paths mapping to properly resolve
`@/*` aliases from the project root.
2026-07-13 10:00:20 +08:00
CPTProgrammer 7aa84fd41e Refactor type-safe constants and extract utility helpers 2026-07-13 09:29:00 +08:00