diff --git a/components/account/AccountSignIn.vue b/components/account/AccountSignIn.vue new file mode 100644 index 00000000..43865a26 --- /dev/null +++ b/components/account/AccountSignIn.vue @@ -0,0 +1,10 @@ +<template> + <div p8 flex="~ col gap4"> + <div text-sm op50> + Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server. + </div> + <NuxtLink to="/signin" class="btn-solid text-center"> + Sign in + </NuxtLink> + </div> +</template> diff --git a/layouts/default.vue b/layouts/default.vue index 4f87a135..6a8073c8 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,26 +1,25 @@ <template> <div h-full> <main flex w-full mxa lg:max-w-80rem> - <div class="w-1/4" hidden lg:flex flex-col items-end> - <div fixed> + <div class="hidden md:block w-1/4" relative> + <div sticky top-0 h-screen flex="~ col"> <slot name="left"> - <AccountMe /> + <AccountMe v-if="currentUser" /> + <AccountSignIn v-else /> </slot> </div> </div> - <div class="lg:w-3/4" flex> - <div class="w-full md:w-2/3" border="l r base" min-h-screen> - <slot /> - </div> - <div hidden md:flex="~ col" class="w-1/3"> - <div fixed> - <slot name="right"> - <NavTitle p5 /> - <NavSide border="y base" py8 /> - <div flex-auto /> - <NavFooter /> - </slot> - </div> + <div class="w-full md:w-2/4 min-h-screen" border="l r base"> + <slot /> + </div> + <div class="hidden md:block w-1/4"> + <div sticky top-0 h-screen flex="~ col"> + <slot name="right"> + <NavTitle p5 /> + <NavSide border="y base" py8 /> + <div flex-auto /> + <NavFooter /> + </slot> </div> </div> </main> diff --git a/package.json b/package.json index 73210ff0..79686157 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "@iconify-json/logos": "^1.1.18", "@iconify-json/ri": "^1.1.3", "@iconify-json/twemoji": "^1.1.5", - "@nuxtjs/color-mode": "^3.1.8", "@pinia/nuxt": "^0.4.3", "@types/fs-extra": "^9.0.13", "@types/sanitize-html": "^2.6.2", diff --git a/pages/login/callback.vue b/pages/signin/callback.vue similarity index 100% rename from pages/login/callback.vue rename to pages/signin/callback.vue diff --git a/pages/login/index.vue b/pages/signin/index.vue similarity index 93% rename from pages/login/index.vue rename to pages/signin/index.vue index 9b6169c4..c0d5e5b3 100644 --- a/pages/login/index.vue +++ b/pages/signin/index.vue @@ -3,7 +3,7 @@ definePageMeta({ layout: 'none', }) -const server = ref(useAppCookies().server.value) +const server = ref() async function oauth() { const a = document.createElement('a') diff --git a/server/api/[server]/oauth.ts b/server/api/[server]/oauth.ts index fcb42f88..785fe36c 100644 --- a/server/api/[server]/oauth.ts +++ b/server/api/[server]/oauth.ts @@ -28,7 +28,7 @@ export default defineEventHandler(async ({ context, req, res }) => { }) res.writeHead(302, { - Location: `${HOST_DOMAIN}/login/callback?${stringifyQuery({ server, token: result.access_token })}`, + Location: `${HOST_DOMAIN}/signin/callback?${stringifyQuery({ server, token: result.access_token })}`, }) res.end() diff --git a/styles/vars.css b/styles/vars.css index 6436b647..320c1012 100644 --- a/styles/vars.css +++ b/styles/vars.css @@ -1,5 +1,6 @@ :root { --c-primary: #53b3cb; + --c-primary-active: #3a7b8c; --c-border: #88888820; --c-bg-base: #fff; --c-text-base: #222; diff --git a/unocss.config.ts b/unocss.config.ts index c2be019c..95068164 100644 --- a/unocss.config.ts +++ b/unocss.config.ts @@ -15,6 +15,8 @@ export default defineConfig({ 'border-base': 'border-$c-border', 'bg-base': 'bg-$c-bg-base', 'text-base': 'text-$c-text-base', + 'btn-solid': 'px-4 py-2 rounded text-white bg-$c-primary hover:bg-$c-primary-active', + 'btn-outline': 'px-4 py-2 rounded text-$c-primary border-$c-primary hover:bg-$c-primary hover:text-white', }, ], presets: [