first commit
This commit is contained in:
31
types/banner.ts
Normal file
31
types/banner.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
export interface Banner {
|
||||
id: number;
|
||||
color: string;
|
||||
title: string;
|
||||
text1?: string;
|
||||
text2?: string;
|
||||
text4?: string;
|
||||
text5?: string;
|
||||
image: string;
|
||||
is_active: boolean;
|
||||
width?: number;
|
||||
height?: number;
|
||||
quality?: number;
|
||||
format?: string;
|
||||
created_at?: string;
|
||||
updated_at?: string;
|
||||
}
|
||||
|
||||
export interface ProductTree {
|
||||
id: number;
|
||||
title: string;
|
||||
button: string;
|
||||
content: string;
|
||||
price: number;
|
||||
images: string;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
is_active: boolean;
|
||||
is_front: boolean;
|
||||
}
|
||||
|
||||
56
types/blog.ts
Normal file
56
types/blog.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
export interface BlogTag {
|
||||
tag: string;
|
||||
slug: string;
|
||||
}
|
||||
|
||||
export interface BlogCategory {
|
||||
title: string;
|
||||
parent: string; // "Linux" gibi string değer
|
||||
is_active: boolean;
|
||||
created_at: string;
|
||||
order: number;
|
||||
slug: string;
|
||||
image: string | null;
|
||||
keywords: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
export interface BlogComment {
|
||||
id: number;
|
||||
user: string;
|
||||
post: number;
|
||||
title: string;
|
||||
body: string;
|
||||
created_at: string;
|
||||
slug: string;
|
||||
parent: number | null;
|
||||
child: BlogComment[];
|
||||
}
|
||||
|
||||
export interface BlogPost {
|
||||
id?: number; // Backend'den gelebilir veya gelmeyebilir
|
||||
title: string;
|
||||
content: string;
|
||||
categories: BlogCategory[];
|
||||
keywords: string;
|
||||
tags: BlogTag[];
|
||||
image: string;
|
||||
thumb: string;
|
||||
video: string;
|
||||
slug: string;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
is_active: boolean;
|
||||
is_front: boolean;
|
||||
comments?: BlogComment[];
|
||||
}
|
||||
|
||||
export interface BlogPostListResponse {
|
||||
count: number;
|
||||
next: string | null;
|
||||
previous: string | null;
|
||||
results: BlogPost[];
|
||||
}
|
||||
|
||||
|
||||
|
||||
9
types/jsonToType.ts
Normal file
9
types/jsonToType.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
export interface JsonToType {
|
||||
id: number;
|
||||
title: string;
|
||||
json_data: string;
|
||||
type_data: string;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
is_active: boolean;
|
||||
}
|
||||
50
types/post.ts
Normal file
50
types/post.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
// Post ile ilişkili tag tipi
|
||||
export interface Tag {
|
||||
ID: number;
|
||||
name: string;
|
||||
created_at?: string;
|
||||
updated_at?: string;
|
||||
}
|
||||
|
||||
// Post ile ilişkili kategori tipi
|
||||
export interface Category {
|
||||
ID: number;
|
||||
title: string;
|
||||
slug: string;
|
||||
description?: string;
|
||||
created_at?: string;
|
||||
updated_at?: string;
|
||||
}
|
||||
|
||||
// Tekil post tipi
|
||||
export interface Post {
|
||||
ID: number;
|
||||
title: string;
|
||||
content: string;
|
||||
slug: string;
|
||||
images: string; // tam boyut resim
|
||||
images_mid: string; // orta boyut resim
|
||||
images_min: string; // kucuk (thumbnail) resim
|
||||
width: number;
|
||||
height: number;
|
||||
quality: number;
|
||||
format: string;
|
||||
categories: Category[];
|
||||
tags: Tag[];
|
||||
CreatedAt?: string;
|
||||
UpdatedAt?: string;
|
||||
DeletedAt?: string | null;
|
||||
}
|
||||
|
||||
// API'dan dönen sayfalama meta bilgisi
|
||||
export interface PostMeta {
|
||||
page: number;
|
||||
per_page: number;
|
||||
total: number;
|
||||
}
|
||||
|
||||
// /api/v1/posts endpoint'inin tam response tipi
|
||||
export interface PostResponse {
|
||||
data: Post[];
|
||||
meta: PostMeta;
|
||||
}
|
||||
46
types/product.ts
Normal file
46
types/product.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
// Category Type
|
||||
export interface Category {
|
||||
title: string;
|
||||
parent: string | null;
|
||||
is_active: boolean;
|
||||
created_at: string;
|
||||
order: number;
|
||||
slug: string;
|
||||
images: string | null;
|
||||
keywords: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
// Tag Type
|
||||
export interface Tag {
|
||||
tag: string;
|
||||
slug: string;
|
||||
}
|
||||
|
||||
// Gallery Item Type
|
||||
export interface GalleryItem {
|
||||
title: string;
|
||||
images: string;
|
||||
}
|
||||
|
||||
// Product Type
|
||||
export interface Product {
|
||||
title: string;
|
||||
content: string;
|
||||
categories: Category[];
|
||||
keywords: string;
|
||||
brim: string;
|
||||
tags: Tag[];
|
||||
gallery: GalleryItem[];
|
||||
images: string;
|
||||
thumb: string;
|
||||
video: string;
|
||||
slug: string;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
is_active: boolean;
|
||||
is_front: boolean;
|
||||
price: number;
|
||||
average_rating: number;
|
||||
rating_count: number;
|
||||
}
|
||||
21
types/setting.ts
Normal file
21
types/setting.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
export interface Setting {
|
||||
title: string;
|
||||
meta_title: string;
|
||||
meta_description: string;
|
||||
phone: string;
|
||||
url: string;
|
||||
email: string;
|
||||
facebook: string;
|
||||
x: string;
|
||||
pinterest: string;
|
||||
linkedin: string;
|
||||
instagram: string;
|
||||
whatsapp: string;
|
||||
slogan: string;
|
||||
w_logo: string;
|
||||
b_logo: string;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
is_active: boolean;
|
||||
}
|
||||
|
||||
15
types/sweetalert2.d.ts
vendored
Normal file
15
types/sweetalert2.d.ts
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import type Swal from 'sweetalert2'
|
||||
|
||||
declare module '#app' {
|
||||
interface NuxtApp {
|
||||
$swal: typeof Swal
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'vue' {
|
||||
interface ComponentCustomProperties {
|
||||
$swal: typeof Swal
|
||||
}
|
||||
}
|
||||
|
||||
export {}
|
||||
Reference in New Issue
Block a user