fix: add newline at end of line (#827)
This commit is contained in:
parent
5d973b1b86
commit
bb9dc03351
|
|
@ -84,4 +84,4 @@ export default [
|
||||||
// ],
|
// ],
|
||||||
},
|
},
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -61,4 +61,4 @@ const state = reactive({
|
||||||
</BaseButton>
|
</BaseButton>
|
||||||
</Variant>
|
</Variant>
|
||||||
</Story>
|
</Story>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -43,4 +43,4 @@ const emit = defineEmits<{
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -94,4 +94,4 @@ const pages = computed(() => createPagination(props.totalPages, props.currentPag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -296,4 +296,4 @@ $user-dropdown-width-mobile: 5rem;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
margin-right: .5rem;
|
margin-right: .5rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -235,4 +235,4 @@ projectStore.loadAllProjects()
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -48,4 +48,4 @@ const enabled = computed(() => configStore.demoModeEnabled && !hide.value)
|
||||||
right: .5rem;
|
right: .5rem;
|
||||||
top: .25rem;
|
top: .25rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -44,4 +44,4 @@ onMounted(async () => {
|
||||||
{{ $t('home.project.import') }}
|
{{ $t('home.project.import') }}
|
||||||
</x-button>
|
</x-button>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -35,4 +35,4 @@ const CustomLogo = computed(() => window.CUSTOM_LOGO_URL)
|
||||||
max-width: 168px;
|
max-width: 168px;
|
||||||
max-height: 48px;
|
max-height: 48px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -71,4 +71,4 @@ $size: $lineWidth + 1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -29,4 +29,4 @@ const computedUrl = computed(() => `${poweredByUrl}&utm_medium=${props.utmMedium
|
||||||
padding-bottom: 1rem;
|
padding-bottom: 1rem;
|
||||||
font-size: .8rem;
|
font-size: .8rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -79,4 +79,4 @@ function refreshApp() {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -32,4 +32,4 @@ import XButton from './Button.vue'
|
||||||
</XButton>
|
</XButton>
|
||||||
</Variant>
|
</Variant>
|
||||||
</Story>
|
</Story>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -114,4 +114,4 @@ const variantClass = computed(() => VARIANT_CLASS_MAP[props.variant])
|
||||||
.underline-none {
|
.underline-none {
|
||||||
text-decoration: none !important;
|
text-decoration: none !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,4 @@ const state = reactive({
|
||||||
<Story :layout="{ type: 'grid', width: '200px' }">
|
<Story :layout="{ type: 'grid', width: '200px' }">
|
||||||
<ColorPicker v-model="state.color" />
|
<ColorPicker v-model="state.color" />
|
||||||
</Story>
|
</Story>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -147,4 +147,4 @@ function close() {
|
||||||
margin: 0 auto 8px;
|
margin: 0 auto 8px;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -82,4 +82,4 @@ const withoutInitialState = ref<boolean | undefined>()
|
||||||
{{ withoutInitialState }}
|
{{ withoutInitialState }}
|
||||||
</Variant>
|
</Variant>
|
||||||
</Story>
|
</Story>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -94,4 +94,4 @@ const emit = defineEmits<{
|
||||||
transition-delay: 0.15s;
|
transition-delay: 0.15s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -589,4 +589,4 @@ function focus() {
|
||||||
right: .5rem;
|
right: .5rem;
|
||||||
color: var(--danger);
|
color: var(--danger);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -91,4 +91,4 @@ function handleInput(e: Event) {
|
||||||
right: 1rem;
|
right: 1rem;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -193,4 +193,4 @@ async function toggleReaction(value: string) {
|
||||||
z-index: 99;
|
z-index: 99;
|
||||||
margin-top: .5rem;
|
margin-top: .5rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -146,4 +146,4 @@ export default {
|
||||||
color: var(--grey-500);
|
color: var(--grey-500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -25,4 +25,4 @@ export default Extension.create({
|
||||||
}),
|
}),
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,4 @@ export async function setLinkInEditor(pos, editor) {
|
||||||
.extendMarkRange('link')
|
.extendMarkRange('link')
|
||||||
.setLink({href: url, target: '_blank'})
|
.setLink({href: url, target: '_blank'})
|
||||||
.run()
|
.run()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -211,4 +211,4 @@ export default function suggestionSetup(t) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -143,4 +143,4 @@ async function setApiUrl() {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: var(--link);
|
color: var(--link);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -16,4 +16,4 @@ import BaseButton from '@/components/base/BaseButton.vue'
|
||||||
color: var(--link-hover);
|
color: var(--link-hover);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -8,4 +8,4 @@ import Card from './Card.vue'
|
||||||
Card content
|
Card content
|
||||||
</Card>
|
</Card>
|
||||||
</Story>
|
</Story>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -93,4 +93,4 @@ defineEmits<{
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,4 @@ defineProps< {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -67,4 +67,4 @@ $flash-background-duration: 750ms;
|
||||||
.modal-leave-active .modal-container {
|
.modal-leave-active .modal-container {
|
||||||
transform: scale(0.9);
|
transform: scale(0.9);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -33,4 +33,4 @@ withDefaults(defineProps<{
|
||||||
.is-done--small {
|
.is-done--small {
|
||||||
padding: .2rem .3rem;
|
padding: .2rem .3rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -197,4 +197,4 @@ library.add(faFaceLaugh)
|
||||||
library.add(faExclamation)
|
library.add(faExclamation)
|
||||||
|
|
||||||
// overwriting the wrong types
|
// overwriting the wrong types
|
||||||
export default FontAwesomeIcon as unknown as FontAwesomeIconFixedTypes
|
export default FontAwesomeIcon as unknown as FontAwesomeIconFixedTypes
|
||||||
|
|
|
||||||
|
|
@ -34,4 +34,4 @@ const privacyPolicyUrl = computed(() => configStore.legal.privacyPolicyUrl)
|
||||||
color: var(--grey-300);
|
color: var(--grey-300);
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,4 @@ withDefaults(defineProps<{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,4 @@
|
||||||
<p class="has-text-centered has-text-grey is-italic p-4 mb-4">
|
<p class="has-text-centered has-text-grey is-italic p-4 mb-4">
|
||||||
<slot />
|
<slot />
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -55,4 +55,4 @@
|
||||||
.buttons {
|
.buttons {
|
||||||
margin-top: 0.5rem;
|
margin-top: 0.5rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -55,4 +55,4 @@ function getRouteForPagination(page = 1, type = null) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -52,4 +52,4 @@ function changePage(page: number) {
|
||||||
emit('pageChanged', page)
|
emit('pageChanged', page)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -41,4 +41,4 @@ kbd {
|
||||||
span {
|
span {
|
||||||
padding: 0 .25rem;
|
padding: 0 .25rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -86,4 +86,4 @@ function close() {
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: .5rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -311,4 +311,4 @@ async function markAllRead() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -163,4 +163,4 @@ function setSubscriptionInStore(sub: ISubscription) {
|
||||||
|
|
||||||
const authStore = useAuthStore()
|
const authStore = useAuthStore()
|
||||||
const isDefaultProject = computed(() => props.project?.id === authStore.settings.defaultProjectId)
|
const isDefaultProject = computed(() => props.project?.id === authStore.settings.defaultProjectId)
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -163,4 +163,4 @@ function getViewTitle(view: IProjectView) {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -68,4 +68,4 @@ const showDocs = ref(false)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Expandable>
|
</Expandable>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -77,4 +77,4 @@ const filteredProjects = computed(() => {
|
||||||
display: grid;
|
display: grid;
|
||||||
margin-top: 0; // remove padding coming form .content li + li
|
margin-top: 0; // remove padding coming form .content li + li
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -329,4 +329,4 @@ function prepareFiltersAndLoadTasks() {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -421,4 +421,4 @@ const taskDetailRoutes = computed(() => Object.fromEntries(
|
||||||
.filter-container :deep(.popup) {
|
.filter-container :deep(.popup) {
|
||||||
top: 7rem;
|
top: 7rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -320,4 +320,4 @@ function handleBubbleSave() {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -684,4 +684,4 @@ function reset() {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -383,4 +383,4 @@ async function find(query: string) {
|
||||||
return typeof sharables.value.find(s => s.id === m.id) === 'undefined'
|
return typeof sharables.value.find(s => s.id === m.id) === 'undefined'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -285,4 +285,4 @@ const dateIsToday = computed(() => (date: Date) => {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -91,4 +91,4 @@ defineEmits<{
|
||||||
height: 18px;
|
height: 18px;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -477,4 +477,4 @@ async function setCoverImage(attachment: IAttachment | null) {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
font-size: .75rem;
|
font-size: .75rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -81,4 +81,4 @@ circle {
|
||||||
stroke: var(--primary);
|
stroke: var(--primary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -480,4 +480,4 @@ function getCommentUrl(commentId: string) {
|
||||||
.comments-container {
|
.comments-container {
|
||||||
scroll-margin-top: 4rem;
|
scroll-margin-top: 4rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -66,4 +66,4 @@ const doneFormatted = computed(() => formatDateLong(props.task.doneAt))
|
||||||
color: var(--grey-500);
|
color: var(--grey-500);
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -177,4 +177,4 @@ $defer-task-max-width: 350px + 100px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -48,4 +48,4 @@ img {
|
||||||
.icon-wrapper {
|
.icon-wrapper {
|
||||||
color: var(--grey-500);
|
color: var(--grey-500);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -205,4 +205,4 @@ async function cancel(element: HTMLInputElement) {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -386,4 +386,4 @@ $task-background: var(--white);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 0.5rem;
|
height: 0.5rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -22,4 +22,4 @@ defineProps<{
|
||||||
margin-left: 0.5rem;
|
margin-left: 0.5rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -33,4 +33,4 @@ const displayLabels = computed(() =>
|
||||||
margin-bottom: .125rem;
|
margin-bottom: .125rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -69,4 +69,4 @@ const minimumPriority = computed(() => {
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
padding-right: .5rem;
|
padding-right: .5rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -464,4 +464,4 @@ async function toggleTaskDone(task: ITask) {
|
||||||
height: 18px; // The exact height of the checkbox in the container
|
height: 18px; // The exact height of the checkbox in the container
|
||||||
margin-right: .75rem;
|
margin-right: .75rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -141,4 +141,4 @@ function updateData() {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -130,4 +130,4 @@ function removeReminderByIndex(index: number) {
|
||||||
padding-left: .5rem;
|
padding-left: .5rem;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -168,4 +168,4 @@ p {
|
||||||
.input {
|
.input {
|
||||||
min-width: 2rem;
|
min-width: 2rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -72,4 +72,4 @@ export function useAutoHeightTextarea(value: MaybeRefOrGetter<string>) {
|
||||||
textarea,
|
textarea,
|
||||||
height,
|
height,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,4 +16,4 @@ export function useBodyClass(className: string, defaultValue = false) {
|
||||||
tryOnBeforeUnmount(() => isActive.value && document.body.classList.remove(className))
|
tryOnBeforeUnmount(() => isActive.value && document.body.classList.remove(className))
|
||||||
|
|
||||||
return isActive
|
return isActive
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,4 +46,4 @@ export const useColorScheme = createSharedComposable(() => {
|
||||||
store,
|
store,
|
||||||
isDark: readonly(isDark),
|
isDark: readonly(isDark),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -44,4 +44,4 @@ export function useCopyToClipboard() {
|
||||||
error(t('misc.copyError'))
|
error(t('misc.copyError'))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,4 @@ export function useDaytimeSalutation() {
|
||||||
} as Record<Daytime, () => string>
|
} as Record<Daytime, () => string>
|
||||||
|
|
||||||
return computed(() => name.value ? salutations[daytime.value]() : undefined)
|
return computed(() => name.value ? salutations[daytime.value]() : undefined)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,4 @@ export function useOnline(options?: ConfigurableWindow) {
|
||||||
return ref(true)
|
return ref(true)
|
||||||
}
|
}
|
||||||
return isOnline
|
return isOnline
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,4 +32,4 @@ export function useRedirectToLastVisited() {
|
||||||
redirectIfSaved,
|
redirectIfSaved,
|
||||||
getLastVisitedRoute,
|
getLastVisitedRoute,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,4 +43,4 @@ export function useRenewTokenOnFocus() {
|
||||||
console.debug('renewed token')
|
console.debug('renewed token')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -71,4 +71,4 @@ export function useRouteFilters<CurrentFilters extends Filters>(
|
||||||
hasDefaultFilters,
|
hasDefaultFilters,
|
||||||
setDefaultFilters,
|
setDefaultFilters,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -91,4 +91,4 @@ export function useRouteWithModal() {
|
||||||
}
|
}
|
||||||
|
|
||||||
return {routeWithModal, currentModal, closeModal}
|
return {routeWithModal, currentModal, closeModal}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -176,4 +176,4 @@ export function useTaskList(
|
||||||
params,
|
params,
|
||||||
sortByParam: sortBy,
|
sortByParam: sortBy,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,4 +18,4 @@ export function useTitle(
|
||||||
)
|
)
|
||||||
|
|
||||||
return useTitleVueUse(completeTitle, options)
|
return useTitleVueUse(completeTitle, options)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,4 +9,4 @@ export const MILLISECONDS_A_SECOND = 1000
|
||||||
export const MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND
|
export const MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND
|
||||||
export const MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND
|
export const MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND
|
||||||
export const MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND
|
export const MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND
|
||||||
export const MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND
|
export const MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,4 @@ export const PRIORITIES = {
|
||||||
'DO_NOW': 5,
|
'DO_NOW': 5,
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type Priority = typeof PRIORITIES[keyof typeof PRIORITIES]
|
export type Priority = typeof PRIORITIES[keyof typeof PRIORITIES]
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,4 @@ export const RIGHTS = {
|
||||||
'ADMIN': 2,
|
'ADMIN': 2,
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type Right = typeof RIGHTS[keyof typeof RIGHTS]
|
export type Right = typeof RIGHTS[keyof typeof RIGHTS]
|
||||||
|
|
|
||||||
|
|
@ -13,4 +13,4 @@ const focus = <Directive<HTMLElement,string>>{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export default focus
|
export default focus
|
||||||
|
|
|
||||||
|
|
@ -36,4 +36,4 @@ export async function uploadFiles(
|
||||||
|
|
||||||
export function generateAttachmentUrl(taskId: number, attachmentId: number) {
|
export function generateAttachmentUrl(taskId: number, attachmentId: number) {
|
||||||
return `${window.API_URL}/tasks/${taskId}/attachments/${attachmentId}`
|
return `${window.API_URL}/tasks/${taskId}/attachments/${attachmentId}`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,4 +18,4 @@ export const calculateItemPosition = (
|
||||||
|
|
||||||
// If we have both a task before and after it, we actually calculate the position
|
// If we have both a task before and after it, we actually calculate the position
|
||||||
return positionBefore + (positionAfter - positionBefore) / 2
|
return positionBefore + (positionAfter - positionBefore) / 2
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,4 @@ export const closeWhenClickedOutside = (event: MouseEvent, rootElement: HTMLElem
|
||||||
}
|
}
|
||||||
|
|
||||||
closeCallback()
|
closeCallback()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,4 @@ export function colorIsDark(color: string | undefined) {
|
||||||
Math.pow(b/255.0,2.2) * 0.0722
|
Math.pow(b/255.0,2.2) * 0.0722
|
||||||
|
|
||||||
return Math.pow(Ys,0.678) >= 0.5
|
return Math.pow(Ys,0.678) >= 0.5
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,4 @@ export const downloadBlob = (url: string, filename: string) => {
|
||||||
link.setAttribute('download', filename)
|
link.setAttribute('download', filename)
|
||||||
link.click()
|
link.click()
|
||||||
window.URL.revokeObjectURL(url)
|
window.URL.revokeObjectURL(url)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,4 @@ export function getFullBaseUrl() {
|
||||||
// https://github.com/vitejs/vite/blob/b35fe883fdc699ac1450882562872095abe9959b/packages/vite/src/node/config.ts#L643
|
// https://github.com/vitejs/vite/blob/b35fe883fdc699ac1450882562872095abe9959b/packages/vite/src/node/config.ts#L643
|
||||||
// See this comment: https://github.com/vitejs/vite/pull/10723#issuecomment-1303627478
|
// See this comment: https://github.com/vitejs/vite/pull/10723#issuecomment-1303627478
|
||||||
return rawBase.endsWith('/') ? rawBase : rawBase + '/'
|
return rawBase.endsWith('/') ? rawBase : rawBase + '/'
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,4 @@ export function getHumanSize(inputSize: number) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return Number(Math.round(Number(size + 'e2')) + 'e-2') + ' ' + SIZES[iterator]
|
return Number(Math.round(Number(size + 'e2')) + 'e-2') + ' ' + SIZES[iterator]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,4 @@ export function getInheritedBackgroundColor(el: HTMLElement): string {
|
||||||
}
|
}
|
||||||
|
|
||||||
return getInheritedBackgroundColor(el.parentElement)
|
return getInheritedBackgroundColor(el.parentElement)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,4 +36,4 @@ export default function inputPrompt(pos: ClientRect, oldValue: string = ''): Pro
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,4 @@ export function getProjectViewId(projectId: IProject['id']): number {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return projectViewSettings[projectId]
|
return projectViewSettings[projectId]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,4 @@ const DEFAULT_ID_LENGTH = 9
|
||||||
|
|
||||||
export function createRandomID(idLength = DEFAULT_ID_LENGTH) {
|
export function createRandomID(idLength = DEFAULT_ID_LENGTH) {
|
||||||
return Math.random().toString(36).slice(2, idLength)
|
return Math.random().toString(36).slice(2, idLength)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,4 +12,4 @@ export const replaceAll = (str: string, search: string, replace: string) => {
|
||||||
const esc = search.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')
|
const esc = search.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')
|
||||||
const reg = new RegExp(esc, 'ig')
|
const reg = new RegExp(esc, 'ig')
|
||||||
return str.replace(reg, replace)
|
return str.replace(reg, replace)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,4 +16,4 @@ export function scrollIntoView(el: HTMLElement | null | undefined) {
|
||||||
inline: 'nearest',
|
inline: 'nearest',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,4 @@ export function setTitle(title : undefined | string) {
|
||||||
document.title = (typeof title === 'undefined' || title === '')
|
document.title = (typeof title === 'undefined' || title === '')
|
||||||
? 'Vikunja'
|
? 'Vikunja'
|
||||||
: `${title} | Vikunja`
|
: `${title} | Vikunja`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,4 @@ export function calculateNearestHours(currentDate: Date = new Date()): number {
|
||||||
|
|
||||||
// Same case as in the first if, will never be called
|
// Same case as in the first if, will never be called
|
||||||
return 9
|
return 9
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -66,4 +66,4 @@ export function useWeekDayFromDate() {
|
||||||
const dateTimeFormatter = useDateTimeFormatter({weekday: 'short'})
|
const dateTimeFormatter = useDateTimeFormatter({weekday: 'short'})
|
||||||
|
|
||||||
return computed(() => (date: Date) => dateTimeFormatter.value.format(date))
|
return computed(() => (date: Date) => dateTimeFormatter.value.format(date))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue