init
@@ -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:
|
||||
@@ -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
|
||||
}
|
||||
@@ -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))
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import info from './info'
|
||||
import calc from './calc'
|
||||
|
||||
export default { ...info, ...calc }
|
||||
@@ -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
|
||||
},
|
||||
}
|
||||
})
|
||||
@@ -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[]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
export interface IDataType<T = any> {
|
||||
code?: number
|
||||
message: string
|
||||
data: T
|
||||
state?: number
|
||||
}
|
||||
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 928 B |
|
After Width: | Height: | Size: 264 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 322 B |
|
After Width: | Height: | Size: 355 B |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 711 B |
|
After Width: | Height: | Size: 617 B |
|
After Width: | Height: | Size: 637 B |
|
After Width: | Height: | Size: 595 B |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 324 B |
|
After Width: | Height: | Size: 763 B |
|
After Width: | Height: | Size: 767 B |
|
After Width: | Height: | Size: 335 B |
|
After Width: | Height: | Size: 336 B |
|
After Width: | Height: | Size: 336 B |
|
After Width: | Height: | Size: 323 B |
|
After Width: | Height: | Size: 326 B |
|
After Width: | Height: | Size: 325 B |
|
After Width: | Height: | Size: 325 B |
|
After Width: | Height: | Size: 312 B |
|
After Width: | Height: | Size: 410 B |
|
After Width: | Height: | Size: 411 B |
|
After Width: | Height: | Size: 412 B |
|
After Width: | Height: | Size: 386 B |
|
After Width: | Height: | Size: 391 B |
|
After Width: | Height: | Size: 369 B |
|
After Width: | Height: | Size: 590 B |
|
After Width: | Height: | Size: 395 B |
|
After Width: | Height: | Size: 536 B |
|
After Width: | Height: | Size: 737 B |
|
After Width: | Height: | Size: 433 B |
|
After Width: | Height: | Size: 475 B |
|
After Width: | Height: | Size: 471 B |
|
After Width: | Height: | Size: 373 B |
|
After Width: | Height: | Size: 763 B |
|
After Width: | Height: | Size: 767 B |
|
After Width: | Height: | Size: 759 B |
|
After Width: | Height: | Size: 756 B |
|
After Width: | Height: | Size: 201 B |
|
After Width: | Height: | Size: 200 B |
|
After Width: | Height: | Size: 200 B |
|
After Width: | Height: | Size: 196 B |
|
After Width: | Height: | Size: 242 B |
|
After Width: | Height: | Size: 195 B |
|
After Width: | Height: | Size: 245 B |
|
After Width: | Height: | Size: 243 B |
|
After Width: | Height: | Size: 243 B |
|
After Width: | Height: | Size: 230 B |
|
After Width: | Height: | Size: 726 B |
|
After Width: | Height: | Size: 333 B |
|
After Width: | Height: | Size: 317 B |
|
After Width: | Height: | Size: 317 B |
|
After Width: | Height: | Size: 304 B |
|
After Width: | Height: | Size: 803 B |
|
After Width: | Height: | Size: 782 B |
|
After Width: | Height: | Size: 944 B |
|
After Width: | Height: | Size: 933 B |
|
After Width: | Height: | Size: 905 B |
|
After Width: | Height: | Size: 934 B |
|
After Width: | Height: | Size: 205 B |
|
After Width: | Height: | Size: 398 B |
|
After Width: | Height: | Size: 393 B |
|
After Width: | Height: | Size: 362 B |
|
After Width: | Height: | Size: 402 B |
|
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 |
|
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 |
|
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 |
|
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 |
|
After Width: | Height: | Size: 269 B |
|
After Width: | Height: | Size: 566 B |
|
After Width: | Height: | Size: 597 B |
|
After Width: | Height: | Size: 464 B |
|
After Width: | Height: | Size: 615 B |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.1 KiB |