feat(event): implement preview with drafts#1739
feat(event): implement preview with drafts#1739huzaifaedhi22 wants to merge 103 commits intomainfrom
Conversation
db8592b to
95ec293
Compare
dargmuesli
left a comment
There was a problem hiding this comment.
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.
Why the additions of /gql in this PR?
| // export const useEventCategoriesQuery = () => | ||
| // useQuery<EventCategoriesQuery>({ | ||
| // query: eventCategoriesQuery, | ||
| // }) |
There was a problem hiding this comment.
If this isn't used, it may not need to be part of this PR.
There was a problem hiding this comment.
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.
| <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" |
| @@ -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.
Why is this file edited in this PR?
| placeholder?: string | ||
| timePlaceholder?: string |
There was a problem hiding this comment.
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.
| 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.
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.
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.
| 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.
| 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.
| 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.
| 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.
| import { ref, readonly } from 'vue' |
dargmuesli
left a comment
There was a problem hiding this comment.
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.
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.
v-model="selectedCover" shows a warning because this property should come first after <EventFilePreviewGrid
📚 Description
This PR
TODO
📝 Checklist