+1
-1
src/lib/Rabbithole.svelte
+1
-1
src/lib/Rabbithole.svelte
···
122
122
hidden={!opened}>
123
123
<Sidebar
124
124
projects={projects}
125
+
on:projectDelete={deleteActiveProject}
125
126
on:projectChange={updateActiveProject}
126
127
on:newProject={createNewProject}
127
128
on:newProjectSync={createNewProjectFromWindow}
···
130
131
<Timeline
131
132
on:websiteDelete={deleteWebsite}
132
133
on:projectRename={renameActiveProject}
133
-
on:projectDelete={deleteActiveProject}
134
134
activeProject={activeProject}
135
135
websites={websites} />
136
136
</AppShell>
+20
-4
src/lib/Sidebar.svelte
+20
-4
src/lib/Sidebar.svelte
···
11
11
export let projects;
12
12
13
13
let newRabbitholeName = "";
14
-
let isHovering = false;
14
+
let isHoveringOverSync = false;
15
+
let isHoveringOverDelete = false;
15
16
const textStyleOverride = {
16
17
marginTop: "15px"
17
18
}
···
45
46
async function saveAllTabsToActiveProject() {
46
47
dispatch('projectSync');
47
48
}
49
+
50
+
async function deleteProject() {
51
+
dispatch("projectDelete");
52
+
}
48
53
</script>
49
54
50
55
<div class="sidebar">
···
58
63
id="project-selector"
59
64
projects={projects}
60
65
handleProjectChange={handleProjectChange} />
61
-
<Tooltip {isHovering} label="Save all tabs in window to current project">
66
+
<Tooltip {isHoveringOverSync} label="Save all tabs in window to current project">
62
67
<Button
63
68
on:click={saveAllTabsToActiveProject}
64
-
on:mouseenter={()=>{isHovering=true}}
65
-
on:mouseleave={()=>{isHovering=false}}
69
+
on:mouseenter={()=>{isHoveringOverSync=true}}
70
+
on:mouseleave={()=>{isHoveringOverSync=false}}
66
71
variant='light'
67
72
color='blue'
68
73
>
69
74
Sync window
75
+
</Button>
76
+
</Tooltip>
77
+
<Tooltip {isHoveringOverDelete} label="This action is irreversible!">
78
+
<Button
79
+
on:click={deleteProject}
80
+
on:mouseenter={()=>{isHoveringOverDelete=true}}
81
+
on:mouseleave={()=>{isHoveringOverDelete=false}}
82
+
variant='filled'
83
+
color='red'
84
+
>
85
+
Delete Project
70
86
</Button>
71
87
</Tooltip>
72
88
<Text weight="bold" size="lg" override={textStyleOverride}>Create Project</Text>
+1
-12
src/lib/Timeline.svelte
+1
-12
src/lib/Timeline.svelte
···
14
14
let nameClicked = false;
15
15
let isHovering = false;
16
16
17
-
async function deleteProject() {
18
-
dispatch("projectDelete");
19
-
}
20
-
21
17
async function renameProject() {
22
18
if (activeProject.name === "") {
23
19
// TODO: error modal
···
50
46
<img class="logo" alt="Rabbithole logo" src="../assets/icons/logo.png">
51
47
</div>
52
48
<div class="input-div">
53
-
<Tooltip {isHovering} label="Click to rename/delete project">
49
+
<Tooltip {isHovering} label="Click to rename project">
54
50
<Input id="project-name"
55
51
icon={Pencil1}
56
52
variant="unstyled"
···
69
65
color='blue'
70
66
>
71
67
Rename
72
-
</Button>
73
-
<Button
74
-
on:click={deleteProject}
75
-
variant='filled'
76
-
color='red'
77
-
>
78
-
Delete
79
68
</Button>
80
69
{/if}
81
70
</Group>