Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Bruno Predot
/
tmdb_test
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Bruno Predot
2025-05-17 12:56:28 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a65f44a2527ad5d93c58ddcb1307c0bd9b861e8c
a65f44a2
1 parent
185d531a
typage des props.
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
29 additions
and
98 deletions
components/MovieCard.vue
components/MovieCommentList.vue
components/details/MovieGender.vue
components/details/ScoreAndVote.vue
components/form/MovieCommentForm.vue
components/ui-components/BackdropImage.vue
components/ui-components/Loader.vue
components/ui-components/Poster.vue
components/ui-components/SearchBar.vue
components/ui-components/SkeletonMoviesLoader.vue
components/MovieCard.vue
View file @
a65f44a
...
...
@@ -10,14 +10,6 @@ import { FilmIcon } from "lucide-vue-next";
defineProps<{
movie: MovieInterface;
}>();
/** Ancien typage */
// defineProps({
// movie: {
// type: Object,
// required: true,
// nullable: false,
// },
// });
// #endregion
</script>
...
...
components/MovieCommentList.vue
View file @
a65f44a
...
...
@@ -9,14 +9,6 @@ import { MessageSquareIcon } from "lucide-vue-next";
const props = defineProps<{
comments: Array<MovieCommentInterface>;
}>();
/** Ancien typage */
// const props = defineProps({
// comments: {
// type: Array<MovieCommentInterface>,
// required: true,
// nullable: false,
// },
// });
// #endregion
// #region --Watch--.
...
...
components/details/MovieGender.vue
View file @
a65f44a
...
...
@@ -4,13 +4,9 @@ import type { Genre } from "~/interfaces/movie";
// #endregion
// #region --Props--.
defineProps({
genres: {
type: Array<Genre>,
required: true,
nullable: false,
},
});
defineProps<{
genres: Array<Genre>;
}>();
// #endregion
</script>
...
...
components/details/ScoreAndVote.vue
View file @
a65f44a
...
...
@@ -5,19 +5,6 @@ defineProps<{
score: number;
nbVote: number;
}>();
/** Ancien typage */
// defineProps({
// score: {
// type: Number,
// required: true,
// nullable: false,
// },
// nbVote: {
// type: Number,
// required: true,
// nullable: false,
// },
// });
// #endregion
// #region --Function--.
...
...
components/form/MovieCommentForm.vue
View file @
a65f44a
...
...
@@ -6,13 +6,10 @@ import { helpers, maxLength, maxValue, minLength, minValue, required } from "@vu
// #endregion
// #region --Props--.
defineProps({
isSubmitting: {
type: Boolean,
required: false,
nullable: false,
default: false,
},
withDefaults(defineProps<{
isSubmitting?: boolean;
}>(), {
isSubmitting: false,
});
// #endregion
...
...
components/ui-components/BackdropImage.vue
View file @
a65f44a
<script lang="ts" setup>
// #region --Props--.
defineProps({
src: {
type: String,
required: true,
nullable: false,
},
title: {
type: String,
required: true,
nullable: false,
},
});
defineProps<{
src: string;
title: string;
}>();
// #endregion
// #region --Declaration--.
...
...
components/ui-components/Loader.vue
View file @
a65f44a
<script lang="ts" setup>
// #region --Props--.
defineProps({
isLoading: {
type: Boolean,
required: true,
nullable: false,
},
isInitialLoading: {
type: Boolean,
required: false,
nullable: false,
default: false,
},
withDefaults(defineProps<{
isLoading: boolean;
isInitialLoading?: boolean;
}>(), {
isInitialLoading: false,
});
// #endregion
</script>
...
...
components/ui-components/Poster.vue
View file @
a65f44a
...
...
@@ -2,18 +2,10 @@
// #region --Props--.
import { FilmIcon } from "lucide-vue-next";
defineProps({
src: {
type: String,
required: true,
nullable: false,
},
title: {
type: String,
required: true,
nullable: false,
},
});
defineProps<{
src: string;
title: string;
}>();
// #endregion
</script>
...
...
components/ui-components/SearchBar.vue
View file @
a65f44a
...
...
@@ -6,13 +6,10 @@ import { ref } from "vue";
// #endregion
// #region --Props--.
defineProps({
placeholder: {
type: String,
required: false,
nullable: false,
default: "",
},
withDefaults(defineProps<{
placeholder?: string;
}>(), {
placeholder: "",
});
// #endregion
...
...
components/ui-components/SkeletonMoviesLoader.vue
View file @
a65f44a
<script lang="ts" setup>
// #region --Props--.
defineProps({
isInitialLoading: {
type: Boolean,
required: true,
nullable: false,
},
skeletonNumber: {
type: Number,
required: false,
nullable: false,
default: 12,
},
withDefaults(defineProps<{
isInitialLoading: boolean;
skeletonNumber?: number;
}>(), {
skeletonNumber: 12,
});
// #endregion
</script>
...
...
Please
register
or
login
to post a comment