This commit is contained in:
2026-08-04 17:57:01 +08:00
parent 768fd4a3a9
commit f77034edd7
641 changed files with 26137 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
import type { IConfig } from '@/stores'
import { defineRequest } from '../common'
import type { IResult } from './type'
export default defineRequest((request) => {
return {
async calc(config: IConfig) {
const res = await request.post<IResult>('/calc', config)
return res.data
},
}
})
// Compare this snippet from frontend/src/api/common/index.ts:
+56
View File
@@ -0,0 +1,56 @@
export interface IResult {
uuid: string
skills: IResultSkill[]
info: IResultUserInfo[]
suits: {
suit?: IResultSuit
oath?: IResultSuit
correction?: number
}
buffer: boolean
}
export interface IResultSkill {
name: string
icon: string
lv: number
data: number
ratio: number
cd: number
damage: number
mode: string
buff: number[]
learnLv: number
type: string
}
export interface IResultUserInfo {
id: number
name: string
value: string | number
}
export interface IResultSuit {
id: string
count: number
imageUrl: string
level: number
name: string
point: number
rarity: string
value: string
suitId: string
skills: {
id: string
skillId: string
name: string
imageUrl: string
enable: boolean
}[]
}
export interface IResultSkillCount {
count: number
mode: string
name: string
}
+118
View File
@@ -0,0 +1,118 @@
import type { AxiosInstance, AxiosResponse } from 'axios'
import axios from 'axios'
import { h } from 'vue'
import { ungzip } from 'pako'
import { useInfoStore } from '@/stores'
import { useDialog } from '@/components/hooks/dialog'
// import { useAppStore, useConfigStore } from '@/store'
// import { useDialog } from '@/components/hooks/dialog'
export interface HttpResponse<T = unknown> extends AxiosResponse {
code?: number
message: string
data: T
state?: number
}
let instance: AxiosInstance | null = null
let baseURL = '/api'
// 避免远程开发的时候冲突
if (process.env.NODE_ENV == 'development') {
baseURL = '/api'
}
if (import.meta.env.MODE == 'web' || import.meta.env.MODE == 'show') {
baseURL = 'https://api.dnftools.com/'
}
if (import.meta.env.MODE == 'test') {
baseURL = 'https://testapi.dnftools.com/'
}
// 解压
function unzip(key: string) {
// 将二进制字符串转换为字符数组
const charData = key.split('').map((x) => {
return x?.charCodeAt(0)
})
// 将数字数组转换成字节数组
const binData = new Uint8Array(charData)
// 解压
const data = ungzip(binData)
const decoder = new TextDecoder()
const str = decoder.decode(data)
// unescape(str) --->解压后解码,防止中午乱码
return str
}
export function defineRequest<T>(fn: (ax: AxiosInstance) => T) {
if (!instance) {
instance = axios.create({
baseURL,
})
instance.interceptors.request.use(
(request) => {
// const configStore = useConfigStore()
// const token = configStore.token
// const uid = useAppStore().uid
const token = useInfoStore().alter_token
if (token) {
request.headers['Alter-Token'] = token
}
return request
},
(error) => {
// do something
return Promise.reject(error)
},
)
instance.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'
// instance.defaults.headers["Accept-Encoding"] = "gzip"
// instance.defaults.headers["Content-Encoding"] = "gzip"
// add response interceptors
instance.interceptors.response.use(
async (response: AxiosResponse<HttpResponse>) => {
if (response.data.code === 500) {
const { alert } = useDialog()
await alert({
content: () => {
return h(
'div',
{
class: 'justify-center text-#d4d6b6 text-center',
style: 'white-space:pre-wrap;width:250px;margin:10px',
},
`出现错误,可加群反馈:183439472\n${response.data.message}`,
)
},
})
}
// 解密数据
if (typeof response.data.data == 'string') {
try {
const data = unzip(atob(response.data.data as string))
response.data.data = JSON.parse(data)
} catch {}
}
return response.data
},
async (error: Error) => {
return Promise.reject(error)
},
)
}
return fn(Object.create(instance))
}
+4
View File
@@ -0,0 +1,4 @@
import info from './info'
import calc from './calc'
export default { ...info, ...calc }
+48
View File
@@ -0,0 +1,48 @@
import { defineRequest } from '../common'
import type { IAdventureInfo, IAlterInfo, ICharacterInfo, IHelperInfo, ISkillInfo } from './type'
export default defineRequest((request) => {
return {
async adventures() {
const res = await request.get<IAdventureInfo[]>('/adventure')
return res.data
},
async alterByName(name: string) {
const res = await request.get<IAlterInfo>('/adventure', { params: { name } })
return res.data
},
async createToken(alter: string, equVersion?: string) {
const res = await request.get<string>(`/token/get/${alter}`, { params: { equVersion } })
return res.data
},
async characterInfo() {
const res = await request.get<ICharacterInfo>('/character')
return res.data
},
async skillDetail(skillId: string, level: number) {
const res = await request.get<ISkillInfo>(`/skill/${skillId}/${level}`)
return res.data
},
async getConfigFromHelper(uid: string) {
const res = await request.get(`/dnfhelper/${uid}/`)
return res.data
},
async getConfigFromHelperAlter(uid: string, alter: string) {
const res = await request.get(`/dnfhelper/${uid}/${alter}/`)
return res.data
},
async getSkillFromCode(code: string) {
const res = await request.post(`/skillTree/`, { code })
return res.data
},
async getOathInfo(suitId: string, skillId: string, rarity: string, lv: number) {
const res = await request.get(`/info/oath/${suitId}/${skillId}`, { params: { rarity, lv } })
return res.data
},
async getHelperList(id: string) {
const res = await request.get<IHelperInfo>(`/dnfhelper/${id}/list`)
await new Promise((resolve) => setTimeout(resolve, 30000))
return res.data
},
}
})
+232
View File
@@ -0,0 +1,232 @@
export interface IAdventureInfo {
title: string
name: string
children: IAlterInfo[]
}
export interface IAlterOption {
name: string
title: string
value?: string
}
export interface IAlterInfo {
name: string
url?: string
title: string
default_value: string
options?: IAlterOption[]
open?: boolean
comment?: string
value?: string
}
export interface ICharacterInfo {
role: string
alter: string
name: string
buffer: boolean
equVersion: string
equips: IEquipment[]
properties: string[]
stones: IEquipment[]
enchants: IEnchantingInfo[]
emblems: IEmblemInfo[]
oaths: IEquipment[]
weapons: string[]
subweapons: string[]
skills: ISkill[]
suits: ISuit[]
avatar: Record<string, IAvatarInfo[]>
jades: IJade[]
sundry: Record<string, ISundry>
options: { id: number; name: string; options: string[] }[]
oaths_skills: Record<
string,
{
suitInfo: {
name: string
rarity: string
SkillAttack: number
Buffer: number
Attack: number
}[]
skills: { skillId: string; name: string; icon: string }[]
}
>
}
export interface ISundry {
id: number
options: {
name: string
value: number
}[]
}
export interface IEquipment {
id: string
imageUrl: string
itemType: string
itemDetailType: string
name: string
categorize: string
suit: string[]
rarity: string
max_adaptation: number
STR: number[]
INT: number[]
Vitality: number[]
Spirit: number[]
AtkP: number[]
AtkM: number[]
AtkI: number[]
SkillAttack: number[]
Attack: number[]
Buffer: number[]
detail: string
bufferDetail: string
position: string[]
wearUrl: string[]
oathPos: string
displayUrl?: string
}
export interface ISkill {
icon: string
name: string
id: number
learnLv: number
position: number
line: number
type: string
maxLearnLv: number
maxLv: number
bind: boolean
hasVP: boolean
hasUP: boolean
vps: {
name: string
desc: string
}[]
uuid: string
upType: 'damage' | 'heal'
}
export interface ISuit {
id: number
name: string
imageUrl: string
suitId: number
suitName: string
point: number
rarity: string
level: number
SkillAttack: number
Buffer: number
value: string
bufferValue: string
}
export interface IEnchantingInfo {
id: string | number
fame: number | undefined
position: string[]
detail: string
categorize: string[]
rarity?: string
type?: string
}
export interface IEmblemInfo {
fame: number
id: string
rarity: string
type: string
value: string
}
export interface IAvatarInfo {
id: number
options: string[]
part: string
rarity: string
suit?: string
name: string
}
export interface IJade {
name: string
id: number
max: number
min: number
pre: number
unit: string
}
export interface ISkillInfo {
name: string
type: string
desc: string
descDetail: string
consumeItem: ConsumeItem
descSpecial: string[]
maxLevel: number
requiredLevel: number
requiredLevelRange: number
preRequiredSkill: any
jobId: string
jobName: string
jobGrowLevel: any[]
evolution: Evolution[]
enhancement: Enhancement[]
attribute: Attribute
}
export interface ConsumeItem {
itemId: string
itemName: string
value: number
}
export interface Evolution {
type: number
name: string
desc: string
descDetail: string
skills?: string[]
}
export interface Enhancement {
type: number
status: Status[]
}
export interface Status {
name: string
value: string
}
export interface Attribute {
optionDesc: string
level: number
consumeMp: number
coolTime: number
castingTime?: number
optionValue: Record<`value${string}`, string>
detail: string
}
export interface IHelperRoleInfo {
roleId: string
roleName: string
roleJob: string
avatarLink: string
fame: number
}
export interface IHelperInfo {
id: string
avatar: string
name: string
roleList: IHelperRoleInfo[]
}
+6
View File
@@ -0,0 +1,6 @@
export interface IDataType<T = any> {
code?: number
message: string
data: T
state?: number
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 934 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 B

@@ -0,0 +1,39 @@
<svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_i_135_176)">
<rect x="1" y="1" width="20" height="18" fill="url(#paint0_linear_135_176)"/>
</g>
<rect x="0.5" y="0.5" width="21" height="19" stroke="#49453F"/>
<g filter="url(#filter1_d_135_176)">
<path d="M11.1514 14.3975V12H6V11H16L11.1514 14.3975ZM10.8486 8.39746H16V9.39746H6L10.8486 6V8.39746Z" fill="url(#paint1_linear_135_176)"/>
</g>
<defs>
<filter id="filter0_i_135_176" x="0" y="0" width="22" height="20" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_135_176"/>
</filter>
<filter id="filter1_d_135_176" x="2" y="2" width="18" height="16.3975" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_135_176"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_135_176" result="shape"/>
</filter>
<linearGradient id="paint0_linear_135_176" x1="11" y1="1" x2="11" y2="19" gradientUnits="userSpaceOnUse">
<stop stop-color="#0D3969"/>
<stop offset="1" stop-color="#0A2244"/>
</linearGradient>
<linearGradient id="paint1_linear_135_176" x1="11" y1="6" x2="11" y2="14.3975" gradientUnits="userSpaceOnUse">
<stop stop-color="#D6B17D"/>
<stop offset="1" stop-color="#96763A"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

@@ -0,0 +1,39 @@
<svg width="22" height="18" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_i_135_173)">
<rect x="1" y="1" width="20" height="16" fill="url(#paint0_linear_135_173)"/>
</g>
<rect x="0.5" y="0.5" width="21" height="17" stroke="#49453F"/>
<g filter="url(#filter1_d_135_173)">
<path d="M11.1514 12.3975V10H6V9H16L11.1514 12.3975ZM10.8486 6.39746H16V7.39746H6L10.8486 4V6.39746Z" fill="url(#paint1_linear_135_173)"/>
</g>
<defs>
<filter id="filter0_i_135_173" x="0" y="0" width="22" height="18" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_135_173"/>
</filter>
<filter id="filter1_d_135_173" x="2" y="0" width="18" height="16.3975" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_135_173"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_135_173" result="shape"/>
</filter>
<linearGradient id="paint0_linear_135_173" x1="11" y1="1" x2="11" y2="17" gradientUnits="userSpaceOnUse">
<stop stop-color="#306EB3"/>
<stop offset="1" stop-color="#0A2244"/>
</linearGradient>
<linearGradient id="paint1_linear_135_173" x1="11" y1="4" x2="11" y2="12.3975" gradientUnits="userSpaceOnUse">
<stop stop-color="#D6B17D"/>
<stop offset="1" stop-color="#96763A"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

@@ -0,0 +1,39 @@
<svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_i_135_172)">
<rect x="1" y="1" width="20" height="18" fill="url(#paint0_linear_135_172)"/>
</g>
<rect x="0.5" y="0.5" width="21" height="19" stroke="#49453F"/>
<g filter="url(#filter1_d_135_172)">
<path d="M11.1514 14.3975V12H6V11H16L11.1514 14.3975ZM10.8486 8.39746H16V9.39746H6L10.8486 6V8.39746Z" fill="url(#paint1_linear_135_172)"/>
</g>
<defs>
<filter id="filter0_i_135_172" x="0" y="0" width="22" height="20" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_135_172"/>
</filter>
<filter id="filter1_d_135_172" x="2" y="2" width="18" height="16.3975" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_135_172"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_135_172" result="shape"/>
</filter>
<linearGradient id="paint0_linear_135_172" x1="11" y1="1" x2="11" y2="19" gradientUnits="userSpaceOnUse">
<stop stop-color="#626262"/>
<stop offset="1"/>
</linearGradient>
<linearGradient id="paint1_linear_135_172" x1="11" y1="6" x2="11" y2="14.3975" gradientUnits="userSpaceOnUse">
<stop stop-color="#D1D1D1"/>
<stop offset="1" stop-color="#989898"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

@@ -0,0 +1,39 @@
<svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_i_135_174)">
<rect x="1" y="1" width="20" height="18" fill="url(#paint0_linear_135_174)"/>
</g>
<rect x="0.5" y="0.5" width="21" height="19" stroke="#49453F"/>
<g filter="url(#filter1_d_135_174)">
<path d="M11.1514 14.3975V12H6V11H16L11.1514 14.3975ZM10.8486 8.39746H16V9.39746H6L10.8486 6V8.39746Z" fill="url(#paint1_linear_135_174)"/>
</g>
<defs>
<filter id="filter0_i_135_174" x="0" y="0" width="22" height="20" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_135_174"/>
</filter>
<filter id="filter1_d_135_174" x="2" y="2" width="18" height="16.3975" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_135_174"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_135_174" result="shape"/>
</filter>
<linearGradient id="paint0_linear_135_174" x1="11" y1="1" x2="11" y2="19" gradientUnits="userSpaceOnUse">
<stop stop-color="#306EB3"/>
<stop offset="1" stop-color="#0A2244"/>
</linearGradient>
<linearGradient id="paint1_linear_135_174" x1="11" y1="6" x2="11" y2="14.3975" gradientUnits="userSpaceOnUse">
<stop stop-color="#D6B17D"/>
<stop offset="1" stop-color="#96763A"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Some files were not shown because too many files have changed in this diff Show More