fixes
This commit is contained in:
@@ -16,7 +16,7 @@ const config: CapacitorConfig = {
|
||||
},
|
||||
FirebaseAuthentication: {
|
||||
skipNativeAuth: false,
|
||||
providers: ['google.com']
|
||||
providers: ['google.com', 'microsoft.com', 'github.com']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,37 +60,33 @@ const providers: Provider[] = [
|
||||
const credential = GoogleAuthProvider.credential(result.credential?.idToken)
|
||||
await signInWithCredential(auth, credential)
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'microsoft',
|
||||
icon: 'fa-brands fa-microsoft',
|
||||
signin: async () => {
|
||||
const result = await FirebaseAuthentication.signInWithMicrosoft({
|
||||
mode: 'redirect'
|
||||
})
|
||||
const provider = new OAuthProvider('microsoft.com')
|
||||
const credential = provider.credential({
|
||||
idToken: result.credential?.idToken,
|
||||
rawNonce: result.credential?.nonce
|
||||
})
|
||||
await signInWithCredential(auth, credential)
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'github',
|
||||
icon: 'fa-brands fa-github',
|
||||
signin: async () => {
|
||||
const result = await FirebaseAuthentication.signInWithGithub({
|
||||
mode: 'redirect'
|
||||
})
|
||||
const provider = new OAuthProvider('github.com')
|
||||
const credential = provider.credential({
|
||||
idToken: result.credential?.idToken,
|
||||
rawNonce: result.credential?.nonce
|
||||
})
|
||||
await signInWithCredential(auth, credential)
|
||||
}
|
||||
}
|
||||
// {
|
||||
// name: 'microsoft',
|
||||
// icon: 'fa-brands fa-microsoft',
|
||||
// signin: async () => {
|
||||
// const result = await FirebaseAuthentication.signInWithMicrosoft({
|
||||
// mode: 'redirect'
|
||||
// })
|
||||
// const provider = new OAuthProvider('microsoft.com')
|
||||
// // const credential = provider.credential({
|
||||
// // idToken: result.credential?.idToken,
|
||||
// // rawNonce: result.credential?.nonce
|
||||
// // })
|
||||
// if (result.credential) {
|
||||
// const credential = provider.credential(result.credential)
|
||||
// console.log(credential)
|
||||
// try {
|
||||
// const user = await signInWithCredential(auth, credential)
|
||||
// console.log('user', user)
|
||||
// } catch (error: any) {
|
||||
// console.log(error)
|
||||
// console.log('message', error.message)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// Microsoft users can't be signed in manually so this does not work on native
|
||||
]
|
||||
// type Provider = (typeof providers)[number]
|
||||
const signInWithProvider = async (provider: Provider) => {
|
||||
|
||||
@@ -15,8 +15,7 @@ import ContextedPlugin from '@/ckeditor/ContextedPlugin'
|
||||
import { mdToHtml, htmlToMd } from '@/utils/markdown'
|
||||
import { getNoteByTitle, setActiveNote, addNote } from '@/composables/useNotes'
|
||||
import Autocomplete from '@/components/Note/Autocomplete.vue'
|
||||
import { Haptics, ImpactStyle } from '@capacitor/haptics'
|
||||
|
||||
import { vibrate } from '@/composables/useHaptics'
|
||||
const props = defineProps<{ note: Note }>()
|
||||
|
||||
const emit = defineEmits<{
|
||||
@@ -68,7 +67,7 @@ const handleClick = async ({ data }: { data: any }) => {
|
||||
let note: BaseNote | Note | undefined = getNoteByTitle(noteTitle)
|
||||
if (!note) note = addNote(noteTitle, '')
|
||||
setActiveNote(note.id)
|
||||
await Haptics.impact({ style: ImpactStyle.Light })
|
||||
await vibrate()
|
||||
}
|
||||
|
||||
const autocompleteRef = ref<InstanceType<typeof Autocomplete> | null>(null)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import { Capacitor } from '@capacitor/core'
|
||||
import { Dialog } from '@capacitor/dialog'
|
||||
import type { ConfirmOptions } from '@capacitor/dialog'
|
||||
import { vibrate } from '@/composables/useHaptics'
|
||||
|
||||
const props = defineProps<{
|
||||
note: Note
|
||||
@@ -57,7 +58,7 @@ const openModal = async (open: () => void, modal: ModalOptions) => {
|
||||
<UIButtonGroup class="flex items-center" v-if="!props.note.isRoot">
|
||||
<UIModal v-for="confirmModal in confirmModals" :key="confirmModal.key">
|
||||
<template #activator="{ open }">
|
||||
<UIButton size="sm" @click="openModal(open, confirmModal)" :join="true">
|
||||
<UIButton size="sm" @click="openModal(open, confirmModal)" :join="true" @mousedown="vibrate">
|
||||
<i :class="confirmModal.icon" />
|
||||
</UIButton>
|
||||
</template>
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { OnClickOutside } from '@vueuse/components'
|
||||
import { Haptics, ImpactStyle } from '@capacitor/haptics'
|
||||
|
||||
const vibrate = (event: PointerEvent) => {
|
||||
if (event.target !== document.activeElement) {
|
||||
Haptics.impact({ style: ImpactStyle.Light })
|
||||
}
|
||||
}
|
||||
import { vibrate } from '@/composables/useHaptics'
|
||||
</script>
|
||||
<template>
|
||||
<OnClickOutside>
|
||||
|
||||
@@ -32,7 +32,6 @@ const updateNoteContent = (content: string) => {
|
||||
const references = computed<Note[]>(() => getNoteReferences(props.note))
|
||||
|
||||
const handleAction = async (action: string, closeModal: () => Promise<Boolean>) => {
|
||||
Haptics.impact({ style: ImpactStyle.Light })
|
||||
switch (action) {
|
||||
case 'delete':
|
||||
if (closeModal) await closeModal()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { onClickOutside } from '@vueuse/core'
|
||||
import { Haptics, ImpactStyle } from '@capacitor/haptics'
|
||||
import { vibrate } from '@/composables/useHaptics'
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
@@ -20,9 +20,8 @@ const show = ref<boolean>(false)
|
||||
watch(
|
||||
() => props.open,
|
||||
() => {
|
||||
if (show.value) {
|
||||
Haptics.impact({ style: ImpactStyle.Light })
|
||||
}
|
||||
if (show.value) vibrate()
|
||||
|
||||
show.value = props.open
|
||||
},
|
||||
{ immediate: true }
|
||||
|
||||
@@ -60,6 +60,7 @@ export const initializeFirebase = async () => {
|
||||
const app = initializeApp(firebaseConfig)
|
||||
const auth = await getFirebaseAuth(app)
|
||||
onAuthStateChanged(auth, (firebaseUser) => {
|
||||
console.log('auth state changed', firebaseUser)
|
||||
user.value = firebaseUser
|
||||
})
|
||||
db.value = markRaw(
|
||||
|
||||
3
src/composables/useHaptics.ts
Normal file
3
src/composables/useHaptics.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import { Haptics, ImpactStyle } from '@capacitor/haptics'
|
||||
|
||||
export const vibrate = () => Haptics.impact({ style: ImpactStyle.Light })
|
||||
@@ -8,7 +8,7 @@ import { defaultNotes } from '@/utils/defaultNotes'
|
||||
import { mdToHtml } from '@/utils/markdown'
|
||||
import { getAllMatches } from '@/utils/helpers'
|
||||
import { preferredNotesSource } from '@/composables/useSettings'
|
||||
import { Haptics, ImpactStyle } from '@capacitor/haptics'
|
||||
import { vibrate } from '@/composables/useHaptics'
|
||||
|
||||
export const notesSources = computed(() => ({
|
||||
local: true,
|
||||
@@ -104,7 +104,7 @@ export const setActiveNote = (noteId: string | undefined, haptic: boolean = true
|
||||
if (noteId) {
|
||||
activeNoteId.value = noteId
|
||||
activeViewMode.value = viewModes.find((mode) => mode.name === 'Note') || viewModes[0]
|
||||
if (haptic) Haptics.impact({ style: ImpactStyle.Light })
|
||||
if (haptic) vibrate()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user