[to test AI review bots] Add editor app for editing blogs and job posts (#880)#1
Open
brendanator wants to merge 1 commit into
Conversation
Author
|
This pull request was cloned from |
Author
|
@sourcery-ai review |
There was a problem hiding this comment.
Caution
Changes requested ❌
Reviewed everything up to f7c59e6 in 2 minutes and 57 seconds. Click for details.
- Reviewed
1450lines of code in40files - Skipped
2files when reviewing. - Skipped posting
6draft comments. View those below. - Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. apps/editor/src/pages/api/jobs/[slug]/index.ts:54
- Draft comment:
In the PUT case, the response property is incorrectly named 'blog' instead of 'job'. - Reason this comment was not posted:
Marked as duplicate.
2. apps/editor/README.md:11
- Draft comment:
Consider capitalizing 'docker' to 'Docker' on line 11, as it is a proper noun referring to the Docker platform. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% While technically correct that Docker is often capitalized as a proper noun, this is a minor stylistic issue in documentation. The meaning is perfectly clear either way. The rules state not to make comments that are obvious or unimportant, and to only comment if there's clearly a code change required. Documentation consistency could be important for professionalism. Some might argue that proper capitalization of product names shows attention to detail. While proper capitalization is nice, this is too minor of an issue to warrant a PR comment. It doesn't affect functionality or understanding. Delete this comment as it's too minor and purely stylistic, not meeting the threshold for "clearly a code change required."
3. apps/editor/src/components/BodyEditor.tsx:94
- Draft comment:
The class name 'text-size-sm' on line 94 seems unusual. If you intended to use a Tailwind CSS class for small text, it should likely be 'text-sm'. Please verify if this is intentional or a typo. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 0% vs. threshold = 50% The rules explicitly state "Do NOT comment on any pure frontend UI or styling changes, only logic. Assume that if the author changed the UI, they did it correctly." This is purely about CSS class naming for text size styling, which falls under UI changes. Even if the class name is non-standard, we should trust that the author has their reasons (maybe a custom Tailwind configuration or CSS utility class). The class name does look non-standard for Tailwind, and fixing it could prevent confusion for other developers. Maybe this is worth keeping for code consistency? No - the rules are very clear about not commenting on UI and styling changes. We must trust the author's UI decisions, including their choice of CSS class names. Delete this comment as it violates the rule about not commenting on UI and styling changes.
4. apps/editor/src/components/MarkdownEditor.tsx:106
- Draft comment:
Minor typographical error: The className 'text-size-xs' (line 106) might be a typo. If you're using Tailwind CSS, it is likely intended to be 'text-xs'. Please confirm and update accordingly. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
5. apps/editor/src/pages/api/jobs/[slug]/index.ts:56
- Draft comment:
Typo Alert: In the PUT branch, the returned object uses the key 'blog' (line 56) for the updated job posting. For consistency with the rest of the file and the response schema, it should be renamed to 'job'. - Reason this comment was not posted:
Marked as duplicate.
6. libraries/ui/src/default-config/tailwind.css:139
- Draft comment:
Typographical error: 'psuedoelement' should be spelled 'pseudoelement' for clarity. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
Workflow ID: wflow_K7hFnCiZ68RvA5aU
You can customize by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
| }); | ||
| return { | ||
| type: 'success' as const, | ||
| blog: updatedJob, |
There was a problem hiding this comment.
Return property should be 'job' not 'blog'.
Suggested change
| blog: updatedJob, | |
| job: updatedJob, |
| useEffect(() => { | ||
| const handleBeforeUnload = (e: BeforeUnloadEvent) => { | ||
| if (hasUnsavedChanges) { | ||
| e.preventDefault(); |
There was a problem hiding this comment.
Consider setting e.returnValue (e.g. e.returnValue = '') in the beforeunload handler to reliably trigger the unsaved changes confirmation.
Suggested change
| e.preventDefault(); | |
| e.returnValue = ''; |
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.
User description
Important
Add new
editorapp for managing blogs and job posts with Markdown editing, file uploads, and Airtable integration.editorapp for managing blogs and job posts with Markdown editing and image upload.BodyEditorandMarkdownEditorcomponents for content editing.index.tsand[slug]/index.tsfor blogs and jobs with CRUD operations.presigned-upload.ts..env.local.templateand.env.test.libraries/ui/src/default-config/tailwind.css.MarkdownEditorinMarkdownEditor.test.tsx.MarkdownEditorinMarkdownEditor.stories.tsx.README.mdwith setup and deployment instructions.This description was created by
for f7c59e6. You can customize this summary. It will automatically update as commits are pushed.
CodeAnt-AI Description
editorapp for managing and editing blogs and job postings, including all core pages, API routes, and components.This PR introduces a full-featured editor app for BlueDot staff to manage content, including a custom Markdown editor with image upload, Airtable integration, and all necessary infrastructure for deployment and testing. It also improves code sharing and styling consistency across the codebase.
Changes walkthrough
23 files
MarkdownEditor.tsx
Add image upload and embed support to MarkdownEditor componentapps/editor/src/components/MarkdownEditor.tsx
uploadFileprop.MarkdownEditorPropstype.BodyEditor.tsx
Add BodyEditor component with file upload and save logicapps/editor/src/components/BodyEditor.tsx
BodyEditorcomponent for editing and saving markdowncontent.
BaseLayout.tsx
Add BaseLayout component with navigationapps/editor/src/components/BaseLayout.tsx
postings.
index.ts
Add API route for listing blog postsapps/editor/src/pages/api/blogs/index.ts
index.ts
Add API route for fetching and updating single blog postapps/editor/src/pages/api/blogs/[slug]/index.ts
index.ts
Add API route for listing job postingsapps/editor/src/pages/api/jobs/index.ts
index.ts
Add API route for fetching and updating single job postingapps/editor/src/pages/api/jobs/[slug]/index.ts
presigned-upload.ts
Add presigned S3 upload API route for file uploadsapps/editor/src/pages/api/presigned-upload.ts
uploads.
status.ts
Add status API endpointapps/editor/src/pages/api/status.ts
index.tsx
Add blog posts listing page with edit linksapps/editor/src/pages/blogs/index.tsx
[slug].tsx
Add blog post editor pageapps/editor/src/pages/blogs/[slug].tsx
index.tsx
Add job postings listing page with edit linksapps/editor/src/pages/jobs/index.tsx
[slug].tsx
Add job posting editor pageapps/editor/src/pages/jobs/[slug].tsx
index.tsx
Add home page redirect to blogsapps/editor/src/pages/index.tsx
index.tsx
Add login redirect pageapps/editor/src/pages/login/index.tsx
oauth-callback.tsx
Add OAuth callback page for loginapps/editor/src/pages/login/oauth-callback.tsx
index.ts
Add AirtableTs database instanceapps/editor/src/lib/api/db/index.ts
tables.ts
Define Airtable schemas for blogs and job postingsapps/editor/src/lib/api/db/tables.ts
env.ts
Add environment variable validation for APIapps/editor/src/lib/api/env.ts
secrets.
makeApiRoute.ts
Add helper for authenticated API routesapps/editor/src/lib/api/makeApiRoute.ts
token verification.
_app.tsx
Add custom App component with layout and SSR configapps/editor/src/pages/_app.tsx
tailwind.css
Move prose utility styles to shared UI librarylibraries/ui/src/default-config/tailwind.css
globals.css
Remove prose utility styles from website globalsapps/website/src/globals.css
3 files
MarkdownEditor.test.tsx
Add unit tests for MarkdownEditor componentapps/editor/src/components/MarkdownEditor.test.tsx
actions.
MarkdownEditor.stories.tsx
Add Storybook stories for MarkdownEditor componentapps/editor/src/components/MarkdownEditor.stories.tsx
content.
status.test.ts
Add test for status API endpointapps/editor/src/pages/api/status.test.ts
12 files
next.config.js
Add Next.js configuration fileapps/editor/next.config.js
postcss.config.js
Add PostCSS configuration for Tailwind CSSapps/editor/postcss.config.js
globals.css
Add global CSS imports for Tailwind and typographyapps/editor/src/globals.css
package.json
Add package.json for editor app dependencies and scriptsapps/editor/package.json
the editor app.
tsconfig.json
Add TypeScript configuration for editor appapps/editor/tsconfig.json
vitest.config.mjs
Add Vitest configuration for editor appapps/editor/vitest.config.mjs
tiptap-starter-kit.
Dockerfile
Add Dockerfile for editor app deploymentapps/editor/Dockerfile
production.
.env.local.template
Add .env.local.template for environment variablesapps/editor/.env.local.template
.env.test
Add .env.test for test environment variablesapps/editor/.env.test
next-env.d.ts
Add Next.js type definitionsapps/editor/next-env.d.ts
serviceDefinitions.ts
Add Kubernetes service definition for bluedot-editor appapps/infra/src/k8s/serviceDefinitions.ts
bluedot-editorapp in Kubernetes.vitest.config.mjs
Simplify Vitest config for website appapps/website/vitest.config.mjs
tiptap-starter-kit.
1 files
README.md
Add README for editor app setup and deploymentapps/editor/README.md
app.
1 files
package.json
Remove markdown editor dependencies from website package.jsonapps/website/package.json
package.json.
💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.
Summary by Sourcery
Create a new editor app for managing blogs and job posts, providing a comprehensive content management interface with Markdown editing, file uploads, and Airtable integration
New Features:
Enhancements:
Deployment:
Documentation:
Tests:
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Style
Chores
Refactor