mirror of
https://github.com/portainer/portainer.git
synced 2025-07-25 00:09:40 +02:00
fix(ingress): loading and ui fixes [EE-5132] (#9959)
This commit is contained in:
parent
e400c4dfc6
commit
d0ecf6c16b
10 changed files with 309 additions and 174 deletions
19
app/react/components/InlineLoader/InlineLoader.stories.tsx
Normal file
19
app/react/components/InlineLoader/InlineLoader.stories.tsx
Normal file
|
@ -0,0 +1,19 @@
|
|||
import { Story, Meta } from '@storybook/react';
|
||||
import { PropsWithChildren } from 'react';
|
||||
|
||||
import { InlineLoader, Props } from './InlineLoader';
|
||||
|
||||
export default {
|
||||
title: 'Components/InlineLoader',
|
||||
component: InlineLoader,
|
||||
} as Meta;
|
||||
|
||||
function Template({ className, children }: PropsWithChildren<Props>) {
|
||||
return <InlineLoader className={className}>{children}</InlineLoader>;
|
||||
}
|
||||
|
||||
export const Primary: Story<PropsWithChildren<Props>> = Template.bind({});
|
||||
Primary.args = {
|
||||
className: 'test-class',
|
||||
children: 'Loading...',
|
||||
};
|
23
app/react/components/InlineLoader/InlineLoader.tsx
Normal file
23
app/react/components/InlineLoader/InlineLoader.tsx
Normal file
|
@ -0,0 +1,23 @@
|
|||
import { Loader2 } from 'lucide-react';
|
||||
import { PropsWithChildren } from 'react';
|
||||
import clsx from 'clsx';
|
||||
|
||||
import { Icon } from '@@/Icon';
|
||||
|
||||
export type Props = {
|
||||
className: string;
|
||||
};
|
||||
|
||||
export function InlineLoader({
|
||||
children,
|
||||
className,
|
||||
}: PropsWithChildren<Props>) {
|
||||
return (
|
||||
<div
|
||||
className={clsx('text-muted flex items-center gap-2 text-sm', className)}
|
||||
>
|
||||
<Icon icon={Loader2} className="animate-spin-slow" />
|
||||
{children}
|
||||
</div>
|
||||
);
|
||||
}
|
1
app/react/components/InlineLoader/index.ts
Normal file
1
app/react/components/InlineLoader/index.ts
Normal file
|
@ -0,0 +1 @@
|
|||
export { InlineLoader } from './InlineLoader';
|
Loading…
Add table
Add a link
Reference in a new issue