Skip to content

Conversation

@dwesolow
Copy link

📝 Description

This PR introduces project management that displays list of the projects and current project in the navbar.
On Tuesday we will discuss adding a projects list when opening an app without project id included in the URL. After that meeting I'll add all the necessary changes but this PR is fine to go at the moment.

image

✨ Changes

Select what type of change your PR is:

  • 🚀 New feature (non-breaking change which adds functionality)
  • 🐞 Bug fix (non-breaking change which fixes an issue)
  • 🔄 Refactor (non-breaking change which refactors the code base)
  • ⚡ Performance improvements
  • 🎨 Style changes (code style/formatting)
  • 🧪 Tests (adding/modifying tests)
  • 📚 Documentation update
  • 📦 Build system changes
  • 🚧 CI/CD configuration
  • 🔧 Chore (general maintenance)
  • 🔒 Security update
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)

✅ Checklist

Before you submit your pull request, please make sure you have completed the following steps:

  • 📚 I have made the necessary updates to the documentation (if applicable).
  • 🧪 I have written tests that support my changes and prove that my fix is effective or my feature works (if applicable).
  • 🏷️ My PR title follows conventional commit format.

For more information about code review checklists, see the Code Review Checklist.

@dwesolow dwesolow self-assigned this Sep 29, 2025
@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Contributor

@MarkRedeman MarkRedeman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some minor comments but they are not intended as blockers (some stuff depends on how we want to make project management be consistent across all the apps).

onPress={addProject}
>
<AddCircle />
<Text marginX='size-50'>Add project</Text>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Later on I'd expect this to open a small dialog where the user can fill in the project name.

},
});

onSetProjectInEdition(newProjectId);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd expect the user to be redirected to the new project here.

"baseUrl": ".",
"paths": {
"@geti-inspect/icons": ["./src/assets/icons"]
"@geti-inspect/icons": ["./src/assets/icons"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

np: personally I'm not a huge fan of having absolute imports for these because it makes it harder to copy over code from inspect to the other applications and vice versa.
As an example: last time when I copied the project list panel component from prompt to action I had to manually update the imports because they were using @geti-prompt. If instead they had used relative imports then it wouldn't require any changes.
This isn't a huge deal but might be worth considering. Personally I don't see a huge advantage of absolute imports as long as we keep our folder structure tidy.

<Text>{project.name}</Text>
</Flex>
)}
{/*<ProjectActions onAction={handleAction} />*/}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we can omit all the project actions' code for now and copy them in later?

@dwesolow dwesolow force-pushed the dwesolow/project-management branch from e027cef to 22fb224 Compare September 30, 2025 08:48
Comment on lines +42 to +44
useEffect(() => {
textFieldRef.current?.select();
}, []);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think alternatively you could use autofocus on the TextField.

Comment on lines +26 to +29
const projectToUpdate = projects.find((project) => project.id === projectId);
if (projectToUpdate?.name === newName || isEmpty(newName.trim())) {
return;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing seems to be happening here, maybe add a TODO, or an alert to remind ourselves?

path: paths.project.pattern,
element: (
<Suspense fallback={<Loading mode='fullscreen' />}>
<Suspense fallback={<IntelBrandedLoading />}>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: on thing I briefly mentioned to Joao is that we should add a variant={"spinner" | "intel-blocks"} option to our <Loading> component so that we can easily use both.

@dwesolow dwesolow merged commit b5ee13d into feature/geti-inspect Sep 30, 2025
14 of 17 checks passed
@dwesolow dwesolow deleted the dwesolow/project-management branch September 30, 2025 10:06
MarkRedeman pushed a commit that referenced this pull request Oct 8, 2025
* chore: Add project route

* feat: Add project management

* revert ui lock change

* chore: Remove not needed code for project management
camiloHimura pushed a commit to camiloHimura/anomalib that referenced this pull request Nov 11, 2025
* chore: Add project route

* feat: Add project management

* revert ui lock change

* chore: Remove not needed code for project management
maxxgx pushed a commit that referenced this pull request Nov 26, 2025
* chore: Add project route

* feat: Add project management

* revert ui lock change

* chore: Remove not needed code for project management
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants