I have a problem exporting user data, for export 'currentUserData' and 'triggerUpdate' to 'ContentDashboardUser'. ContentDashboardUser.svelte
<script lang="ts">
import { scale } from 'svelte/transition';
import type { User } from '$models/interfaces/user.interface';
export let currentUserData: User;
export let triggerUpdate: (e: Event) => Promise<void>;
</script>
<div class="container" transition:scale|local={{ start: 0.7, delay: 500 }}>
<h1>{currentUserData.username}</h1>
</div>
+page.svelte
<script lang="ts">
import DashboardPage from '$ui/Page/DashboardPage.svelte';
import ContentDashboardUser from './ContentDashboardUser.svelte';
import { UpdateField } from '$lib/utils/requestUtils';
import { nodeBefore } from '$lib/helpers/whitespacesHelper';
import { variables } from '$lib/utils/constants';
import type { User, UserResponse } from '$models/interfaces/user.interface';
export let data: any;
const url = `${variables.BASE_API_URI}/v1/user/`;
let updateResponse: UserResponse;
let triggerUpdate = async (e: Event) => {
const sibling = nodeBefore(<HTMLElement>e.target);
if (sibling) {
const [res, err] = await UpdateField(sibling.name, sibling.value, url);
if (err.length <= 0) {
updateResponse = res;
}
}
};
let currentUserData: User;
$: data.userResponse,
(() => {
currentUserData = data.userResponse;
if (updateResponse && updateResponse.user) {
currentUserData = updateResponse.user;
}
})();
</script>
<DashboardPage props={{ contentComponent: ContentDashboardUser }} />
I tried a solution to send data to DashboardPage but it didn't work +page.svelte
...
<DashboardPage props={{ contentComponent: ContentDashboardUser, triggerUpdate, currentUserData }} />
DashboardPage.svelte
...
interface DashboardPageProps {
contentComponent: any;
currentUserData: User;
triggerUpdate: (e: Event) => Promise<void>;
}
export let props: DashboardPageProps;
...