-
-
Notifications
You must be signed in to change notification settings - Fork 19
feat(event): implement preview with drafts #1739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
db8592b to
95ec293
Compare
dargmuesli
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments apply to all similar occurrences in other files as well of course
| @@ -1,4 +1,4 @@ | |||
| import { type FragmentType, graphql, useFragment } from '~~/gql/generated' | |||
| import { type FragmentType, graphql, useFragment } from '~~/gql/generated/gql' | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the additions of /gql in this PR?
| // export const useEventCategoriesQuery = () => | ||
| // useQuery<EventCategoriesQuery>({ | ||
| // query: eventCategoriesQuery, | ||
| // }) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this isn't used, it may not need to be part of this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Colored icons should go the the colored subdirectory.
src/app/assets/icons/social-copy.svg
Outdated
| @@ -0,0 +1,3 @@ | |||
| <svg width="20" height="22" viewBox="0 0 20 22" fill="none" xmlns="http://www.w3.org/2000/svg"> | |||
| <path d="M14.5 0H2.5C1.4 0 0.5 0.9 0.5 2V16H2.5V2H14.5V0ZM17.5 4H6.5C5.4 4 4.5 4.9 4.5 6V20C4.5 21.1 5.4 22 6.5 22H17.5C18.6 22 19.5 21.1 19.5 20V6C19.5 4.9 18.6 4 17.5 4ZM17.5 20H6.5V6H17.5V20Z" fill="#868679"/> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <path d="M14.5 0H2.5C1.4 0 0.5 0.9 0.5 2V16H2.5V2H14.5V0ZM17.5 4H6.5C5.4 4 4.5 4.9 4.5 6V20C4.5 21.1 5.4 22 6.5 22H17.5C18.6 22 19.5 21.1 19.5 20V6C19.5 4.9 18.6 4 17.5 4ZM17.5 20H6.5V6H17.5V20Z" fill="#868679"/> | |
| <path d="M14.5 0H2.5C1.4 0 0.5 0.9 0.5 2V16H2.5V2H14.5V0ZM17.5 4H6.5C5.4 4 4.5 4.9 4.5 6V20C4.5 21.1 5.4 22 6.5 22H17.5C18.6 22 19.5 21.1 19.5 20V6C19.5 4.9 18.6 4 17.5 4ZM17.5 20H6.5V6H17.5V20Z" fill="currentColor"/> |
| "test:e2e:docker:server:static": "pnpm --dir tests run test:e2e:docker:server:static", | ||
| "test:e2e:docker:server:static:update": "pnpm --dir tests run test:e2e:docker:server:static:update" | ||
| }, | ||
| "type": "module" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this removed?
| @@ -85,7957 +85,7207 @@ | |||
|
|
|||
| ### Features | |||
|
|
|||
| * **content:** add privacy consent ([#1874](https://github.com/maevsi/vibetype/issues/1874)) ([c50d90a](https://github.com/maevsi/vibetype/commit/c50d90a8477eaa1137df7c2e2fd592d2b3e2f2cf)) | |||
| - **content:** add privacy consent ([#1874](https://github.com/maevsi/vibetype/issues/1874)) ([c50d90a](https://github.com/maevsi/vibetype/commit/c50d90a8477eaa1137df7c2e2fd592d2b3e2f2cf)) | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this file edited in this PR?
| placeholder?: string | ||
| timePlaceholder?: string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is timePlaceholder ever set where EventTimePicker is used?
| import { Calendar } from '~/components/scn/calendar' | ||
| import { | ||
| Popover, | ||
| PopoverTrigger, | ||
| PopoverContent, | ||
| } from '~/components/scn/popover' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import { Calendar } from '~/components/scn/calendar' | |
| import { | |
| Popover, | |
| PopoverTrigger, | |
| PopoverContent, | |
| } from '~/components/scn/popover' |
Autoimported
| const props = defineProps<Props>() | ||
|
|
||
| const emit = defineEmits<{ | ||
| (e: 'update:modelValue', date: CalendarDate): void |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use defineModel<CalendarDate>() for modelValue?
| <input | ||
| v-model="selectedTime" | ||
| type="time" | ||
| class="w-full border-0 px-0 py-2 text-xl text-gray-600 placeholder:text-gray-400 focus:border-transparent focus:ring-0 focus:outline-none dark:bg-[--semantic-base-background] dark:text-[--semantic-base-text-primary] dark:placeholder:text-[--semantic-base-text-secondary]" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The [] syntax looks like it should be using () instead, right?
| import { ref } from 'vue' | ||
| import { ChevronDown } from 'lucide-vue-next' | ||
| import slugify from 'slugify' | ||
| import type { EventItemFragment } from '~~/gql/generated/graphql' | ||
| import { useEventForm } from '~/composables/useEventForm' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import { ref } from 'vue' | |
| import { ChevronDown } from 'lucide-vue-next' | |
| import slugify from 'slugify' | |
| import type { EventItemFragment } from '~~/gql/generated/graphql' | |
| import { useEventForm } from '~/composables/useEventForm' | |
| import { ChevronDown } from 'lucide-vue-next' | |
| import slugify from 'slugify' | |
| import type { EventItemFragment } from '~~/gql/generated/graphql' |
| import { ref } from 'vue' | ||
| import { Calendar } from '~/components/scn/calendar' | ||
| import { | ||
| Popover, | ||
| PopoverTrigger, | ||
| PopoverContent, | ||
| } from '~/components/scn/popover' | ||
| import { CalendarIcon, ChevronDown } from 'lucide-vue-next' | ||
| import type { CalendarDate } from '@internationalized/date' | ||
| import { DateFormatter } from '@internationalized/date' | ||
| import { toDate } from 'reka-ui/date' | ||
| import type { BaseValidation } from '@vuelidate/core' | ||
|
|
||
| import { useEventForm } from '~/composables/useEventForm' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import { ref } from 'vue' | |
| import { Calendar } from '~/components/scn/calendar' | |
| import { | |
| Popover, | |
| PopoverTrigger, | |
| PopoverContent, | |
| } from '~/components/scn/popover' | |
| import { CalendarIcon, ChevronDown } from 'lucide-vue-next' | |
| import type { CalendarDate } from '@internationalized/date' | |
| import { DateFormatter } from '@internationalized/date' | |
| import { toDate } from 'reka-ui/date' | |
| import type { BaseValidation } from '@vuelidate/core' | |
| import { useEventForm } from '~/composables/useEventForm' | |
| import type { CalendarDate } from '@internationalized/date' | |
| import { DateFormatter } from '@internationalized/date' | |
| import type { BaseValidation } from '@vuelidate/core' | |
| import { CalendarIcon, ChevronDown } from 'lucide-vue-next' | |
| import { toDate } from 'reka-ui/date' |
| import { ref } from 'vue' | ||
| import type { BaseValidation } from '@vuelidate/core' | ||
| const { t } = useI18n() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import { ref } from 'vue' | |
| import type { BaseValidation } from '@vuelidate/core' | |
| const { t } = useI18n() | |
| import type { BaseValidation } from '@vuelidate/core' | |
| const { t } = useI18n() |
| import { ref } from 'vue' | ||
| import { Share, Heart, MoreHorizontal, Grid, Image } from 'lucide-vue-next' | ||
| import { | ||
| Carousel, | ||
| CarouselContent, | ||
| CarouselItem, | ||
| } from '@/components/scn/carousel' | ||
| import type { EventStorageStrategy } from '~/types/events/EventStorageStrategy' | ||
| import { LocalStorageStrategy } from '~/utils/storage/LocalStorageStrategy' | ||
| import { useCreateEventMutation } from '~~/gql/documents/mutations/event/eventCreate' | ||
| import { useUploadCreateMutation } from '~~/gql/documents/mutations/upload/uploadCreate' | ||
| import { EventVisibility } from '~~/gql/generated/graphql' | ||
| import Tus from '@uppy/tus' | ||
| import Uppy from '@uppy/core' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import { ref } from 'vue' | |
| import { Share, Heart, MoreHorizontal, Grid, Image } from 'lucide-vue-next' | |
| import { | |
| Carousel, | |
| CarouselContent, | |
| CarouselItem, | |
| } from '@/components/scn/carousel' | |
| import type { EventStorageStrategy } from '~/types/events/EventStorageStrategy' | |
| import { LocalStorageStrategy } from '~/utils/storage/LocalStorageStrategy' | |
| import { useCreateEventMutation } from '~~/gql/documents/mutations/event/eventCreate' | |
| import { useUploadCreateMutation } from '~~/gql/documents/mutations/upload/uploadCreate' | |
| import { EventVisibility } from '~~/gql/generated/graphql' | |
| import Tus from '@uppy/tus' | |
| import Uppy from '@uppy/core' | |
| import Tus from '@uppy/tus' | |
| import Uppy from '@uppy/core' | |
| import { Share, Heart, MoreHorizontal, Grid, Image } from 'lucide-vue-next' | |
| import type { EventStorageStrategy } from '~/types/events/EventStorageStrategy' | |
| import { useCreateEventMutation } from '~~/gql/documents/mutations/event/eventCreate' | |
| import { useUploadCreateMutation } from '~~/gql/documents/mutations/upload/uploadCreate' | |
| import { EventVisibility } from '~~/gql/generated/graphql' |
The storage directory can be exported in src/app/utils/index.ts for the auto-import to become available for LocalStorageStrategy.
| import { ref, readonly } from 'vue' | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import { ref, readonly } from 'vue' |
dargmuesli
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please replace other usages of space-y-4, space-x-3, ... with flex flex-col gap-4, flex gap-3, ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file should be named EventStepsCover.vue to follow the naming convention of all existing components. (This applies to other components added in this PR too.)
| <EventFilePreviewGrid | ||
| :files="selectedFiles" | ||
| :preview-urls="previewUrls" | ||
| v-model="selectedCover" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
v-model="selectedCover" shows a warning because this property should come first after <EventFilePreviewGrid
|
|
📚 Description
This PR
TODO
📝 Checklist