mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Remove Singleton from BaseStore to remove global shared state Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove more usages of Singleton Signed-off-by: Sebastian Malton <sebastian@malton.name> * Replace use of legacy global execHelm with injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove last use of legacy global execHelm Signed-off-by: Sebastian Malton <sebastian@malton.name> * Extract BaseStore deps into constructor argument Signed-off-by: Sebastian Malton <sebastian@malton.name> * Introduce method to make store migrations injectable - Use it for ClusterStore Signed-off-by: Sebastian Malton <sebastian@malton.name> * Switch HotbarStore to injectable migrations Signed-off-by: Sebastian Malton <sebastian@malton.name> * Switch UserStore to injectable migrations Signed-off-by: Sebastian Malton <sebastian@malton.name> * Move migration utils into common/utils/ Signed-off-by: Sebastian Malton <sebastian@malton.name> * Switch WeblinkStore to injectable migrations Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove dead code Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix type error in base-store tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove tests that reference lastSeenVersion - That value is not used anywhere in code Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove usage of legacy global .getInstance Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove usage of legacy global ClusterStore.getInstance Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add simple migrations dependency for stores without any preexisting migrations Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix messed up import Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add typing to transient injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Cleanup formatting Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix typing in tests to satisfy requirement to have cacheFile Signed-off-by: Sebastian Malton <sebastian@malton.name> * More consistent use of BaseStore.displayName Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add catching of error while starting main application Signed-off-by: Sebastian Malton <sebastian@malton.name> * Move initializing sentry to runnable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove unneeded appPathsInjectionToken - Only had once impl, which was in common anyway Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add support for multiple "runAfter" runnables - Needed so that several dependencies can be declared Signed-off-by: Sebastian Malton <sebastian@malton.name> * Use multiple runAfter support to fix crash on renderer Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove traces Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add global override to fix tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix base store tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix runManyFor tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix hotbar store tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix user store tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add global override for getConfigurationFileModel to fix tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove overrides for configuration stores - Now that there is an override for getConfiguration Signed-off-by: Sebastian Malton <sebastian@malton.name> * Overhaul FS fakes with full in-memory filesystem - This increases our confidence in fs related logic Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove use of global shared Electron.App Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add fake access support Signed-off-by: Sebastian Malton <sebastian@malton.name> * Handle copy as part of fake FS Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add ensureDir/Sync support to fake FS Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix type error Signed-off-by: Sebastian Malton <sebastian@malton.name> * Use pathExistsSync instead of fsInjectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add createReadStream to fake FS Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add stat to fake FS Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove dead code Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix test failures due to incomplete overrides Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fully injectable-ize BaseStore so that ApplicationBuilder tests work Signed-off-by: Sebastian Malton <sebastian@malton.name> * Consolidate more bootstrapping into startFrame Signed-off-by: Sebastian Malton <sebastian@malton.name> * Move initializing CatalogCategories to runnable in bootstrap Signed-off-by: Sebastian Malton <sebastian@malton.name> * Convert contextMenuOpen initializers into runnables Signed-off-by: Sebastian Malton <sebastian@malton.name> * Convert navigateForExtension init to runnable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Make cluster state sync fully injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Move init hotbar store into runnables Signed-off-by: Sebastian Malton <sebastian@malton.name> * Make LensTheme fully injectable and runnable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Cleanup old code from missed from previous commit Signed-off-by: Sebastian Malton <sebastian@malton.name> * Manually split out terminal color names and fully type LensTheme Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix old imports Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove unnecessart awaits Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove dead code Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fully cherry pick injectablizing custom monaco themes Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix duplicate mock warning Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix incorrectly fully cherry picking new runnable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Complete cherry-pick of current cluster injcetablization Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix override file name Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix injecting before app paths are set up Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix injecting before app paths are set up Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix ordering of runnable and order of injection Signed-off-by: Sebastian Malton <sebastian@malton.name> * Convert all renderer runnables to late-inject style - To help fix issues around injection time Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix react-beautiful-dnd mocks Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update and fix WriteJson(Sync) to fix error in tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix HotbarStore.load being called twice is being buggy Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update listing-active-helm-repositories-in-preferences snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix sidebar-and-tab-navigation-tests - Move enabling extensions in tests to a proper location - Fix flushing promises Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove props from dnd mock to make snapshot diffs smaller Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix import Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests by overriding things that are no longer overriden by default - NOTE: They are overridden when using ApplicationBuilder Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix hotbar store tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix cluster store tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix extension-loader tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix extension-discovery tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix cluster-role-dialog tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix user store tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix kubeconfig sync tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix sidebar and tab tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove unused code Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix pick paths import type error and simplify signature Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix type error in legacy ipc registration Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove another use of legacy requestOpenPathPicker Signed-off-by: Sebastian Malton <sebastian@malton.name> * Replace use of legacy global PathPicker.Pick Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix usage in light of changed prop names Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix catalog tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix more type errors Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix test flakiness by removing side effects from userStore preferences Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix loading Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix type error Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix crash Signed-off-by: Sebastian Malton <sebastian@malton.name> * Cherry pick updated startFrameInjectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add tests to verify runMany behaviour in new possible incorrect configuration Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix init ordering during start frame Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix cluster state sync Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots after removing side-effects Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add override for technical test Signed-off-by: Sebastian Malton <sebastian@malton.name> * Correctly mark currentlyInClusterFrame as causedSideEffects Signed-off-by: Sebastian Malton <sebastian@malton.name> * Better formatting Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix behaviour regression Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add better logging Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix BaseStore sync Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update last snapshot Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add global override for randomBytes Signed-off-by: Sebastian Malton <sebastian@malton.name> * Make startMainApplication not an injection time side effect Signed-off-by: Sebastian Malton <sebastian@malton.name> * Choose better names for start-frame runnable tokens Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove duplication of code in RunManyFor Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add unit tests and fix handling empty runAfter array Signed-off-by: Sebastian Malton <sebastian@malton.name> * Replace use of mobx from runManyFor with custom barrier Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add missing test Signed-off-by: Sebastian Malton <sebastian@malton.name> Signed-off-by: Sebastian Malton <sebastian@malton.name>
489 lines
11 KiB
Plaintext
489 lines
11 KiB
Plaintext
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
|
|
exports[`extension special characters in page registrations renders 1`] = `
|
|
<div>
|
|
<div
|
|
class="ClusterManager"
|
|
>
|
|
<div
|
|
class="topBar"
|
|
>
|
|
<div
|
|
class="items"
|
|
>
|
|
<div
|
|
class="preventedDragging"
|
|
>
|
|
<i
|
|
class="Icon material interactive disabled focusable"
|
|
data-testid="home-button"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="home"
|
|
>
|
|
home
|
|
</span>
|
|
</i>
|
|
</div>
|
|
<div
|
|
class="size-sm"
|
|
/>
|
|
<div
|
|
class="preventedDragging"
|
|
>
|
|
<i
|
|
class="Icon material interactive disabled focusable"
|
|
data-testid="history-back"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_back"
|
|
>
|
|
arrow_back
|
|
</span>
|
|
</i>
|
|
</div>
|
|
<div
|
|
class="size-sm"
|
|
/>
|
|
<div
|
|
class="preventedDragging"
|
|
>
|
|
<i
|
|
class="Icon material interactive disabled focusable"
|
|
data-testid="history-forward"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_forward"
|
|
>
|
|
arrow_forward
|
|
</span>
|
|
</i>
|
|
</div>
|
|
<div
|
|
class="separator"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<main>
|
|
<div
|
|
id="lens-views"
|
|
/>
|
|
<div
|
|
class="flex justify-center Welcome align-center"
|
|
data-testid="welcome-page"
|
|
>
|
|
<div
|
|
data-testid="welcome-banner-container"
|
|
style="width: 320px;"
|
|
>
|
|
<i
|
|
class="Icon logo svg focusable"
|
|
>
|
|
<span
|
|
class="icon"
|
|
/>
|
|
</i>
|
|
<div
|
|
class="flex justify-center"
|
|
>
|
|
<div
|
|
data-testid="welcome-text-container"
|
|
style="width: 320px;"
|
|
>
|
|
<h2>
|
|
Welcome to some-product-name!
|
|
</h2>
|
|
<p>
|
|
To get you started we have auto-detected your clusters in your
|
|
|
|
kubeconfig file and added them to the catalog, your centralized
|
|
|
|
view for managing all your cloud-native resources.
|
|
<br />
|
|
<br />
|
|
If you have any questions or feedback, please join our
|
|
<a
|
|
class="link"
|
|
href="https://join.slack.com/t/k8slens/shared_invite/zt-wcl8jq3k-68R5Wcmk1o95MLBE5igUDQ"
|
|
rel="noreferrer"
|
|
target="_blank"
|
|
>
|
|
Lens Community slack channel
|
|
</a>
|
|
.
|
|
</p>
|
|
<ul
|
|
class="block"
|
|
data-testid="welcome-menu-container"
|
|
style="width: 320px;"
|
|
>
|
|
<li
|
|
class="flex grid-12"
|
|
>
|
|
<i
|
|
class="Icon box col-1 material focusable"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="view_list"
|
|
>
|
|
view_list
|
|
</span>
|
|
</i>
|
|
<a
|
|
class="box col-10"
|
|
>
|
|
Browse Clusters in Catalog
|
|
</a>
|
|
<i
|
|
class="Icon box col-1 material focusable"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="navigate_next"
|
|
>
|
|
navigate_next
|
|
</span>
|
|
</i>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<div
|
|
class="HotbarMenu flex column"
|
|
>
|
|
<div
|
|
class="HotbarItems flex column gaps"
|
|
>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="0"
|
|
>
|
|
<div
|
|
style="z-index: 12; position: absolute;"
|
|
>
|
|
<div
|
|
class="HotbarIcon contextMenuAvailable"
|
|
>
|
|
<div
|
|
class="Avatar rounded disabled avatar"
|
|
id="hotbarIcon-hotbar-icon-catalog-entity"
|
|
style="width: 40px; height: 40px; background: rgb(5, 1, 130);"
|
|
>
|
|
Ca
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="1"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="2"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="3"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="4"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="5"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="6"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="7"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="8"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="9"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="10"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="11"
|
|
/>
|
|
</div>
|
|
<div
|
|
class="HotbarSelector"
|
|
>
|
|
<i
|
|
class="Icon Icon previous material interactive focusable"
|
|
tabindex="0"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_left"
|
|
>
|
|
arrow_left
|
|
</span>
|
|
</i>
|
|
<div
|
|
class="HotbarIndex"
|
|
>
|
|
<div
|
|
class="badge Badge small clickable"
|
|
id="hotbarIndex"
|
|
>
|
|
1
|
|
</div>
|
|
</div>
|
|
<i
|
|
class="Icon material interactive focusable"
|
|
tabindex="0"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_right"
|
|
>
|
|
arrow_right
|
|
</span>
|
|
</i>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="StatusBar"
|
|
data-testid="status-bar"
|
|
>
|
|
<div
|
|
class="leftSide"
|
|
data-testid="status-bar-left"
|
|
/>
|
|
<div
|
|
class="rightSide"
|
|
data-testid="status-bar-right"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="Notifications flex column align-flex-end"
|
|
/>
|
|
</div>
|
|
`;
|
|
|
|
exports[`extension special characters in page registrations when navigating to route with ID having special characters renders 1`] = `
|
|
<div>
|
|
<div
|
|
class="ClusterManager"
|
|
>
|
|
<div
|
|
class="topBar"
|
|
>
|
|
<div
|
|
class="items"
|
|
>
|
|
<div
|
|
class="preventedDragging"
|
|
>
|
|
<i
|
|
class="Icon material interactive focusable"
|
|
data-testid="home-button"
|
|
tabindex="0"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="home"
|
|
>
|
|
home
|
|
</span>
|
|
</i>
|
|
</div>
|
|
<div
|
|
class="size-sm"
|
|
/>
|
|
<div
|
|
class="preventedDragging"
|
|
>
|
|
<i
|
|
class="Icon material interactive disabled focusable"
|
|
data-testid="history-back"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_back"
|
|
>
|
|
arrow_back
|
|
</span>
|
|
</i>
|
|
</div>
|
|
<div
|
|
class="size-sm"
|
|
/>
|
|
<div
|
|
class="preventedDragging"
|
|
>
|
|
<i
|
|
class="Icon material interactive disabled focusable"
|
|
data-testid="history-forward"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_forward"
|
|
>
|
|
arrow_forward
|
|
</span>
|
|
</i>
|
|
</div>
|
|
<div
|
|
class="separator"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<main>
|
|
<div
|
|
id="lens-views"
|
|
/>
|
|
<div>
|
|
Some page
|
|
</div>
|
|
</main>
|
|
<div
|
|
class="HotbarMenu flex column"
|
|
>
|
|
<div
|
|
class="HotbarItems flex column gaps"
|
|
>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="0"
|
|
>
|
|
<div
|
|
style="z-index: 12; position: absolute;"
|
|
>
|
|
<div
|
|
class="HotbarIcon contextMenuAvailable"
|
|
>
|
|
<div
|
|
class="Avatar rounded disabled avatar"
|
|
id="hotbarIcon-hotbar-icon-catalog-entity"
|
|
style="width: 40px; height: 40px; background: rgb(5, 1, 130);"
|
|
>
|
|
Ca
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="1"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="2"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="3"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="4"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="5"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="6"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="7"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="8"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="9"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="10"
|
|
/>
|
|
<div
|
|
class="HotbarCell isDraggingOwner animateDown"
|
|
index="11"
|
|
/>
|
|
</div>
|
|
<div
|
|
class="HotbarSelector"
|
|
>
|
|
<i
|
|
class="Icon Icon previous material interactive focusable"
|
|
tabindex="0"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_left"
|
|
>
|
|
arrow_left
|
|
</span>
|
|
</i>
|
|
<div
|
|
class="HotbarIndex"
|
|
>
|
|
<div
|
|
class="badge Badge small clickable"
|
|
id="hotbarIndex"
|
|
>
|
|
1
|
|
</div>
|
|
</div>
|
|
<i
|
|
class="Icon material interactive focusable"
|
|
tabindex="0"
|
|
>
|
|
<span
|
|
class="icon"
|
|
data-icon-name="arrow_right"
|
|
>
|
|
arrow_right
|
|
</span>
|
|
</i>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="StatusBar"
|
|
data-testid="status-bar"
|
|
>
|
|
<div
|
|
class="leftSide"
|
|
data-testid="status-bar-left"
|
|
/>
|
|
<div
|
|
class="rightSide"
|
|
data-testid="status-bar-right"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="Notifications flex column align-flex-end"
|
|
/>
|
|
</div>
|
|
`;
|