Add Notes page with Google Sheet/zip import-export - #164
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new "Notes" step to the language pack wizard, positioned between Games and Export. Users can add free-text notes, view them listed in the order added with a sequential number and created/updated timestamps, edit them inline, and delete them (with confirmation). Notes also round-trip through the existing Google Sheet import/export flow and are included in the zip export.
Changes
Notes page (CRUD)
notestable migration (languagepackid,text, timestamps)Notemodel +LanguagePack::notes()relationNotesController(extendsBaseItemController) — list (paginated), add, inline bulk edit, and deletenotes.blade.phpview, following the existing Resources/Games page conventions, including a delete-confirmation step before removalGET/POST/PATCH/DELETEonlanguagepack/notes/{languagePack}langpacksteps.blade.php, wired intoExportController'scompletedSteps, andgames.blade.php's "Next" link now points to NotesGoogle Sheet & zip export/import
ExportSheetService::notesSheet()writes real data (#,Note,CreatedAt,UpdatedAt) to the "notes" tab instead of a static placeholderImportSheetService::saveNotes()imports the notes tab back into thenotestable, defaultingcreated_at/updated_atto the current datetime when sheet values are emptyGenerateZipExportService::generateNotesFile()writesaa_notes.txt(tab-delimited, same format as otheraa_*.txtfiles) into the zip exportTests
NotesControllerTest— list ordering, add, edit, delete, cancel delete, and the checkbox → confirmation flowExportServiceTest—aa_notes.txtcontent and timestamp defaultsImportSheetServiceTest— imported notes keep provided timestamps and default missing onesTesting
All new and existing tests pass: