svelte-firekit 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -87
- package/dist/{firebase/auth → auth}/auth.js +1 -2
- package/dist/auth/user.svelte.d.ts +94 -0
- package/dist/auth/user.svelte.js +134 -0
- package/dist/config.d.ts +2 -2
- package/dist/config.js +44 -28
- package/dist/{firebase/firebase.d.ts → firebase.d.ts} +1 -2
- package/dist/{firebase/firebase.js → firebase.js} +1 -4
- package/dist/{firebase/firestore → firestore}/awaitable-doc.svelte.js +1 -1
- package/dist/{firebase/firestore → firestore}/collection.svelte.js +1 -1
- package/dist/{firebase/firestore → firestore}/doc.svelte.js +1 -1
- package/dist/{firebase/firestore → firestore}/document-mutations.svelte.js +11 -11
- package/dist/index.d.ts +10 -23
- package/dist/index.js +10 -28
- package/package.json +10 -26
- package/dist/auth/auth.svelte +0 -65
- package/dist/auth/auth.svelte.d.ts +0 -2
- package/dist/auth/require-auth.svelte +0 -52
- package/dist/auth/require-auth.svelte.d.ts +0 -11
- package/dist/auth/require-no-auth.svelte +0 -42
- package/dist/auth/require-no-auth.svelte.d.ts +0 -6
- package/dist/auth/reset-password.svelte +0 -32
- package/dist/auth/reset-password.svelte.d.ts +0 -8
- package/dist/auth/sign-in.svelte +0 -58
- package/dist/auth/sign-in.svelte.d.ts +0 -14
- package/dist/auth/sign-up.svelte +0 -69
- package/dist/auth/sign-up.svelte.d.ts +0 -17
- package/dist/components/app/nav/app-sidebar.svelte +0 -35
- package/dist/components/app/nav/app-sidebar.svelte.d.ts +0 -8
- package/dist/components/app/nav/breadcrumb.svelte +0 -42
- package/dist/components/app/nav/breadcrumb.svelte.d.ts +0 -19
- package/dist/components/auth/google-sign-in.svelte +0 -62
- package/dist/components/auth/google-sign-in.svelte.d.ts +0 -4
- package/dist/components/auth/reset-password-form.svelte +0 -59
- package/dist/components/auth/reset-password-form.svelte.d.ts +0 -4
- package/dist/components/auth/sign-in-form.svelte +0 -94
- package/dist/components/auth/sign-in-form.svelte.d.ts +0 -8
- package/dist/components/auth/sign-up-form.svelte +0 -136
- package/dist/components/auth/sign-up-form.svelte.d.ts +0 -11
- package/dist/components/auth/user-button/profile-section/avatar-user.svelte +0 -107
- package/dist/components/auth/user-button/profile-section/avatar-user.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/profile-section/connect-user.svelte +0 -45
- package/dist/components/auth/user-button/profile-section/connect-user.svelte.d.ts +0 -18
- package/dist/components/auth/user-button/profile-section/email-user.svelte +0 -81
- package/dist/components/auth/user-button/profile-section/email-user.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/profile-section/phone-user.svelte +0 -122
- package/dist/components/auth/user-button/profile-section/phone-user.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/profile-section/profile-section.svelte +0 -17
- package/dist/components/auth/user-button/profile-section/profile-section.svelte.d.ts +0 -18
- package/dist/components/auth/user-button/settings-dialog.svelte +0 -88
- package/dist/components/auth/user-button/settings-dialog.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/type-account.svelte +0 -35
- package/dist/components/auth/user-button/type-account.svelte.d.ts +0 -4
- package/dist/components/auth/user-button/user-button.svelte +0 -131
- package/dist/components/auth/user-button/user-button.svelte.d.ts +0 -5
- package/dist/components/firestore/collection.svelte +0 -45
- package/dist/components/firestore/collection.svelte.d.ts +0 -25
- package/dist/components/firestore/doc.svelte +0 -39
- package/dist/components/firestore/doc.svelte.d.ts +0 -25
- package/dist/components/nav/app-sidebar.svelte +0 -46
- package/dist/components/nav/app-sidebar.svelte.d.ts +0 -8
- package/dist/components/nav/breadcrumb.svelte +0 -42
- package/dist/components/nav/breadcrumb.svelte.d.ts +0 -19
- package/dist/components/nav/dark-mode-toggle.svelte +0 -16
- package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
- package/dist/components/nav/nav-main.svelte +0 -70
- package/dist/components/nav/nav-main.svelte.d.ts +0 -18
- package/dist/components/nav/nav.d.ts +0 -11
- package/dist/components/nav/nav.js +0 -157
- package/dist/components/nav/search-form.svelte +0 -21
- package/dist/components/nav/search-form.svelte.d.ts +0 -4
- package/dist/components/nav/version-switcher.svelte +0 -48
- package/dist/components/nav/version-switcher.svelte.d.ts +0 -5
- package/dist/components/public/footer-main.svelte +0 -0
- package/dist/components/public/footer-main.svelte.d.ts +0 -26
- package/dist/components/public/nav-main.svelte +0 -136
- package/dist/components/public/nav-main.svelte.d.ts +0 -18
- package/dist/components/storage/upload.svelte +0 -134
- package/dist/components/storage/upload.svelte.d.ts +0 -11
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +0 -13
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +0 -17
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +0 -23
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +0 -2
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +0 -16
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +0 -20
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +0 -4
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +0 -20
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +0 -4
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +0 -19
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +0 -18
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/index.js +0 -15
- package/dist/components/ui/avatar/avatar-fallback.svelte +0 -16
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -3
- package/dist/components/ui/avatar/avatar-image.svelte +0 -20
- package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -3
- package/dist/components/ui/avatar/avatar.svelte +0 -18
- package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -3
- package/dist/components/ui/avatar/index.d.ts +0 -4
- package/dist/components/ui/avatar/index.js +0 -6
- package/dist/components/ui/badge/badge.svelte +0 -49
- package/dist/components/ui/badge/badge.svelte.d.ts +0 -59
- package/dist/components/ui/badge/index.d.ts +0 -2
- package/dist/components/ui/badge/index.js +0 -2
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -16
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -10
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -15
- package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/index.d.ts +0 -8
- package/dist/components/ui/breadcrumb/index.js +0 -10
- package/dist/components/ui/button/button.svelte +0 -75
- package/dist/components/ui/button/button.svelte.d.ts +0 -117
- package/dist/components/ui/button/index.d.ts +0 -2
- package/dist/components/ui/button/index.js +0 -4
- package/dist/components/ui/card/card-content.svelte +0 -16
- package/dist/components/ui/card/card-content.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-description.svelte +0 -16
- package/dist/components/ui/card/card-description.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-footer.svelte +0 -16
- package/dist/components/ui/card/card-footer.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-header.svelte +0 -16
- package/dist/components/ui/card/card-header.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-title.svelte +0 -25
- package/dist/components/ui/card/card-title.svelte.d.ts +0 -7
- package/dist/components/ui/card/card.svelte +0 -20
- package/dist/components/ui/card/card.svelte.d.ts +0 -4
- package/dist/components/ui/card/index.d.ts +0 -7
- package/dist/components/ui/card/index.js +0 -9
- package/dist/components/ui/checkbox/checkbox.svelte +0 -33
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -3
- package/dist/components/ui/checkbox/index.d.ts +0 -2
- package/dist/components/ui/checkbox/index.js +0 -4
- package/dist/components/ui/collapsible/index.d.ts +0 -5
- package/dist/components/ui/collapsible/index.js +0 -7
- package/dist/components/ui/dialog/dialog-content.svelte +0 -36
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -6
- package/dist/components/ui/dialog/dialog-description.svelte +0 -16
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-header.svelte +0 -20
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-overlay.svelte +0 -19
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/dialog-title.svelte +0 -16
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/index.d.ts +0 -12
- package/dist/components/ui/dialog/index.js +0 -14
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -40
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -6
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -22
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -19
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -11
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -23
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -18
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -23
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -30
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -16
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -19
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -28
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -5
- package/dist/components/ui/dropdown-menu/index.js +0 -17
- package/dist/components/ui/form/form-button.svelte +0 -7
- package/dist/components/ui/form/form-button.svelte.d.ts +0 -3
- package/dist/components/ui/form/form-description.svelte +0 -17
- package/dist/components/ui/form/form-description.svelte.d.ts +0 -3
- package/dist/components/ui/form/form-element-field.svelte +0 -30
- package/dist/components/ui/form/form-element-field.svelte.d.ts +0 -22
- package/dist/components/ui/form/form-field-errors.svelte +0 -30
- package/dist/components/ui/form/form-field-errors.svelte.d.ts +0 -5
- package/dist/components/ui/form/form-field.svelte +0 -30
- package/dist/components/ui/form/form-field.svelte.d.ts +0 -21
- package/dist/components/ui/form/form-fieldset.svelte +0 -21
- package/dist/components/ui/form/form-fieldset.svelte.d.ts +0 -19
- package/dist/components/ui/form/form-label.svelte +0 -21
- package/dist/components/ui/form/form-label.svelte.d.ts +0 -3
- package/dist/components/ui/form/form-legend.svelte +0 -17
- package/dist/components/ui/form/form-legend.svelte.d.ts +0 -3
- package/dist/components/ui/form/index.d.ts +0 -11
- package/dist/components/ui/form/index.js +0 -13
- package/dist/components/ui/input/index.d.ts +0 -2
- package/dist/components/ui/input/index.js +0 -4
- package/dist/components/ui/input/input.svelte +0 -22
- package/dist/components/ui/input/input.svelte.d.ts +0 -4
- package/dist/components/ui/label/index.d.ts +0 -2
- package/dist/components/ui/label/index.js +0 -4
- package/dist/components/ui/label/label.svelte +0 -19
- package/dist/components/ui/label/label.svelte.d.ts +0 -3
- package/dist/components/ui/separator/index.d.ts +0 -2
- package/dist/components/ui/separator/index.js +0 -4
- package/dist/components/ui/separator/separator.svelte +0 -22
- package/dist/components/ui/separator/separator.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/index.js +0 -14
- package/dist/components/ui/sheet/sheet-content.svelte +0 -52
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -59
- package/dist/components/ui/sheet/sheet-description.svelte +0 -16
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-header.svelte +0 -20
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-overlay.svelte +0 -19
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/sheet-title.svelte +0 -16
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -3
- package/dist/components/ui/sidebar/constants.d.ts +0 -6
- package/dist/components/ui/sidebar/constants.js +0 -6
- package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
- package/dist/components/ui/sidebar/context.svelte.js +0 -54
- package/dist/components/ui/sidebar/index.d.ts +0 -25
- package/dist/components/ui/sidebar/index.js +0 -27
- package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -10
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
- package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -10
- package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-input.svelte +0 -23
- package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -97
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -91
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -7
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -12
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -14
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -59
- package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
- package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -18
- package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -12
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -34
- package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -9
- package/dist/components/ui/sidebar/sidebar.svelte +0 -98
- package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -9
- package/dist/components/ui/skeleton/index.d.ts +0 -2
- package/dist/components/ui/skeleton/index.js +0 -4
- package/dist/components/ui/skeleton/skeleton.svelte +0 -17
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -4
- package/dist/components/ui/sonner/index.d.ts +0 -1
- package/dist/components/ui/sonner/index.js +0 -1
- package/dist/components/ui/sonner/sonner.svelte +0 -20
- package/dist/components/ui/sonner/sonner.svelte.d.ts +0 -3
- package/dist/components/ui/tooltip/index.js +0 -8
- package/dist/components/ui/tooltip/tooltip-content.svelte +0 -21
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -3
- package/dist/firebase/auth/auth-manager.svelte.d.ts +0 -85
- package/dist/firebase/auth/auth-manager.svelte.js +0 -386
- package/dist/firebase/config.d.ts +0 -2
- package/dist/firebase/config.js +0 -44
- package/dist/hooks/is-mobile.svelte.d.ts +0 -5
- package/dist/hooks/is-mobile.svelte.js +0 -23
- package/dist/schemas/reset-password.d.ts +0 -4
- package/dist/schemas/reset-password.js +0 -4
- package/dist/schemas/sign-in.d.ts +0 -5
- package/dist/schemas/sign-in.js +0 -5
- package/dist/schemas/sign-up.d.ts +0 -8
- package/dist/schemas/sign-up.js +0 -8
- package/dist/types/docs.d.ts +0 -50
- package/dist/types/docs.js +0 -1
- package/dist/types/nav.d.ts +0 -13
- package/dist/types/nav.js +0 -1
- package/dist/utils.d.ts +0 -29
- package/dist/utils.js +0 -92
- /package/dist/{firebase/auth → auth}/auth.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/awaitable-doc.svelte.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/collection.svelte.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/doc.svelte.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/document-mutations.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/download-url.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/download-url.svelte.js +0 -0
- /package/dist/{firebase/storage → storage}/storage-list.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/storage-list.svelte.js +0 -0
- /package/dist/{firebase/storage → storage}/upload-task.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/upload-task.svelte.js +0 -0
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import Button from "../../../ui/button/button.svelte";
|
|
3
|
-
import { firekitAuthManager } from "../../../../firebase/auth/auth-manager.svelte.js";
|
|
4
|
-
|
|
5
|
-
import Input from "../../../ui/input/input.svelte";
|
|
6
|
-
import { toast } from "svelte-sonner";
|
|
7
|
-
import intlTelInput from "intl-tel-input";
|
|
8
|
-
import { onMount } from "svelte";
|
|
9
|
-
|
|
10
|
-
let phoneNumber = ""; // Inicializa como una cadena vacía
|
|
11
|
-
let haserror = false;
|
|
12
|
-
let it: any = null;
|
|
13
|
-
let _phone: any = { valid: false, value: "", error: "" };
|
|
14
|
-
|
|
15
|
-
onMount(() => {
|
|
16
|
-
const input: HTMLInputElement | null =
|
|
17
|
-
document.querySelector("#phonenumberuser");
|
|
18
|
-
if (input) {
|
|
19
|
-
it = intlTelInput(input, {
|
|
20
|
-
utilsScript:
|
|
21
|
-
"https://cdn.jsdelivr.net/npm/intl-tel-input@24.7.0/build/js/utils.js",
|
|
22
|
-
separateDialCode: true,
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
// Si ya existe un número de teléfono, configúralo visualmente en el input
|
|
26
|
-
if (firekitAuthManager.data?.phoneNumber) {
|
|
27
|
-
it.setNumber(firekitAuthManager.data.phoneNumber);
|
|
28
|
-
phoneNumber = firekitAuthManager.data.phoneNumber;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
$effect(() => {
|
|
34
|
-
if (firekitAuthManager.data?.phoneNumber) {
|
|
35
|
-
_phone.value = firekitAuthManager.data.phoneNumber;
|
|
36
|
-
phoneNumber = firekitAuthManager.data.phoneNumber;
|
|
37
|
-
|
|
38
|
-
// Si intlTelInput está inicializado, actualiza el input con el valor
|
|
39
|
-
if (it) {
|
|
40
|
-
it.setNumber(firekitAuthManager.data.phoneNumber);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
async function handleChangePhoneNumber() {
|
|
46
|
-
if (it) {
|
|
47
|
-
_phone.value = it.getNumber();
|
|
48
|
-
_phone.error = it.getValidationError();
|
|
49
|
-
_phone.valid = it.isValidNumber();
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (!_phone.valid) {
|
|
53
|
-
toast.error("Phone number invalid.");
|
|
54
|
-
haserror = true;
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (_phone.value === firekitAuthManager.data?.phoneNumber) {
|
|
59
|
-
toast.error("The phone number is the same as your current phone number.");
|
|
60
|
-
haserror = true;
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
await firekitAuthManager.updateUserData({ phoneNumber: _phone.value });
|
|
65
|
-
await firekitAuthManager.updateProfileInfo({});
|
|
66
|
-
toast.success("Phone number updated successfully.");
|
|
67
|
-
haserror = false;
|
|
68
|
-
}
|
|
69
|
-
</script>
|
|
70
|
-
|
|
71
|
-
<section class="space-y-5 border-t-slate-200 border-t-[2px] pt-4">
|
|
72
|
-
<div class="grid sm:grid-cols-12 gap-y-1.5 sm:gap-y-0 sm:gap-x-5">
|
|
73
|
-
<div class="sm:col-span-4 xl:col-span-3">
|
|
74
|
-
<p
|
|
75
|
-
class="sm:mt-2.5 inline-block text-sm {haserror
|
|
76
|
-
? 'text-red-500'
|
|
77
|
-
: 'text-foreground-500'}"
|
|
78
|
-
>
|
|
79
|
-
Phone number
|
|
80
|
-
</p>
|
|
81
|
-
</div>
|
|
82
|
-
|
|
83
|
-
<div class="sm:col-span-8 xl:col-span-9">
|
|
84
|
-
<div class="flex flex-wrap j items-center gap-3 sm:gap-5">
|
|
85
|
-
<div class="flex gap-2 items-center w-full">
|
|
86
|
-
<div class="flex flex-col gap-2 text-sm leading-tight">
|
|
87
|
-
<div id="contentphone" class=" space-y-1 my-2">
|
|
88
|
-
<!-- <Label class={haserror ? "text-red-500" : ""}>Phone number:</Label
|
|
89
|
-
> -->
|
|
90
|
-
<!-- oninput={changePhone} -->
|
|
91
|
-
<Input
|
|
92
|
-
id={"phonenumberuser"}
|
|
93
|
-
bind:value={phoneNumber}
|
|
94
|
-
name="phone"
|
|
95
|
-
type="tel"
|
|
96
|
-
class="input input-bordered w-full rounded bg-transparent px-3 text-md border-[#DBDEE2]"
|
|
97
|
-
onbeforeinput={(e:any) => {
|
|
98
|
-
if (
|
|
99
|
-
!/^\d*$/.test(e.data) &&
|
|
100
|
-
e.inputType !== "deleteContentBackward" &&
|
|
101
|
-
e.inputType !== "deleteContentForward"
|
|
102
|
-
) {
|
|
103
|
-
e.preventDefault();
|
|
104
|
-
}
|
|
105
|
-
}}
|
|
106
|
-
placeholder="Phone number"
|
|
107
|
-
/>
|
|
108
|
-
</div>
|
|
109
|
-
<Button
|
|
110
|
-
onclick={handleChangePhoneNumber}
|
|
111
|
-
variant="default"
|
|
112
|
-
class="bg-blue-500 hover:bg-blue-600 text-white block ml-auto"
|
|
113
|
-
>
|
|
114
|
-
Save
|
|
115
|
-
</Button>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
<div></div>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
</section>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { firekitAuthManager } from "../../../../firebase/auth/auth-manager.svelte.js";
|
|
3
|
-
|
|
4
|
-
import AvatarUser from "./avatar-user.svelte";
|
|
5
|
-
import ConnectUser from "./connect-user.svelte";
|
|
6
|
-
import EmailUser from "./email-user.svelte";
|
|
7
|
-
import PhoneUser from "./phone-user.svelte";
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<h2 class=" pb-3 text-lg font-semibold">Profile Details</h2>
|
|
11
|
-
|
|
12
|
-
<AvatarUser></AvatarUser>
|
|
13
|
-
{#if firekitAuthManager.user?.providerData[0]?.providerId !== "google.com"}
|
|
14
|
-
<EmailUser></EmailUser>
|
|
15
|
-
{/if}
|
|
16
|
-
<PhoneUser></PhoneUser>
|
|
17
|
-
<ConnectUser></ConnectUser>
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const ProfileSection: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type ProfileSection = InstanceType<typeof ProfileSection>;
|
|
18
|
-
export default ProfileSection;
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as Breadcrumb from "../../ui/breadcrumb/index.js";
|
|
3
|
-
import { Button } from "../../ui/button/index.js";
|
|
4
|
-
import * as Dialog from "../../ui/dialog/index.js";
|
|
5
|
-
import * as Sidebar from "../../ui/sidebar/index.js";
|
|
6
|
-
|
|
7
|
-
import Lock from "lucide-svelte/icons/lock";
|
|
8
|
-
import { User2 } from "lucide-svelte";
|
|
9
|
-
import ProfileSection from "./profile-section/profile-section.svelte";
|
|
10
|
-
|
|
11
|
-
const data = {
|
|
12
|
-
nav: [
|
|
13
|
-
{ name: "Profile", icon: User2 },
|
|
14
|
-
{ name: "Security", icon: Lock },
|
|
15
|
-
],
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
let open = $state(false);
|
|
19
|
-
let section = $state("Profile");
|
|
20
|
-
</script>
|
|
21
|
-
|
|
22
|
-
<Dialog.Root bind:open>
|
|
23
|
-
<Dialog.Trigger>
|
|
24
|
-
{#snippet child({ props })}
|
|
25
|
-
<Button size="sm" {...props}>Profile</Button>
|
|
26
|
-
{/snippet}
|
|
27
|
-
</Dialog.Trigger>
|
|
28
|
-
<Dialog.Content
|
|
29
|
-
class="overflow-hidden p-0 md:max-h-[500px] md:max-w-[700px] lg:max-w-[800px]"
|
|
30
|
-
>
|
|
31
|
-
<Dialog.Title class="sr-only">Settings</Dialog.Title>
|
|
32
|
-
<Dialog.Description class="sr-only"
|
|
33
|
-
>Customize your settings here.</Dialog.Description
|
|
34
|
-
>
|
|
35
|
-
<Sidebar.Provider class="items-start">
|
|
36
|
-
<Sidebar.Root collapsible="none" class="hidden md:flex">
|
|
37
|
-
<Sidebar.Content>
|
|
38
|
-
<Sidebar.Group>
|
|
39
|
-
<Sidebar.GroupContent>
|
|
40
|
-
<Sidebar.Menu>
|
|
41
|
-
{#each data.nav as item (item.name)}
|
|
42
|
-
<Sidebar.MenuItem>
|
|
43
|
-
<Sidebar.MenuButton
|
|
44
|
-
isActive={item.name === section}
|
|
45
|
-
onclick={() => (section = item.name)}
|
|
46
|
-
>
|
|
47
|
-
{#snippet child({ props })}
|
|
48
|
-
<a href="##" {...props}>
|
|
49
|
-
<item.icon />
|
|
50
|
-
<span>{item.name}</span>
|
|
51
|
-
</a>
|
|
52
|
-
{/snippet}
|
|
53
|
-
</Sidebar.MenuButton>
|
|
54
|
-
</Sidebar.MenuItem>
|
|
55
|
-
{/each}
|
|
56
|
-
</Sidebar.Menu>
|
|
57
|
-
</Sidebar.GroupContent>
|
|
58
|
-
</Sidebar.Group>
|
|
59
|
-
</Sidebar.Content>
|
|
60
|
-
</Sidebar.Root>
|
|
61
|
-
<main class="flex h-[480px] flex-1 flex-col overflow-hidden">
|
|
62
|
-
<header
|
|
63
|
-
class="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12"
|
|
64
|
-
>
|
|
65
|
-
<div class="flex items-center gap-2 px-4">
|
|
66
|
-
<Breadcrumb.Root>
|
|
67
|
-
<Breadcrumb.List>
|
|
68
|
-
<Breadcrumb.Item class="hidden md:block">
|
|
69
|
-
<Breadcrumb.Link href="#">Settings</Breadcrumb.Link>
|
|
70
|
-
</Breadcrumb.Item>
|
|
71
|
-
<Breadcrumb.Separator class="hidden md:block" />
|
|
72
|
-
<Breadcrumb.Item>
|
|
73
|
-
<Breadcrumb.Page>{section}</Breadcrumb.Page>
|
|
74
|
-
</Breadcrumb.Item>
|
|
75
|
-
</Breadcrumb.List>
|
|
76
|
-
</Breadcrumb.Root>
|
|
77
|
-
</div>
|
|
78
|
-
</header>
|
|
79
|
-
<div class="flex flex-1 flex-col gap-4 overflow-y-auto p-4 pt-0">
|
|
80
|
-
{#if section === "Profile"}
|
|
81
|
-
<ProfileSection></ProfileSection>
|
|
82
|
-
{/if}
|
|
83
|
-
|
|
84
|
-
</div>
|
|
85
|
-
</main>
|
|
86
|
-
</Sidebar.Provider>
|
|
87
|
-
</Dialog.Content>
|
|
88
|
-
</Dialog.Root>
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
const { account }: { account: string } = $props();
|
|
3
|
-
import { Mail } from "lucide-svelte";
|
|
4
|
-
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
{#if account === "google.com"}
|
|
8
|
-
<svg
|
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
10
|
-
x="0px"
|
|
11
|
-
y="0px"
|
|
12
|
-
width="18"
|
|
13
|
-
height="18"
|
|
14
|
-
viewBox="0 0 48 48"
|
|
15
|
-
>
|
|
16
|
-
<path
|
|
17
|
-
fill="#4caf50"
|
|
18
|
-
d="M45,16.2l-5,2.75l-5,4.75L35,40h7c1.657,0,3-1.343,3-3V16.2z"
|
|
19
|
-
></path><path
|
|
20
|
-
fill="#1e88e5"
|
|
21
|
-
d="M3,16.2l3.614,1.71L13,23.7V40H6c-1.657,0-3-1.343-3-3V16.2z"
|
|
22
|
-
></path><polygon
|
|
23
|
-
fill="#e53935"
|
|
24
|
-
points="35,11.2 24,19.45 13,11.2 12,17 13,23.7 24,31.95 35,23.7 36,17"
|
|
25
|
-
></polygon><path
|
|
26
|
-
fill="#c62828"
|
|
27
|
-
d="M3,12.298V16.2l10,7.5V11.2L9.876,8.859C9.132,8.301,8.228,8,7.298,8h0C4.924,8,3,9.924,3,12.298z"
|
|
28
|
-
></path><path
|
|
29
|
-
fill="#fbc02d"
|
|
30
|
-
d="M45,12.298V16.2l-10,7.5V11.2l3.124-2.341C38.868,8.301,39.772,8,40.702,8h0 C43.076,8,45,9.924,45,12.298z"
|
|
31
|
-
></path>
|
|
32
|
-
</svg>
|
|
33
|
-
{:else}
|
|
34
|
-
<Mail class="size-4" />
|
|
35
|
-
{/if}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import SettingsDialog from "./settings-dialog.svelte";
|
|
3
|
-
import * as DropdownMenu from "../../ui/dropdown-menu/index.js";
|
|
4
|
-
import * as Avatar from "../../ui/avatar/index.js";
|
|
5
|
-
import { getInitials } from "../../../utils.js";
|
|
6
|
-
import type { NavItem } from "../../../types/nav.js";
|
|
7
|
-
import * as AlertDialog from "../../ui/alert-dialog/index.js";
|
|
8
|
-
import Button from "../../ui/button/button.svelte";
|
|
9
|
-
import { firekitAuth } from "../../../firebase/auth/auth.js";
|
|
10
|
-
import { LogOut } from "lucide-svelte";
|
|
11
|
-
import { firekitAuthManager } from "../../../firebase/auth/auth-manager.svelte.js";
|
|
12
|
-
import { Skeleton } from "../../ui/skeleton/index.js";
|
|
13
|
-
|
|
14
|
-
let isOpen = $state(false);
|
|
15
|
-
|
|
16
|
-
let { nav }: { nav?: NavItem[] } = $props();
|
|
17
|
-
async function handleLogout() {
|
|
18
|
-
await firekitAuth.logOut();
|
|
19
|
-
}
|
|
20
|
-
</script>
|
|
21
|
-
|
|
22
|
-
{#if !firekitAuthManager.initialized}
|
|
23
|
-
<div class="flex gap-2 items-center mx-4">
|
|
24
|
-
<Skeleton class="size-12 rounded-full" />
|
|
25
|
-
<div class="space-y-2">
|
|
26
|
-
<Skeleton class="h-3 w-[100px]" />
|
|
27
|
-
<Skeleton class="h-3 w-[150px]" />
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
{:else if firekitAuthManager.data}
|
|
31
|
-
<DropdownMenu.Root>
|
|
32
|
-
<DropdownMenu.Trigger>
|
|
33
|
-
<Avatar.Root>
|
|
34
|
-
<Avatar.Image src={firekitAuthManager.data?.photoURL} alt="Avatar" />
|
|
35
|
-
<Avatar.Fallback>
|
|
36
|
-
{getInitials(firekitAuthManager.data?.displayName)}
|
|
37
|
-
</Avatar.Fallback>
|
|
38
|
-
</Avatar.Root>
|
|
39
|
-
</DropdownMenu.Trigger>
|
|
40
|
-
<DropdownMenu.Content>
|
|
41
|
-
<DropdownMenu.Group>
|
|
42
|
-
<DropdownMenu.GroupHeading>
|
|
43
|
-
<div class="flex items-center gap-3">
|
|
44
|
-
<Avatar.Root>
|
|
45
|
-
<Avatar.Image
|
|
46
|
-
src={firekitAuthManager.data?.photoURL}
|
|
47
|
-
alt="Avatar"
|
|
48
|
-
/>
|
|
49
|
-
<Avatar.Fallback>
|
|
50
|
-
{getInitials(firekitAuthManager.data?.displayName)}
|
|
51
|
-
</Avatar.Fallback>
|
|
52
|
-
</Avatar.Root>
|
|
53
|
-
<div class="grow">
|
|
54
|
-
<span
|
|
55
|
-
class="block font-medium text-sm text-gray-800 dark:text-neutral-200"
|
|
56
|
-
>
|
|
57
|
-
{firekitAuthManager.data?.displayName}
|
|
58
|
-
</span>
|
|
59
|
-
<p class="text-xs text-foreground-500">
|
|
60
|
-
{firekitAuthManager.data?.email}
|
|
61
|
-
</p>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
</DropdownMenu.GroupHeading>
|
|
65
|
-
<DropdownMenu.Separator />
|
|
66
|
-
<DropdownMenu.Item onclick={() => (isOpen = true)}>
|
|
67
|
-
{#snippet child({ props })}
|
|
68
|
-
<SettingsDialog child({ props }) />
|
|
69
|
-
{/snippet}
|
|
70
|
-
</DropdownMenu.Item>
|
|
71
|
-
{#if nav}
|
|
72
|
-
{#each nav as { href, label }}
|
|
73
|
-
<DropdownMenu.Item>
|
|
74
|
-
<a {href}>
|
|
75
|
-
{label}
|
|
76
|
-
</a>
|
|
77
|
-
</DropdownMenu.Item>
|
|
78
|
-
{/each}
|
|
79
|
-
{/if}
|
|
80
|
-
|
|
81
|
-
<DropdownMenu.Separator />
|
|
82
|
-
<DropdownMenu.Item onclick={handleLogout}>
|
|
83
|
-
<LogOut /> Logout
|
|
84
|
-
</DropdownMenu.Item>
|
|
85
|
-
</DropdownMenu.Group>
|
|
86
|
-
</DropdownMenu.Content>
|
|
87
|
-
</DropdownMenu.Root>
|
|
88
|
-
<AlertDialog.Root bind:open={isOpen}>
|
|
89
|
-
<AlertDialog.Content>
|
|
90
|
-
<AlertDialog.Header>
|
|
91
|
-
<AlertDialog.Title>
|
|
92
|
-
<div class="flex justify-between items-center">
|
|
93
|
-
<div class="flex items-center gap-3">
|
|
94
|
-
<Avatar.Root>
|
|
95
|
-
<Avatar.Image
|
|
96
|
-
src={firekitAuthManager.data?.photoURL}
|
|
97
|
-
alt="Avatar"
|
|
98
|
-
/>
|
|
99
|
-
<Avatar.Fallback>
|
|
100
|
-
{getInitials(firekitAuthManager.data?.displayName)}
|
|
101
|
-
</Avatar.Fallback>
|
|
102
|
-
</Avatar.Root>
|
|
103
|
-
<div class="grow">
|
|
104
|
-
<span
|
|
105
|
-
class="block font-medium text-sm text-gray-800 dark:text-neutral-200"
|
|
106
|
-
>
|
|
107
|
-
{firekitAuthManager.data?.displayName}
|
|
108
|
-
</span>
|
|
109
|
-
<p class="text-xs text-foreground-500">
|
|
110
|
-
{firekitAuthManager.data?.email}
|
|
111
|
-
</p>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
<Button onclick={handleLogout} variant="link">
|
|
115
|
-
<LogOut />Logout
|
|
116
|
-
</Button>
|
|
117
|
-
</div>
|
|
118
|
-
</AlertDialog.Title>
|
|
119
|
-
<AlertDialog.Description>
|
|
120
|
-
Manage your name, password and account settings.
|
|
121
|
-
</AlertDialog.Description>
|
|
122
|
-
</AlertDialog.Header>
|
|
123
|
-
<AlertDialog.Footer>
|
|
124
|
-
<AlertDialog.Cancel>Cancel</AlertDialog.Cancel>
|
|
125
|
-
<AlertDialog.Action>Continue</AlertDialog.Action>
|
|
126
|
-
</AlertDialog.Footer>
|
|
127
|
-
</AlertDialog.Content>
|
|
128
|
-
</AlertDialog.Root>
|
|
129
|
-
{:else}
|
|
130
|
-
<Button href="/login">Login</Button>
|
|
131
|
-
{/if}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="Data extends DocumentData">
|
|
2
|
-
import { firekitCollection } from "../../firebase/firestore/collection.svelte.js";
|
|
3
|
-
import type {
|
|
4
|
-
CollectionReference,
|
|
5
|
-
DocumentData,
|
|
6
|
-
QueryConstraint,
|
|
7
|
-
} from "firebase/firestore";
|
|
8
|
-
import type { Snippet } from "svelte";
|
|
9
|
-
|
|
10
|
-
let {
|
|
11
|
-
path,
|
|
12
|
-
queryConstraints,
|
|
13
|
-
children,
|
|
14
|
-
loading,
|
|
15
|
-
error,
|
|
16
|
-
}: {
|
|
17
|
-
path: string;
|
|
18
|
-
queryConstraints?: QueryConstraint[];
|
|
19
|
-
children?: Snippet<[data: Data[], ref: CollectionReference]>;
|
|
20
|
-
loading?: Snippet;
|
|
21
|
-
error?: Snippet<[error: Error]>;
|
|
22
|
-
} = $props();
|
|
23
|
-
|
|
24
|
-
let collection = queryConstraints
|
|
25
|
-
? firekitCollection<Data>(path, ...queryConstraints)
|
|
26
|
-
: firekitCollection<Data>(path);
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
{#if collection.loading}
|
|
30
|
-
{#if loading}
|
|
31
|
-
{@render loading()}
|
|
32
|
-
{:else}
|
|
33
|
-
<div>Loading...</div>
|
|
34
|
-
{/if}
|
|
35
|
-
{:else if collection.error}
|
|
36
|
-
{#if error}
|
|
37
|
-
{@render error(collection.error)}
|
|
38
|
-
{:else}
|
|
39
|
-
<div>Error: {collection.error.message}</div>
|
|
40
|
-
{/if}
|
|
41
|
-
{:else if collection.data}
|
|
42
|
-
{#if children}
|
|
43
|
-
{@render children(collection.data, collection.ref)}
|
|
44
|
-
{/if}
|
|
45
|
-
{/if}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { CollectionReference, DocumentData, QueryConstraint } from "firebase/firestore";
|
|
2
|
-
import type { Snippet } from "svelte";
|
|
3
|
-
declare class __sveltets_Render<Data extends DocumentData> {
|
|
4
|
-
props(): {
|
|
5
|
-
path: string;
|
|
6
|
-
queryConstraints?: QueryConstraint[];
|
|
7
|
-
children?: Snippet<[data: Data[], ref: CollectionReference<DocumentData, DocumentData>]> | undefined;
|
|
8
|
-
loading?: Snippet;
|
|
9
|
-
error?: Snippet<[error: Error]>;
|
|
10
|
-
};
|
|
11
|
-
events(): {};
|
|
12
|
-
slots(): {};
|
|
13
|
-
bindings(): "";
|
|
14
|
-
exports(): {};
|
|
15
|
-
}
|
|
16
|
-
interface $$IsomorphicComponent {
|
|
17
|
-
new <Data extends DocumentData>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Data>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Data>['props']>, ReturnType<__sveltets_Render<Data>['events']>, ReturnType<__sveltets_Render<Data>['slots']>> & {
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<Data>['bindings']>;
|
|
19
|
-
} & ReturnType<__sveltets_Render<Data>['exports']>;
|
|
20
|
-
<Data extends DocumentData>(internal: unknown, props: ReturnType<__sveltets_Render<Data>['props']> & {}): ReturnType<__sveltets_Render<Data>['exports']>;
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
22
|
-
}
|
|
23
|
-
declare const Collection: $$IsomorphicComponent;
|
|
24
|
-
type Collection<Data extends DocumentData> = InstanceType<typeof Collection<Data>>;
|
|
25
|
-
export default Collection;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="Data extends DocumentData">
|
|
2
|
-
import { firekitDoc } from "../../firebase/firestore/doc.svelte.js";
|
|
3
|
-
import type { DocumentData, DocumentReference } from "firebase/firestore";
|
|
4
|
-
import type { Snippet } from "svelte";
|
|
5
|
-
|
|
6
|
-
let {
|
|
7
|
-
ref,
|
|
8
|
-
startWith,
|
|
9
|
-
children,
|
|
10
|
-
loading,
|
|
11
|
-
error,
|
|
12
|
-
}: {
|
|
13
|
-
ref: string | DocumentReference<Data>;
|
|
14
|
-
startWith?: Data | undefined;
|
|
15
|
-
children?: Snippet<[data: Data, ref: DocumentReference<Data>]>;
|
|
16
|
-
loading?: Snippet;
|
|
17
|
-
error?: Snippet<[error: Error]>;
|
|
18
|
-
} = $props();
|
|
19
|
-
|
|
20
|
-
let doc = firekitDoc<Data>(ref, startWith);
|
|
21
|
-
</script>
|
|
22
|
-
|
|
23
|
-
{#if doc.loading}
|
|
24
|
-
{#if loading}
|
|
25
|
-
{@render loading()}
|
|
26
|
-
{:else}
|
|
27
|
-
<div>Loading...</div>
|
|
28
|
-
{/if}
|
|
29
|
-
{:else if doc.error}
|
|
30
|
-
{#if error}
|
|
31
|
-
{@render error(doc.error)}
|
|
32
|
-
{:else}
|
|
33
|
-
<div>Error: {doc.error.message}</div>
|
|
34
|
-
{/if}
|
|
35
|
-
{:else if doc.data}
|
|
36
|
-
{#if children}
|
|
37
|
-
{@render children(doc.data, doc.ref)}
|
|
38
|
-
{/if}
|
|
39
|
-
{/if}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { DocumentData, DocumentReference } from "firebase/firestore";
|
|
2
|
-
import type { Snippet } from "svelte";
|
|
3
|
-
declare class __sveltets_Render<Data extends DocumentData> {
|
|
4
|
-
props(): {
|
|
5
|
-
ref: string | DocumentReference<Data, DocumentData>;
|
|
6
|
-
startWith?: Data | undefined;
|
|
7
|
-
children?: Snippet<[data: Data, ref: DocumentReference<Data, DocumentData>]> | undefined;
|
|
8
|
-
loading?: Snippet;
|
|
9
|
-
error?: Snippet<[error: Error]>;
|
|
10
|
-
};
|
|
11
|
-
events(): {};
|
|
12
|
-
slots(): {};
|
|
13
|
-
bindings(): "";
|
|
14
|
-
exports(): {};
|
|
15
|
-
}
|
|
16
|
-
interface $$IsomorphicComponent {
|
|
17
|
-
new <Data extends DocumentData>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Data>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Data>['props']>, ReturnType<__sveltets_Render<Data>['events']>, ReturnType<__sveltets_Render<Data>['slots']>> & {
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<Data>['bindings']>;
|
|
19
|
-
} & ReturnType<__sveltets_Render<Data>['exports']>;
|
|
20
|
-
<Data extends DocumentData>(internal: unknown, props: ReturnType<__sveltets_Render<Data>['props']> & {}): ReturnType<__sveltets_Render<Data>['exports']>;
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
22
|
-
}
|
|
23
|
-
declare const Doc: $$IsomorphicComponent;
|
|
24
|
-
type Doc<Data extends DocumentData> = InstanceType<typeof Doc<Data>>;
|
|
25
|
-
export default Doc;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import SearchForm from "./search-form.svelte";
|
|
3
|
-
import VersionSwitcher from "./version-switcher.svelte";
|
|
4
|
-
import * as Sidebar from "../ui/sidebar/index.js";
|
|
5
|
-
import type { ComponentProps } from "svelte";
|
|
6
|
-
import { nav } from "./nav.js";
|
|
7
|
-
|
|
8
|
-
let {
|
|
9
|
-
ref = $bindable(null),
|
|
10
|
-
...restProps
|
|
11
|
-
}: ComponentProps<typeof Sidebar.Root> = $props();
|
|
12
|
-
</script>
|
|
13
|
-
|
|
14
|
-
<Sidebar.Root {...restProps} bind:ref>
|
|
15
|
-
<Sidebar.Header>
|
|
16
|
-
<VersionSwitcher
|
|
17
|
-
versions={nav.versions}
|
|
18
|
-
defaultVersion={nav.versions[0]}
|
|
19
|
-
/>
|
|
20
|
-
<SearchForm />
|
|
21
|
-
</Sidebar.Header>
|
|
22
|
-
<Sidebar.Content>
|
|
23
|
-
<!-- We create a Sidebar.Group for each parent. -->
|
|
24
|
-
{#each nav.navMain as group (group.title)}
|
|
25
|
-
<Sidebar.Group>
|
|
26
|
-
<Sidebar.GroupLabel>{group.title}</Sidebar.GroupLabel>
|
|
27
|
-
<Sidebar.GroupContent>
|
|
28
|
-
<Sidebar.Menu>
|
|
29
|
-
{#each group.items as item (item.title)}
|
|
30
|
-
<Sidebar.MenuItem>
|
|
31
|
-
<Sidebar.MenuButton isActive={item.isActive}>
|
|
32
|
-
{#snippet child({ props })}
|
|
33
|
-
<a href={item.url} {...props}
|
|
34
|
-
>{item.title}</a
|
|
35
|
-
>
|
|
36
|
-
{/snippet}
|
|
37
|
-
</Sidebar.MenuButton>
|
|
38
|
-
</Sidebar.MenuItem>
|
|
39
|
-
{/each}
|
|
40
|
-
</Sidebar.Menu>
|
|
41
|
-
</Sidebar.GroupContent>
|
|
42
|
-
</Sidebar.Group>
|
|
43
|
-
{/each}
|
|
44
|
-
</Sidebar.Content>
|
|
45
|
-
<Sidebar.Rail />
|
|
46
|
-
</Sidebar.Root>
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
declare const AppSidebar: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
|
|
2
|
-
ref?: HTMLElement | null | undefined;
|
|
3
|
-
} & {
|
|
4
|
-
side?: "left" | "right";
|
|
5
|
-
variant?: "sidebar" | "floating" | "inset";
|
|
6
|
-
collapsible?: "offcanvas" | "icon" | "none";
|
|
7
|
-
}, {}, "ref">;
|
|
8
|
-
export default AppSidebar;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { page } from "$app/stores";
|
|
3
|
-
import { derived } from "svelte/store";
|
|
4
|
-
import * as Breadcrumb from "../ui/breadcrumb/index.js";
|
|
5
|
-
|
|
6
|
-
// Create a derived store to get breadcrumb items from the URL
|
|
7
|
-
const breadcrumbs = derived(page, ($page) => {
|
|
8
|
-
const path = $page.url.pathname;
|
|
9
|
-
const segments = path.split("/").filter(Boolean); // split path and remove empty segments
|
|
10
|
-
const breadcrumbItems = segments.map((segment, index) => {
|
|
11
|
-
// Construct the path up to this segment
|
|
12
|
-
const href = "/" + segments.slice(0, index + 1).join("/");
|
|
13
|
-
return {
|
|
14
|
-
name: segment
|
|
15
|
-
.replace(/-/g, " ")
|
|
16
|
-
.replace(/\b\w/g, (char) => char.toUpperCase()),
|
|
17
|
-
href,
|
|
18
|
-
};
|
|
19
|
-
});
|
|
20
|
-
return breadcrumbItems;
|
|
21
|
-
});
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
<Breadcrumb.Root>
|
|
25
|
-
<Breadcrumb.List>
|
|
26
|
-
{#each $breadcrumbs as breadcrumb, i}
|
|
27
|
-
{#if i > 0}
|
|
28
|
-
<Breadcrumb.Separator class="hidden md:block" />
|
|
29
|
-
{/if}
|
|
30
|
-
<Breadcrumb.Item>
|
|
31
|
-
<!-- Check if it's the last breadcrumb item to render as Page instead of Link -->
|
|
32
|
-
{#if i === $breadcrumbs.length - 1}
|
|
33
|
-
<Breadcrumb.Page>{breadcrumb.name}</Breadcrumb.Page>
|
|
34
|
-
{:else}
|
|
35
|
-
<Breadcrumb.Link href={breadcrumb.href}
|
|
36
|
-
>{breadcrumb.name}</Breadcrumb.Link
|
|
37
|
-
>
|
|
38
|
-
{/if}
|
|
39
|
-
</Breadcrumb.Item>
|
|
40
|
-
{/each}
|
|
41
|
-
</Breadcrumb.List>
|
|
42
|
-
</Breadcrumb.Root>
|