diff --git a/src/lib/components/ProfileList.svelte b/src/lib/components/ProfileList.svelte
new file mode 100644
index 0000000..f1d95d7
--- /dev/null
+++ b/src/lib/components/ProfileList.svelte
@@ -0,0 +1,129 @@
+
+
+
@@ -420,147 +321,14 @@
{#if showSidebar}
-
+ deleteProfile(e.detail.profileId)}
+ on:editProfile={(e) => editProfile(e.detail.profile)}
+ on:saveTrigger={saveTrigger}
+ on:deleteTrigger={(e) => deleteTrigger(e.detail.triggerId)}
+ />
{/if}
@@ -605,254 +373,9 @@
overflow: hidden;
}
- .mud-sidebar {
- display: flex;
- flex-direction: column;
- width: 250px;
- border-right: 1px solid var(--color-border);
- background-color: var(--color-bg);
- }
-
- .sidebar-tabs {
- display: flex;
- border-bottom: 1px solid var(--color-border);
- }
-
- .sidebar-tab {
- flex: 1;
- padding: 0.5rem;
- text-align: center;
- background: none;
- border: none;
- cursor: pointer;
- color: var(--color-text-muted);
- }
-
- .sidebar-tab.active {
- color: var(--color-text);
- border-bottom: 2px solid var(--color-primary);
- }
-
- .sidebar-tab:focus {
- outline: 2px solid var(--color-primary);
- outline-offset: -2px;
- position: relative;
- z-index: 2;
- }
-
- .sidebar-tab:focus:not(:focus-visible) {
- outline: none;
- }
-
- [role="tabpanel"]:focus {
- outline: 2px solid var(--color-primary);
- outline-offset: -2px;
- }
-
- [role="tabpanel"]:focus:not(:focus-visible) {
- outline: none;
- }
-
- .sidebar-content {
- flex: 1;
- overflow-y: auto;
- padding: 1rem;
- }
-
- .sidebar-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 1rem;
- }
-
- .sidebar-header h3 {
- margin: 0;
- font-size: 1.1rem;
- }
-
- .profile-list, .trigger-list, .settings-list {
- display: flex;
- flex-direction: column;
- gap: 0.5rem;
- }
-
- .profile-item, .trigger-item, .setting-item {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- align-items: center;
- padding: 0.5rem;
- border-radius: var(--border-radius);
- background-color: var(--color-input-bg);
- border: 1px solid var(--color-border);
- }
-
- .setting-description {
- flex-basis: 100%;
- margin-top: 5px;
- font-size: 0.85rem;
- color: var(--color-text-muted);
- font-style: italic;
- }
-
- .profile-item.active {
- border-color: var(--color-primary);
- background-color: rgba(33, 150, 243, 0.1);
- }
-
- .profile-name, .trigger-name, .setting-name {
- font-weight: bold;
- }
-
- .profile-actions, .trigger-actions {
- display: flex;
- gap: 0.25rem;
- }
-
- .trigger-item.disabled {
- opacity: 0.5;
- }
-
- .trigger-info {
- display: flex;
- align-items: center;
- gap: 0.5rem;
- margin-top: 0.25rem;
- font-size: 0.9rem;
- color: var(--color-text-muted);
- }
-
- .trigger-pattern {
- font-family: monospace;
- }
-
- .trigger-highlight {
- width: 16px;
- height: 16px;
- border-radius: 4px;
- border: 1px solid var(--color-border);
- }
-
- .no-items {
- color: var(--color-text-muted);
- font-style: italic;
- }
-
.mud-main {
flex: 1;
overflow: hidden;
position: relative;
}
-
- /* Switch styling */
- .switch {
- position: relative;
- display: inline-block;
- width: 40px;
- height: 24px;
- }
-
- .switch input {
- opacity: 0;
- width: 0;
- height: 0;
- }
-
- .slider {
- position: absolute;
- cursor: pointer;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: #ccc;
- transition: 0.4s;
- }
-
- .slider:before {
- position: absolute;
- content: "";
- height: 16px;
- width: 16px;
- left: 4px;
- bottom: 4px;
- background-color: white;
- transition: 0.4s;
- }
-
- input:checked + .slider {
- background-color: var(--color-primary);
- }
-
- input:focus + .slider {
- box-shadow: 0 0 1px var(--color-primary);
- }
-
- input:checked + .slider:before {
- transform: translateX(16px);
- }
-
- .slider.round {
- border-radius: 24px;
- }
-
- .slider.round:before {
- border-radius: 50%;
- }
-
- .range-control {
- display: flex;
- align-items: center;
- gap: 0.5rem;
- }
-
- .range-control input {
- flex: 1;
- }
-
- .range-value {
- min-width: 40px;
- text-align: right;
- }
-
- /* Form elements for modals */
- .form-row {
- margin-bottom: 15px;
- }
-
- .form-row label {
- display: block;
- margin-bottom: 5px;
- }
-
- .form-row input {
- width: 100%;
- padding: 8px;
- border: 1px solid #ddd;
- border-radius: 4px;
- }
-
- .buttons {
- display: flex;
- justify-content: flex-end;
- gap: 10px;
- }
-
- .buttons button {
- padding: 8px 16px;
- border-radius: 4px;
- cursor: pointer;
- }
-
- .buttons button:first-child {
- background-color: #f5f5f5;
- border: 1px solid #ddd;
- }
-
- .buttons button:last-child {
- background-color: #2196f3;
- color: white;
- border: none;
- }
-
+
\ No newline at end of file