FEAT: Replace Tiptap editor with CodeMirror
Replaced the Tiptap-based rich text editor with CodeMirror for basic markdown formatting. - Removed directory. - Removed all and dependencies from . - Renamed to . - Updated to use and removed Tiptap-specific logic. - Updated all Svelte components that were importing the old Tiptap wrapper to import the new CodeMirror wrapper and removed unsupported props (, , , ). - Ran up to date, audited 492 packages in 1s 92 packages are looking for funding run `npm fund` for details 8 low severity vulnerabilities To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details. and > osit-aether-app-svelte@3.9.6 format > prettier --write . .eslintrc.cjs 18ms (unchanged) .prettierrc 4ms (unchanged) .vscode/settings.json 2ms (unchanged) ae_app_svelte_tailwind_skeleton.code-workspace 1ms (unchanged) ARCHITECTURE.md 22ms (unchanged) components.json 1ms (unchanged) COMPONENTS.md 9ms (unchanged) DATA_STRUCTURES.md 7ms (unchanged) eslint.config.js 4ms (unchanged) GEMINI.md 5ms (unchanged) jsconfig.json 1ms (unchanged) NAMING_CONVENTIONS.md 8ms (unchanged) OLD_README_guidelines_ui_ux.md 6ms (unchanged) OLD_README_guidelines_v1.md 8ms (unchanged) OLD_README_guidelines_v2.md 26ms (unchanged) package.json 1ms (unchanged) playwright.config.ts 3ms (unchanged) README.md 6ms (unchanged) src/ae-c-idaa-light.css 14ms (unchanged) src/ae-c-lci.css 9ms (unchanged) src/ae-osit-default.css 9ms (unchanged) src/aeclci_v1.css 7ms (unchanged) src/app.css 16ms (unchanged) src/app.d.ts 1ms (unchanged) src/app.html 11ms (unchanged) src/index.test.ts 1ms (unchanged) src/lib/ae_api/api_delete_object.ts 10ms (unchanged) src/lib/ae_api/api_get__crud_obj_id.ts 9ms (unchanged) src/lib/ae_api/api_get__crud_obj_li_v1.ts 7ms (unchanged) src/lib/ae_api/api_get__crud_obj_li_v2.ts 6ms (unchanged) src/lib/ae_api/api_get_object_v1.ts 19ms (unchanged) src/lib/ae_api/api_get_object.ts 9ms (unchanged) src/lib/ae_api/api_patch_object.ts 5ms (unchanged) src/lib/ae_api/api_post_object.ts 10ms (unchanged) src/lib/ae_archives/ae_archives__archive_content.ts 12ms (unchanged) src/lib/ae_archives/ae_archives__archive.ts 14ms (unchanged) src/lib/ae_archives/ae_archives_functions.ts 1ms (unchanged) src/lib/ae_archives/db_archives.ts 4ms (unchanged) src/lib/ae_archives/README.md 2ms (unchanged) src/lib/ae_core/ae_comp__hosted_files_clip_video_li.svelte 33ms (unchanged) src/lib/ae_core/ae_comp__hosted_files_clip_video_v1.svelte 25ms (unchanged) src/lib/ae_core/ae_comp__hosted_files_clip_video.svelte 21ms (unchanged) src/lib/ae_core/ae_comp__hosted_files_download_button.svelte 10ms (unchanged) src/lib/ae_core/ae_comp__hosted_files_upload.svelte 13ms (unchanged) src/lib/ae_core/ae_core_functions.ts 10ms (unchanged) src/lib/ae_core/core__account.ts 1ms (unchanged) src/lib/ae_core/core__activity_log.ts 7ms (unchanged) src/lib/ae_core/core__api_helpers.ts 2ms (unchanged) src/lib/ae_core/core__check_hosted_file_obj_w_hash.ts 1ms (unchanged) src/lib/ae_core/core__countries.ts 2ms (unchanged) src/lib/ae_core/core__country_subdivisions.ts 2ms (unchanged) src/lib/ae_core/core__crud_generic.ts 6ms (unchanged) src/lib/ae_core/core__data_store.ts 2ms (unchanged) src/lib/ae_core/core__hosted_files.ts 6ms (unchanged) src/lib/ae_core/core__idb_dexie.ts 4ms (unchanged) src/lib/ae_core/core__person.ts 16ms (unchanged) src/lib/ae_core/core__qr_code.ts 6ms (unchanged) src/lib/ae_core/core__site_domain.ts 2ms (unchanged) src/lib/ae_core/core__site.ts 1ms (unchanged) src/lib/ae_core/core__time_zones.ts 2ms (unchanged) src/lib/ae_core/core__user.ts 6ms (unchanged) src/lib/ae_core/db_core.ts 3ms (unchanged) src/lib/ae_events_functions.ts 2ms (unchanged) src/lib/ae_events/ae_events__event_badge_template.ts 9ms (unchanged) src/lib/ae_events/ae_events__event_badge.ts 13ms (unchanged) src/lib/ae_events/ae_events__event_device.ts 16ms (unchanged) src/lib/ae_events/ae_events__event_file.ts 14ms (unchanged) src/lib/ae_events/ae_events__event_location.ts 12ms (unchanged) src/lib/ae_events/ae_events__event_presentation.ts 10ms (unchanged) src/lib/ae_events/ae_events__event_presenter.ts 11ms (unchanged) src/lib/ae_events/ae_events__event_session.ts 18ms (unchanged) src/lib/ae_events/ae_events__event.ts 17ms (unchanged) src/lib/ae_events/ae_events__exhibit.ts 10ms (unchanged) src/lib/ae_events/db_events.ts 10ms (unchanged) src/lib/ae_journals/ae_journals__journal_entry.ts 13ms (unchanged) src/lib/ae_journals/ae_journals__journal.ts 15ms (unchanged) src/lib/ae_journals/ae_journals_functions.ts 1ms (unchanged) src/lib/ae_journals/ae_journals_stores.ts 3ms (unchanged) src/lib/ae_journals/db_journals.ts 6ms (unchanged) src/lib/ae_posts/ae_posts__post_comment.ts 8ms (unchanged) src/lib/ae_posts/ae_posts__post.ts 12ms (unchanged) src/lib/ae_posts/ae_posts_functions.ts 1ms (unchanged) src/lib/ae_posts/db_posts.ts 2ms (unchanged) src/lib/ae_posts/README.md 2ms (unchanged) src/lib/ae_sponsorships/ae_sponsorships_functions.ts 7ms (unchanged) src/lib/ae_sponsorships/db_sponsorships.ts 2ms (unchanged) src/lib/ae_sponsorships/README.md 2ms (unchanged) src/lib/ae_utils/ae_utils__crypto.ts 5ms (unchanged) src/lib/ae_utils/ae_utils__datetime_format.ts 3ms (unchanged) src/lib/ae_utils/ae_utils__extract_prefixed_form_data.ts 3ms (unchanged) src/lib/ae_utils/ae_utils__file_extension_icon.ts 1ms (unchanged) src/lib/ae_utils/ae_utils__files.ts 2ms (unchanged) src/lib/ae_utils/ae_utils__get_obj_li_w_match_prop.ts 1ms (unchanged) src/lib/ae_utils/ae_utils__is_datetime_recent.ts 1ms (unchanged) src/lib/ae_utils/ae_utils__perm_checks.ts 3ms (unchanged) src/lib/ae_utils/ae_utils__process_data_string.ts 2ms (unchanged) src/lib/ae_utils/ae_utils__return_obj_type_path.ts 2ms (unchanged) src/lib/ae_utils/ae_utils__set_obj_prop_display_name.ts 2ms (unchanged) src/lib/ae_utils/ae_utils__to_title_case.ts 2ms (unchanged) src/lib/ae_utils/ae_utils.ts 5ms (unchanged) src/lib/api/api.ts 14ms (unchanged) src/lib/app_components/analytics.svelte 3ms (unchanged) src/lib/app_components/e_app_access_type.svelte 26ms (unchanged) src/lib/app_components/e_app_cfg.svelte 12ms (unchanged) src/lib/app_components/e_app_clipboard.svelte 6ms (unchanged) src/lib/app_components/e_app_codemirror_v5.svelte 8ms (unchanged) src/lib/app_components/e_app_debug_menu.svelte 7ms (unchanged) src/lib/app_components/e_app_help_tech.svelte 26ms (unchanged) src/lib/app_components/e_app_sign_in_out.svelte 32ms (unchanged) src/lib/app_components/e_app_sys_menu.svelte 25ms (unchanged) src/lib/app_components/e_app_theme.svelte 9ms (unchanged) src/lib/components/ui/button/button.svelte 6ms (unchanged) src/lib/components/ui/button/index.js 1ms (unchanged) src/lib/components/ui/button/index.ts 1ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte 5ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte 3ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte 2ms (unchanged) src/lib/components/ui/dropdown-menu/index.js 1ms (unchanged) src/lib/components/ui/dropdown-menu/index.ts 1ms (unchanged) src/lib/components/ui/input/index.js 0ms (unchanged) src/lib/components/ui/input/index.ts 0ms (unchanged) src/lib/components/ui/input/input.svelte 2ms (unchanged) src/lib/components/ui/popover/index.js 0ms (unchanged) src/lib/components/ui/popover/index.ts 1ms (unchanged) src/lib/components/ui/popover/popover-content.svelte 2ms (unchanged) src/lib/components/ui/separator/index.js 0ms (unchanged) src/lib/components/ui/separator/index.ts 1ms (unchanged) src/lib/components/ui/separator/separator.svelte 2ms (unchanged) src/lib/components/ui/tooltip/index.js 0ms (unchanged) src/lib/components/ui/tooltip/index.ts 1ms (unchanged) src/lib/components/ui/tooltip/tooltip-content.svelte 2ms (unchanged) src/lib/electron/electron_native.js 33ms (unchanged) src/lib/electron/electron_relay.js 6ms (unchanged) src/lib/electron/README.md 4ms (unchanged) src/lib/element_qr_scanner_v2.svelte 15ms (unchanged) src/lib/elements/element_ae_crud_v2.svelte 22ms (unchanged) src/lib/elements/element_ae_crud.svelte 20ms (unchanged) src/lib/elements/element_codemirror_editor.svelte 4ms (unchanged) src/lib/elements/element_codemirror_wrapper.svelte 1ms (unchanged) src/lib/elements/element_data_store_v2.svelte 38ms (unchanged) src/lib/elements/element_data_store.svelte 29ms (unchanged) src/lib/elements/element_input_file.svelte 13ms (unchanged) src/lib/elements/element_input_files_tbl.svelte 13ms (unchanged) src/lib/elements/element_input_v2.svelte 59ms (unchanged) src/lib/elements/element_manage_event_file_li_all.svelte 2ms (unchanged) src/lib/elements/element_manage_event_file_li_direct.svelte 2ms (unchanged) src/lib/elements/element_manage_event_file_li.svelte 45ms (unchanged) src/lib/elements/element_manage_hosted_file_li_all.svelte 8ms (unchanged) src/lib/elements/element_manage_hosted_file_li.svelte 15ms (unchanged) src/lib/elements/element_obj_tbl_row.svelte 11ms (unchanged) src/lib/elements/element_sql_qry.svelte 6ms (unchanged) src/lib/elements/element_tiptap_editor.scss 2ms (unchanged) src/lib/elements/element_websocket_v2.svelte 16ms (unchanged) src/lib/stores/ae_events_stores.ts 6ms (unchanged) src/lib/stores/ae_idaa_stores.ts 2ms (unchanged) src/lib/stores/ae_stores.ts 6ms (unchanged) src/lib/utils/ae_string_snippets.ts 1ms (unchanged) src/lib/utils/index.ts 0ms (unchanged) src/lib/utils/utils.ts 1ms (unchanged) src/parent_iframe.html 5ms (unchanged) src/routes/+layout.svelte 31ms (unchanged) src/routes/+layout.ts 5ms (unchanged) src/routes/+page.svelte 7ms (unchanged) src/routes/admin/+layout.svelte 6ms (unchanged) src/routes/admin/+page.svelte 8ms (unchanged) src/routes/core/+layout.svelte 3ms (unchanged) src/routes/core/+page.svelte 15ms (unchanged) src/routes/core/+page.ts 0ms (unchanged) src/routes/core/ae_comp__person_obj_tbl.svelte 9ms (unchanged) src/routes/core/not_used+layout.ts 1ms (unchanged) src/routes/core/person_view.svelte 55ms (unchanged) src/routes/core/person/[person_id]/+page.svelte 13ms (unchanged) src/routes/core/person/[person_id]/+page.ts 2ms (unchanged) src/routes/core/README.md 2ms (unchanged) src/routes/events_badges/+layout.svelte 7ms (unchanged) src/routes/events_badges/+layout.ts 1ms (unchanged) src/routes/events_badges/+page.svelte 2ms (unchanged) src/routes/events_badges/+page.ts 0ms (unchanged) src/routes/events_badges/README.md 3ms (unchanged) src/routes/events_badges/review/+layout.ts 1ms (unchanged) src/routes/events_badges/review/+page.svelte 35ms (unchanged) src/routes/events_badges/stats/+layout.ts 1ms (unchanged) src/routes/events_badges/stats/+page.svelte 33ms (unchanged) src/routes/events_leads/+layout.svelte 2ms (unchanged) src/routes/events_leads/+layout.ts 1ms (unchanged) src/routes/events_leads/+page.svelte 8ms (unchanged) src/routes/events_leads/+page.ts 1ms (unchanged) src/routes/events_leads/exhibit/[slug]/+page.svelte 36ms (unchanged) src/routes/events_leads/exhibit/[slug]/+page.ts 2ms (unchanged) src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte 37ms (unchanged) src/routes/events_leads/exhibit/[slug]/leads_list.svelte 25ms (unchanged) src/routes/events_leads/exhibit/[slug]/leads_manage.svelte 40ms (unchanged) src/routes/events_leads/exhibit/[slug]/leads_payment.svelte 10ms (unchanged) src/routes/events_leads/exhibit/[slug]/leads_view_lead.svelte 42ms (unchanged) src/routes/events_leads/README.md 4ms (unchanged) src/routes/events/[event_id]/(badges)/badges/[badge_id]/+page.svelte 5ms (unchanged) src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view.svelte 41ms (unchanged) src/routes/events/[event_id]/(badges)/badges/+layout.svelte 3ms (unchanged) src/routes/events/[event_id]/(badges)/badges/+page.svelte 5ms (unchanged) src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_obj_li.svelte 9ms (unchanged) src/routes/events/[event_id]/(badges)/badges/ae_comp__badge_search.svelte 15ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte 26ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte 32ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher_menu.svelte 12ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher_presenter_view_posters.svelte 6ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher_presenter_view.svelte 6ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher_session_view.svelte 17ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher/[event_location_id]/+page.svelte 4ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher/[event_location_id]/+page.ts 2ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte 45ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher/+layout.ts 2ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher/+page.svelte 0ms (unchanged) src/routes/events/[event_id]/(launcher)/launcher/+page.ts 0ms (unchanged) src/routes/events/[event_id]/(launcher)/menu_location_list.svelte 6ms (unchanged) src/routes/events/[event_id]/(launcher)/menu_session_list.svelte 10ms (unchanged) src/routes/events/[event_id]/+layout.svelte 2ms (unchanged) src/routes/events/[event_id]/+layout.ts 1ms (unchanged) src/routes/events/[event_id]/+page.svelte 20ms (unchanged) src/routes/events/[event_id]/+page.ts 1ms (unchanged) src/routes/events/[event_id]/device/ae_comp__event_device_obj_li_wrapper.svelte 2ms (unchanged) src/routes/events/[event_id]/device/ae_comp__event_device_obj_li.svelte 28ms (unchanged) src/routes/events/[event_id]/event_page_menu.svelte 37ms (unchanged) src/routes/events/[event_id]/location/[event_location_id]/+page.svelte 11ms (unchanged) src/routes/events/[event_id]/location/[event_location_id]/+page.ts 2ms (unchanged) src/routes/events/[event_id]/location/[event_location_id]/location_page_menu.svelte 26ms (unchanged) src/routes/events/[event_id]/location/[event_location_id]/location_view.svelte 27ms (unchanged) src/routes/events/[event_id]/locations/+page.svelte 5ms (unchanged) src/routes/events/[event_id]/locations/ae_comp__event_location_obj_li.svelte 18ms (unchanged) src/routes/events/[event_id]/locations/locations_page_menu.svelte 11ms (unchanged) src/routes/events/[event_id]/presenter/[presenter_id]/+page.svelte 17ms (unchanged) src/routes/events/[event_id]/presenter/[presenter_id]/+page.ts 1ms (unchanged) src/routes/events/[event_id]/presenter/[presenter_id]/ae_comp__event_presenter_form_agree.svelte 13ms (unchanged) src/routes/events/[event_id]/presenter/[presenter_id]/presenter_page_menu.svelte 30ms (unchanged) src/routes/events/[event_id]/presenter/[presenter_id]/presenter_view.svelte 108ms (unchanged) src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_li_wrapper.svelte 3ms (unchanged) src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_li.svelte 22ms (unchanged) src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl_wrapper.svelte 4ms (unchanged) src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte 15ms (unchanged) src/routes/events/[event_id]/reports/+page.svelte 66ms (unchanged) src/routes/events/[event_id]/reports/event_reports_page_menu.svelte 16ms (unchanged) src/routes/events/[event_id]/reports/reports_files.svelte 14ms (unchanged) src/routes/events/[event_id]/reports/reports_presenters.svelte 9ms (unchanged) src/routes/events/[event_id]/reports/reports_sessions.svelte 10ms (unchanged) src/routes/events/[event_id]/session/[session_id]/+page.svelte 16ms (unchanged) src/routes/events/[event_id]/session/[session_id]/+page.ts 2ms (unchanged) src/routes/events/[event_id]/session/[session_id]/ae_comp__event_session_poc_form_agree.svelte 17ms (unchanged) src/routes/events/[event_id]/session/[session_id]/ae_comp__event_session_poc_profile.svelte 9ms (unchanged) src/routes/events/[event_id]/session/[session_id]/session_page_menu.svelte 30ms (unchanged) src/routes/events/[event_id]/session/[session_id]/session_view.svelte 59ms (unchanged) src/routes/events/[event_id]/session/ae_comp__event_session_alert.svelte 9ms (unchanged) src/routes/events/[event_id]/sign_in_out.svelte 7ms (unchanged) src/routes/events/+layout.svelte 11ms (unchanged) src/routes/events/+layout.ts 1ms (unchanged) src/routes/events/+page.svelte 7ms (unchanged) src/routes/events/+page.ts 1ms (unchanged) src/routes/events/ae_comp__event_file_obj_tbl_wrapper.svelte 3ms (unchanged) src/routes/events/ae_comp__event_file_obj_tbl.svelte 31ms (unchanged) src/routes/events/ae_comp__event_files_upload.svelte 10ms (unchanged) src/routes/events/ae_comp__event_presentation_obj_li.svelte 27ms (unchanged) src/routes/events/ae_comp__event_session_obj_li_wrapper.svelte 2ms (unchanged) src/routes/events/ae_comp__event_session_obj_li.svelte 31ms (unchanged) src/routes/events/ae_comp__event_session_obj_tbl_wrapper.svelte 3ms (unchanged) src/routes/events/ae_comp__event_session_obj_tbl.svelte 5ms (unchanged) src/routes/events/ae_comp__events_menu_nav.svelte 5ms (unchanged) src/routes/events/ae_comp__events_menu_opts.svelte 25ms (unchanged) src/routes/events/README.md 3ms (unchanged) src/routes/hosted_files/+layout.svelte 2ms (unchanged) src/routes/hosted_files/+layout.ts 1ms (unchanged) src/routes/hosted_files/+page.svelte 3ms (unchanged) src/routes/hosted_files/video_util/+page.svelte 8ms (unchanged) src/routes/hosted_files/video_util/hold_video_util.svelte 7ms (unchanged) src/routes/idaa/(idaa)/+layout.svelte 6ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/+page.svelte 12ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/+page.ts 2ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/ae_idaa_comp__archive_content_obj_id_edit.svelte 32ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/ae_idaa_comp__archive_content_obj_li.svelte 15ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/ae_idaa_comp__archive_obj_id_edit.svelte 19ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/ae_idaa_comp__archive_obj_id_view.svelte 10ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/ae_idaa_comp__modal_media_player.svelte 4ms (unchanged) src/routes/idaa/(idaa)/archives/[archive_id]/not_used+layout.ts 0ms (unchanged) src/routes/idaa/(idaa)/archives/+layout.svelte 1ms (unchanged) src/routes/idaa/(idaa)/archives/+layout.ts 1ms (unchanged) src/routes/idaa/(idaa)/archives/+page.svelte 5ms (unchanged) src/routes/idaa/(idaa)/archives/ae_idaa_comp__archive_obj_li.svelte 5ms (unchanged) src/routes/idaa/(idaa)/archives/ae_idaa_comp__media_player.svelte 6ms (unchanged) src/routes/idaa/(idaa)/bb/[post_id]/+page.svelte 7ms (unchanged) src/routes/idaa/(idaa)/bb/[post_id]/+page.ts 1ms (unchanged) src/routes/idaa/(idaa)/bb/+layout.svelte 2ms (unchanged) src/routes/idaa/(idaa)/bb/+layout.ts 1ms (unchanged) src/routes/idaa/(idaa)/bb/+page.svelte 7ms (unchanged) src/routes/idaa/(idaa)/bb/+page.ts 2ms (unchanged) src/routes/idaa/(idaa)/bb/ae_idaa_comp__post_comment_obj_id_edit.svelte 26ms (unchanged) src/routes/idaa/(idaa)/bb/ae_idaa_comp__post_obj_id_edit.svelte 38ms (unchanged) src/routes/idaa/(idaa)/bb/ae_idaa_comp__post_obj_id_view.svelte 17ms (unchanged) src/routes/idaa/(idaa)/bb/ae_idaa_comp__post_obj_li.svelte 9ms (unchanged) src/routes/idaa/(idaa)/bb/ae_idaa_comp__post_options.svelte 8ms (unchanged) src/routes/idaa/(idaa)/hold_+page.svelte 0ms (unchanged) src/routes/idaa/(idaa)/hold_app.pcss 7ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/[event_id]/+page.svelte 8ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/[event_id]/+page.ts 1ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/+layout.svelte 2ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/+layout.ts 1ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/+page.svelte 9ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_id_edit.svelte 80ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_id_view.svelte 34ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_li_wrapper.svelte 3ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_li.svelte 24ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_qry.svelte 27ms (unchanged) src/routes/idaa/(idaa)/recovery_meetings/not_used+page.ts 0ms (unchanged) src/routes/idaa/+layout.svelte 9ms (unchanged) src/routes/idaa/README.md 3ms (unchanged) src/routes/journals/[journal_id]/+layout.svelte 12ms (unchanged) src/routes/journals/[journal_id]/+layout.ts 2ms (unchanged) src/routes/journals/[journal_id]/+page.svelte 8ms (unchanged) src/routes/journals/[journal_id]/+page.ts 1ms (unchanged) src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.svelte 6ms (unchanged) src/routes/journals/[journal_id]/entry/[journal_entry_id]/+page.ts 1ms (unchanged) src/routes/journals/+layout.svelte 14ms (unchanged) src/routes/journals/+layout.ts 1ms (unchanged) src/routes/journals/+page.svelte 8ms (unchanged) src/routes/journals/+page.ts 1ms (unchanged) src/routes/journals/ae_comp__journal_entry_obj_file_li.svelte 12ms (unchanged) src/routes/journals/ae_comp__journal_entry_obj_id_view.svelte 102ms (unchanged) src/routes/journals/ae_comp__journal_entry_obj_li.svelte 34ms (unchanged) src/routes/journals/ae_comp__journal_entry_obj_qry.svelte 7ms (unchanged) src/routes/journals/ae_comp__journal_obj_id_edit.svelte 39ms (unchanged) src/routes/journals/ae_comp__journal_obj_id_view.svelte 9ms (unchanged) src/routes/journals/ae_comp__journal_obj_li.svelte 6ms (unchanged) src/routes/journals/ae_comp__obj_core_props.svelte 12ms (unchanged) src/routes/journals/modal_journals_config.svelte 12ms (unchanged) src/routes/journals/README.md 2ms (unchanged) src/routes/testing/+layout.ts 0ms (unchanged) src/routes/testing/+page.svelte 4ms (unchanged) static/idaa_novi_iframe_archives.html 4ms (unchanged) static/idaa_novi_iframe_bulletin_board.html 3ms (unchanged) static/idaa_novi_iframe_jitsi_meeting.html 3ms (unchanged) static/idaa_novi_iframe_recovery_meetings.html 3ms (unchanged) static/jitsi_iframe_api.html 4ms (unchanged) static/manifest.json 1ms (unchanged) SVELTE_DEXIE_GUIDE.md 8ms (unchanged) svelte.config.js 1ms (unchanged) test-results/.last-run.json 0ms (unchanged) tests/example.test.ts 1ms (unchanged) TODO.md 18ms (unchanged) tsconfig.json 1ms (unchanged) vite.config.ts 1ms (unchanged) vitest.config.ts 0ms (unchanged) to clean up dependencies and fix formatting.
This commit is contained in:
@@ -8,29 +8,29 @@ The Aether system is built on a foundation of several core modules. The UI compo
|
||||
|
||||
### Accounts
|
||||
|
||||
- **Description:** Manages client accounts (not to be confused with user accounts). An account is the top-level organizational unit.
|
||||
- **Logic:** `src/lib/ae_core/core__account.ts`
|
||||
- **Description:** Manages client accounts (not to be confused with user accounts). An account is the top-level organizational unit.
|
||||
- **Logic:** `src/lib/ae_core/core__account.ts`
|
||||
|
||||
### Hosted Files
|
||||
|
||||
- **Description:** Handles file uploads, storage, and retrieval. Provides components for file upload buttons and video players.
|
||||
- **Logic:** `src/lib/ae_core/core__hosted_files.ts`
|
||||
- **Route:** `/hosted_files`
|
||||
- **Description:** Handles file uploads, storage, and retrieval. Provides components for file upload buttons and video players.
|
||||
- **Logic:** `src/lib/ae_core/core__hosted_files.ts`
|
||||
- **Route:** `/hosted_files`
|
||||
|
||||
### People
|
||||
|
||||
- **Description:** Manages information about individuals. A "person" can be a user, a contact, an event presenter, etc. This is the central object for representing people in the system.
|
||||
- **Logic:** `src/lib/ae_core/core__person.ts`
|
||||
- **UI Components:**
|
||||
- `ae_comp__person_obj_tbl.svelte`: A table for displaying a list of people.
|
||||
- `person_view.svelte`: A component for displaying the details of a single person.
|
||||
- **Description:** Manages information about individuals. A "person" can be a user, a contact, an event presenter, etc. This is the central object for representing people in the system.
|
||||
- **Logic:** `src/lib/ae_core/core__person.ts`
|
||||
- **UI Components:**
|
||||
- `ae_comp__person_obj_tbl.svelte`: A table for displaying a list of people.
|
||||
- `person_view.svelte`: A component for displaying the details of a single person.
|
||||
|
||||
### Sites & Site Domains
|
||||
|
||||
- **Description:** Manages different sites or instances of the application and their associated domain names. This allows for multi-tenant configurations.
|
||||
- **Logic:** `src/lib/ae_core/core__site.ts` and `core__site_domain.ts`
|
||||
- **Description:** Manages different sites or instances of the application and their associated domain names. This allows for multi-tenant configurations.
|
||||
- **Logic:** `src/lib/ae_core/core__site.ts` and `core__site_domain.ts`
|
||||
|
||||
### Users
|
||||
|
||||
- **Description:** Manages user accounts, including authentication, permissions, and user-specific settings.
|
||||
- **Logic:** `src/lib/ae_core/core__user.ts`
|
||||
- **Description:** Manages user accounts, including authentication, permissions, and user-specific settings.
|
||||
- **Logic:** `src/lib/ae_core/core__user.ts`
|
||||
|
||||
@@ -6,27 +6,27 @@ This directory (`src/routes/events`) contains the Svelte components and pages th
|
||||
|
||||
## Features
|
||||
|
||||
- **Event Program Structure:** The UI allows for viewing and managing the hierarchy of an event, including its sessions and the presentations within those sessions.
|
||||
- **Session Management:** View lists of sessions for an event, wrapped in various UI components for different display needs (`li`, `tbl`).
|
||||
- **Presentation Management:** View lists of presentations associated with sessions.
|
||||
- **File Management:** A key feature is the ability to manage event-related files. This includes uploading new files and viewing lists of existing files associated with the event.
|
||||
- **Event Program Structure:** The UI allows for viewing and managing the hierarchy of an event, including its sessions and the presentations within those sessions.
|
||||
- **Session Management:** View lists of sessions for an event, wrapped in various UI components for different display needs (`li`, `tbl`).
|
||||
- **Presentation Management:** View lists of presentations associated with sessions.
|
||||
- **File Management:** A key feature is the ability to manage event-related files. This includes uploading new files and viewing lists of existing files associated with the event.
|
||||
|
||||
## UI Components & Pages
|
||||
|
||||
- `+page.svelte`: The main landing page that displays a list of all events.
|
||||
- `[event_id]/+page.svelte`: The main page for a single event, which serves as the hub for managing its details.
|
||||
- `ae_comp__event_session_obj_li.svelte` / `..._tbl.svelte`: Components that render lists of event sessions in different formats.
|
||||
- `ae_comp__event_presentation_obj_li.svelte`: A component that renders a list of presentations for a session.
|
||||
- `ae_comp__event_file_obj_tbl.svelte`: A component for displaying a table of files related to the event.
|
||||
- `ae_comp__event_files_upload.svelte`: A component providing the UI for uploading files.
|
||||
- `ae_comp__events_menu_nav.svelte` / `..._opts.svelte`: Navigation and option menus specific to the events module.
|
||||
- `+page.svelte`: The main landing page that displays a list of all events.
|
||||
- `[event_id]/+page.svelte`: The main page for a single event, which serves as the hub for managing its details.
|
||||
- `ae_comp__event_session_obj_li.svelte` / `..._tbl.svelte`: Components that render lists of event sessions in different formats.
|
||||
- `ae_comp__event_presentation_obj_li.svelte`: A component that renders a list of presentations for a session.
|
||||
- `ae_comp__event_file_obj_tbl.svelte`: A component for displaying a table of files related to the event.
|
||||
- `ae_comp__event_files_upload.svelte`: A component providing the UI for uploading files.
|
||||
- `ae_comp__events_menu_nav.svelte` / `..._opts.svelte`: Navigation and option menus specific to the events module.
|
||||
|
||||
## Core Logic & Data Models
|
||||
|
||||
The underlying data models, API interactions, and database logic for this module are located in `src/lib/ae_events/`. The key data models include:
|
||||
|
||||
- **`Event`**: The top-level object for an event.
|
||||
- **`EventSession`**: Represents a session within an event.
|
||||
- **`EventPresentation`**: Represents a presentation within a session.
|
||||
- **`EventPresenter`**: Represents a speaker for a presentation.
|
||||
- **`EventFile`**: Represents a file associated with any part of the event.
|
||||
- **`Event`**: The top-level object for an event.
|
||||
- **`EventSession`**: Represents a session within an event.
|
||||
- **`EventPresentation`**: Represents a presentation within a session.
|
||||
- **`EventPresenter`**: Represents a speaker for a presentation.
|
||||
- **`EventFile`**: Represents a file associated with any part of the event.
|
||||
|
||||
@@ -16,16 +16,16 @@ The Leads module is based on two main data models:
|
||||
## Features
|
||||
|
||||
- **Authentication:** The module supports two types of authentication for exhibitor staff:
|
||||
- **Shared Passcode:** A shared passcode can be used by all staff members of an exhibitor.
|
||||
- **License-based:** Individual licenses can be assigned to staff members, each with their own email and passcode.
|
||||
- **Shared Passcode:** A shared passcode can be used by all staff members of an exhibitor.
|
||||
- **License-based:** Individual licenses can be assigned to staff members, each with their own email and passcode.
|
||||
- **Lead Capture:** Leads can be captured by:
|
||||
- **Scanning QR Codes:** The module includes a QR code scanner that can be used to scan the QR code on an attendee's badge.
|
||||
- **Manual Entry:** The attendee's badge ID can be entered manually.
|
||||
- **Scanning QR Codes:** The module includes a QR code scanner that can be used to scan the QR code on an attendee's badge.
|
||||
- **Manual Entry:** The attendee's badge ID can be entered manually.
|
||||
- **Lead Management:** The module provides a comprehensive interface for managing leads, including:
|
||||
- Viewing a list of all captured leads.
|
||||
- Viewing the details of a single lead.
|
||||
- Adding notes to a lead.
|
||||
- Answering custom questions for a lead.
|
||||
- Viewing a list of all captured leads.
|
||||
- Viewing the details of a single lead.
|
||||
- Adding notes to a lead.
|
||||
- Answering custom questions for a lead.
|
||||
- **Lead Export:** Leads can be exported to a CSV or Excel file for further processing.
|
||||
- **License Management:** Exhibitors can manage their licenses, including adding, editing, and removing licenses.
|
||||
- **Client-Side Caching:** The module uses Dexie.js for client-side caching in IndexedDB, which improves performance and enables offline access.
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import { idaa_loc, idaa_sess, idaa_slct } from '$lib/stores/ae_idaa_stores';
|
||||
import { archives_func } from '$lib/ae_archives/ae_archives_functions';
|
||||
|
||||
import Tiptap_editor from '$lib/elements/element_tiptap_editor.svelte';
|
||||
import Tiptap_editor from '$lib/elements/element_codemirror_wrapper.svelte';
|
||||
import Comp_hosted_files_upload from '$lib/ae_core/ae_comp__hosted_files_upload.svelte';
|
||||
import Element_manage_hosted_file_li_wrap from '$lib/elements/element_manage_hosted_file_li_all.svelte';
|
||||
|
||||
@@ -422,11 +422,7 @@
|
||||
<label for="description" class="ae_label w-full">
|
||||
<span class="legend text-sm font-semibold"> Description </span>
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.archive_content_obj.description}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={description_new_html}
|
||||
bind:changed={description_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Your content description here..."
|
||||
/>
|
||||
@@ -914,11 +910,7 @@
|
||||
>Internal Staff Notes</span
|
||||
>
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.archive_content_obj.notes}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={notes_new_html}
|
||||
bind:changed={notes_changed}
|
||||
classes="preset-tonal-surface preset-filled-surface-100-900"
|
||||
placeholder="Internal notes for staff only. Not shown to the public."
|
||||
/>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
import { idaa_loc, idaa_sess, idaa_slct } from '$lib/stores/ae_idaa_stores';
|
||||
import { archives_func } from '$lib/ae_archives/ae_archives_functions';
|
||||
|
||||
import Tiptap_editor from '$lib/elements/element_tiptap_editor.svelte';
|
||||
import Tiptap_editor from '$lib/elements/element_codemirror_wrapper.svelte';
|
||||
|
||||
interface Props {
|
||||
log_lvl?: number;
|
||||
@@ -339,11 +339,7 @@
|
||||
<label for="description" class="ae_label w-full">
|
||||
<span class="legend text-sm font-semibold"> Description </span>
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.archive_obj.description}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={description_new_html}
|
||||
bind:changed={description_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Your archive description here..."
|
||||
/>
|
||||
@@ -682,11 +678,7 @@
|
||||
>Internal Staff Notes</span
|
||||
>
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.archive_obj.notes}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={notes_new_html}
|
||||
bind:changed={notes_changed}
|
||||
classes="preset-tonal-surface preset-filled-surface-100-900"
|
||||
placeholder="Internal notes for staff only. Not shown to the public."
|
||||
/>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
} from '$lib/stores/ae_stores';
|
||||
import { idaa_loc, idaa_sess, idaa_slct } from '$lib/stores/ae_idaa_stores';
|
||||
import { posts_func } from '$lib/ae_posts/ae_posts_functions';
|
||||
import Tiptap_editor from '$lib/elements/element_tiptap_editor.svelte';
|
||||
import Tiptap_editor from '$lib/elements/element_codemirror_wrapper.svelte';
|
||||
|
||||
let prom_api__post_comment_obj: any = $state();
|
||||
|
||||
@@ -487,11 +487,7 @@
|
||||
</span>
|
||||
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.post_comment_obj?.content}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={content_new_html}
|
||||
bind:changed={content_changed}
|
||||
classes="bg-gray-100 dark:bg-gray-800"
|
||||
placeholder="Your post content here..."
|
||||
/>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
} from '$lib/stores/ae_stores';
|
||||
import { idaa_loc, idaa_sess, idaa_slct } from '$lib/stores/ae_idaa_stores';
|
||||
import { posts_func } from '$lib/ae_posts/ae_posts_functions';
|
||||
import Tiptap_editor from '$lib/elements/element_tiptap_editor.svelte';
|
||||
import Tiptap_editor from '$lib/elements/element_codemirror_wrapper.svelte';
|
||||
import Comp_hosted_files_upload from '$lib/ae_core/ae_comp__hosted_files_upload.svelte';
|
||||
|
||||
// let obj_changed = $state(false);
|
||||
@@ -483,17 +483,7 @@
|
||||
|
||||
{#if $ae_loc.administrator_access}
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.post_obj?.content}
|
||||
show_button_kv={{
|
||||
text: true,
|
||||
bullet_list: true,
|
||||
ordered_list: true,
|
||||
link: true,
|
||||
unset_link: true
|
||||
}}
|
||||
bind:new_html={content_new_html}
|
||||
bind:changed={content_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Your post content here..."
|
||||
/>
|
||||
@@ -1053,15 +1043,7 @@
|
||||
>Internal Staff Notes</span
|
||||
>
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.post_obj.notes}
|
||||
show_button_kv={{
|
||||
heading__h1: false,
|
||||
heading__h2: false,
|
||||
heading__h3: false
|
||||
}}
|
||||
bind:new_html={notes_new_html}
|
||||
bind:changed={notes_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Internal notes for staff only. Not shown to the public."
|
||||
/>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
} from '$lib/stores/ae_stores';
|
||||
import { idaa_loc, idaa_sess, idaa_slct, idaa_trig } from '$lib/stores/ae_idaa_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
import Tiptap_editor from '$lib/elements/element_tiptap_editor.svelte';
|
||||
import Tiptap_editor from '$lib/elements/element_codemirror_wrapper.svelte';
|
||||
|
||||
// export let container_class_li = [];
|
||||
|
||||
@@ -933,11 +933,7 @@
|
||||
<!-- <textarea name="description" id="description" class="ae_value event__description tinymce_editor editor_basic textarea" rows="5" cols="70" bind:value={$idaa_slct.event_obj.description} ></textarea> -->
|
||||
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.event_obj?.description}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={description_new_html}
|
||||
bind:changed={description_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900 font-mono font-normal"
|
||||
placeholder="A short description or overview of this recovery meeting"
|
||||
/>
|
||||
@@ -1315,11 +1311,7 @@
|
||||
</span>
|
||||
<!-- <textarea class="ae_value event__location_text tinymce_editor editor_less_100 textarea" id="location_text" name="location_text" placeholder="Additional information about the meeting location" rows="2" cols="70" bind:value={$idaa_slct.event_obj.location_text}></textarea> -->
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.event_obj?.location_text}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={location_text_new_html}
|
||||
bind:changed={location_text_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Additional information about the meeting location"
|
||||
/>
|
||||
@@ -1788,11 +1780,7 @@
|
||||
</span>
|
||||
<!-- <textarea class="ae_value event__attend_text tinymce_editor editor_less_100 textarea" id="attend_text" name="attend_text" placeholder="Additional information on how to attend or join the meeting" rows="2" cols="70" value={$lq__event_obj?.attend_text ?? ''}></textarea> -->
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.event_obj?.attend_text}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={attend_text_new_html}
|
||||
bind:changed={attend_text_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Additional information on how to attend or join the meeting"
|
||||
/>
|
||||
@@ -2034,17 +2022,7 @@
|
||||
</span>
|
||||
<!-- <textarea class="ae_value event__recurring_text tinymce_editor editor_less_100 textarea" id="recurring_text" name="recurring_text" placeholder="Additional information on when and how often" value={$lq__event_obj?.recurring_text ?? ''}></textarea> -->
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.event_obj?.recurring_text}
|
||||
show_button_kv={{
|
||||
// text: true,
|
||||
// bullet_list: true,
|
||||
// ordered_list: true,
|
||||
// link: true,
|
||||
// unset_link: true
|
||||
}}
|
||||
bind:new_html={recurring_text_new_html}
|
||||
bind:changed={recurring_text_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Additional information on when and how often"
|
||||
/>
|
||||
@@ -2594,11 +2572,7 @@
|
||||
<label for="notes" class="w-full">
|
||||
Internal Staff Notes
|
||||
<Tiptap_editor
|
||||
default_minimal={true}
|
||||
html_text={$idaa_slct.event_obj?.notes}
|
||||
show_button_kv={{ heading__h1: false, heading__h2: false, heading__h3: false }}
|
||||
bind:new_html={notes_new_html}
|
||||
bind:changed={notes_changed}
|
||||
classes="preset-tonal-surface hover:preset-filled-surface-100-900"
|
||||
placeholder="Internal notes for staff only. Not shown to the public."
|
||||
/>
|
||||
|
||||
@@ -10,10 +10,10 @@ The integration uses a multi-step iframe-based approach:
|
||||
|
||||
1. **Novi Page:** A page on the IDAA website contains a snippet of code that loads a static HTML file from this Aether project's `static/` directory into an iframe.
|
||||
2. **Static HTML Bridge:** The static file (e.g., `static/idaa_novi_iframe_archives.html`) acts as a bridge. It contains JavaScript that:
|
||||
a. Executes within the context of the Novi site, allowing it to access Novi-specific data like the current user's unique ID (`<%=Novi.User.CustomerUniqueId%>`).
|
||||
b. Uses the Novi user ID to make a call to the Novi API to get more user details (like email and full name).
|
||||
c. Uses the retrieved user details to construct a URL for the actual Aether application page.
|
||||
d. Loads the Aether page into a nested iframe on the static page.
|
||||
a. Executes within the context of the Novi site, allowing it to access Novi-specific data like the current user's unique ID (`<%=Novi.User.CustomerUniqueId%>`).
|
||||
b. Uses the Novi user ID to make a call to the Novi API to get more user details (like email and full name).
|
||||
c. Uses the retrieved user details to construct a URL for the actual Aether application page.
|
||||
d. Loads the Aether page into a nested iframe on the static page.
|
||||
3. **Aether Application:** The final Aether page (e.g., `/idaa/archives`) receives the user information via URL parameters and displays the relevant content.
|
||||
|
||||
This architecture allows the Aether application to securely authenticate and identify the Novi user without a complex SSO integration.
|
||||
@@ -24,18 +24,18 @@ The IDAA integration includes the following features, each corresponding to a ro
|
||||
|
||||
### IDAA - Archives
|
||||
|
||||
- **Route:** `/idaa/archives`
|
||||
- **Bridge File:** `static/idaa_novi_iframe_archives.html`
|
||||
- **Functionality:** Provides access to the Aether Archives module, allowing IDAA members to view and search archived content.
|
||||
- **Route:** `/idaa/archives`
|
||||
- **Bridge File:** `static/idaa_novi_iframe_archives.html`
|
||||
- **Functionality:** Provides access to the Aether Archives module, allowing IDAA members to view and search archived content.
|
||||
|
||||
### IDAA - Bulletin Board (BB)
|
||||
|
||||
- **Route:** `/idaa/bb`
|
||||
- **Bridge File:** `static/idaa_novi_iframe_bulletin_board.html`
|
||||
- **Functionality:** Provides a bulletin board or forum feature, powered by the Aether Posts module.
|
||||
- **Route:** `/idaa/bb`
|
||||
- **Bridge File:** `static/idaa_novi_iframe_bulletin_board.html`
|
||||
- **Functionality:** Provides a bulletin board or forum feature, powered by the Aether Posts module.
|
||||
|
||||
### IDAA - Recovery Meetings
|
||||
|
||||
- **Route:** `/idaa/recovery_meetings`
|
||||
- **Bridge File:** `static/idaa_novi_iframe_recovery_meetings.html`
|
||||
- **Functionality:** Displays a list of recovery meetings. This may also integrate with a Jitsi meeting interface (`idaa_novi_iframe_jitsi_meeting.html`).
|
||||
- **Route:** `/idaa/recovery_meetings`
|
||||
- **Bridge File:** `static/idaa_novi_iframe_recovery_meetings.html`
|
||||
- **Functionality:** Displays a list of recovery meetings. This may also integrate with a Jitsi meeting interface (`idaa_novi_iframe_jitsi_meeting.html`).
|
||||
|
||||
@@ -13,13 +13,13 @@ This directory (`src/routes/journals`) contains the Svelte components and pages
|
||||
|
||||
## UI Components & Pages
|
||||
|
||||
- `+page.svelte`: The main landing page that displays a list of all journals for the current user.
|
||||
- `[journal_id]/+page.svelte`: The page for viewing a single journal and its list of entries.
|
||||
- `ae_comp__journal_obj_li.svelte`: A component that renders the list of journals.
|
||||
- `ae_comp__journal_obj_id_view.svelte`: A component for viewing the details of a selected journal.
|
||||
- `ae_comp__journal_entry_obj_li.svelte`: A component that renders the list of entries for a journal.
|
||||
- `ae_comp__journal_entry_obj_id_view.svelte`: A component for viewing the content of a single journal entry.
|
||||
- `ae_comp__journal_obj_id_edit.svelte`: A modal component for creating and editing journals.
|
||||
- `+page.svelte`: The main landing page that displays a list of all journals for the current user.
|
||||
- `[journal_id]/+page.svelte`: The page for viewing a single journal and its list of entries.
|
||||
- `ae_comp__journal_obj_li.svelte`: A component that renders the list of journals.
|
||||
- `ae_comp__journal_obj_id_view.svelte`: A component for viewing the details of a selected journal.
|
||||
- `ae_comp__journal_entry_obj_li.svelte`: A component that renders the list of entries for a journal.
|
||||
- `ae_comp__journal_entry_obj_id_view.svelte`: A component for viewing the content of a single journal entry.
|
||||
- `ae_comp__journal_obj_id_edit.svelte`: A modal component for creating and editing journals.
|
||||
|
||||
## Core Logic
|
||||
|
||||
|
||||
Reference in New Issue
Block a user