- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
32 lines
1022 B
JavaScript
32 lines
1022 B
JavaScript
import React, { Children } from 'react';
|
|
import { TransitionGroup } from 'react-transition-group';
|
|
import PropTypes from 'prop-types';
|
|
import AnimateGroupChild from './AnimateGroupChild';
|
|
function AnimateGroup(props) {
|
|
var component = props.component,
|
|
children = props.children,
|
|
appear = props.appear,
|
|
enter = props.enter,
|
|
leave = props.leave;
|
|
return /*#__PURE__*/React.createElement(TransitionGroup, {
|
|
component: component
|
|
}, Children.map(children, function (child, index) {
|
|
return /*#__PURE__*/React.createElement(AnimateGroupChild, {
|
|
appearOptions: appear,
|
|
enterOptions: enter,
|
|
leaveOptions: leave,
|
|
key: "child-".concat(index) // eslint-disable-line
|
|
}, child);
|
|
}));
|
|
}
|
|
AnimateGroup.propTypes = {
|
|
appear: PropTypes.object,
|
|
enter: PropTypes.object,
|
|
leave: PropTypes.object,
|
|
children: PropTypes.oneOfType([PropTypes.array, PropTypes.element]),
|
|
component: PropTypes.any
|
|
};
|
|
AnimateGroup.defaultProps = {
|
|
component: 'span'
|
|
};
|
|
export default AnimateGroup; |