Skip to content

Commit 3c07055

Browse files
committed
cleanup/refactor
1 parent 02802ad commit 3c07055

18 files changed

Lines changed: 46 additions & 269 deletions

src/App.vue

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,3 @@ onBeforeMount(async () => {
4444
<LoadingView v-if="CoreLoadingState.percentage < 100 || !coreReady" />
4545
<RouterView v-else />
4646
</template>
47-
48-
<style scoped>
49-
main {
50-
height: 100%;
51-
}
52-
</style>

src/assets/themes.css

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,6 @@
2626

2727
--grid-color: #262626;
2828

29-
/* old:
30-
--event-color-blue: #6495ed;
31-
--event-color-green: #2ea043;
32-
--event-color-red: #ee3a49;
33-
--event-color-purple: #8250df;
34-
--event-color-yellow: #d9a520;
35-
--event-color-orange: #f66a0a;
36-
--event-color-pink: #e84393;
37-
--event-color-teal: #009688;
38-
--event-color-gray: #9d9c9d;*/
39-
4029
--event-color-blue: #00579f;
4130
--event-color-green: #0d7b00;
4231
--event-color-red: #af0800;

src/components/EventTags.vue

Lines changed: 0 additions & 93 deletions
This file was deleted.

src/components/MultiToggle.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script setup lang="ts">
2-
const props = defineProps<{
2+
defineProps<{
33
options: readonly string[];
44
labels?: readonly string[];
55
disabled?: readonly string[];
@@ -16,7 +16,7 @@ const id = (i: number) => `toggle-${uid}-${i}`;
1616
</script>
1717

1818
<template>
19-
<div ref="toggle" class="toggle">
19+
<div class="toggle">
2020
<!-- second template cuz why not, it would need anothed div instead -->
2121
<template v-for="(option, i) in options" :key="option">
2222
<input

src/components/NewEventBtn.vue

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,11 @@ import { useEventModal } from '@/composables/modals/useEventModal';
44
55
const eventModal = useEventModal();
66
7-
const props = defineProps({
8-
large: {
9-
type: Boolean,
10-
default: false,
11-
},
12-
});
7+
defineProps<{ large?: boolean }>();
138
</script>
149

1510
<template>
16-
<button class="new-event-btn" :class="{ large: large }" @click="eventModal.open(undefined)">
11+
<button class="new-event-btn" :class="{ large }" @click="eventModal.open()">
1712
<FiPlusCircle />
1813
<span v-if="large">{{ $t('newEventBtn') }}</span>
1914
</button>

src/components/SideBar.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ aside {
5858
display: flex;
5959
flex-direction: column;
6060
align-items: center;
61-
display: flex;
62-
flex-direction: column;
6361
height: 100%;
6462
overflow: hidden;
6563
min-height: 0;

src/components/SidebarCloseBtn.vue

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ const sidebar = useSidebar();
66
</script>
77

88
<template>
9-
<button id="sidebar-toggle" @click="sidebar.toggle" style="display: flex;">
10-
<TbLayoutSidebarFilled style="scale: 1.15;" v-show="sidebar.isOpen.value"/>
11-
<TbLayoutSidebar style="scale: 1.15;" v-show="!sidebar.isOpen.value"/>
9+
<button id="sidebar-toggle" @click="sidebar.toggle" style="display: flex">
10+
<TbLayoutSidebarFilled style="scale: 1.15" v-show="sidebar.isOpen.value" />
11+
<TbLayoutSidebar style="scale: 1.15" v-show="!sidebar.isOpen.value" />
1212
</button>
1313
</template>
14-
15-
<style scoped></style>

src/components/TopBar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ watch(
3030
watch(view, (newView) => {
3131
if (newView === 'w') {
3232
// week view should be aligned
33-
let current = getCurrentViewDatetime(router.currentRoute.value.params);
33+
const current = getCurrentViewDatetime(router.currentRoute.value.params);
3434
router.push(getWeekAlignedRedirect(current));
3535
} else {
3636
router.push({

src/components/timeline/CursorLine.vue

Lines changed: 11 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,29 @@
22
import { settings } from '@/services/settings';
33
44
import { DateTime } from 'luxon';
5-
import { computed, onMounted, onUnmounted, ref } from 'vue';
5+
import { computed } from 'vue';
6+
import { useNow } from '@vueuse/core';
67
78
const props = defineProps<{
89
startHour: number;
910
endHour: number;
1011
}>();
1112
12-
const hour = ref(DateTime.now().hour);
13-
const minute = ref(DateTime.now().minute);
14-
let interval: number;
15-
const today = DateTime.now();
13+
const now = useNow({ interval: 60_000 });
1614
1715
const topPos = computed(() => {
18-
const currentHour = hour.value + minute.value / 60;
16+
const currentHour = now.value.getHours() + now.value.getMinutes() / 60;
1917
const position = (currentHour - props.startHour) / (props.endHour - props.startHour);
2018
return `${Math.max(0, Math.min(1, position)) * 100}%`;
2119
});
2220
23-
const timeFormat = computed(() => {
24-
const now = today.set({ hour: hour.value, minute: minute.value });
25-
return now.toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: settings.value.timeFormat });
26-
});
27-
28-
function updateTime() {
29-
const now = DateTime.now();
30-
hour.value = now.hour;
31-
minute.value = now.minute;
32-
}
33-
34-
onMounted(() => {
35-
const msTillFullMinute = (60 - DateTime.now().second) * 1000 + (1000 - DateTime.now().millisecond);
36-
setTimeout(() => {
37-
updateTime();
38-
interval = setInterval(updateTime, 60 * 1000); // update every 1 minute
39-
}, msTillFullMinute + 10); // match the second first, so that it doesnt update on XXh:XXm:30s every time but roughly at XXh:XXm:00s
40-
});
41-
42-
onUnmounted(() => {
43-
clearInterval(interval);
44-
});
21+
const timeFormat = computed(() =>
22+
DateTime.fromJSDate(now.value).toLocaleString({
23+
hour: '2-digit',
24+
minute: '2-digit',
25+
hourCycle: settings.value.timeFormat,
26+
}),
27+
);
4528
</script>
4629

4730
<template>

src/components/timeline/CursorToday.vue

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,19 @@
11
<script setup lang="ts">
2-
import { DateTime } from 'luxon';
3-
import { computed, onMounted, onUnmounted, ref } from 'vue';
2+
import { computed } from 'vue';
3+
import { useNow } from '@vueuse/core';
44
55
const props = defineProps<{
66
startHour: number;
77
endHour: number;
88
}>();
99
10-
const hour = ref(DateTime.now().hour);
11-
const minute = ref(DateTime.now().minute);
12-
let interval: number;
10+
const now = useNow({ interval: 60_000 });
1311
1412
const topPos = computed(() => {
15-
const currentHour = hour.value + minute.value / 60;
13+
const currentHour = now.value.getHours() + now.value.getMinutes() / 60;
1614
const position = (currentHour - props.startHour) / (props.endHour - props.startHour);
1715
return `${Math.max(0, Math.min(1, position)) * 100}%`;
1816
});
19-
20-
function updateTime() {
21-
const now = DateTime.now();
22-
hour.value = now.hour;
23-
minute.value = now.minute;
24-
}
25-
26-
onMounted(() => {
27-
const msTillFullMinute = (60 - DateTime.now().second) * 1000 + (1000 - DateTime.now().millisecond);
28-
setTimeout(() => {
29-
updateTime();
30-
interval = setInterval(updateTime, 60 * 1000); // update every 1 minute
31-
}, msTillFullMinute); // match the second first, so that it doesnt update on XXh:XXm:30s every time but roughly at XXh:XXm:00s
32-
});
33-
34-
onUnmounted(() => {
35-
clearInterval(interval);
36-
});
3717
</script>
3818

3919
<template>
@@ -53,8 +33,6 @@ onUnmounted(() => {
5333
border: 1px var(--bg-color) solid;
5434
border-radius: 3px;
5535
z-index: 501;
56-
57-
position: absolute;
5836
left: -1px;
5937
6038
&::before {

0 commit comments

Comments
 (0)