From 80fe2d6992edd6cf73d9ef3d745c5ed512df0e38 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sat, 8 May 2021 14:46:02 +0200 Subject: [PATCH 1/6] =?UTF-8?q?:wrench:=20(eslint)=20add=20typescript=20es?= =?UTF-8?q?lin=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.js b/.eslintrc.js index 2a05d8e..d470e2c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -7,6 +7,7 @@ module.exports = { 'plugin:vue/vue3-essential', 'eslint:recommended', 'plugin:vue/recommended', + '@vue/prettier/@typescript-eslint', 'plugin:prettier-vue/recommended' ], parserOptions: { From a9fba337608d57cf7e5c8bea3d98213c2854ee46 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sat, 8 May 2021 14:46:12 +0200 Subject: [PATCH 2/6] :rotating_light: (app) --- src/hooks/useGitHubLogin.hook.ts | 28 +++---- src/modules/repo/store/userRepo.store.ts | 1 - src/views/DraftNotes.vue | 92 ++++++++++---------- src/views/FleetingNotes.vue | 102 +++++++++++------------ src/views/Home.vue | 6 +- 5 files changed, 114 insertions(+), 115 deletions(-) diff --git a/src/hooks/useGitHubLogin.hook.ts b/src/hooks/useGitHubLogin.hook.ts index 7f76d13..71cfc14 100644 --- a/src/hooks/useGitHubLogin.hook.ts +++ b/src/hooks/useGitHubLogin.hook.ts @@ -1,33 +1,33 @@ import { computed, ref } from 'vue' import { confirmMessage } from '@/utils/notif' -import { GithubToken } from '@/modules/user/interfaces/GithubToken' import { getAccessToken, saveAccessToken } from '@/modules/user/service/signIn' +import { GithubToken } from '@/modules/user/interfaces/GithubToken' const username = ref(null) const accessToken = ref(null) let init = true -export const useGitHubLogin = () => { - const saveAccessTokenToLocal = async () => { - const response = await getAccessToken() - username.value = response?.username || '' - accessToken.value = response?.token || '' - } +const saveAccessTokenToLocal = async () => { + const response = await getAccessToken() + username.value = response?.username || '' + accessToken.value = response?.token || '' +} +const saveCredentials = async (token: GithubToken): Promise => { + const accessToken = await saveAccessToken(token) + + await saveAccessTokenToLocal() + confirmMessage(`${accessToken.username} is logged in!`) +} + +export const useGitHubLogin = () => { if (init) { init = false saveAccessTokenToLocal() } - const saveCredentials = async (githubToken: GithubToken) => { - const accessToken = await saveAccessToken(githubToken) - - await saveAccessTokenToLocal() - confirmMessage(`${accessToken.username} is logged in!`) - } - return { isLogged: !!accessToken.value, isReady: computed(() => accessToken.value !== null), diff --git a/src/modules/repo/store/userRepo.store.ts b/src/modules/repo/store/userRepo.store.ts index 7d5da19..79bf6d5 100644 --- a/src/modules/repo/store/userRepo.store.ts +++ b/src/modules/repo/store/userRepo.store.ts @@ -29,7 +29,6 @@ export const useUserRepoStore = defineStore({ async setUserRepo(newUser: string, newRepo: string) { this.user = newUser this.repo = newRepo - await refreshToken() const [readme, files] = await Promise.all([ getMainReadme(newUser, newRepo), getFiles(newUser, newRepo) diff --git a/src/views/DraftNotes.vue b/src/views/DraftNotes.vue index 222b25d..8107221 100644 --- a/src/views/DraftNotes.vue +++ b/src/views/DraftNotes.vue @@ -1,47 +1,45 @@ - - - - - + + + + + diff --git a/src/views/FleetingNotes.vue b/src/views/FleetingNotes.vue index 4bd7e75..1ab5e94 100644 --- a/src/views/FleetingNotes.vue +++ b/src/views/FleetingNotes.vue @@ -1,52 +1,50 @@ - - - - - + + + + + diff --git a/src/views/Home.vue b/src/views/Home.vue index 3e60f80..e189d32 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -8,10 +8,11 @@ - - + + + + + diff --git a/src/components/WelcomeWorld.vue b/src/components/WelcomeWorld.vue index c3a7f63..4f01c15 100644 --- a/src/components/WelcomeWorld.vue +++ b/src/components/WelcomeWorld.vue @@ -20,7 +20,7 @@

- Manage your repos

@@ -49,17 +49,15 @@
-
- https://github.com/ -
+
https://github.com/
@@ -70,9 +68,9 @@
@@ -109,8 +107,8 @@ import { useFavoriteRepos } from '@/modules/repo/hooks/useFavoriteRepos.hook' import SignInGithub from '@/components/SignInGithub.vue' export default defineComponent({ - components: { SignInGithub }, name: 'WelcomeWord', + components: { SignInGithub }, setup() { const { isLogged, username } = useGitHubLogin() const { savedFavoriteRepos } = useFavoriteRepos() diff --git a/src/hooks/useNote.hook.ts b/src/hooks/useNote.hook.ts index 64948c9..fbb3637 100644 --- a/src/hooks/useNote.hook.ts +++ b/src/hooks/useNote.hook.ts @@ -100,8 +100,9 @@ export const useNote = (containerClass: string) => { if (isMobile.value) { container.style.height = `${(stackedNotes.value.length + 1) * 100}vh` } else { - container.style.width = `${NOTE_WIDTH * - (stackedNotes.value.length + 1)}px` + container.style.width = `${ + NOTE_WIDTH * (stackedNotes.value.length + 1) + }px` } } diff --git a/src/modules/note/hooks/useNoteCache.ts b/src/modules/note/hooks/useNoteCache.ts index fad2d05..1f86f96 100644 --- a/src/modules/note/hooks/useNoteCache.ts +++ b/src/modules/note/hooks/useNoteCache.ts @@ -1,31 +1,31 @@ -import { data } from '@/data/data' -import { DataType } from '@/data/DataType.enum' -import { Note } from '@/modules/note/models/Note' -import { useAsyncState } from '@vueuse/core' -import { computed } from 'vue' - -export const useNoteCache = (sha: string) => { - const noteId = computed(() => data.generateId(DataType.Note, sha)) - const getCachedNote = async () => data.get(noteId.value) - - const cachedNote = useAsyncState(getCachedNote, null) - - const saveCacheNote = async (content: string) => { - const newNote: Note = { - _id: noteId.value, - $type: DataType.Note, - content - } - - await data.update(newNote) - - await cachedNote.execute() - } - - return { - cachedNote: cachedNote.state, - isReady: cachedNote.isReady, - getCachedNote, - saveCacheNote - } -} +import { data } from '@/data/data' +import { DataType } from '@/data/DataType.enum' +import { Note } from '@/modules/note/models/Note' +import { useAsyncState } from '@vueuse/core' +import { computed } from 'vue' + +export const useNoteCache = (sha: string) => { + const noteId = computed(() => data.generateId(DataType.Note, sha)) + const getCachedNote = async () => data.get(noteId.value) + + const cachedNote = useAsyncState(getCachedNote, null) + + const saveCacheNote = async (content: string) => { + const newNote: Note = { + _id: noteId.value, + $type: DataType.Note, + content + } + + await data.update(newNote) + + await cachedNote.execute() + } + + return { + cachedNote: cachedNote.state, + isReady: cachedNote.isReady, + getCachedNote, + saveCacheNote + } +} diff --git a/src/modules/repo/services/resolvePath.ts b/src/modules/repo/services/resolvePath.ts index 1b37cec..5aada86 100644 --- a/src/modules/repo/services/resolvePath.ts +++ b/src/modules/repo/services/resolvePath.ts @@ -1,32 +1,32 @@ -const sanitizePath = (path: string) => { - if (path.startsWith('./')) { - return decodeURIComponent(path.replace('./', '')) - } - return decodeURIComponent(path) -} - -const removeNoteFilename = (pathNote: string) => { - const path = pathNote.split('/') - path.pop() - - return sanitizePath(path.join('/')) -} - -export const resolvePath = ( - currentAbsolutePathNote: string, - pathToResolve: string -) => { - let currentAbsolutePath = removeNoteFilename(currentAbsolutePathNote) - pathToResolve = sanitizePath(pathToResolve) - - while (pathToResolve.startsWith('../')) { - const adjustedAbsolutePath = currentAbsolutePath.split('/') - adjustedAbsolutePath.pop() - currentAbsolutePath = adjustedAbsolutePath.join('/') - pathToResolve = pathToResolve.replace('../', '') - } - - return currentAbsolutePath - ? `${currentAbsolutePath}/${pathToResolve}` - : pathToResolve -} +const sanitizePath = (path: string) => { + if (path.startsWith('./')) { + return decodeURIComponent(path.replace('./', '')) + } + return decodeURIComponent(path) +} + +const removeNoteFilename = (pathNote: string) => { + const path = pathNote.split('/') + path.pop() + + return sanitizePath(path.join('/')) +} + +export const resolvePath = ( + currentAbsolutePathNote: string, + pathToResolve: string +) => { + let currentAbsolutePath = removeNoteFilename(currentAbsolutePathNote) + pathToResolve = sanitizePath(pathToResolve) + + while (pathToResolve.startsWith('../')) { + const adjustedAbsolutePath = currentAbsolutePath.split('/') + adjustedAbsolutePath.pop() + currentAbsolutePath = adjustedAbsolutePath.join('/') + pathToResolve = pathToResolve.replace('../', '') + } + + return currentAbsolutePath + ? `${currentAbsolutePath}/${pathToResolve}` + : pathToResolve +} From a98f30cfcd210f935845276755ee3cb313dafd3c Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 9 May 2021 01:07:05 +0200 Subject: [PATCH 4/6] :mute: (token) --- src/modules/user/service/signIn.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/modules/user/service/signIn.ts b/src/modules/user/service/signIn.ts index c9c9cf2..5364a62 100644 --- a/src/modules/user/service/signIn.ts +++ b/src/modules/user/service/signIn.ts @@ -44,8 +44,6 @@ export const refreshToken = async () => { return null } - console.log(accessToken.refreshToken) - if (await needToRefreshToken()) { const authenticationServerURL = new URL(AUTHENTICATION_SERVER) authenticationServerURL.searchParams.set('type', 'refresh') @@ -56,8 +54,6 @@ export const refreshToken = async () => { | GithubToken | GithubTokenError - console.log(githubToken) - if ('error' in githubToken) { return null } @@ -103,8 +99,6 @@ export const saveAccessToken = async (githubToken: GithubToken) => { username: '' } - console.log(accessToken) - const octokit = new Octokit({ auth: accessToken?.token }) From 6a5e7a9d631af325d6abe57ecb9c7a4e5ab12aef Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 9 May 2021 01:12:01 +0200 Subject: [PATCH 5/6] :rotating_light: --- src/components/NewVersion.vue | 2 +- src/components/StackedNote.vue | 2 +- src/hooks/useNoteOverlay.hook.ts | 7 +- src/main.ts | 6 +- src/modules/note/hooks/useFolderNotes.ts | 64 +++++++-------- src/modules/note/models/Note.ts | 12 +-- src/modules/repo/store/userRepo.store.ts | 1 - src/views/Login.vue | 4 +- src/views/RepoList.vue | 2 +- src/views/ShareNotes.vue | 2 +- .../modules/repo/services/resolvePath.spec.ts | 82 +++++++++---------- 11 files changed, 89 insertions(+), 95 deletions(-) diff --git a/src/components/NewVersion.vue b/src/components/NewVersion.vue index 552fce2..834b4e6 100644 --- a/src/components/NewVersion.vue +++ b/src/components/NewVersion.vue @@ -1,5 +1,5 @@