diff --git a/.woodpecker/build-and-publish.yml b/.woodpecker/build-and-publish.yml index 98c7614..6001a00 100644 --- a/.woodpecker/build-and-publish.yml +++ b/.woodpecker/build-and-publish.yml @@ -23,3 +23,17 @@ steps: when: - branch: main event: push + + - name: container-build-and-publish (staging) + image: docker + commands: + - docker login --username radical --password $PASSWORD git.gorb.app + - docker buildx build --platform linux/amd64,linux/arm64 --rm --push -t git.gorb.app/gorb/frontend:staging . + environment: + PASSWORD: + from_secret: docker_password + volumes: + - /var/run/podman/podman.sock:/var/run/docker.sock + when: + - branch: staging + event: push diff --git a/components/Avatar.vue b/components/Avatar.vue index b2da51b..ddfe1dc 100644 --- a/components/Avatar.vue +++ b/components/Avatar.vue @@ -24,9 +24,7 @@ let displayAvatar: string | null const user = props.user || props.member?.user if (user) { - displayName = props.member?.nickname - || user.display_name - || user.username + displayName = getDisplayName(user, props.member) if (user.avatar) { displayAvatar = user.avatar diff --git a/components/Guild/MemberEntry.vue b/components/Guild/MemberEntry.vue index bd4302a..12e36a0 100644 --- a/components/Guild/MemberEntry.vue +++ b/components/Guild/MemberEntry.vue @@ -1,7 +1,7 @@ diff --git a/components/Me/DirectMessagesSidebar.vue b/components/Me/DirectMessagesSidebar.vue index 7a92d39..4b5df7a 100644 --- a/components/Me/DirectMessagesSidebar.vue +++ b/components/Me/DirectMessagesSidebar.vue @@ -6,7 +6,7 @@ - + Friends diff --git a/components/Me/FriendsList.vue b/components/Me/FriendsList.vue index 44c606f..654957d 100644 --- a/components/Me/FriendsList.vue +++ b/components/Me/FriendsList.vue @@ -17,7 +17,7 @@
-
@@ -26,7 +26,9 @@ \ No newline at end of file diff --git a/pages/me/index.vue b/pages/me/index.vue index e875c56..a0d0384 100644 --- a/pages/me/index.vue +++ b/pages/me/index.vue @@ -1,13 +1,56 @@ - \ No newline at end of file diff --git a/pages/recover.vue b/pages/recover.vue new file mode 100644 index 0000000..71ce217 --- /dev/null +++ b/pages/recover.vue @@ -0,0 +1,89 @@ + + + + + \ No newline at end of file diff --git a/pages/register.vue b/pages/register.vue index 708fed0..36bdb53 100644 --- a/pages/register.vue +++ b/pages/register.vue @@ -86,6 +86,7 @@ const auth = useAuth(); const loggedIn = ref(await auth.getUser()); const query = new URLSearchParams(useRoute().query as Record); +query.delete("token"); const user = await useAuth().getUser(); diff --git a/pages/reset-password.vue b/pages/reset-password.vue new file mode 100644 index 0000000..8f869c4 --- /dev/null +++ b/pages/reset-password.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/utils/getDisplayName.ts b/utils/getDisplayName.ts new file mode 100644 index 0000000..e712555 --- /dev/null +++ b/utils/getDisplayName.ts @@ -0,0 +1,7 @@ +import type { GuildMemberResponse, UserResponse } from "~/types/interfaces"; + +export function getDisplayName(user: UserResponse, member?: GuildMemberResponse): string { + if (member?.nickname) return member.nickname + if (user.display_name) return user.display_name + return user.username +} \ No newline at end of file diff --git a/utils/replyToMessage.ts b/utils/replyToMessage.ts index cab6152..8ee0c28 100644 --- a/utils/replyToMessage.ts +++ b/utils/replyToMessage.ts @@ -7,7 +7,7 @@ export default (element: HTMLDivElement, props: MessageProps) => { const messageBox = document.getElementById("message-box") as HTMLDivElement; if (messageBox) { const div = document.createElement("div"); - const messageReply = h(MessageReply, { author: props.author?.display_name || props.author!.username, text: props.text || "", id: props.message.uuid, replyId: props.replyMessage?.uuid || element.dataset.messageId!, maxWidth: "full" }); + const messageReply = h(MessageReply, { author: getDisplayName(props.author), text: props.text || "", id: props.message.uuid, replyId: props.replyMessage?.uuid || element.dataset.messageId!, maxWidth: "full" }); messageBox.prepend(div); render(messageReply, div); }