autoimport with eslint now
This commit is contained in:
@@ -17,6 +17,7 @@ module.exports = {
|
|||||||
'@vue/eslint-config-typescript',
|
'@vue/eslint-config-typescript',
|
||||||
'plugin:prettier-vue/recommended'
|
'plugin:prettier-vue/recommended'
|
||||||
],
|
],
|
||||||
|
plugins: ['simple-import-sort'],
|
||||||
rules: {
|
rules: {
|
||||||
'no-console': DEV_TOOL_ACTIVATED,
|
'no-console': DEV_TOOL_ACTIVATED,
|
||||||
'no-debugger': DEV_TOOL_ACTIVATED,
|
'no-debugger': DEV_TOOL_ACTIVATED,
|
||||||
@@ -43,7 +44,9 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
'simple-import-sort/imports': 'error',
|
||||||
|
'simple-import-sort/exports': 'error'
|
||||||
},
|
},
|
||||||
overrides: [
|
overrides: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
"eslint": "^8.46.0",
|
"eslint": "^8.46.0",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"eslint-config-prettier": "^9.0.0",
|
||||||
"eslint-plugin-prettier-vue": "^4.2.0",
|
"eslint-plugin-prettier-vue": "^4.2.0",
|
||||||
|
"eslint-plugin-simple-import-sort": "^10.0.0",
|
||||||
"eslint-plugin-vue": "^9.16.1",
|
"eslint-plugin-vue": "^9.16.1",
|
||||||
"prettier": "^3.0.1",
|
"prettier": "^3.0.1",
|
||||||
"sass": "^1.64.2",
|
"sass": "^1.64.2",
|
||||||
|
|||||||
6144
pnpm-lock.yaml
generated
6144
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,5 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-wifi-off" width="30" height="30" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cloud-off" width="30" height="30" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
<path d="M12 18l.01 0" />
|
<path d="M9.58 5.548c.24 -.11 .492 -.207 .752 -.286c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 .957 -.383 1.824 -1.003 2.454m-2.997 1.033h-11.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.13 -.582 .37 -1.128 .7 -1.62" />
|
||||||
<path d="M9.172 15.172a4 4 0 0 1 5.656 0" />
|
|
||||||
<path d="M6.343 12.343a7.963 7.963 0 0 1 3.864 -2.14m4.163 .155a7.965 7.965 0 0 1 3.287 2" />
|
|
||||||
<path d="M3.515 9.515a12 12 0 0 1 3.544 -2.455m3.101 -.92a12 12 0 0 1 10.325 3.374" />
|
|
||||||
<path d="M3 3l18 18" />
|
<path d="M3 3l18 18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 571 B After Width: | Height: | Size: 629 B |
4
src/assets/icons/online.svg
Normal file
4
src/assets/icons/online.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-onedrive" width="30" height="30" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3a47" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<path d="M18.456 10.45a6.45 6.45 0 0 0 -12 -2.151a4.857 4.857 0 0 0 -4.44 5.241a4.856 4.856 0 0 0 5.236 4.444h10.751a3.771 3.771 0 0 0 3.99 -3.54a3.772 3.772 0 0 0 -3.538 -3.992z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 476 B |
@@ -1,9 +1,10 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
|
||||||
import { signIn } from '@/modules/user/service/signIn'
|
|
||||||
import { onBeforeMount, ref } from 'vue'
|
import { onBeforeMount, ref } from 'vue'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
|
||||||
|
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
||||||
|
import { signIn } from '@/modules/user/service/signIn'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const { saveCredentials } = useGitHubLogin()
|
const { saveCredentials } = useGitHubLogin()
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import LiteLoading from '@/components/LiteLoading.vue'
|
|
||||||
import { useLinks } from '@/hooks/useLinks.hook'
|
|
||||||
import { useMarkdown } from '@/hooks/useMarkdown.hook'
|
|
||||||
import { useNote } from '@/hooks/useNote.hook'
|
|
||||||
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
|
||||||
import { useVisitRepo } from '@/modules/history/hooks/useVisitRepo.hook'
|
|
||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
|
||||||
import { useUserSettings } from '@/modules/user/hooks/useUserSettings.hook'
|
|
||||||
import {
|
import {
|
||||||
computed,
|
computed,
|
||||||
defineAsyncComponent,
|
defineAsyncComponent,
|
||||||
@@ -17,6 +9,15 @@ import {
|
|||||||
watch
|
watch
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
|
|
||||||
|
import LiteLoading from '@/components/LiteLoading.vue'
|
||||||
|
import { useLinks } from '@/hooks/useLinks.hook'
|
||||||
|
import { useMarkdown } from '@/hooks/useMarkdown.hook'
|
||||||
|
import { useNote } from '@/hooks/useNote.hook'
|
||||||
|
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
||||||
|
import { useVisitRepo } from '@/modules/history/hooks/useVisitRepo.hook'
|
||||||
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
|
import { useUserSettings } from '@/modules/user/hooks/useUserSettings.hook'
|
||||||
|
|
||||||
const HeaderNote = defineAsyncComponent(
|
const HeaderNote = defineAsyncComponent(
|
||||||
() => import('@/components/HeaderNote.vue')
|
() => import('@/components/HeaderNote.vue')
|
||||||
)
|
)
|
||||||
@@ -109,14 +110,19 @@ const focus = () => scrollToFocusedNote(undefined, true)
|
|||||||
>
|
>
|
||||||
{{ repo }} </router-link
|
{{ repo }} </router-link
|
||||||
>]
|
>]
|
||||||
|
</h1>
|
||||||
|
<h4 class="subtitle is-4">
|
||||||
|
<em>{{ user }}</em> -
|
||||||
<img
|
<img
|
||||||
v-if="store.isReadmeOffline"
|
v-show="store.isReadmeOffline"
|
||||||
src="@/assets/icons/offline.svg"
|
src="@/assets/icons/offline.svg"
|
||||||
alt="ofline"
|
alt="ofline"
|
||||||
/>
|
/>
|
||||||
</h1>
|
<img
|
||||||
<h4 class="subtitle is-4">
|
v-show="!store.isReadmeOffline"
|
||||||
<em>{{ user }}</em>
|
src="@/assets/icons/online.svg"
|
||||||
|
alt="ofline"
|
||||||
|
/>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<slot />
|
<slot />
|
||||||
@@ -194,11 +200,8 @@ $header-height: 40px;
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
img {
|
||||||
img {
|
vertical-align: middle;
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,10 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent } from 'vue'
|
import { defineComponent } from 'vue'
|
||||||
import { locales } from '@/locales/message'
|
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|
||||||
|
import { locales } from '@/locales/message'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'FooterTranslation',
|
name: 'FooterTranslation',
|
||||||
setup() {
|
setup() {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { computed } from 'vue'
|
||||||
|
|
||||||
import { useBacklinks } from '@/hooks/useBacklinks.hook'
|
import { useBacklinks } from '@/hooks/useBacklinks.hook'
|
||||||
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
||||||
import { computed } from 'vue'
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
sha: string
|
sha: string
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import LiteLoading from '@/components/LiteLoading.vue'
|
|
||||||
import { useRegisterSW } from 'virtual:pwa-register/vue'
|
import { useRegisterSW } from 'virtual:pwa-register/vue'
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
|
|
||||||
|
import LiteLoading from '@/components/LiteLoading.vue'
|
||||||
|
|
||||||
const devMode = ref(import.meta.env.DEV)
|
const devMode = ref(import.meta.env.DEV)
|
||||||
const isLoading = ref(false)
|
const isLoading = ref(false)
|
||||||
const { offlineReady, needRefresh, updateServiceWorker } = useRegisterSW()
|
const { offlineReady, needRefresh, updateServiceWorker } = useRegisterSW()
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { computed, defineAsyncComponent, nextTick, watch } from 'vue'
|
||||||
|
|
||||||
import { useFile } from '@/hooks/useFile.hook'
|
import { useFile } from '@/hooks/useFile.hook'
|
||||||
import { useImages } from '@/hooks/useImages.hook'
|
import { useImages } from '@/hooks/useImages.hook'
|
||||||
import { useLinks } from '@/hooks/useLinks.hook'
|
import { useLinks } from '@/hooks/useLinks.hook'
|
||||||
@@ -8,7 +10,6 @@ import { useTitleNotes } from '@/hooks/useTitleNotes.hook'
|
|||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
import { filenameToNoteTitle } from '@/utils/noteTitle'
|
import { filenameToNoteTitle } from '@/utils/noteTitle'
|
||||||
import { generateTweets } from '@/utils/twitter'
|
import { generateTweets } from '@/utils/twitter'
|
||||||
import { computed, defineAsyncComponent, nextTick, watch } from 'vue'
|
|
||||||
|
|
||||||
const LinkedNotes = defineAsyncComponent(
|
const LinkedNotes = defineAsyncComponent(
|
||||||
() => import('@/components/LinkedNotes.vue')
|
() => import('@/components/LinkedNotes.vue')
|
||||||
|
|||||||
@@ -102,12 +102,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { defineComponent } from 'vue'
|
||||||
|
|
||||||
import SignInGithub from '@/components/SignInGithub.vue'
|
import SignInGithub from '@/components/SignInGithub.vue'
|
||||||
import { useForm } from '@/hooks/useForm.hook'
|
import { useForm } from '@/hooks/useForm.hook'
|
||||||
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
||||||
import LastVisited from '@/modules/history/components/LastVisited.vue'
|
import LastVisited from '@/modules/history/components/LastVisited.vue'
|
||||||
import { useFavoriteRepos } from '@/modules/repo/hooks/useFavoriteRepos.hook'
|
import { useFavoriteRepos } from '@/modules/repo/hooks/useFavoriteRepos.hook'
|
||||||
import { defineComponent } from 'vue'
|
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'WelcomeWorld',
|
name: 'WelcomeWorld',
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { nanoid } from 'nanoid'
|
import { nanoid } from 'nanoid'
|
||||||
import indexedDb from 'pouchdb-adapter-indexeddb'
|
import indexedDb from 'pouchdb-adapter-indexeddb'
|
||||||
import PouchDb from 'pouchdb-browser'
|
import PouchDb from 'pouchdb-browser'
|
||||||
|
|
||||||
import { DataType } from './DataType.enum'
|
import { DataType } from './DataType.enum'
|
||||||
import { Model } from './models/Model'
|
import { Model } from './models/Model'
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
|
import { useAsyncState } from '@vueuse/core'
|
||||||
|
import { ComputedRef, onUnmounted, toValue } from 'vue'
|
||||||
|
|
||||||
import { backlinkEventBus } from '@/bus/backlinkEventBus'
|
import { backlinkEventBus } from '@/bus/backlinkEventBus'
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { BacklinkNote } from '@/modules/note/models/BacklinkNote'
|
import { BacklinkNote } from '@/modules/note/models/BacklinkNote'
|
||||||
import { useAsyncState } from '@vueuse/core'
|
|
||||||
import { ComputedRef, onUnmounted, toValue } from 'vue'
|
|
||||||
|
|
||||||
export const useBacklinks = (sha: string | ComputedRef<string>) => {
|
export const useBacklinks = (sha: string | ComputedRef<string>) => {
|
||||||
sha = toValue(sha)
|
sha = toValue(sha)
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { watch } from 'vue'
|
||||||
|
|
||||||
import { backlinkEventBus } from '@/bus/backlinkEventBus'
|
import { backlinkEventBus } from '@/bus/backlinkEventBus'
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
@@ -9,7 +11,6 @@ import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
|||||||
import { isExternalLink } from '@/utils/link'
|
import { isExternalLink } from '@/utils/link'
|
||||||
import { filenameToNoteTitle } from '@/utils/noteTitle'
|
import { filenameToNoteTitle } from '@/utils/noteTitle'
|
||||||
import { confirmMessage } from '@/utils/notif'
|
import { confirmMessage } from '@/utils/notif'
|
||||||
import { watch } from 'vue'
|
|
||||||
|
|
||||||
const isMarkdown = (filename?: string) => filename?.endsWith('.md') ?? false
|
const isMarkdown = (filename?: string) => filename?.endsWith('.md') ?? false
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
|
import { Ref, ref, toValue } from 'vue'
|
||||||
|
|
||||||
import { useMarkdown } from '@/hooks/useMarkdown.hook'
|
import { useMarkdown } from '@/hooks/useMarkdown.hook'
|
||||||
import { prepareNoteCache } from '@/modules/note/cache/prepareNoteCache'
|
import { prepareNoteCache } from '@/modules/note/cache/prepareNoteCache'
|
||||||
import { getFileContent } from '@/modules/repo/services/repo'
|
import { getFileContent } from '@/modules/repo/services/repo'
|
||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
import { Ref, ref, toValue } from 'vue'
|
|
||||||
|
|
||||||
export const useFile = (sha: Ref<string> | string, retrieveContent = true) => {
|
export const useFile = (sha: Ref<string> | string, retrieveContent = true) => {
|
||||||
const { render } = useMarkdown(toValue(sha))
|
const { render } = useMarkdown(toValue(sha))
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
|
|
||||||
import { confirmMessage } from '@/utils/notif'
|
|
||||||
import { getAccessToken, saveAccessToken } from '@/modules/user/service/signIn'
|
|
||||||
import { GithubToken } from '@/modules/user/interfaces/GithubToken'
|
import { GithubToken } from '@/modules/user/interfaces/GithubToken'
|
||||||
|
import { getAccessToken, saveAccessToken } from '@/modules/user/service/signIn'
|
||||||
|
import { confirmMessage } from '@/utils/notif'
|
||||||
|
|
||||||
const username = ref<string | null>(null)
|
const username = ref<string | null>(null)
|
||||||
const accessToken = ref<string | null>(null)
|
const accessToken = ref<string | null>(null)
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
import { computed, watch } from 'vue'
|
||||||
|
|
||||||
import { useFile } from '@/hooks/useFile.hook'
|
import { useFile } from '@/hooks/useFile.hook'
|
||||||
import { resolvePath } from '@/modules/repo/services/resolvePath'
|
import { resolvePath } from '@/modules/repo/services/resolvePath'
|
||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
import { computed, watch } from 'vue'
|
|
||||||
|
|
||||||
const SRC_PREFIX = 'data:image/jpeg;charset=utf-8;base64,'
|
const SRC_PREFIX = 'data:image/jpeg;charset=utf-8;base64,'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
import { ComputedRef, onUnmounted, Ref, toValue } from 'vue'
|
||||||
|
|
||||||
import { noteEventBus } from '@/bus/noteEventBus'
|
import { noteEventBus } from '@/bus/noteEventBus'
|
||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
import { isExternalLink } from '@/utils/link'
|
import { isExternalLink } from '@/utils/link'
|
||||||
import { ComputedRef, onUnmounted, Ref, toValue } from 'vue'
|
|
||||||
|
|
||||||
export const useLinks = (
|
export const useLinks = (
|
||||||
className: ComputedRef<string> | string,
|
className: ComputedRef<string> | string,
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
import { decodeBase64ToUTF8 } from '@/utils/decodeBase64ToUTF8'
|
|
||||||
import { html5Media } from '@/utils/markdown/markdown-html5-media'
|
|
||||||
import { twitterPlugin } from '@/utils/markdown/markdown-it-twitter'
|
|
||||||
import markdownItClass from '@toycode/markdown-it-class'
|
import markdownItClass from '@toycode/markdown-it-class'
|
||||||
import MarkdownIt from 'markdown-it'
|
import MarkdownIt from 'markdown-it'
|
||||||
import blockEmbedPlugin from 'markdown-it-block-embed'
|
import blockEmbedPlugin from 'markdown-it-block-embed'
|
||||||
@@ -10,6 +7,10 @@ import markdownItIframe from 'markdown-it-iframe'
|
|||||||
import markdownItLatex from 'markdown-it-latex'
|
import markdownItLatex from 'markdown-it-latex'
|
||||||
import { Ref, toValue } from 'vue'
|
import { Ref, toValue } from 'vue'
|
||||||
|
|
||||||
|
import { decodeBase64ToUTF8 } from '@/utils/decodeBase64ToUTF8'
|
||||||
|
import { html5Media } from '@/utils/markdown/markdown-html5-media'
|
||||||
|
import { twitterPlugin } from '@/utils/markdown/markdown-it-twitter'
|
||||||
|
|
||||||
const md = new MarkdownIt({
|
const md = new MarkdownIt({
|
||||||
typographer: true,
|
typographer: true,
|
||||||
quotes: ['«\xA0', '\xA0»', '‹\xA0', '\xA0›']
|
quotes: ['«\xA0', '\xA0»', '‹\xA0', '\xA0›']
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { computed, onMounted, onUnmounted, watch } from 'vue'
|
||||||
|
|
||||||
import { noteEventBus } from '@/bus/noteEventBus'
|
import { noteEventBus } from '@/bus/noteEventBus'
|
||||||
import { NOTE_WIDTH } from '@/constants/note-width'
|
import { NOTE_WIDTH } from '@/constants/note-width'
|
||||||
import { useOverlay } from '@/hooks/useOverlay.hook'
|
import { useOverlay } from '@/hooks/useOverlay.hook'
|
||||||
@@ -5,7 +7,6 @@ import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
|||||||
import { resolvePath } from '@/modules/repo/services/resolvePath'
|
import { resolvePath } from '@/modules/repo/services/resolvePath'
|
||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
import { pathToNotePathTitle } from '@/utils/noteTitle'
|
import { pathToNotePathTitle } from '@/utils/noteTitle'
|
||||||
import { computed, onMounted, onUnmounted, watch } from 'vue'
|
|
||||||
|
|
||||||
export const useNote = (containerClass: string) => {
|
export const useNote = (containerClass: string) => {
|
||||||
const store = useUserRepoStore()
|
const store = useUserRepoStore()
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
import { computed, onMounted, Ref, ref, toValue } from 'vue'
|
||||||
|
|
||||||
import { NOTE_WIDTH } from '@/constants/note-width'
|
import { NOTE_WIDTH } from '@/constants/note-width'
|
||||||
import { useOverlay } from '@/hooks/useOverlay.hook'
|
import { useOverlay } from '@/hooks/useOverlay.hook'
|
||||||
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
||||||
import { computed, onMounted, Ref, ref, toValue } from 'vue'
|
|
||||||
|
|
||||||
const BOOKMARK_WIDTH = 2
|
const BOOKMARK_WIDTH = 2
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { computed, ref } from 'vue'
|
|
||||||
import { useEventListener, useWindowSize } from '@vueuse/core'
|
import { useEventListener, useWindowSize } from '@vueuse/core'
|
||||||
|
import { computed, ref } from 'vue'
|
||||||
|
|
||||||
import { MOBILE_BREAKPOINT } from '@/constants/mobile'
|
import { MOBILE_BREAKPOINT } from '@/constants/mobile'
|
||||||
|
|
||||||
export const useOverlay = (listen = true) => {
|
export const useOverlay = (listen = true) => {
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { NOTE_WIDTH } from '@/constants/note-width'
|
|
||||||
import { useOverlay } from '@/hooks/useOverlay.hook'
|
|
||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
|
||||||
import { useWindowSize } from '@vueuse/core'
|
import { useWindowSize } from '@vueuse/core'
|
||||||
import { nextTick, readonly, ref } from 'vue'
|
import { nextTick, readonly, ref } from 'vue'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
|
||||||
|
import { NOTE_WIDTH } from '@/constants/note-width'
|
||||||
|
import { useOverlay } from '@/hooks/useOverlay.hook'
|
||||||
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
|
|
||||||
const stackedNotes = ref<string[]>([])
|
const stackedNotes = ref<string[]>([])
|
||||||
|
|
||||||
let initial = true
|
let initial = true
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { RepoBase } from '@/modules/repo/interfaces/RepoBase'
|
|
||||||
import { useAsyncState } from '@vueuse/core'
|
import { useAsyncState } from '@vueuse/core'
|
||||||
|
|
||||||
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
||||||
|
import { RepoBase } from '@/modules/repo/interfaces/RepoBase'
|
||||||
import { getOctokit } from '@/modules/repo/services/octo'
|
import { getOctokit } from '@/modules/repo/services/octo'
|
||||||
|
|
||||||
export const useRepos = () => {
|
export const useRepos = () => {
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
|
import { useTitle } from '@vueuse/core'
|
||||||
|
import { computed, Ref, toValue, watch } from 'vue'
|
||||||
|
|
||||||
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
||||||
import { useNotes } from '@/modules/note/hooks/useNotes'
|
import { useNotes } from '@/modules/note/hooks/useNotes'
|
||||||
import { pathToNoteTitle } from '@/utils/noteTitle'
|
import { pathToNoteTitle } from '@/utils/noteTitle'
|
||||||
import { useTitle } from '@vueuse/core'
|
|
||||||
import { computed, Ref, toValue, watch } from 'vue'
|
|
||||||
|
|
||||||
export const generateTitle = (titles: string[]) => titles.join(' | ')
|
export const generateTitle = (titles: string[]) => titles.join(' | ')
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
import { messages } from '@/locales/message'
|
|
||||||
import { router } from '@/router/router'
|
|
||||||
import 'markdown-it-latex/dist/index.css'
|
import 'markdown-it-latex/dist/index.css'
|
||||||
import 'notyf/notyf.min.css'
|
import 'notyf/notyf.min.css'
|
||||||
|
|
||||||
import { createPinia } from 'pinia'
|
import { createPinia } from 'pinia'
|
||||||
import { createApp } from 'vue'
|
import { createApp } from 'vue'
|
||||||
import { createI18n } from 'vue-i18n'
|
import { createI18n } from 'vue-i18n'
|
||||||
|
|
||||||
|
import { messages } from '@/locales/message'
|
||||||
|
import { router } from '@/router/router'
|
||||||
|
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
|
|
||||||
const i18n = createI18n({
|
const i18n = createI18n({
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
|
|
||||||
import { Card } from '../models/Card'
|
import { Card } from '../models/Card'
|
||||||
|
|
||||||
defineProps<{ card: Card }>()
|
defineProps<{ card: Card }>()
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { computed, ref } from 'vue'
|
||||||
|
|
||||||
import FlipCard from '@/modules/card/components/FlipCard.vue'
|
import FlipCard from '@/modules/card/components/FlipCard.vue'
|
||||||
import { Repetition } from '@/modules/card/hooks/useSpacedRepetitionCards'
|
import { Repetition } from '@/modules/card/hooks/useSpacedRepetitionCards'
|
||||||
import { computed, ref } from 'vue'
|
|
||||||
|
|
||||||
const props = defineProps<{ cards: Repetition[] }>()
|
const props = defineProps<{ cards: Repetition[] }>()
|
||||||
const emits = defineEmits<{
|
const emits = defineEmits<{
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
import { useAsyncState } from '@vueuse/core'
|
||||||
|
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { RepetitionCard } from '@/modules/card/models/RepetitionCard'
|
import { RepetitionCard } from '@/modules/card/models/RepetitionCard'
|
||||||
import { useAsyncState } from '@vueuse/core'
|
|
||||||
|
|
||||||
export const useNeedReviewCards = () => {
|
export const useNeedReviewCards = () => {
|
||||||
const { state: cardsToReview, isReady } = useAsyncState(async () => {
|
const { state: cardsToReview, isReady } = useAsyncState(async () => {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
// https://npm.io/package/supermemo
|
// https://npm.io/package/supermemo
|
||||||
|
|
||||||
|
import { useAsyncState } from '@vueuse/core'
|
||||||
|
import { addDays, isAfter } from 'date-fns'
|
||||||
|
import { computed, nextTick, watch } from 'vue'
|
||||||
|
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { useFile } from '@/hooks/useFile.hook'
|
import { useFile } from '@/hooks/useFile.hook'
|
||||||
@@ -9,9 +13,6 @@ import { Card } from '@/modules/card/models/Card'
|
|||||||
import { RepetitionCard } from '@/modules/card/models/RepetitionCard'
|
import { RepetitionCard } from '@/modules/card/models/RepetitionCard'
|
||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
import { decodeBase64ToUTF8 } from '@/utils/decodeBase64ToUTF8'
|
import { decodeBase64ToUTF8 } from '@/utils/decodeBase64ToUTF8'
|
||||||
import { useAsyncState } from '@vueuse/core'
|
|
||||||
import { addDays, isAfter } from 'date-fns'
|
|
||||||
import { computed, nextTick, watch } from 'vue'
|
|
||||||
|
|
||||||
const MAX_LEVEL = 8
|
const MAX_LEVEL = 8
|
||||||
|
|
||||||
|
|||||||
@@ -24,9 +24,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { useLastVisitedRepos } from '@/modules/history/hooks/useLastVisitedRepos.hook'
|
|
||||||
import { defineComponent } from 'vue'
|
import { defineComponent } from 'vue'
|
||||||
|
|
||||||
|
import { useLastVisitedRepos } from '@/modules/history/hooks/useLastVisitedRepos.hook'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'LastVisited',
|
name: 'LastVisited',
|
||||||
setup() {
|
setup() {
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
|
import { useAsyncState } from '@vueuse/core'
|
||||||
|
import { computed } from 'vue'
|
||||||
|
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { History } from '@/data/models/History'
|
import { History } from '@/data/models/History'
|
||||||
import { useAsyncState } from '@vueuse/core'
|
|
||||||
import { computed } from 'vue'
|
|
||||||
|
|
||||||
const HISTORY_ID = data.generateId(DataType.History, 'history')
|
const HISTORY_ID = data.generateId(DataType.History, 'history')
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
import { Ref, toValue } from 'vue'
|
||||||
|
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { History } from '@/data/models/History'
|
import { History } from '@/data/models/History'
|
||||||
import { Ref, toValue } from 'vue'
|
|
||||||
|
|
||||||
const HISTORY_ID = data.generateId(DataType.History, 'history')
|
const HISTORY_ID = data.generateId(DataType.History, 'history')
|
||||||
const MAX_REPO_HISTORY = 10
|
const MAX_REPO_HISTORY = 10
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
|
|
||||||
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
|
|
||||||
export const useFolderNotes = (folders: string[]) => {
|
export const useFolderNotes = (folders: string[]) => {
|
||||||
const store = useUserRepoStore()
|
const store = useUserRepoStore()
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
|
|
||||||
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
|
|
||||||
export const useNotes = () => {
|
export const useNotes = () => {
|
||||||
const store = useUserRepoStore()
|
const store = useUserRepoStore()
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { computed, onMounted, ref } from 'vue'
|
import { computed, onMounted, ref } from 'vue'
|
||||||
|
|
||||||
import { DataType } from '@/data/DataType.enum'
|
|
||||||
import { FavoriteRepo } from '@/modules/repo/models/FavoriteRepo'
|
|
||||||
import { RepoBase } from '@/modules/repo/interfaces/RepoBase'
|
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { useRepos } from '@/hooks/useRepos.hook'
|
import { useRepos } from '@/hooks/useRepos.hook'
|
||||||
|
import { RepoBase } from '@/modules/repo/interfaces/RepoBase'
|
||||||
|
import { FavoriteRepo } from '@/modules/repo/models/FavoriteRepo'
|
||||||
|
|
||||||
export const useFavoriteRepos = () => {
|
export const useFavoriteRepos = () => {
|
||||||
const { repos } = useRepos()
|
const { repos } = useRepos()
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { RepoBase } from '@/modules/repo/interfaces/RepoBase'
|
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
import { useFavoriteRepos } from '@/modules/repo/hooks/useFavoriteRepos.hook'
|
|
||||||
import { useRepos } from '@/hooks/useRepos.hook'
|
import { useRepos } from '@/hooks/useRepos.hook'
|
||||||
|
import { useFavoriteRepos } from '@/modules/repo/hooks/useFavoriteRepos.hook'
|
||||||
|
import { RepoBase } from '@/modules/repo/interfaces/RepoBase'
|
||||||
|
|
||||||
export const useRepoList = () => {
|
export const useRepoList = () => {
|
||||||
const { savedFavoriteRepos, addFavorite, removeFavorite } = useFavoriteRepos()
|
const { savedFavoriteRepos, addFavorite, removeFavorite } = useFavoriteRepos()
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { getAccessToken } from '@/modules/user/service/signIn'
|
|
||||||
import { Octokit } from '@octokit/rest'
|
import { Octokit } from '@octokit/rest'
|
||||||
|
|
||||||
|
import { getAccessToken } from '@/modules/user/service/signIn'
|
||||||
|
|
||||||
export const getOctokit = async (): Promise<Octokit> => {
|
export const getOctokit = async (): Promise<Octokit> => {
|
||||||
const response = await getAccessToken()
|
const response = await getAccessToken()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { describe, expect, it } from 'vitest'
|
import { describe, expect, it } from 'vitest'
|
||||||
|
|
||||||
import { resolvePath } from './resolvePath'
|
import { resolvePath } from './resolvePath'
|
||||||
|
|
||||||
describe('resolve path service', () => {
|
describe('resolve path service', () => {
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { defineStore } from 'pinia'
|
||||||
|
|
||||||
import { RepoFile } from '@/modules/repo/interfaces/RepoFile'
|
import { RepoFile } from '@/modules/repo/interfaces/RepoFile'
|
||||||
import { UserSettings } from '@/modules/repo/interfaces/UserSettings'
|
import { UserSettings } from '@/modules/repo/interfaces/UserSettings'
|
||||||
import {
|
import {
|
||||||
@@ -7,7 +9,6 @@ import {
|
|||||||
getUserSettingsContent
|
getUserSettingsContent
|
||||||
} from '@/modules/repo/services/repo'
|
} from '@/modules/repo/services/repo'
|
||||||
import { refreshToken } from '@/modules/user/service/signIn'
|
import { refreshToken } from '@/modules/user/service/signIn'
|
||||||
import { defineStore } from 'pinia'
|
|
||||||
|
|
||||||
interface State {
|
interface State {
|
||||||
user: string
|
user: string
|
||||||
@@ -48,9 +49,15 @@ export const useUserRepoStore = defineStore({
|
|||||||
getFiles(newUser, newRepo)
|
getFiles(newUser, newRepo)
|
||||||
])
|
])
|
||||||
this.readme = readme
|
this.readme = readme
|
||||||
this.isReadmeOffline = false
|
|
||||||
this.files = files
|
this.files = files
|
||||||
|
|
||||||
|
// if the offline state is too quick,
|
||||||
|
// it gives more the impression of
|
||||||
|
// glitch.
|
||||||
|
setTimeout(() => {
|
||||||
|
this.isReadmeOffline = false
|
||||||
|
}, 500)
|
||||||
|
|
||||||
this.userSettings = await getUserSettingsContent(newUser, newRepo, files)
|
this.userSettings = await getUserSettingsContent(newUser, newRepo, files)
|
||||||
},
|
},
|
||||||
resetUserRepo() {
|
resetUserRepo() {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
|
||||||
import { watchEffect } from 'vue'
|
import { watchEffect } from 'vue'
|
||||||
|
|
||||||
|
import { useUserRepoStore } from '@/modules/repo/store/userRepo.store'
|
||||||
|
|
||||||
const DEFAULT_FONT_POLICY = "'Courier Prime', monospace"
|
const DEFAULT_FONT_POLICY = "'Courier Prime', monospace"
|
||||||
|
|
||||||
const LIGHT_FONT_COLOR = '#4a4a4a'
|
const LIGHT_FONT_COLOR = '#4a4a4a'
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
|
import { Octokit } from '@octokit/rest'
|
||||||
|
import { addMinutes, addSeconds, isBefore } from 'date-fns'
|
||||||
|
|
||||||
import { data } from '@/data/data'
|
import { data } from '@/data/data'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { GithubAccessToken } from '@/data/models/GithubAccessToken'
|
import { GithubAccessToken } from '@/data/models/GithubAccessToken'
|
||||||
import { GithubToken } from '@/modules/user/interfaces/GithubToken'
|
import { GithubToken } from '@/modules/user/interfaces/GithubToken'
|
||||||
import { GithubTokenError } from '@/modules/user/interfaces/GithubTokenError'
|
import { GithubTokenError } from '@/modules/user/interfaces/GithubTokenError'
|
||||||
import { Octokit } from '@octokit/rest'
|
|
||||||
import { addMinutes, addSeconds, isBefore } from 'date-fns'
|
|
||||||
|
|
||||||
const AUTHENTICATION_SERVER = 'https://litenote.li212.fr'
|
const AUTHENTICATION_SERVER = 'https://litenote.li212.fr'
|
||||||
const personalTokenId = 'token'
|
const personalTokenId = 'token'
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import Home from '@/views/HomeApp.vue'
|
|
||||||
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
|
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
|
||||||
|
|
||||||
|
import Home from '@/views/HomeApp.vue'
|
||||||
|
|
||||||
const routes: Array<RouteRecordRaw> = [
|
const routes: Array<RouteRecordRaw> = [
|
||||||
{
|
{
|
||||||
path: '/repo-list',
|
path: '/repo-list',
|
||||||
|
|||||||
@@ -23,9 +23,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import GoBack from '@/components/GoBack.vue'
|
|
||||||
import { defineComponent } from 'vue'
|
import { defineComponent } from 'vue'
|
||||||
|
|
||||||
|
import GoBack from '@/components/GoBack.vue'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: { GoBack }
|
components: { GoBack }
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -7,9 +7,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { useFolderNotes } from '@/modules/note/hooks/useFolderNotes'
|
|
||||||
import { defineAsyncComponent, defineComponent } from 'vue'
|
import { defineAsyncComponent, defineComponent } from 'vue'
|
||||||
|
|
||||||
|
import { useFolderNotes } from '@/modules/note/hooks/useFolderNotes'
|
||||||
|
|
||||||
const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue'))
|
const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue'))
|
||||||
|
|
||||||
const DRAFT_FOLDER = ['drafts', '_drafts']
|
const DRAFT_FOLDER = ['drafts', '_drafts']
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { computed } from 'vue'
|
||||||
|
|
||||||
import FluxNote from '@/components/FluxNote.vue'
|
import FluxNote from '@/components/FluxNote.vue'
|
||||||
import { useComputeBacklinks } from '@/hooks/useComputeBacklinks.hook'
|
import { useComputeBacklinks } from '@/hooks/useComputeBacklinks.hook'
|
||||||
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
||||||
import { computed } from 'vue'
|
|
||||||
|
|
||||||
useQueryStackedNotes()
|
useQueryStackedNotes()
|
||||||
useComputeBacklinks()
|
useComputeBacklinks()
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useNotes } from '@/modules/note/hooks/useNotes'
|
|
||||||
import { defineAsyncComponent, ref } from 'vue'
|
import { defineAsyncComponent, ref } from 'vue'
|
||||||
|
|
||||||
|
import { useNotes } from '@/modules/note/hooks/useNotes'
|
||||||
|
|
||||||
const devMode = ref(import.meta.env.DEV)
|
const devMode = ref(import.meta.env.DEV)
|
||||||
const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue'))
|
const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue'))
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { computed } from 'vue'
|
||||||
|
|
||||||
import FluxNote from '@/components/FluxNote.vue'
|
import FluxNote from '@/components/FluxNote.vue'
|
||||||
import { DataType } from '@/data/DataType.enum'
|
import { DataType } from '@/data/DataType.enum'
|
||||||
import { useNeedReviewCards } from '@/modules/card/hooks/useNeedReviewCards'
|
import { useNeedReviewCards } from '@/modules/card/hooks/useNeedReviewCards'
|
||||||
import { computed } from 'vue'
|
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
user: string
|
user: string
|
||||||
|
|||||||
@@ -77,11 +77,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { defineComponent } from 'vue'
|
||||||
|
|
||||||
import GoBack from '@/components/GoBack.vue'
|
import GoBack from '@/components/GoBack.vue'
|
||||||
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
import { useGitHubLogin } from '@/hooks/useGitHubLogin.hook'
|
||||||
import { useRepos } from '@/hooks/useRepos.hook'
|
import { useRepos } from '@/hooks/useRepos.hook'
|
||||||
import { useRepoList } from '@/modules/repo/hooks/useRepoList.hook'
|
import { useRepoList } from '@/modules/repo/hooks/useRepoList.hook'
|
||||||
import { defineComponent } from 'vue'
|
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'RepoList',
|
name: 'RepoList',
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { computed, defineAsyncComponent, onMounted } from 'vue'
|
||||||
|
|
||||||
import { useFile } from '@/hooks/useFile.hook'
|
import { useFile } from '@/hooks/useFile.hook'
|
||||||
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
|
||||||
import { computed, defineAsyncComponent, onMounted } from 'vue'
|
|
||||||
|
|
||||||
const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue'))
|
const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue'))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user