Introduced a new CopycatWarningToast component that displays a warning about copycat sites. The toast appears at the top-center of the screen and can be dismissed, with the dismissal state stored in local storage to prevent reappearing. Integrated the component into the RootLayout for global visibility.
- Moved the search function to the JSON editor for better organization.
- Improved search functionality in the command menu with a new filtering approach.
- Cleaned up unused imports and optimized state management.
- Enhanced user experience by refining the search results display and handling.
- Updated error handling for JSON import and file reading processes.
Allow users to import scripts into the JSON editor via local file
upload or by selecting from the existing script library.
- Dropdown toggle for 'Local' and 'Library' import sources.
- Script selection dialog with category and search filters.
- Global search using the existing command menu logic.
* fix(frontend): implement weighted search scoring for command menu
The previous cmdk search was filtered correctly but then sorted by category
order rather than match strength. This caused "Dokpoly" to appear above
"Traefik", if you searched for Traefik, simply because its category (Containers) comes before Traefik's
category alphabetically.
- Flatten search results into a single "Search Results" group.
- Implement scoring to prioritize name matches over descriptions.
- Revert to category grouping only when the search query is empty.
* perf(frontend): optimize search logic
Limiting the results to 20 helps a lot.
When a user searches for a script that does not exist, the CommandMenu
now displays a link to the contribution guide. This encourages community
contributions.
* fix: enhance back navigation in NotFoundPage component
* chore: update dependencies and refactor imports
- Updated `framer-motion` to version `12.23.12` in `package.json` and `bun.lock`.
- Removed unused dependencies: `fuse.js`, `react-code-blocks`, `react-datepicker`, `pocketbase`, `simple-icons`.
- Refactored import in `number-ticker.tsx` to use `motion/react` instead of `framer-motion`.
- Removed CSS import for `react-datepicker` in `page.tsx`.
* fix: update NotFoundPage redirection to use basePath from site-config
- Modified the redirection logic in NotFoundPage to use the basePath variable.
- Set default basePath to "ProxmoxVE" in site-config for improved routing consistency.
* update bun.lock
* Refactor MobileSidebar to manage script and category selection based on current pathname. Introduced temporary state for non-scripts pages and updated logic for last viewed script handling. Improved accessibility by ensuring proper aria attributes and class management.
* Update API endpoint paths in data.ts to include ProxmoxVE prefix for category and version fetching functions.
* Refactor Navbar component layout for improved structure and responsiveness. Adjusted flex properties to ensure proper alignment of elements, enhancing the mobile and desktop user experience. Updated accessibility features and ensured consistent use of TailwindCSS classes.
* Update GitHubStarsButton component to be hidden on smaller screens
* feat: added a mobile navigation to the front-end.
* refactor: replace useQueryState with useSuspenseQueryState in ScriptContent and MobileSidebar components; add use-suspense-query-state hook
* Revert "refactor: replace useQueryState with useSuspenseQueryState in ScriptContent and MobileSidebar components; add use-suspense-query-state hook"
This reverts commit bfad01fc91.
* refactor: wrap MobileSidebar component in Suspense for improved loading handling
* Update mobile-sidebar.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: enhance github stars button to be better looking and more compact to make mobile compatibility easier in the future
* feat: introduce a new Button component
* Removed double entries from the search to improve navigation
* change input on search field to improve searchability
* added type to search to make sure that LXC and VM's dont get mixed up
* run linting over changes
---------
Co-authored-by: Bram Suurd <bram.suurd@infracom.nl>
* Update ScriptAccordion and ScriptItem components for improved styling
* Add README.md for Proxmox VE Helper-Scripts Frontend
* Remove testing dependencies and related test files from the frontend project
* Update analytics URL in siteConfig to point to community-scripts.org
* Refactor ESLint configuration to have one source of truth and run "npm lint" to apply new changes
* Update lint script in package.json to remove npm
* Add 'next' option to ESLint configuration for improved compatibility
* Update package dependencies and versions in package.json and package-lock.json
* Refactor theme provider import and enhance calendar component for dynamic icon rendering
* rename sidebar, alerts and buttons
* rename description and interfaces files
* rename more files
* change folder name
* Refactor tooltip logic to improve updateable condition handling
* Enhance CommandMenu to prevent duplicate scripts across categories
* Remove test step from frontend CI/CD workflow
* Refactor Tooltips component to use BadgeProps for variant type and enhance updateable logic with failure state
* Update tooltip content in Tooltips component to clarify update process for non-updateable scripts
* Refactor Tooltips component to make content optional and improve conditional rendering for better UX
* Refactor conditional rendering in Tooltips component to simplify updateable logic and enhance clarity for non-updateable scripts
* Refactor TooltipBadge component in Tooltips to enhance readability and streamline conditional rendering for privileged and non-updateable states
* Update @radix-ui/react-tooltip to version 1.2.0 and update tooltip component
* Implement FAQ component and integrate it into the main page; update package-lock.json for development dependencies.
* Adjust Footer component padding for improved layout consistency
* Update FAQ section div to include an ID for improved accessibility and navigation
* Adjust ScriptAccordion max height for improved layout consistency
* Remove default value from Accordion in FAQ component
* Refactor FAQ items for clarity and consistency; update titles and content for improved user understanding.
* Refactor FAQ component to use index as key for Accordion items; remove IDs from FAQ_Items for simplified mapping.
* Refactor ScriptItem and Buttons components to enhance layout and integrate dropdown for links. Update InterFaces component for improved styling and structure.
* Add React Query integration and enhance component structure
- Introduced `@tanstack/react-query` for data fetching and state management.
- Added `QueryProvider` component to wrap the application with QueryClient.
- Refactored `ScriptItem` to utilize `useVersions` hook for fetching versions.
- Created `ResourceDisplay` and `VersionBadge` components for better resource representation.
- Improved layout and styling across various components, including `Alerts`, `Buttons`, and `DefaultPassword`.
- Updated `layout.tsx` to include the new `QueryProvider` for global state management.
* Remove bun.lock file to streamline dependency management and prevent potential conflicts.
* Update dependencies in package.json and package-lock.json
- Removed `@vercel/analytics` from dependencies.
- Upgraded `vitest` and related packages to version `3.1.1`.
- Updated various packages to their latest versions for improved performance and compatibility.
- Adjusted Node.js engine requirements to support newer versions.
* Update dependencies in package.json and package-lock.json
- Upgraded various Radix UI components to their latest versions for improved functionality and performance.
- Updated `chart.js`, `class-variance-authority`, `cmdk`, `framer-motion`, `fuse.js`, `nuqs`, `pocketbase`, and other packages to their latest versions.
- Enhanced TypeScript and ESLint packages for better type checking and linting capabilities.
- Updated Tailwind CSS and related plugins for improved styling and utility classes.
- Adjusted Node.js engine requirements in several packages to support newer versions.
It's much more semantic to use the `<button />` HTML component rather
than trying to build the same functionality out of a `<div />` so that's
what is updated here.
This also updates some of the classes that were on the button as they're
no longer required and removes some commented out code that doesn't need
to be left around.
There was also a `<span />` with the contents "Copy" that I couldn't
work out when it was meant to be displayed, so I swapped that over to an
HTML tooltip on the `<button />`.
* Update mariadb.json
* Update vaultwarden.json
* Update vaultwarden.json
* Update keycloak.json
* Update json/keycloak.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update mariadb.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Add canonical link to layout for improved SEO and page indexing
* Fix image source fallback for script logos to use a consistent relative path
* Fix image source for script logos across components to consistently use the "/ProxmoxVE/logo.png" path
* Update image source for script logos to use basePath for consistent paths across all components
* Fix image source for script logos to ensure leading slash is consistent for all components' paths
* Add JSON generator component with validation and UI elements for managing scripts, categories, and installation methods
* Add calendar and label components; enhance JSON generator with date selection and script path updates for installation methods
* Enhance Alerts component with dynamic colored notes using AlertColors from config for better visibility and consistency
* Remove MultiSelect component
* Update JSON generator: streamline install methods, enhance note type selection, and refine button behavior for better UX
* Refactor AlertColors: unify warning and danger styles for consistency and improved visual hierarchy in alerts
* Enhance JSONGenerator: improve SelectItem layout with color indicators for better visual representation of alert types
* Refactor JSON schema definitions in JSONGenerator: separate InstallMethod and Note schemas for better structure and readability
* Fix JSONGenerator: streamline SelectItem markup and enhance JSON display layout for improved readability and user experience
* Refactor JSON schema handling: move schema definitions to separate file
* Enhance error handling in JSONGenerator: display Zod validation errors on user input for better feedback and debugging
* Export InstallMethodSchema and integrate into JSONGenerator for better validation of install method data input
* Add Categories and Note components to JSONGenerator for better organization and modularity in the JSON editing interface
* Remove unused imports
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update mariadb.json
* Update vaultwarden.json
* Update vaultwarden.json
* Update keycloak.json
* Update json/keycloak.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update mariadb.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Add canonical link to layout for improved SEO and page indexing
* Fix image source fallback for script logos to use a consistent relative path
* Fix image source for script logos across components to consistently use the "/ProxmoxVE/logo.png" path
* Update image source for script logos to use basePath for consistent paths across all components
* Fix image source for script logos to ensure leading slash is consistent for all components' paths
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>